Merge pull request #4791 from expsa/kchyounes_dev_odex25_hr
IMP benefit
This commit is contained in:
commit
cd0c838f19
|
|
@ -41,6 +41,11 @@ msgstr ""
|
|||
msgid "Applicant"
|
||||
msgstr "المتقدم"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__employee_id
|
||||
msgid "Applicant"
|
||||
msgstr "مقدم الطلب"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_applicant__applicants_hr
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_applicant__applicants_id
|
||||
|
|
@ -74,12 +79,6 @@ msgstr "هل أنت متأكد من إرجاع السجل لحالة المسو
|
|||
msgid "Average Score"
|
||||
msgstr "درجة متوسطة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__confirm
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Confirm"
|
||||
msgstr "تأكيد"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions__create_uid
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions_line__create_uid
|
||||
|
|
@ -101,11 +100,6 @@ msgstr ""
|
|||
msgid "Current Employees"
|
||||
msgstr "الموظفون حاليا"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__department_id
|
||||
msgid "Department"
|
||||
msgstr "الإدارة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions__display_name
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions_line__display_name
|
||||
|
|
@ -180,12 +174,6 @@ msgstr ""
|
|||
msgid "High Score"
|
||||
msgstr "درجة عالية"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__hr_approve
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Hr Approve"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions__id
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions_line__id
|
||||
|
|
@ -197,11 +185,6 @@ msgstr ""
|
|||
msgid "ID"
|
||||
msgstr "المُعرف"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__job_id
|
||||
msgid "Job"
|
||||
msgstr "المهنة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model,name:hr_job_request.model_hr_job
|
||||
msgid "Job Position"
|
||||
|
|
@ -261,20 +244,11 @@ msgstr "إطلاق التوظيف"
|
|||
msgid "Low Score"
|
||||
msgstr "درجة منخفضة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Management Approve"
|
||||
msgstr "موافقة الرئيس التفيذى"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__manager_approve
|
||||
msgid "Manager Approve"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions__name
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "الاسم"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__name
|
||||
|
|
@ -361,8 +335,8 @@ msgstr "الربع الثاني"
|
|||
|
||||
#. module: hr_job_request
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Set Draft"
|
||||
msgstr "ارجاع ل مسودة"
|
||||
msgid "Set To Draft"
|
||||
msgstr "إرجاع الى المبدئي"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_applicant_questions__standard_applicant_id
|
||||
|
|
@ -465,3 +439,94 @@ msgstr "متطلبات الوظيفة"
|
|||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__company_id
|
||||
msgid "Company"
|
||||
msgstr "الشركة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Send"
|
||||
msgstr "إرسال"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Confirm"
|
||||
msgstr "موافقة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__confirm
|
||||
msgid "Confirm"
|
||||
msgstr "تم التصديق"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__recruitment_officer
|
||||
msgid "Waiting for Recruitment Officer"
|
||||
msgstr "انتظار مسؤول التوظيف"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__hr_manager
|
||||
msgid "Waiting for HR Manager"
|
||||
msgstr "انتظار مدير الموارد البشرية"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__state__general_manager
|
||||
msgid "Waiting for General Manager"
|
||||
msgstr "انتظار المدير العام"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Requesting Administration Information"
|
||||
msgstr "معلومات الإدارة الطالبة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model_terms:ir.ui.view,arch_db:hr_job_request.job_request_form_view
|
||||
msgid "Job Details"
|
||||
msgstr "تفاصيل الوظيفة المطلوبة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__requested_start_date
|
||||
msgid "Requested Start Date"
|
||||
msgstr "تاريخ البدء المطلوب"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__department_id
|
||||
msgid "Requesting Department"
|
||||
msgstr "الإدارة الطالبة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__job_id
|
||||
msgid "Job Title"
|
||||
msgstr "المسمي الوظيفي"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__job_related_department_id
|
||||
msgid "Job Department"
|
||||
msgstr "الإدارة التابعة للوظيفة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__job_type__permanent
|
||||
msgid "Permanent"
|
||||
msgstr "دائم"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields.selection,name:hr_job_request.selection__hr_job_request__job_type__temporary
|
||||
msgid "Temporary"
|
||||
msgstr "مؤقت"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__job_type
|
||||
msgid "Job Type"
|
||||
msgstr "نوع الوظيفة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__job_number
|
||||
msgid "Job Number"
|
||||
msgstr "رقم الوظيفة"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__working_location
|
||||
msgid "Work Location"
|
||||
msgstr "مكان العمل"
|
||||
|
||||
#. module: hr_job_request
|
||||
#: model:ir.model.fields,field_description:hr_job_request.field_hr_job_request__request_reason
|
||||
msgid "Request Reason"
|
||||
msgstr "أسباب الطلب"
|
||||
|
||||
|
|
|
|||
|
|
@ -14,29 +14,43 @@ class HrJobRequest(models.Model):
|
|||
employee = self.env['hr.employee'].search([('user_id', '=', self.env.user.id)], limit=1)
|
||||
if employee:
|
||||
result['department_id'] = employee.department_id.id if employee.department_id else False
|
||||
result['employee_id'] = employee.id
|
||||
return result
|
||||
|
||||
name = fields.Char(string="Name of Request", required=True)
|
||||
date = fields.Date(string="Request Date", required=True)
|
||||
name = fields.Char(string="Name of Request", required=True, copy=False)
|
||||
date = fields.Date(string="Request Date", required=True, copy=False)
|
||||
requested_start_date = fields.Date(string="Requested Start Date", required=True, copy=False)
|
||||
employee_id = fields.Many2one('hr.employee', 'Applicant', required=True, copy=False)
|
||||
department_id = fields.Many2one('hr.department', string="Requesting Department", required=True, copy=False)
|
||||
job_id = fields.Many2one('hr.job', string="Job Title", required=True, copy=False)
|
||||
job_related_department_id = fields.Many2one('hr.department', string="Job Department", required=True, copy=False)
|
||||
job_type = fields.Selection(selection=[('permanent', 'Permanent'), ('temporary', 'Temporary'), ],
|
||||
string="Job Type",
|
||||
required=True,
|
||||
copy=False,
|
||||
default='permanent'
|
||||
)
|
||||
job_number = fields.Char(string="Job Number", required=True, copy=False)
|
||||
needed_employee = fields.Integer(string="Needed Employee", required=True, copy=False)
|
||||
working_location = fields.Many2one('work.location', string="Work Location", required=True, copy=False)
|
||||
request_reason = fields.Text(string="Request Reason", required=True, copy=False)
|
||||
state = fields.Selection(selection=[('draft', 'Draft'),
|
||||
('recruitment_officer', 'Waiting for Recruitment Officer'),
|
||||
('hr_manager', 'Waiting for HR Manager'),
|
||||
('general_manager', 'Waiting for General Manager'),
|
||||
('confirm', 'Confirm'),
|
||||
('refused', 'Refused')], default='draft')
|
||||
quarter = fields.Selection(string="Quarter",
|
||||
selection=[('all_quarter', 'All Quarter'), ('first_quarter', 'First Quarter'),
|
||||
('second_quarter', 'Second Quarter'),
|
||||
('third_quarter', 'Third Quarter'),
|
||||
('fourth_quarter', 'Fourth Quarter')], default='all_quarter')
|
||||
department_id = fields.Many2one('hr.department', string="Department", required=True)
|
||||
job_id = fields.Many2one('hr.job', string="Job", required=True)
|
||||
state = fields.Selection(selection=[('draft', 'Draft'),
|
||||
('confirm', 'Confirm'),
|
||||
('hr_approve', 'Hr Approve'),
|
||||
('manager_approve', 'Manager Approve'),
|
||||
('refused', 'Refused')], default='draft')
|
||||
needed_employee = fields.Integer(string="Needed Employee", required=True)
|
||||
number_of_employees = fields.Integer(related="job_id.no_of_employee", string="Current Employees", store=True)
|
||||
expected_employee = fields.Integer(string="Expected jobs", compute="get_jobs", store=True)
|
||||
number_of_job_empty = fields.Integer(string="Empty jobs", compute="get_jobs", store=True)
|
||||
number_of_job_empty_total = fields.Integer(string="Total Empty jobs", compute="get_jobs", store=True)
|
||||
job_requirements = fields.Html('Job Requirements')
|
||||
company_id = fields.Many2one('res.company',string="Company", default=lambda self: self.env.user.company_id)
|
||||
company_id = fields.Many2one('res.company', string="Company", default=lambda self: self.env.user.company_id)
|
||||
|
||||
def unlink(self):
|
||||
for rec in self:
|
||||
|
|
@ -54,27 +68,26 @@ class HrJobRequest(models.Model):
|
|||
rec.number_of_job_empty = rec.job_id.no_of_recruitment
|
||||
rec.expected_employee = rec.number_of_job_empty_total + rec.number_of_employees
|
||||
|
||||
def action_send(self):
|
||||
for rec in self:
|
||||
rec.state = 'recruitment_officer'
|
||||
|
||||
def action_hr_manager(self):
|
||||
for rec in self:
|
||||
rec.state = 'hr_manager'
|
||||
|
||||
def action_general_manager(self):
|
||||
for rec in self:
|
||||
rec.state = 'general_manager'
|
||||
rec.job_id.sudo().write({'no_of_recruitment': rec.number_of_job_empty_total, })
|
||||
|
||||
def action_confirm(self):
|
||||
for rec in self:
|
||||
rec.state = 'confirm'
|
||||
|
||||
def department_manager(self):
|
||||
for rec in self:
|
||||
rec.state = 'department_manager'
|
||||
|
||||
def action_hr_approve(self):
|
||||
for rec in self:
|
||||
rec.state = 'hr_approve'
|
||||
|
||||
def action_manage_approve(self):
|
||||
for rec in self:
|
||||
rec.state = 'manager_approve'
|
||||
rec.job_id.sudo().write({'no_of_recruitment': rec.number_of_job_empty_total, })
|
||||
# 'expected_employees':rec.expected_employee})
|
||||
|
||||
def action_refused(self):
|
||||
for rec in self:
|
||||
if rec.state == 'manager_approve':
|
||||
if rec.state == 'general_manager':
|
||||
empty = rec.job_id.expected_employees - rec.job_id.no_of_employee
|
||||
record = rec.job_id.no_of_recruitment - rec.needed_employee
|
||||
if empty < rec.needed_employee or record < 0:
|
||||
|
|
|
|||
|
|
@ -7,52 +7,89 @@
|
|||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<header>
|
||||
<button name="action_confirm" type="object" string="Confirm" class="oe_highlight" states="draft"
|
||||
groups="hr_base.group_division_manager,hr.group_hr_user" />
|
||||
<button name="action_hr_approve" type="object" string="Hr Approve" class="oe_highlight" states="confirm"
|
||||
groups="hr.group_hr_user"/>
|
||||
<button name="action_manage_approve" type="object" string="Management Approve" class="oe_highlight"
|
||||
states="hr_approve" groups="hr_base.group_executive_manager"/>
|
||||
<button name="action_set_draft" type="object" string="Set Draft" class="oe_highlight" states="refused"
|
||||
groups="hr.group_hr_user,hr_base.group_executive_manager" confirm="Are you sure to Reset To Draft This Record?"/>
|
||||
<button name="action_send" type="object" string="Send" class="oe_highlight" states="draft"
|
||||
groups="hr_base.group_division_manager"/>
|
||||
|
||||
<button name="action_hr_manager" type="object" string="Confirm" class="oe_highlight"
|
||||
states="recruitment_officer"
|
||||
groups="hr_recruitment.group_hr_recruitment_user"/>
|
||||
<button name="action_refused" type="object" string="Refused" class="oe_highlight"
|
||||
states="draft,confirm,hr_approve,manager_approve"
|
||||
groups="hr.group_hr_user,hr_base.group_executive_manager"/>
|
||||
states="recruitment_officer"
|
||||
groups="hr_recruitment.group_hr_recruitment_user"/>
|
||||
|
||||
<button name="action_general_manager" type="object" string="Confirm"
|
||||
class="oe_highlight"
|
||||
states="hr_manager" groups="hr_recruitment.group_hr_recruitment_manager"/>
|
||||
<button name="action_refused" type="object" string="Refused" class="oe_highlight"
|
||||
states="hr_manager"
|
||||
groups="hr_recruitment.group_hr_recruitment_manager"/>
|
||||
|
||||
<button name="action_confirm" type="object" string="Confirm" class="oe_highlight"
|
||||
states="general_manager"
|
||||
groups="hr_base.group_general_manager"/>
|
||||
<button name="action_refused" type="object" string="Refused" class="oe_highlight"
|
||||
states="general_manager"
|
||||
groups="hr_base.group_general_manager"/>
|
||||
<button name="action_set_draft" type="object" string="Set To Draft" class="oe_highlight"
|
||||
states="refused,confirm"
|
||||
groups="hr_recruitment.group_hr_recruitment_user"
|
||||
confirm="Are you sure to Reset To Draft This Record?"/>
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<h1>
|
||||
<field name="name" placeholder="Name" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="Requesting Administration Information">
|
||||
<group>
|
||||
<field name="name" attrs="{'readonly': [('state','!=', 'draft')]}" />
|
||||
<field name="date" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="quarter" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
|
||||
<field name="employee_id" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="date" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="company_id" groups="base.group_multi_company" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="department_id" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="job_id" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="needed_employee" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<field name="number_of_job_empty_total"/>
|
||||
<field name="expected_employee"/>
|
||||
<field name="number_of_employees"/>
|
||||
<field name="department_id" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Job Requirements">
|
||||
<field name="job_requirements"
|
||||
nolabel="1"
|
||||
colspan="2"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"
|
||||
placeholder="Job Requirements"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<group string="Job Details">
|
||||
<group>
|
||||
<field name="job_id" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="job_related_department_id"
|
||||
attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="job_number" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="job_type" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="needed_employee" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="working_location" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="requested_start_date" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="request_reason" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="number_of_job_empty_total"/>
|
||||
<field name="expected_employee"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="quarter" invisible="1" attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="company_id" groups="base.group_multi_company"
|
||||
attrs="{'readonly': [('state','!=', 'draft')]}"/>
|
||||
<field name="number_of_employees"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Job Requirements">
|
||||
<field name="job_requirements"
|
||||
nolabel="1"
|
||||
colspan="2"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"
|
||||
placeholder="Job Requirements"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field name="activity_ids" widget="mail_activity"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue