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