From e00bd7a830f72222f81823bbfd69c33e076b882b Mon Sep 17 00:00:00 2001 From: Benjamin <benjamin@le-filament.com> Date: Mon, 20 Apr 2020 12:44:16 +0200 Subject: [PATCH] =?UTF-8?q?[cgscop=20#144]=20Ne=20faire=20apparaitre=20sur?= =?UTF-8?q?=20la=20fiche=20organisme=20la=20convention=20r=C3=A9gionale=20?= =?UTF-8?q?et=20le=20dispositif=20financier=20que=20si=20au=20moins=20une?= =?UTF-8?q?=20ligne=20a=20=C3=A9t=C3=A9=20param=C3=A9tr=C3=A9e=20ou=20cett?= =?UTF-8?q?e=20UR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/hr_timesheet.py | 14 +++++++------- models/res_partner.py | 22 ++++++++++++++++++++++ views/res_partner.xml | 6 ++++-- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/models/hr_timesheet.py b/models/hr_timesheet.py index 48c8ab1..f9566a4 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 ee67f1c..848ce99 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 f27fccc..ed1fd5c 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> -- GitLab