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>