diff --git a/models/hr_timesheet.py b/models/hr_timesheet.py index 48c8ab10e7dc40c4f6e845797ebe64f7b8142b41..f9566a47a445e2d59bcdb52f1fc58c5bc923b370 100644 --- a/models/hr_timesheet.py +++ b/models/hr_timesheet.py @@ -59,16 +59,16 @@ class ScopHrTimesheet(models.Model): # ------------------------------------------------------ @api.depends('ur_id') def _compute_ur_system_nb(self): - for time in self: + for timesheet in self: # Calcul nombre de dispositifs financiers - financial_system = time.env['ur.financial.system'].search([ - ('ur_id', '=', time.ur_id.id)]) - time.ur_financial_system_nb = len( + financial_system = timesheet.env['ur.financial.system'].search([ + ('ur_id', '=', timesheet.ur_id.id)]) + timesheet.ur_financial_system_nb = len( financial_system) # Calcul nombre de conventions - regional_convention = time.env['ur.regional.convention'].search([ - ('ur_id', '=', time.ur_id.id)]) - time.ur_regional_convention_nb = len( + regional_convention = timesheet.env['ur.regional.convention'].search([ + ('ur_id', '=', timesheet.ur_id.id)]) + timesheet.ur_regional_convention_nb = len( regional_convention) @api.depends('sheet_id', 'sheet_id.state') diff --git a/models/res_partner.py b/models/res_partner.py index ee67f1c6b355f10ca70bc90a495a5470284135ae..848ce9956b2edb580d4fe58c6b6641cc1d4d0afb 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -19,3 +19,25 @@ class ScopPartnerTimesheet(models.Model): ondelete='set null') ur_regional_convention_date = fields.Date( "Date de fin de convention") + ur_financial_system_nb = fields.Integer( + string="Nb Dispositifs Financiers", + compute="_compute_ur_system_nb") + ur_regional_convention_nb = fields.Integer( + string="Nb conventions régionales", + compute="_compute_ur_system_nb") + + # ------------------------------------------------------ + # Compute Functions + # ------------------------------------------------------ + def _compute_ur_system_nb(self): + for partner in self: + # Calcul nombre de dispositifs financiers + financial_system = partner.env['ur.financial.system'].search([ + ('ur_id', '=', self.env.user.ur_id.id)]) + partner.ur_financial_system_nb = len( + financial_system) + # Calcul nombre de conventions + regional_convention = partner.env['ur.regional.convention'].search([ + ('ur_id', '=', self.env.user.ur_id.id)]) + partner.ur_regional_convention_nb = len( + regional_convention) diff --git a/views/res_partner.xml b/views/res_partner.xml index f27fccc86872ea05b2b3116f9e8017ffeed36280..ed1fd5cddebad9c7abe727979a4f47fe4d091e7b 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -25,9 +25,11 @@ <field name="arch" type="xml"> <xpath expr="//field[@name='activity_federation_com']" position="before"> <separator></separator> - <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}"/> + <field name="ur_regional_convention_nb" invisible="1"/> + <field name="ur_financial_system_nb" invisible="1"/> + <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible':[('ur_financial_system_nb', '=', 0)]}"/> <field name="ur_financial_system_date" attrs="{'invisible':[('ur_financial_system_id','=',False)]}"/> - <field name="ur_regional_convention_id" options="{'no_open': True, 'no_create': True}"/> + <field name="ur_regional_convention_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible':[('ur_regional_convention_nb', '=', 0)]}"/> <field name="ur_regional_convention_date" attrs="{'invisible':[('ur_regional_convention_id','=',False)]}"/> <separator></separator> </xpath>