Recruitment JOD Document
This commit is contained in:
parent
b81d17bcc0
commit
8fa0f7c61e
|
|
@ -28,6 +28,7 @@
|
|||
'data/data.xml',
|
||||
'data/sequence.xml',
|
||||
'data/mail_template.xml',
|
||||
'data/templates.xml',
|
||||
'views/job_category.xml',
|
||||
'views/hr_location.xml',
|
||||
'views/stages.xml',
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@
|
|||
</p>
|
||||
</t>
|
||||
|
||||
<t t-if="ctx.get('personal_docs') or ctx.get('education_docs') or ctx.get('previous_employer_docs') or ctx.get('other_docs')">
|
||||
<t t-if="ctx.get('personal_docs') and ctx.get('education_docs') or ctx.get('previous_employer_docs') or ctx.get('other_docs')">
|
||||
<p>For HR records, please provide soft copies of the following documents:</p>
|
||||
|
||||
<!-- Personal Documents -->
|
||||
|
|
|
|||
|
|
@ -0,0 +1,350 @@
|
|||
<odoo>
|
||||
<!-- <template id="joining_form_custom_external_layout_standard">-->
|
||||
<!-- <div t-attf-class="header">-->
|
||||
<!-- </div>-->
|
||||
<!-- <div t-attf-class="footer o_company_#{company.id}_layout {{report_type != 'pdf' and 'mt-auto'}}">-->
|
||||
<!-- <div class="o_footer_content d-flex border-top pt-2">-->
|
||||
<!-- <div class="flex-grow-1 text-start me-2" t-field="company.report_footer"/>-->
|
||||
<!-- <div class="text-end text-muted">-->
|
||||
<!-- <div t-if="report_type == 'pdf' and display_name_in_footer" t-out="o.name">(document name)</div>-->
|
||||
<!-- <div t-if="report_type == 'pdf'">Page <span class="page"/> / <span class="topage"/></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </template>-->
|
||||
|
||||
<!-- <template id="joining_form_custom_external_layout">-->
|
||||
<!-- <t t-if="not o" t-set="o" t-value="doc"/>-->
|
||||
|
||||
<!-- <t t-if="not company">-->
|
||||
<!-- <!– Multicompany –>-->
|
||||
<!-- <t t-if="company_id">-->
|
||||
<!-- <t t-set="company" t-value="company_id"/>-->
|
||||
<!-- </t>-->
|
||||
<!-- <t t-elif="o and 'company_id' in o and o.company_id.sudo()">-->
|
||||
<!-- <t t-set="company" t-value="o.company_id.sudo()"/>-->
|
||||
<!-- </t>-->
|
||||
<!-- <t t-else="else">-->
|
||||
<!-- <t t-set="company" t-value="res_company"/>-->
|
||||
<!-- </t>-->
|
||||
<!-- </t>-->
|
||||
|
||||
<!-- <t t-if="company.external_report_layout_id" t-call="{{company.external_report_layout_id.sudo().key}}"><t t-out="0"/></t>-->
|
||||
<!-- <t t-else="else" t-call="hr_recruitment_extended.joining_form_custom_external_layout_standard"><t t-out="0"/></t>-->
|
||||
|
||||
<!-- </template>-->
|
||||
|
||||
<odoo>
|
||||
<template id="employee_joining_form_template">
|
||||
<t t-call="web.external_layout">
|
||||
<main class="page" style="margin: 0px; padding: 0px; font-size: 16px; font-family: 'Arial', sans-serif;">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
|
||||
<!-- Candidate Image -->
|
||||
<t t-if="doc.candidate_id.candidate_image">
|
||||
<div style="text-align: center; margin-bottom: 30px;">
|
||||
<img t-attf-src="data:image/png;base64,#{doc.candidate_id.candidate_image}"
|
||||
style="width: 280px; height: 400px; object-fit: cover; border: 2px solid #333; border-radius: 8px;"/>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<!-- Header -->
|
||||
<div style="text-align:center; margin-bottom: 40px;">
|
||||
<h1 style="margin: 0; font-size: 24px;">Welcome to FTPROTECH</h1>
|
||||
<h2 style="margin: 10px 0 0;">Employee Joining Form</h2>
|
||||
</div>
|
||||
|
||||
<!-- Reusable styles -->
|
||||
<t t-set="row_style" t-value="'display: flex; margin-bottom: 12px; page-break-inside: avoid;'"/>
|
||||
<t t-set="label_style" t-value="'width: 35%; font-weight: bold; color: #333;'"/>
|
||||
<t t-set="value_style" t-value="'width: 65%; color: #000;'"/>
|
||||
|
||||
<!-- Personal Info -->
|
||||
<div style="page-break-inside: avoid;">
|
||||
<h3 style="margin-top: 30px; color: #005580;">Personal Details</h3>
|
||||
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Employee Code:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.employee_code or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Date of Joining:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.doj or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Full Name:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.employee_id.name or doc.name or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Email:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.email_from or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Mobile No:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.partner_phone or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Alternate Mobile:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.alternate_phone or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Gender:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.gender or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Date of Birth:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.birthday or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Address -->
|
||||
<div style="page-break-inside: avoid;">
|
||||
<h3 style="margin-top: 30px; color: #005580;">Address</h3>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Present Address:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.private_street or ''"/>
|
||||
<t t-esc="doc.private_street2 or ''"/>,
|
||||
<t t-esc="doc.private_city or ''"/>
|
||||
<t t-esc="doc.private_zip or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Permanent Address:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.permanent_street or ''"/>
|
||||
<t t-esc="doc.permanent_street2 or ''"/>,
|
||||
<t t-esc="doc.permanent_city or ''"/>
|
||||
<t t-esc="doc.permanent_zip or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div t-att-style="row_style">
|
||||
<div t-att-style="label_style">Marital Status:</div>
|
||||
<div t-att-style="value_style">
|
||||
<t t-esc="doc.marital or ''"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Section: Family Details -->
|
||||
<div style="page-break-inside: avoid;">
|
||||
<t t-if="doc.family_details">
|
||||
<h3 style="margin-top: 35px; color: #005580;">Family Details</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; font-size: 15px;">
|
||||
<thead style="background: #f1f1f1;">
|
||||
<tr>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Name</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Contact</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Date of Birth</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Location</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-foreach="doc.family_details" t-as="member">
|
||||
<tr>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="member.name or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="member.contact_no or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="member.dob or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="member.location or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</t>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Section: Education -->
|
||||
|
||||
<div style="page-break-inside: avoid;">
|
||||
<t t-if="doc.education_history">
|
||||
<h3 style="margin-top: 35px; color: #005580;">Education Details</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; font-size: 15px;">
|
||||
<thead style="background: #f1f1f1;">
|
||||
<tr>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Specialization</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">University</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Start Year</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">End Year</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-foreach="doc.education_history" t-as="edu">
|
||||
<tr>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="edu.name or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="edu.university or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="edu.start_year or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="edu.end_year or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="edu.marks_or_grade or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</t>
|
||||
|
||||
</div>
|
||||
<!-- Section: Previous Employer -->
|
||||
|
||||
<div style="page-break-inside: avoid;">
|
||||
<t t-if="doc.employer_history">
|
||||
<h3 style="margin-top: 35px; color: #005580;">Previous Employment</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; font-size: 15px;">
|
||||
<thead style="background: #f1f1f1;">
|
||||
<tr>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Company</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Designation</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Joining</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">Last Working Day</th>
|
||||
<th style="border: 1px solid #ccc; padding: 8px;">CTC</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-foreach="doc.employer_history" t-as="job">
|
||||
<tr>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="job.company_name or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="job.designation or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="job.date_of_joining or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="job.last_working_day or ''"/>
|
||||
</td>
|
||||
<td style="border: 1px solid #ccc; padding: 8px;">
|
||||
<t t-esc="job.ctc or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</t>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Section: Bank Details -->
|
||||
<div style="page-break-inside: avoid;">
|
||||
|
||||
<h3 style="margin-top: 35px; color: #005580;">Bank Account Details</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; font-size: 15px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="width: 35%; text-align: left;">Name as per Bank</th>
|
||||
<td>
|
||||
<t t-esc="doc.full_name_as_in_bank or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">Bank Name</th>
|
||||
<td>
|
||||
<t t-esc="doc.bank_name or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">Branch</th>
|
||||
<td>
|
||||
<t t-esc="doc.bank_branch or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">Account No</th>
|
||||
<td>
|
||||
<t t-esc="doc.bank_account_no or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">IFSC Code</th>
|
||||
<td>
|
||||
<t t-esc="doc.bank_ifsc_code or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Section: Identification -->
|
||||
<div style="page-break-inside: avoid;">
|
||||
<h3 style="margin-top: 35px; color: #005580;">Identification</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; font-size: 15px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="width: 35%; text-align: left;">PAN No</th>
|
||||
<td>
|
||||
<t t-esc="doc.pan_no or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">Aadhar No</th>
|
||||
<td>
|
||||
<t t-esc="doc.identification_id or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">PF No</th>
|
||||
<td>
|
||||
<t t-esc="doc.previous_company_pf_no or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">UAN No</th>
|
||||
<td>
|
||||
<t t-esc="doc.previous_company_uan_no or ''"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Declaration -->
|
||||
<div style="margin-top: 40px; font-style: italic; text-align: justify;">
|
||||
I hereby declare that all the above information is true to the best of my knowledge.
|
||||
</div>
|
||||
|
||||
</t>
|
||||
</main>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
</odoo>
|
||||
|
|
@ -358,6 +358,9 @@ class HRApplicant(models.Model):
|
|||
})
|
||||
return action
|
||||
|
||||
def print_joining_form(self):
|
||||
return self.env.ref('hr_recruitment_extended.action_joining_form_report').report_action(self)
|
||||
|
||||
class ApplicantGetRefuseReason(models.TransientModel):
|
||||
_inherit = 'applicant.get.refuse.reason'
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 141 KiB |
|
|
@ -400,4 +400,17 @@
|
|||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_download_joining_form" model="ir.actions.report">
|
||||
<field name="name">Download Joining Form</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">hr_recruitment_extended.employee_joining_form_template</field>
|
||||
<field name="report_file">hr_recruitment_extended.employee_joining_form_template</field>
|
||||
<field name="binding_model_id" ref="hr_recruitment.model_hr_applicant"/>
|
||||
<field name="print_report_name">'JOD - %s' % (object.display_name)</field>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -51,10 +51,12 @@ class ClientSubmissionsMailTemplateWizard(models.TransientModel):
|
|||
'email_from': rec.email_from,
|
||||
'email_to': rec.email_to,
|
||||
'email_cc': rec.email_cc,
|
||||
'subject' : rec.email_subject,
|
||||
'body_html': rec.email_body,
|
||||
}
|
||||
render_ctx = dict(client_name=record.hr_job_recruitment.requested_by.name)
|
||||
# Use 'with_context' to override the email template fields dynamically
|
||||
template.sudo().with_context(default_body_html=self.email_body, default_subject=self.email_subject,**render_ctx).send_mail(self.env.context.get('active_id'),email_values=values, force_send=True)
|
||||
template.sudo().with_context(**render_ctx).send_mail(self.env.context.get('active_id'),email_values=values, force_send=True)
|
||||
record.sudo().write({
|
||||
'submitted_to_client': True,
|
||||
'client_submission_date': rec.submit_date,
|
||||
|
|
|
|||
|
|
@ -97,11 +97,12 @@ class PostOnboardingAttachmentWizard(models.TransientModel):
|
|||
'email_from': rec.email_from,
|
||||
'email_to': rec.email_to,
|
||||
'email_cc': rec.email_cc,
|
||||
'subject': rec.email_subject,
|
||||
'attachment_ids': [(6, 0, rec.attachment_ids.ids)],
|
||||
|
||||
}
|
||||
# Use 'with_context' to override the email template fields dynamically
|
||||
template.sudo().with_context(default_body_html=rec.email_body, default_subject=rec.email_subject,
|
||||
template.sudo().with_context(default_body_html=rec.email_body,
|
||||
**email_context).send_mail(applicant.id, email_values=email_values,
|
||||
force_send=True)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue