[IMP] hr_payroll: improve benefits error managment
Purpose ======= When a lot of benefits are generated (for Odoo: ~1200 benefits/month), it can be difficult to manage conflicts and errors. Specification ============= Add a filter to display only benefits with errors. In the list view: - sort by error,status - show Name| benefits Type | Beginning | Duration | Status | Error closes odoo/odoo#30339
This commit is contained in:
@@ -13,6 +13,7 @@ from odoo.addons.resource.models.resource import Intervals
|
||||
class HrBenefit(models.Model):
|
||||
_name = 'hr.benefit'
|
||||
_description = 'hr.benefit'
|
||||
_order = 'display_warning desc,state,date_start'
|
||||
|
||||
name = fields.Char(required=True)
|
||||
active = fields.Boolean(default=True)
|
||||
|
||||
@@ -22,6 +22,7 @@ class HrLeave(models.Model):
|
||||
'date_start': leave.date_from,
|
||||
'date_stop': leave.date_to,
|
||||
'benefit_type_id': benefit_type.id,
|
||||
'display_warning': not bool(benefit_type),
|
||||
'employee_id': leave.employee_id.id,
|
||||
'leave_id': self.id,
|
||||
'state': 'confirmed',
|
||||
|
||||
@@ -107,6 +107,21 @@ if records:
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_benefit_tree" model="ir.ui.view">
|
||||
<field name="name">hr.benefit.tree</field>
|
||||
<field name="model">hr.benefit</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="benefit_type_id"/>
|
||||
<field name="duration"/>
|
||||
<field name="state"/>
|
||||
<field name="date_start" string="Beginning"/>
|
||||
<field name="display_warning"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_benefit_filter" model="ir.ui.view">
|
||||
<field name="name">hr.benefit.filter</field>
|
||||
<field name="model">hr.benefit</field>
|
||||
@@ -115,7 +130,9 @@ if records:
|
||||
<field name="employee_id"/>
|
||||
<field name="name"/>
|
||||
<filter string="My Benefits" domain="[('employee_id.user_id','=',uid)]" name="my_benefits"/>
|
||||
<filter string="With error" domain="[('display_warning','=', True)]" name="benefits_error"/>
|
||||
<filter name="group_employee" string="Employee" context="{'group_by':'employee_id'}"/>
|
||||
<filter name="group_benefit_type" string="Type" context="{'group_by':'benefit_type_id'}"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user