diff --git a/__manifest__.py b/__manifest__.py
index d3d145790cd2ba94f18a5dafa3fe54004df5cd8b..0861ff7b7b584b949d728cbecb1d26321fdd08a2 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -38,7 +38,7 @@
"datas/res.partner.newsletter.csv",
"datas/res.partner.organization.type.csv",
"datas/res.partner.rgpd.origin.csv",
- "datas/res.partner.segment.csv",
+ "datas/res.partner.segment1.csv",
"datas/scop.contribution.type.csv",
"datas/scop.financial.category.csv",
"datas/scop.financial.intervention.type.csv",
diff --git a/datas/res.partner.segment.csv b/datas/res.partner.segment.csv
deleted file mode 100644
index 7bd481d65987e4b73678b728d9aeb73a7fde8957..0000000000000000000000000000000000000000
--- a/datas/res.partner.segment.csv
+++ /dev/null
@@ -1,26 +0,0 @@
-id,ur_id,id_riga,name,category
-riga_11776,AURA,11776,Alimentation / Agriculture / Horticulture,segment_1
-riga_14074,AURA,14074,Bois / Ameublement / carton / Verre / Céramique,segment_1
-riga_11777,AURA,11777,BTP et activités connexes,segment_1
-riga_14075,AURA,14075,Bureaux d'etudes batiment,segment_1
-riga_14076,AURA,14076,Cuirs et étoffes,segment_1
-riga_14077,AURA,14077,Divers,segment_1
-riga_14078,AURA,14078,Fonderie / Travail des métaux / Mécanique,segment_1
-riga_14079,AURA,14079,Industrie du livre et communication,segment_1
-riga_14080,AURA,14080,Services intellectuels et culturels,segment_1
-riga_14081,AURA,14081,Services matériels,segment_1
-riga_14071,Paris,14071,ACTION SOCIALE,segment_1
-riga_14073,Paris,14073,ALIMENTATION / COMMERCE,segment_1
-riga_11772,Paris,11772,ARTISANAT / PETITE PRODUCTION,segment_1
-riga_14063,Paris,14063,BTP,segment_1
-riga_14068,Paris,14068,COMMUNICATION / WEB / PRESSE / EVT,segment_1
-riga_14069,Paris,14069,CULTURE / LOISIR,segment_1
-riga_14072,Paris,14072,EDITION,segment_1
-riga_14064,Paris,14064,ETUDES ET CONCEPTION BTP / AMENAGEMENT TERRITOIRE,segment_1
-riga_14070,Paris,14070,FORMATION / ACCOMPAGNEMENT DES PERSONNES,segment_1
-riga_14065,Paris,14065,FORMATION / CONSEIL AUX ORGANISATIONS,segment_1
-riga_14062,Paris,14062,IMPRIMERIE / REPROGRAPHIE / FACONNAGE / ROUTAGE,segment_1
-riga_11771,Paris,11771,INDUSTRIE,segment_1
-riga_14067,Paris,14067,"INFORMATIQUE (développement, conseil, maintenance)",segment_1
-riga_14066,Paris,14066,PRESTATION DE SERVICE,segment_1
-riga_11773,Paris,11773,TRANSPORT / MANUTENTION,segment_1
diff --git a/datas/res.partner.segment1.csv b/datas/res.partner.segment1.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7649ff62e1f668b1ae2f2be57ed1cdca50375913
--- /dev/null
+++ b/datas/res.partner.segment1.csv
@@ -0,0 +1,26 @@
+id,ur_id,id_riga,name
+riga_11776,AURA,11776,Alimentation / Agriculture / Horticulture
+riga_14074,AURA,14074,Bois / Ameublement / carton / Verre / Céramique
+riga_11777,AURA,11777,BTP et activités connexes
+riga_14075,AURA,14075,Bureaux d'etudes batiment
+riga_14076,AURA,14076,Cuirs et étoffes
+riga_14077,AURA,14077,Divers
+riga_14078,AURA,14078,Fonderie / Travail des métaux / Mécanique
+riga_14079,AURA,14079,Industrie du livre et communication
+riga_14080,AURA,14080,Services intellectuels et culturels
+riga_14081,AURA,14081,Services matériels
+riga_14071,Paris,14071,ACTION SOCIALE
+riga_14073,Paris,14073,ALIMENTATION / COMMERCE
+riga_11772,Paris,11772,ARTISANAT / PETITE PRODUCTION
+riga_14063,Paris,14063,BTP
+riga_14068,Paris,14068,COMMUNICATION / WEB / PRESSE / EVT
+riga_14069,Paris,14069,CULTURE / LOISIR
+riga_14072,Paris,14072,EDITION
+riga_14064,Paris,14064,ETUDES ET CONCEPTION BTP / AMENAGEMENT TERRITOIRE
+riga_14070,Paris,14070,FORMATION / ACCOMPAGNEMENT DES PERSONNES
+riga_14065,Paris,14065,FORMATION / CONSEIL AUX ORGANISATIONS
+riga_14062,Paris,14062,IMPRIMERIE / REPROGRAPHIE / FACONNAGE / ROUTAGE
+riga_11771,Paris,11771,INDUSTRIE
+riga_14067,Paris,14067,"INFORMATIQUE (développement, conseil, maintenance)"
+riga_14066,Paris,14066,PRESTATION DE SERVICE
+riga_11773,Paris,11773,TRANSPORT / MANUTENTION
diff --git a/models/res_partner.py b/models/res_partner.py
index af8438b306ebd2006716a19787aa88dfd54d3ce6..cbc6b6e2f6105729baae964d8ea931fe3b6ee0af 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -84,7 +84,7 @@ class ScopPartner(models.Model):
domain=[('active', '=', True), ('mandate_id', '!=', False)])
child_ids = fields.One2many(
'res.partner', 'parent_id', string='Autres Contacts',
- domain=[('active', '=', True), ('mandate_id', '=', False)])
+ domain=[('active', '=', True)])
# Infos générales / Suivi UR
ur_id = fields.Many2one(
@@ -104,26 +104,22 @@ class ScopPartner(models.Model):
domain=[('active', '=', True)],
on_delete='restrict',
track_visibility='onchange')
- segment_1_id = fields.Many2many('res.partner.segment',
+ segment_1_id = fields.Many2many('res.partner.segment1',
column1='partner_id',
column2='segment_id',
- string='Segmentation 1',
- domain=[('category', '=', 'segment_1')])
- segment_2_id = fields.Many2many('res.partner.segment',
+ string='Segmentation 1')
+ segment_2_id = fields.Many2many('res.partner.segment2',
column1='partner_id',
column2='segment_id',
- string='Segmentation 2',
- domain=[('category', '=', 'segment_2')])
- segment_3_id = fields.Many2many('res.partner.segment',
+ string='Segmentation 2')
+ segment_3_id = fields.Many2many('res.partner.segment3',
column1='partner_id',
column2='segment_id',
- string='Segmentation 3',
- domain=[('category', '=', 'segment_3')])
- segment_4_id = fields.Many2many('res.partner.segment',
+ string='Segmentation 3')
+ segment_4_id = fields.Many2many('res.partner.segment4',
column1='partner_id',
column2='segment_id',
- string='Segmentation 4',
- domain=[('category', '=', 'segment_4')])
+ string='Segmentation 4')
# Infos générales / Infos activité
creation_origin_id = fields.Many2one(
@@ -417,8 +413,8 @@ class ScopPartner(models.Model):
result = super(ScopPartner, self).write(vals)
for partner in self:
if (not partner.is_company
- and partner.type == 'contact'
- and not partner.user_ids):
+ and partner.type == 'contact'
+ and not partner.user_ids):
if (not partner.email and not partner.phone
and not partner.mobile):
raise ValidationError(
@@ -665,24 +661,77 @@ class ResPartnerRgpdOrigin(models.Model):
name = fields.Char('Origin')
-class ResPartnerSegment(models.Model):
- _name = "res.partner.segment"
- _description = "Segments"
+class ResPartnerSegment1(models.Model):
+ _name = "res.partner.segment1"
+ _description = "Segments 1"
_rec_name = 'name'
- _order = 'ur_id, category, name'
+ _order = 'ur_id, name'
def _default_ur(self):
return self.env['res.company']._ur_default_get()
- name = fields.Char('Origine / Sous-Origine', index=True, required=True)
+ name = fields.Char('Nom', index=True, required=True)
+ color = fields.Integer(string='ID Couleur')
+ id_riga = fields.Integer("ID RIGA")
+ ur_id = fields.Many2one(
+ 'union.regionale',
+ string='Union Régionale',
+ index=True,
+ on_delete='restrict',
+ default=_default_ur)
+
+
+class ResPartnerSegment2(models.Model):
+ _name = "res.partner.segment2"
+ _description = "Segments 2"
+ _rec_name = 'name'
+ _order = 'ur_id, name'
+
+ def _default_ur(self):
+ return self.env['res.company']._ur_default_get()
+
+ name = fields.Char('Nom', index=True, required=True)
+ color = fields.Integer(string='ID Couleur')
+ id_riga = fields.Integer("ID RIGA")
+ ur_id = fields.Many2one(
+ 'union.regionale',
+ string='Union Régionale',
+ index=True,
+ on_delete='restrict',
+ default=_default_ur)
+
+
+class ResPartnerSegment3(models.Model):
+ _name = "res.partner.segment3"
+ _description = "Segments 3"
+ _rec_name = 'name'
+ _order = 'ur_id, name'
+
+ def _default_ur(self):
+ return self.env['res.company']._ur_default_get()
+
+ name = fields.Char('Nom', index=True, required=True)
+ color = fields.Integer(string='ID Couleur')
+ id_riga = fields.Integer("ID RIGA")
+ ur_id = fields.Many2one(
+ 'union.regionale',
+ string='Union Régionale',
+ index=True,
+ on_delete='restrict',
+ default=_default_ur)
+
+
+class ResPartnerSegment4(models.Model):
+ _name = "res.partner.segment4"
+ _description = "Segments 4"
+ _rec_name = 'name'
+ _order = 'ur_id, name'
+
+ def _default_ur(self):
+ return self.env['res.company']._ur_default_get()
+
+ name = fields.Char('Nom', index=True, required=True)
color = fields.Integer(string='ID Couleur')
- category = fields.Selection(
- [('segment_1', "Segment 1"),
- ('segment_2', 'Segment 2'),
- ('segment_3', "Segment 3"),
- ('segment_4', "Segment 4")],
- string='Type de segment',
- index=True)
id_riga = fields.Integer("ID RIGA")
ur_id = fields.Many2one(
'union.regionale',
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 2a2910ed6c94065c6083d22ad11b1a852b220033..4921640f21461066cf57b132b466b4e6fe329378 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -27,7 +27,10 @@ access_scop_liasse_fiscale_type,access_scop_liasse_fiscale_type,model_scop_liass
access_scop_questionnaire_type,access_scop_questionnaire_type,model_scop_questionnaire_type,base.group_user,1,0,0,0
access_scop_liasse_fiscale_source,access_scop_liasse_fiscale_source,model_scop_liasse_fiscale_source,base.group_user,1,0,0,0
access_res_partner_mandate,access_res_partner_mandate,model_res_partner_mandate,base.group_user,1,0,0,0
-access_res_partner_segment,access_res_partner_segment,model_res_partner_segment,base.group_user,1,0,0,0
+access_res_partner_segment1,access_res_partner_segment1,model_res_partner_segment1,base.group_user,1,0,0,0
+access_res_partner_segment2,access_res_partner_segment2,model_res_partner_segment2,base.group_user,1,0,0,0
+access_res_partner_segment3,access_res_partner_segment3,model_res_partner_segment3,base.group_user,1,0,0,0
+access_res_partner_segment4,access_res_partner_segment4,model_res_partner_segment4,base.group_user,1,0,0,0
admin_liasse_fiscale_group_user,access_liasse_fiscale_group_user,model_scop_liasse_fiscale,group_cg_administrator,1,1,1,1
admin_contribution_group_user,access_contribution_group_user,model_scop_contribution,group_cg_administrator,1,1,1,1
admin_financial_tools_group_user,access_financial_tools_group_user,model_scop_financial_tools,group_cg_administrator,1,1,1,1
@@ -56,5 +59,11 @@ admin_scop_liasse_fiscale_type,admin_scop_liasse_fiscale_type,model_scop_liasse_
admin_scop_questionnaire_type,admin_scop_questionnaire_type,model_scop_questionnaire_type,group_cg_administrator,1,1,1,1
admin_scop_liasse_fiscale_source,admin_scop_liasse_fiscale_source,model_scop_liasse_fiscale_source,group_cg_administrator,1,1,1,1
admin_res_partner_mandate,admin_res_partner_mandate,model_res_partner_mandate,group_cg_administrator,1,1,1,1
-admin_res_partner_segment,admin_res_partner_segment,model_res_partner_segment,group_cg_administrator,1,1,1,1
-admin_ur_res_partner_segment,admin_ur_res_partner_segment,model_res_partner_segment,group_ur_list_modif,1,1,1,1
+admin_res_partner_segment1,admin_res_partner_segment1,model_res_partner_segment1,group_cg_administrator,1,1,1,1
+admin_ur_res_partner_segment1,admin_ur_res_partner_segment1,model_res_partner_segment1,group_ur_list_modif,1,1,1,1
+admin_res_partner_segment2,admin_res_partner_segment2,model_res_partner_segment2,group_cg_administrator,1,1,1,1
+admin_ur_res_partner_segment2,admin_ur_res_partner_segment2,model_res_partner_segment2,group_ur_list_modif,1,1,1,1
+admin_res_partner_segment3,admin_res_partner_segment3,model_res_partner_segment3,group_cg_administrator,1,1,1,1
+admin_ur_res_partner_segment3,admin_ur_res_partner_segment3,model_res_partner_segment3,group_ur_list_modif,1,1,1,1
+admin_res_partner_segment4,admin_res_partner_segment4,model_res_partner_segment4,group_cg_administrator,1,1,1,1
+admin_ur_res_partner_segment4,admin_ur_res_partner_segment4,model_res_partner_segment4,group_ur_list_modif,1,1,1,1
diff --git a/security/security_rules.xml b/security/security_rules.xml
index 0d0c88e665f42c291db73b798395d47ad6dbd1df..748b73d6ee28a8a5fc09736a327094c82e023fc4 100644
--- a/security/security_rules.xml
+++ b/security/security_rules.xml
@@ -25,7 +25,7 @@
<field eval="True" name="global"/>
</record>
- <record id="res_partner_rule_ur" model="ir.rule">
+ <record id="res_user_rule_admin" model="ir.rule">
<field name="name">user rule administrator cg</field>
<field name="model_id" ref="base.model_res_users"/>
<field name="domain_force">[(1,'=',1)]</field>
@@ -55,17 +55,65 @@
<field name="perm_unlink" eval="False"/>
</record>
- <record id="res_partner_segment_rule_ur" model="ir.rule">
- <field name="name">segment rule per ur</field>
- <field name="model_id" ref="model_res_partner_segment"/>
+ <record id="res_partner_segment1_rule_ur" model="ir.rule">
+ <field name="name">segment 1 rule per ur</field>
+ <field name="model_id" ref="model_res_partner_segment1"/>
<field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
- <field name="groups" eval="[(6, 0, ref('base.group_user'))]"/>
+ <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
<field eval="True" name="global"/>
</record>
- <record id="res_partner_segment_rule_admin" model="ir.rule">
- <field name="name">partner rule per ur</field>
- <field name="model_id" ref="model_res_partner_segment"/>
+ <record id="res_partner_segment1_rule_admin" model="ir.rule">
+ <field name="name">segment 1 rule administrator</field>
+ <field name="model_id" ref="model_res_partner_segment1"/>
+ <field name="domain_force">[(1,'=',1)]</field>
+ <field name="groups" eval="[(6, 0, [ref('cgscop_partner.group_cg_administrator')])]"/>
+ <field eval="True" name="global"/>
+ </record>
+
+ <record id="res_partner_segment2_rule_ur" model="ir.rule">
+ <field name="name">segment 2 rule per ur</field>
+ <field name="model_id" ref="model_res_partner_segment2"/>
+ <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
+ <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
+ <field eval="True" name="global"/>
+ </record>
+
+ <record id="res_partner_segment2_rule_admin" model="ir.rule">
+ <field name="name">segment 2 rule administrator</field>
+ <field name="model_id" ref="model_res_partner_segment2"/>
+ <field name="domain_force">[(1,'=',1)]</field>
+ <field name="groups" eval="[(6, 0, [ref('cgscop_partner.group_cg_administrator')])]"/>
+ <field eval="True" name="global"/>
+ </record>
+
+ <record id="res_partner_segment3_rule_ur" model="ir.rule">
+ <field name="name">segment 3 rule per ur</field>
+ <field name="model_id" ref="model_res_partner_segment3"/>
+ <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
+ <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
+ <field eval="True" name="global"/>
+ </record>
+
+ <record id="res_partner_segment3_rule_admin" model="ir.rule">
+ <field name="name">segment 3 rule administrator</field>
+ <field name="model_id" ref="model_res_partner_segment3"/>
+ <field name="domain_force">[(1,'=',1)]</field>
+ <field name="groups" eval="[(6, 0, [ref('cgscop_partner.group_cg_administrator')])]"/>
+ <field eval="True" name="global"/>
+ </record>
+
+ <record id="res_partner_segment4_rule_ur" model="ir.rule">
+ <field name="name">segment 4 rule per ur</field>
+ <field name="model_id" ref="model_res_partner_segment4"/>
+ <field name="domain_force">[('ur_id','=',user.company_id.ur_id.id)]</field>
+ <field name="groups" eval="[(6, 0, [ref('base.group_user')])]"/>
+ <field eval="True" name="global"/>
+ </record>
+
+ <record id="res_partner_segment4_rule_admin" model="ir.rule">
+ <field name="name">segment 4 rule administrator</field>
+ <field name="model_id" ref="model_res_partner_segment4"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(6, 0, [ref('cgscop_partner.group_cg_administrator')])]"/>
<field eval="True" name="global"/>
diff --git a/views/res_partner.xml b/views/res_partner.xml
index a7c799fd700ee47a4f4af3f8ba5a1dd9daaafd57..96950ae9adcbb5e5f6a5f3b772ad4c8c05c1d2c9 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -58,10 +58,10 @@
<xpath expr='//form/sheet/group/group[2]' position="replace">
<group name="Infos activités" attrs="{'invisible': [('is_company','=', False)]}">
<field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" attrs="{'invisible': [('is_company','=', False)]}"/>
- <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_1'),('ur_id', '=', ur_id)]"/>
- <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_2'),('ur_id', '=', ur_id)]"/>
- <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_3'),('ur_id', '=', ur_id)]"/>
- <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_4'),('ur_id', '=', ur_id)]"/>
+ <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
<field name="organization_type_id" attrs="{'invisible': [('is_company','=', False)]}" options="{'no_create': True}"/>
<field name="organization_subtype_id" attrs="{'invisible': [('is_company','=', False)]}" domain="[('parent_id', '=', organization_type_id), ('child_ids', '=', False)]" options="{'no_create': True}"/>
</group>
@@ -72,10 +72,10 @@
<field name="birthyear" attrs="{'invisible': [('is_company','=', True)]}"/>
<field name="contact_origin_id" attrs="{'invisible': [('is_company','=', True)]}" options="{'no_create': True}"/>
<field name="contact_legality" readonly="True" attrs="{'invisible': [('is_company','=', True)]}"/>
- <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_1'),('ur_id', '=', ur_id)]"/>
- <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_2'),('ur_id', '=', ur_id)]"/>
- <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_3'),('ur_id', '=', ur_id)]"/>
- <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_4'),('ur_id', '=', ur_id)]"/>
+ <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
</group>
</xpath>
<xpath expr='//form/sheet/group' position="after">
@@ -86,11 +86,38 @@
</tree>
</field>
</xpath>
+ <xpath expr="//field[@name='child_ids']" position="attributes">
+ <attribute name="context">{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_street3': street3, 'default_city': city, 'default_cedex': cedex, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_ur_id': ur_id, 'default_user_id': user_id}</attribute>
+ </xpath>
<xpath expr="//field[@name='child_ids']//kanban//field[@name='function']" position="before">
<field name="mandate_id"/>
+ <field name="ur_id"/>
+ </xpath>
+ <xpath expr="//field[@name='child_ids']//kanban//div[hasclass('oe_kanban_details')]//field[@name='name']" position="after">
+ <div t-if="record.mandate_id.raw_value"><field name="mandate_id"/></div>
</xpath>
<xpath expr="//field[@name='child_ids']//form//field[@name='function']" position="before">
<field name="mandate_id" options="{'no_create': True}" attrs="{'invisible': [('type','!=', 'contact')]}"/>
+ <field name="ur_id" invisible="1"/>
+ </xpath>
+ <xpath expr="//field[@name='child_ids']/form//group/group[2]" position="after">
+ <group attrs="{'invisible': [('type', '!=', 'contact')]}">
+ <field name="birthyear"/>
+ <field name="contact_origin_id" options="{'no_open': True, 'no_create': True}"/>
+ <field name="contact_legality" readonly="1"/>
+ <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ </group>
+ </xpath>
+ <xpath expr="//field[@name='child_ids']/form//group" position="after">
+ <field name="subscription_ids" attrs="{'invisible': [('type', '!=', 'contact')]}">
+ <tree string="Subscriptions" editable="bottom">
+ <field name="newsletter_id" domain="[]"/>
+ <field name="consent"/>
+ </tree>
+ </field>
</xpath>
<field name="vat" position="replace">
<field name="phone" widget="phone"/>
diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml
index df1b787da8fabcff855fdf6198912709f8493eed..ebed6ee05399432fddc89cd127910b16bc9da548 100644
--- a/views/res_partner_cooperative.xml
+++ b/views/res_partner_cooperative.xml
@@ -233,10 +233,10 @@
attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_cg', '6_suivi'))], 'invisible':[('project_status', '=', '6_suivi')]}" options="{'no_open': True, 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/>
<field name="followup_delegate_id" widget="res_partner_many2one" options="{'no_open': True, 'no_create': True}" domain="[('active', '=', True),('ur_id', '=', ur_id)]"/>
<field name="revision_person_id" widget="res_partner_many2one" readonly="True" options="{'no_open': True, 'no_create': True}"/>
- <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_1'),('ur_id', '=', ur_id)]"/>
- <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_2'),('ur_id', '=', ur_id)]"/>
- <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_3'),('ur_id', '=', ur_id)]"/>
- <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('category', '=', 'segment_4'),('ur_id', '=', ur_id)]"/>
+ <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
</group>
<group string="Informations Activité">
<field name="creation_origin_id" required="True" options="{'no_open': True, 'no_create': True}"/>
@@ -315,9 +315,8 @@
</kanban>
<form string="Contact Dirigeant">
<sheet>
- <field name="type" invisible="1" widget="radio" options="{'horizontal': true}"/>
<field name="parent_id" invisible="1"/>
- <group>
+ <group col="2">
<group invisible="1">
<field name="street"/>
<field name="street2"/>
@@ -330,19 +329,32 @@
<field name="country_id"/>
</group>
<group>
- <field name="title" placeholder="Madame"
- attrs="{'invisible': [('type','!=', 'contact')]}"/>
+ <field name="title" placeholder="Madame"/>
<field name="firstname" string="Prénom" required="1"/>
<field name="lastname" string="Nom de famille" required="1"/>
- <field name="mandate_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('type','!=', 'contact')]}" required="1"/>
- <field name="function" placeholder="Responsable des ventes"
- attrs="{'invisible': [('type','!=', 'contact')]}"/>
+ <field name="mandate_id" options="{'no_open': True, 'no_create': True}" required="1"/>
+ <field name="function" placeholder="Responsable des ventes"/>
<field name="email"/>
<field name="phone" widget="phone"/>
<field name="mobile" widget="phone"/>
<field name="comment" placeholder="Commentaires..."/>
</group>
+ <group>
+ <field name="birthyear"/>
+ <field name="contact_origin_id" options="{'no_open': True, 'no_create': True}"/>
+ <field name="contact_legality" readonly="1"/>
+ <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ </group>
</group>
+ <field name="subscription_ids">
+ <tree string="Subscriptions" editable="bottom">
+ <field name="newsletter_id"/>
+ <field name="consent"/>
+ </tree>
+ </field>
<field name="supplier" invisible="True"/>
<field name="customer" invisible="True"/>
<field name="lang" invisible="True"/>
@@ -354,7 +366,7 @@
</field>
<label for="child_ids" string="Autres Contacts"/>
<field name="child_ids" mode="kanban"
- context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_cedex': cedex, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_ur_id': ur_id}">
+ context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_street3': street3, 'default_city': city, 'default_cedex': cedex, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_ur_id': ur_id}" domain="[('active', '=', True), ('mandate_id', '=', False)]">
<kanban>
<field name="id"/>
<field name="color"/>
@@ -427,7 +439,7 @@
<field name="parent_id" invisible="1"/>
<hr/>
<group>
- <group attrs="{'invisible': [('type','=', 'contact')]}">
+ <group attrs="{'invisible': [('type', '=', 'contact')]}">
<label for="street" string="Address"/>
<div>
<div name="div_address" class="o_address_format">
@@ -464,7 +476,22 @@
<field name="mobile" widget="phone"/>
<field name="comment" placeholder="internal note..."/>
</group>
+ <group attrs="{'invisible': [('type', '!=', 'contact')]}">
+ <field name="birthyear"/>
+ <field name="contact_origin_id" options="{'no_open': True, 'no_create': True}"/>
+ <field name="contact_legality" readonly="1"/>
+ <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ </group>
</group>
+ <field name="subscription_ids" attrs="{'invisible': [('type', '!=', 'contact')]}">
+ <tree string="Subscriptions" editable="bottom">
+ <field name="newsletter_id" domain="[]"/>
+ <field name="consent"/>
+ </tree>
+ </field>
<field name="supplier" invisible="True"/>
<field name="customer" invisible="True"/>
<field name="lang" invisible="True"/>
diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml
index d2405d5a50e7825061464cb90a017574811d18d9..b3ba0377cba9a5d2d39ae31cb6a71179c051204c 100644
--- a/views/scop_config_views.xml
+++ b/views/scop_config_views.xml
@@ -163,27 +163,81 @@
</record>
- <!-- Segmentation -->
- <record id="view_res_partner_segment_tree" model="ir.ui.view">
- <field name="name">res.partner.segment.tree</field>
- <field name="model">res.partner.segment</field>
+ <!-- Segmentation 1 -->
+ <record id="view_res_partner_segment1_tree" model="ir.ui.view">
+ <field name="name">res.partner.segment1.tree</field>
+ <field name="model">res.partner.segment1</field>
<field name="arch" type="xml">
- <tree string="Segmentations" editable="top">
- <field name="category"/>
+ <tree string="Segmentations 1" editable="top">
<field name="name"/>
<field name="ur_id"/>
</tree>
</field>
</record>
- <record id="action_view_res_partner_segment_tree" model="ir.actions.act_window">
- <field name="name">Segmentations</field>
- <field name="res_model">res.partner.segment</field>
+ <record id="action_view_res_partner_segment1_tree" model="ir.actions.act_window">
+ <field name="name">Segmentations 1</field>
+ <field name="res_model">res.partner.segment1</field>
<field name="view_mode">tree</field>
- <field name="help">Display and manage the list of Segmentations.</field>
+ <field name="help">Affiche et gère la liste des Ségmentations 1.</field>
</record>
+ <!-- Segmentation 2 -->
+ <record id="view_res_partner_segment2_tree" model="ir.ui.view">
+ <field name="name">res.partner.segment2.tree</field>
+ <field name="model">res.partner.segment2</field>
+ <field name="arch" type="xml">
+ <tree string="Segmentations 2" editable="top">
+ <field name="name"/>
+ <field name="ur_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_view_res_partner_segment2_tree" model="ir.actions.act_window">
+ <field name="name">Segmentations 2</field>
+ <field name="res_model">res.partner.segment2</field>
+ <field name="view_mode">tree</field>
+ <field name="help">Affiche et gère la liste des Ségmentations 2.</field>
+ </record>
+
+ <!-- Segmentation 3 -->
+ <record id="view_res_partner_segment3_tree" model="ir.ui.view">
+ <field name="name">res.partner.segment3.tree</field>
+ <field name="model">res.partner.segment3</field>
+ <field name="arch" type="xml">
+ <tree string="Segmentations 3" editable="top">
+ <field name="name"/>
+ <field name="ur_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_view_res_partner_segment3_tree" model="ir.actions.act_window">
+ <field name="name">Segmentations 3</field>
+ <field name="res_model">res.partner.segment3</field>
+ <field name="view_mode">tree</field>
+ <field name="help">Affiche et gère la liste des Ségmentations 3.</field>
+ </record>
+ <!-- Segmentation 4 -->
+ <record id="view_res_partner_segment4_tree" model="ir.ui.view">
+ <field name="name">res.partner.segment4.tree</field>
+ <field name="model">res.partner.segment4</field>
+ <field name="arch" type="xml">
+ <tree string="Segmentations 4" editable="top">
+ <field name="name"/>
+ <field name="ur_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_view_res_partner_segment4_tree" model="ir.actions.act_window">
+ <field name="name">Segmentations 4</field>
+ <field name="res_model">res.partner.segment4</field>
+ <field name="view_mode">tree</field>
+ <field name="help">Affiche et gère la liste des Ségmentations 4.</field>
+ </record>
<!-- Union Régionales -->
<record model="ir.ui.view" id="union_regionale_tree_view">
@@ -238,12 +292,33 @@
action="base.res_partner_industry_action" parent="contacts.res_partner_menu_config"
sequence="4" groups="base.group_no_one"/>
- <menuitem id="menu_res_partner_segment"
+ <menuitem id="menu_res_partner_segment1"
parent="contacts.res_partner_menu_config"
- action="action_view_res_partner_segment_tree"
- sequence="10"/>
+ action="action_view_res_partner_segment1_tree"
+ sequence="11"/>
+ <menuitem id="menu_res_partner_segment2"
+ parent="contacts.res_partner_menu_config"
+ action="action_view_res_partner_segment2_tree"
+ sequence="12"/>
+ <menuitem id="menu_res_partner_segment3"
+ parent="contacts.res_partner_menu_config"
+ action="action_view_res_partner_segment3_tree"
+ sequence="13"/>
+ <menuitem id="menu_res_partner_segment4"
+ parent="contacts.res_partner_menu_config"
+ action="action_view_res_partner_segment4_tree"
+ sequence="14"/>
- <record model="ir.ui.menu" id="menu_res_partner_segment">
+ <record model="ir.ui.menu" id="menu_res_partner_segment1">
+ <field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
+ </record>
+ <record model="ir.ui.menu" id="menu_res_partner_segment2">
+ <field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
+ </record>
+ <record model="ir.ui.menu" id="menu_res_partner_segment3">
+ <field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
+ </record>
+ <record model="ir.ui.menu" id="menu_res_partner_segment4">
<field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
</record>