Merge pull request #1907 from expsa/samr-aladawi-update-hr-modules

[UPD] exp_hr_appraisal
This commit is contained in:
SamirLADOUI-sa 2024-12-11 11:30:47 +01:00 committed by GitHub
commit 55de219aae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 265 additions and 99 deletions

View File

@ -4,7 +4,7 @@
{
'name': 'Appraisal',
'version': '11.0.1.0.0',
'category': 'Odex25-HR/Odex25-HR',
'category': 'HR-Odex',
'summary': 'Manage Appraisal',
'description': """
Helps you to manage Appraisal of your company's staff.
@ -15,7 +15,7 @@
'website': 'http://exp-sa.com',
'depends': [
'base', 'hr', 'account', 'exp_hr_payroll', 'mail', 'hr_base', 'hr_contract', 'hr_contract_custom'
'base', 'hr','kpi_scorecard', 'account', 'exp_hr_payroll', 'mail', 'hr_base', 'hr_contract', 'hr_contract_custom'
],
'data': [
@ -31,7 +31,6 @@
'views/customize_contract_view.xml',
'views/hr_contract_extension_view.xml',
'views/appraisal_setting_view.xml',
'data/cron_appraisal.xml',
],
'installable': True,
'auto_install': False,

View File

@ -123,12 +123,22 @@ msgstr "خطة التقييم"
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_contract__appraisal_result_id
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_employee_appraisal__appraisal_result
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_re_contract__evaluation_grade_id
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_re_contract__appraisal_result
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.adding_appraisal_to_contract
#: model:ir.ui.menu,name:exp_hr_appraisal.appraisal_result_menu
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.appraisal_result_form_view
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.appraisal_result_tree_view
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.adding_appraisal_to_re_contract
msgid "Appraisal Result"
msgstr "نتيجة التقييم"
#. module: exp_hr_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.adding_appraisal_to_contract
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_contract__appraisal_result
msgid "Appraisal"
msgstr "التقييم"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_appraisal_setting__appraisal_type
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_employee_appraisal__appraisal_type
@ -138,6 +148,7 @@ msgstr "نتيجة التقييم"
msgid "Appraisal Type"
msgstr "نوع التقييم"
#. module: exp_hr_appraisal
#: model:ir.actions.act_window,name:exp_hr_appraisal.appraisal_degree_action
#: model:ir.ui.menu,name:exp_hr_appraisal.appraisal_degree_menu
@ -154,7 +165,8 @@ msgstr "تقييم الموظفين"
#: code:addons/exp_hr_appraisal/models/employees_appraisal.py:0
#, python-format
msgid "Appraisal for employees \"%s\" is not in state done"
msgstr "ليس في حالة تم \"%s\" تقييم الموظفين"
msgstr "تقييم الموظفين \"%s\" ليس في حالة تم"
#. module: exp_hr_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.appraisal_form_view
@ -182,11 +194,6 @@ msgstr "التقييم "
msgid "Appraisal plan"
msgstr "خطة التقييم"
#. module: exp_hr_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.adding_appraisal_to_contract
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
msgid "Appraisal result"
msgstr "نتيجة التقييم"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_appraisal_degree__message_attachment_count
@ -421,8 +428,8 @@ msgstr "النتيجة النهائية"
#. module: exp_hr_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.adding_appraisal_to_re_contract
msgid "Evaluation Grade"
msgstr "نتيجة اخر تقييم"
msgid "Appraisal Grade"
msgstr "درجة التقييم"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_appraisal_degree__message_follower_ids
@ -521,6 +528,12 @@ msgstr "الدرجة الكاملة"
msgid "Greed"
msgstr "الدرجة المحققة"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_standard_appraisal_line__comments
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
msgid "Comments"
msgstr "ملاحظات"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/employees_appraisal.py:0
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_group_employee_appraisal__state__gm_approval
@ -695,6 +708,7 @@ msgid "Last Updated on"
msgstr ""
#. module: exp_hr_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_employee_appraisal__level_achieved
msgid "Level Achieved"
msgstr "الدرجة المحققة"
@ -712,7 +726,7 @@ msgstr ""
#. module: exp_hr_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
msgid "Level achieved percentage"
msgstr "الدرجة المحققة"
msgstr " نسبة الدرجة المحققة"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_appraisal_degree__message_main_attachment_id
@ -1246,14 +1260,14 @@ msgstr ""
#. module: exp_hr_appraisal
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_employee_appraisal__state__state_done
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_group_employee_appraisal__state__done
msgid "المنتهية"
msgstr ""
msgid "Done"
msgstr "تم الاعتماد"
#. module: exp_hr_appraisal
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_employee_appraisal__state__draft
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_group_employee_appraisal__state__draft
msgid "مسودة"
msgstr ""
msgid "Draft"
msgstr "مسودة"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/appraisal_settings.py:0
@ -1274,3 +1288,197 @@ msgstr "إعدادات التقييم"
#: model:ir.cron,name:exp_hr_appraisal.ir_cron_week_appraisal
msgid "Appraisal ;Automatic Employee Appraisal"
msgstr "التقييم : إنشاء تقييم الموظفين تلقائيا"
#. module: exp_hr_appraisal
#: model:ir.actions.act_window,help:exp_hr_appraisal.hr_appraisal_action
msgid "If the Appraisal is 60%, provide justifications and attach evidence"
msgstr "في حالة كان التقييم 60 ذكر المبررات مع ارفاق الاثباتات"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_employee_appraisal__comments_appraisal
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
msgid "Comments Appraisal"
msgstr "ملاحظات التقييم"
#. module: exp_hr_appraisal
#: model:ir.model.fields,field_description:exp_hr_appraisal.field_hr_employee_appraisal__contract_renew
#: model_terms:ir.ui.view,arch_db:exp_hr_appraisal.hr_appraisal_form_view
msgid "Renew Contract?"
msgstr "تجديد العقد؟"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/appraisal.py:0
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_employee_appraisal__contract_renew__renew
#, python-format
msgid "Renew"
msgstr "تجديد"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/appraisal.py:0
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_employee_appraisal__contract_renew__not_renew
#, python-format
msgid "Not Renew"
msgstr "عدم التجديد"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/appraisal.py:0
#: model:ir.model.fields.selection,name:exp_hr_appraisal.selection__hr_employee_appraisal__contract_renew__renew_bouns
#, python-format
msgid "Renew Bounes"
msgstr "تجديد مع الزيادة"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/appraisal_plan.py:0
#, python-format
msgid "You Can Not Delete Appraisal Plan %s Have Employee Appraisal"
msgstr "لايمكن حذف خطة التقييم %s وبها تقييم للموظفين"
#. module: exp_hr_appraisal
#: code:addons/exp_hr_appraisal/models/appraisal_plan.py:0
#, python-format
msgid "Are you sure you want to delete these records?"
msgstr "هل أنت متأكد من حذف هذا السجل؟"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_employee_reward__state__hrm
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__gm_manager
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__gm_manager
msgid "Wait CEO Manager"
msgstr "إنتظار الرئيس التنفيذي"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_employee_reward__state__submitted
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__hr_aaproval
msgid "Wait Department Executive Manager"
msgstr "إنتظار المدير التفيذي للخدمات المشتركة"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__direct_manager
msgid "Wait Department Manager"
msgstr "إنتظار المدير التفيذي "
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__depart_manager
msgid "Wait HR Approval"
msgstr "انتظار الموارد البشرية"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__hr_manager
msgid "Wait HR Department"
msgstr "انتظار الموارد البشرية"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__send
msgid "Waiting Direct Manager"
msgstr "انتظار المدير المباشر"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__submit
msgid "Wat Direct Manager."
msgstr "إنتظار المدير "
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__employee_effective_form__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__employee_other_request__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_administrative_circular__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_contract__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_employee_reward__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_holidays__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__draft
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__draft
msgid "Draft"
msgstr "مسودة"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_employee_reward__state__done
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__approve
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__done
msgid "Approve"
msgstr "تم التصديق"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__pay
msgid "Pay"
msgstr " تم التصديق النهائي"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_termination__state__cancel
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.edit_holiday_new_request
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.hr_holidays_exception_view
msgid "Refuse"
msgstr "مرفـــوض"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.emp_mission_extend
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_reward_form_inherit
msgid "Send"
msgstr "ارسال"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_especially_hours_form_view_extend
msgid "Accept"
msgstr "موافقة"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.emp_mission_extend
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_reward_form_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.termination_resignation_eos_form_view_inherit
msgid "Accept"
msgstr "موافقة"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.emp_mission_extend
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.termination_resignation_eos_form_view_inherit
msgid "refuse"
msgstr "رفض"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.administrative_circular_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.edit_holiday_new_request
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.emp_mission_extend
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_loan_salary_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_other_request_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_request_effective_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_reward_form_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.hr_holidays_exception_view
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.termination_resignation_eos_form_view_inherit
msgid "Are you sure to Reset To Draft This Record?"
msgstr "هل أنت متأكد من إرجاع السجل لحالة المسوده؟"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.administrative_circular_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.edit_holiday_new_request
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.emp_mission_extend
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_contract_form_view
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_loan_salary_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_other_request_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_request_effective_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_reward_form_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.hr_holidays_exception_view
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.termination_resignation_eos_form_view_inherit
msgid "RE-Draft"
msgstr "إرجاع للمسودة"
#. module: taqeem_hr_custom
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__employee_effective_form__state__refused
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__employee_other_request__state__refuse
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_administrative_circular__state__refuse
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_employee_reward__state__refused
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_holidays__state__refuse
#: model:ir.model.fields.selection,name:taqeem_hr_custom.selection__hr_official_mission__state__refused
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.administrative_circular_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_loan_salary_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_other_request_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_request_effective_form_view_inherit
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_reward_form_inherit
msgid "Refused"
msgstr "مرفوض"
#. module: taqeem_hr_custom
#: model_terms:ir.ui.view,arch_db:taqeem_hr_custom.employee_reward_form_inherit
msgid "recalculate"
msgstr "إعادة حساب"

View File

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from . import employees_appraisal
from . import appraisal
from . import appraisal_plan
@ -7,3 +5,5 @@ from . import manager_appraisal_line
from . import appraisal_result
from . import hr_contract_extension
from . import appraisal_settings

View File

@ -193,13 +193,14 @@ class Appraisal(models.Model):
def draft(self):
for item in self:
if item.employee_appraisal:
if item.employee_appraisal.state not in ('draft', 'gen_appraisal', 'start_appraisal'):
raise exceptions.Warning(_('You can not Re-draft when there is appraisal not in state '
if item.employee_appraisal.state not in ('draft', 'gen_appraisal', 'start_appraisal'):
raise exceptions.Warning(_('You can not Re-draft when there is appraisal not in state '
'draft for employees.'))
if item.employee_id.contract_id.appraisal_result_id:
item.employee_id.contract_id.appraisal_result_id = False
item.employee_id.contract_id.appraisal_result_id = False
item.employee_id.contract_id.appraisal_result = False
self.state = 'draft'
def set_state_done(self):
@ -209,6 +210,7 @@ class Appraisal(models.Model):
if item.employee_id.contract_id:
if item.appraisal_result:
item.employee_id.contract_id.appraisal_result_id = item.appraisal_result
item.employee_id.contract_id.appraisal_result = item.id
else:
raise exceptions.Warning(
_('There is no contract for employee "%s" to update appraisal result ') % item.employee_id.name)
@ -303,3 +305,4 @@ class CustomizeAppraisal(models.Model):
# Relational fields
customize_appraisal_line_id = fields.Many2one('manager.appraisal.complete.line') # Inverse Field
degree_id = fields.Many2one('appraisal.degree')

View File

@ -17,7 +17,6 @@ class AppraisalPlan(models.Model):
department_id = fields.Many2one('hr.department')
standard_appraisal_id = fields.One2many('standard.appraisal', 'standard_appraisal_line')
manager_appraisal_id = fields.One2many('manager.appraisal', 'manager_appraisal_line')
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)
# Compute total field

View File

@ -29,6 +29,7 @@ class ContractAppraisal(models.Model):
# Relational fields
appraisal_result_id = fields.Many2one('appraisal.result')
appraisal_result = fields.Many2one('hr.employee.appraisal', string="Appraisal")
class ReContractAppraisal(models.Model):
@ -36,3 +37,5 @@ class ReContractAppraisal(models.Model):
# Relational fields
evaluation_grade_id = fields.Many2one(related='employee_id.contract_id.appraisal_result_id', readonly=True)
appraisal_result = fields.Float(related='employee_id.contract_id.appraisal_result.level_achieved_percentage', readonly=True, store=True)

View File

@ -22,7 +22,6 @@ class EmployeesAppraisal(models.Model):
('mission', 'Mission'),
('general', 'General'),
('other', 'Other')], string='Appraisal Type')
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)
@api.model
def create_automatic_appraisal(self):

View File

@ -14,6 +14,7 @@ class EmployeesAppraisal(models.Model):
date = fields.Date()
state = fields.Selection([("draft", _("Draft")),
("gen_appraisal", _("Generate Appraisal")),
("gen_apprgen_appraisalaisal", _("Generate Appraisal")),
("start_appraisal", _("Start Appraisal")),
("finish_appraisal", _("Direct Manager")),
("hr_approval", _("Department Manager")),
@ -31,7 +32,6 @@ class EmployeesAppraisal(models.Model):
totals_level_achieved = fields.Float(compute='fill_totals_great_level', tracking=True)
totals_level_achieved_percentage = fields.Float(compute='fill_totals_great_level', tracking=True)
totals_appraisal_result = fields.Many2one('appraisal.result', tracking=True, compute='fill_totals_great_level')
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)
appraisal_type = fields.Selection(selection=[('performance', 'Performance'),
('trial', 'Trial Period'),
@ -254,6 +254,7 @@ class EmployeesAppraisal(models.Model):
@api.depends('appraisal_id')
def fill_totals_great_level(self):
pass
for item in self:
item.totals_great_level = 0
item.totals_level_achieved = 0

View File

@ -14,7 +14,6 @@ class ManagerAppraisalLine(models.Model):
# Relational fields
customize_appraisal_id = fields.One2many('customize.appraisal', 'customize_appraisal_line_id')
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)
# Compute total degree from
@api.onchange('customize_appraisal_id')
@ -49,4 +48,3 @@ class AppraisalDegree(models.Model):
name = fields.Char()
great_degree_level = fields.Float()
greed = fields.Float()
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company)

View File

@ -47,18 +47,16 @@
</record>
<record id="hr_group_employee_appraisal_manager_rule" model="ir.rule">
<field name="name">Manager: views appraisal groups of its subordinates</field>
<field name="name"> Manager: views appraisal groups of its subordinates </field>
<field name="model_id" ref="model_hr_group_employee_appraisal"/>
<field name="domain_force">['|','|',('department_id.manager_id','=',False),
('department_id.manager_id.user_id','=', user.id),
('department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
('department_id.manager_id.user_id','=', user.id),
('department_id.parent_id.manager_id.user_id','in', [user.id])]</field>
<field name="groups" eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
</record>
<record id="hr_group_employee_appraisal_all_rule" model="ir.rule">
<field name="name">Manager: views appraisal groups of all subordinates</field>
<field name="name"> Manager: views appraisal groups of all subordinates </field>
<field name="model_id" ref="model_hr_group_employee_appraisal"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(4, ref('hr_base.group_executive_manager')),
@ -76,18 +74,16 @@
</record>
<record id="hr_employee_appraisal_manager_rule" model="ir.rule">
<field name="name">Manager: views appraisals of its subordinates</field>
<field name="name"> Manager: views appraisals of its subordinates </field>
<field name="model_id" ref="model_hr_employee_appraisal"/>
<field name="domain_force">['|','|',('employee_id.department_id.manager_id','=',False),
('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
('employee_id.department_id.manager_id.user_id','in', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','in', [user.id])]</field>
<field name="groups" eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
</record>
<record id="hr_employee_appraisal_all_rule" model="ir.rule">
<field name="name">Manager: views appraisals of all subordinates</field>
<field name="name"> Manager: views appraisals of all subordinates </field>
<field name="model_id" ref="model_hr_employee_appraisal"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(4, ref('hr_base.group_executive_manager')),
@ -95,50 +91,5 @@
(4, ref('exp_hr_appraisal.group_appraisal_manager')),
(4, ref('hr.group_hr_user'))]"/>
</record>
<record id="hr_employee_appraisal_comp_rule" model="ir.rule">
<field name="name">appraisals company rule</field>
<field name="model_id" ref="model_hr_employee_appraisal"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_group_employee_appraisal_comp_rule" model="ir.rule">
<field name="name">group appraisals company rule</field>
<field name="model_id" ref="model_hr_group_employee_appraisal"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="appraisal_plan_comp_rule" model="ir.rule">
<field name="name">group appraisal plan company rule</field>
<field name="model_id" ref="model_appraisal_plan"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="appraisal_setting_comp_rule" model="ir.rule">
<field name="name">group appraisal setting company rule</field>
<field name="model_id" ref="model_appraisal_setting"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="manager_appraisal_line_comp_rule" model="ir.rule">
<field name="name">group manager appraisal line company rule</field>
<field name="model_id" ref="model_manager_appraisal_line"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="appraisal_degree_comp_rule" model="ir.rule">
<field name="name">appraisal degree line company rule</field>
<field name="model_id" ref="model_appraisal_degree"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="appraisal_result_comp_rule" model="ir.rule">
<field name="name">appraisal result line company rule</field>
<field name="model_id" ref="model_appraisal_result"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
</odoo>

View File

@ -1,4 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_group_employee_appraisal,hr.group.employee.appraisal,model_hr_group_employee_appraisal,exp_hr_appraisal.group_appraisal_user,1,1,1,1
access_hr_employee_appraisal_user,hr.employee.appraisal.user,model_hr_employee_appraisal,exp_hr_appraisal.group_appraisal_user,1,1,1,1
access_appraisal_plan_user,appraisal.plan.user,model_appraisal_plan,exp_hr_appraisal.group_appraisal_user,1,1,1,0

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_group_employee_appraisal hr.group.employee.appraisal model_hr_group_employee_appraisal exp_hr_appraisal.group_appraisal_user 1 1 1 1
3 access_hr_group_employee_appraisal access_hr_employee_appraisal_user hr.group.employee.appraisal hr.employee.appraisal.user model_hr_group_employee_appraisal model_hr_employee_appraisal exp_hr_appraisal.group_appraisal_user 1 1 1 1
4 access_hr_employee_appraisal_user access_appraisal_plan_user hr.employee.appraisal.user appraisal.plan.user model_hr_employee_appraisal model_appraisal_plan exp_hr_appraisal.group_appraisal_user 1 1 1 1 0
5 access_appraisal_plan_user access_hr_employee_document_appraisal_user appraisal.plan.user hr.employee.document.appraisal.user model_appraisal_plan hr_docs_expiry.model_hr_employee_document exp_hr_appraisal.group_appraisal_user 1 1 1 0

View File

@ -11,7 +11,6 @@
<field name="name" string="Name" required="1"/>
<field name="greed" string="Greed" required="1"/>
<field name="great_degree_level" string="Great level" required="1"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
</sheet>
<!--Discuss widgets for history and communication -->

View File

@ -108,8 +108,9 @@
<!-- Appraisal menu -->
<menuitem id="appraisal_menu_id" name="Appraisal" parent="hr.menu_hr_root" sequence="13"/>
<!-- add kpi categories -->
<!-- end menu KPIs -->
<menuitem name="Appraisal for employees" id="employee_appraisal_menu_item"
parent="appraisal_menu_id"
action="employee_appraisal_action"

View File

@ -12,7 +12,6 @@
<field name="name" string="Plan name" required="1"/>
<field name="department_id" string="Department"/>
<field name="is_manager" string="Is manager?"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
<field name="standard_appraisal_id" string=""
@ -78,8 +77,16 @@
</record>
<!-- This Menu Item Must have a parent -->
<menuitem id="appraisal_configuration" name="Configuration" parent="appraisal_menu_id" sequence="3"
<menuitem id="appraisal_configuration" name="Configuration" parent="appraisal_menu_id" sequence="4"
groups="exp_hr_appraisal.group_appraisal_manager"/>
<!-- end menu -->
<!-- add KPIs menu -->
<!-- This Menu Item must have a parent and an action -->
<menuitem id="appraisal_plan_menu" name="Appraisal plan" parent="appraisal_configuration"
action="appraisal_plan_action_view" sequence="1"/>

View File

@ -11,7 +11,6 @@
<field name="name" string="Result name" required="1"/>
<field name="result_from" string="Result from" required="1"/>
<field name="result_to" string="Result to" required="1"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
</sheet>
</form>

View File

@ -25,7 +25,6 @@
<field name="appraisal_type" required="1"
attrs="{'readonly':[('state','=','appraisal')]}"/>
<field name="appraisal_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
</group>

View File

@ -11,7 +11,6 @@
<group>
<group>
<field name="name" string="Appraisal name" required="1"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
</group>
<field name="customize_appraisal_id">

View File

@ -9,11 +9,10 @@
<field name="arch" type="xml">
<xpath expr="//field[@name='contract_duration']" position="after">
<field name="appraisal_result_id" string="Appraisal result" readonly="1" force_save="1"/>
<field name="appraisal_result" string="Appraisal" readonly="1" force_save="1"/>
<field name="appraisal_result_id" string="Appraisal Result" readonly="1" force_save="1"/>
</xpath>
</field>
</record>
@ -26,8 +25,9 @@
<field name="arch" type="xml">
<xpath expr="//field[@name='new_contract_end_date']" position="after">
<field name="evaluation_grade_id" string="Evaluation Grade"/>
</xpath>
<field name="evaluation_grade_id" string="Appraisal Grade"/>
<field name="appraisal_result" string="Appraisal Result" readonly="1" force_save="1"/>
</xpath>
</field>
</record>
@ -35,3 +35,4 @@
</data>
</odoo>

View File

@ -37,7 +37,6 @@
<field name="appraisal_date" string="Appraisal Date" required="1"
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="is_manager" string="Is manager?" readonly="1"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
</group>
</group>