Merge pull request #6017 from expsa/bakry_hr

add smart button Rewards and Raises in employee
This commit is contained in:
bakry 2026-01-06 14:44:46 +03:00 committed by GitHub
commit 9ca82a3edc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 94 additions and 2 deletions

View File

@ -3016,3 +3016,16 @@ msgstr "مراجعة المالية"
msgid "Expense Manager"
msgstr "رئيس المصروفات"
#. module: exp_payroll_custom
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_employee__reward_count
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.hr_employee_salary_scale_inherited_form_view
#: model:ir.actions.act_window,name:exp_payroll_custom.action_open_rewards
msgid "Rewards"
msgstr "المكافآت"
#. module: exp_payroll_custom
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.employee_reward_line_tree_view
msgid "Employee Rewards"
msgstr "مكافآت الموظف"

View File

@ -10,3 +10,23 @@ class HrEmployeeSalaryScale(models.Model):
salary_level = fields.Many2one(related='contract_id.salary_level', string='Salary Level', store=True)
salary_group = fields.Many2one(related='contract_id.salary_group', string='Salary Group', store=True)
salary_degree = fields.Many2one(related='contract_id.salary_degree', string='Salary Degree', store=True)
reward_count = fields.Integer(string="Rewards", compute="_compute_reward_count" )
def _compute_reward_count(self):
Reward = self.env['lines.ids.reward']
for emp in self:
emp.reward_count = Reward.search_count([('employee_id', '=', emp.id) ])
def action_open_rewards(self):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'name': 'Rewards',
'res_model': 'lines.ids.reward',
'view_mode': 'tree,form',
'domain': [('employee_id', '=', self.id)],
'context': {'default_employee_id': self.id }
}

View File

@ -54,3 +54,4 @@ access_hr_payslip_line_expense_manger,access_hr_payslip_expense_manger,model_hr_
access_hr_payslip_line_account_manager,access_hr_payslip_account_manager,model_hr_payslip_line,hr_base.group_account_manager,1,1,0,0
access_hr_payslip_line_hr_manager,access_hr_payslip_hr_manager,model_hr_payslip_line,hr.group_hr_manager,1,1,0,0
access_hr_payslip_line_general_manager,access_hr_payslip_general_manager,model_hr_payslip_line,hr_base.group_general_manager,1,1,0,0
access_lines_ids_reward_emp,hr_lines_ids_reward_emp,model_lines_ids_reward,base.group_user,1,0,0,0

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
54 access_hr_payslip_line_account_manager access_hr_payslip_account_manager model_hr_payslip_line hr_base.group_account_manager 1 1 0 0
55 access_hr_payslip_line_hr_manager access_hr_payslip_hr_manager model_hr_payslip_line hr.group_hr_manager 1 1 0 0
56 access_hr_payslip_line_general_manager access_hr_payslip_general_manager model_hr_payslip_line hr_base.group_general_manager 1 1 0 0
57 access_lines_ids_reward_emp hr_lines_ids_reward_emp model_lines_ids_reward base.group_user 1 0 0 0

View File

@ -125,6 +125,19 @@
</field>
</record>
<record model="ir.ui.view" id="employee_reward_line_tree_view">
<field name="name">Employee Rewards</field>
<field name="model">lines.ids.reward</field>
<field name="arch" type="xml">
<tree string="Employee Rewards">
<field name="employee_id"/>
<field name="amount_base" groups="hr_base.group_executive_manager,hr.group_hr_user"/>
<field name="percentage"/>
<field name="amount"/>
</tree>
</field>
</record>
<menuitem id="employee_reward_menu" name="Employee Reward and Allowances"
parent="exp_hr_payroll.menu_hr_payroll_root"
action="employee_reward_list_action" sequence="10"

View File

@ -16,6 +16,14 @@
</group>
</group>
</xpath>
<!-- Rewards button-->
<xpath expr="//div[@name='button_box']" position="inside">
<button
name="action_open_rewards" type="object" class="oe_stat_button" icon="fa-gift">
<field name="reward_count" widget="statinfo" string="Rewards"/>
</button>
</xpath>
</field>
</record>
</data>

View File

@ -1256,3 +1256,10 @@ msgstr "الأساسي الجديد"
#, python-format
msgid "Sorry, The Amount Of Basic Salary It Must be Greater than Zero"
msgstr "للأسف, مبلغ الراتب الأساسي يجب ان يكون اكبر من الصفر"
#. module: exp_payroll_promotion
#: model:ir.model.fields,field_description:exp_payroll_promotion.field_hr_employee__payroll_raise_count
#: model_terms:ir.ui.view,arch_db:exp_payroll_promotion.hr_employee_salary_scale_dates_form_view
#: model:ir.actions.act_window,name:exp_payroll_promotion.action_payroll_raises
msgid "Payroll Raises"
msgstr "علاوة الراتب"

View File

@ -11,6 +11,26 @@ class HrEmployee(models.Model):
degree_date = fields.Date('Degree Joining Date')
group_date = fields.Date('Group Joining Date')
payroll_raise_count = fields.Integer(string="Payroll Raises", compute="_compute_payroll_raise_count" )
def _compute_payroll_raise_count(self):
Raise = self.env['hr.payroll.raise']
for emp in self:
emp.payroll_raise_count = Raise.search_count([
('employee_id', '=', emp.id)
])
def action_payroll_raises(self):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'name': 'Payroll Raises',
'res_model': 'hr.payroll.raise',
'view_mode': 'tree,form',
'domain': [('employee_id', '=', self.id)],
'context': {'default_employee_id': self.id }
}
def calculate_experience(self, emp_job=False, experience='general', promotion_date=None):
experience_days = super(HrEmployee, self).calculate_experience(emp_job, experience) or 0
if experience_days and experience_days > 0:

View File

@ -5,3 +5,4 @@ access_hr_payroll_promotion_setting_hr_user,hr.payroll.promotion.setting.hr.user
access_hr_promotion_current_group_hr_user,hr.promotion.current.group.hr.user,exp_payroll_promotion.model_hr_promotion_current_group,hr.group_hr_user,1,1,1,1
access_hr_promotion_previous_group_hr_user,hr.promotion.previous.group.hr.user,exp_payroll_promotion.model_hr_promotion_previous_group,hr.group_hr_user,1,1,1,1
access_hr_promotion_deterrent_penalty_hr_user,hr.promotion.deterrent.penalty.hr.user,exp_payroll_promotion.model_hr_promotion_deterrent_penalty,hr.group_hr_user,1,1,1,1
access_hr_payroll_raise_emp,hr_payroll_raise_emp,exp_payroll_promotion.model_hr_payroll_raise,base.group_user,1,0,0,0

1 id name model_id:id group_id/id perm_read perm_write perm_create perm_unlink
5 access_hr_promotion_current_group_hr_user hr.promotion.current.group.hr.user exp_payroll_promotion.model_hr_promotion_current_group hr.group_hr_user 1 1 1 1
6 access_hr_promotion_previous_group_hr_user hr.promotion.previous.group.hr.user exp_payroll_promotion.model_hr_promotion_previous_group hr.group_hr_user 1 1 1 1
7 access_hr_promotion_deterrent_penalty_hr_user hr.promotion.deterrent.penalty.hr.user exp_payroll_promotion.model_hr_promotion_deterrent_penalty hr.group_hr_user 1 1 1 1
8 access_hr_payroll_raise_emp hr_payroll_raise_emp exp_payroll_promotion.model_hr_payroll_raise base.group_user 1 0 0 0

View File

@ -12,6 +12,15 @@
<field name="group_date" readonly="1"/>
</group>
</xpath>
<!-- Payroll Raises button -->
<xpath expr="//div[@name='button_box']" position="inside">
<button
name="action_payroll_raises" type="object" class="oe_stat_button" icon="fa-line-chart">
<field name="payroll_raise_count" widget="statinfo" string="Payroll Raises"/>
</button>
</xpath>
</field>
</record>
</data>