[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:
Lucas Lefèvre
2019-02-05 09:30:32 +00:00
parent a86b726a27
commit 3e9ec9aac6
3 changed files with 19 additions and 0 deletions
+1
View File
@@ -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)
+1
View File
@@ -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>