diff --git a/models/res_partner.py b/models/res_partner.py index 42d4e438c5726025280431f917ffffc21fb66985..4e44fce6366386be21e59c247a813014d9e216a4 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -360,6 +360,14 @@ class ScopPartner(models.Model): string="Licéité du contact", compute="_compute_contact_legality", store=True) + associate = fields.Selection( + selection=[('asso',"Associé extérieur"), + ('coop',"Associé coopérateur"), + ('none',"Non associé")], + string="Associé") + employee = fields.Boolean( + string="Salarié", + default=True) # Champs pour partenaires organization_type_id = fields.Many2one( diff --git a/views/res_partner.xml b/views/res_partner.xml index a4bde090cd8b44f2a5e79486ddade5d0789ad75a..8340b9c2abdfcce801a56106547bda5c4f66153b 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -82,6 +82,7 @@ </xpath> <!-- Affiche les champs de la vue partenaire --> + <field name="parent_id" position="before"> <label for="parent_id" string="Société" attrs="{'invisible': ['|', '&', ('is_company','=', True),('parent_id', '=', False),('company_name', '!=', False),('company_name', '!=', '')]}"/> </field> @@ -97,7 +98,7 @@ <attribute name="readonly">True</attribute> <attribute name="class"></attribute> </field> - <field name="title" position="replace"/> + <field name="title" position="replace"/> <xpath expr="//field[@name='type']" position="attributes"> <attribute name="groups">base.group_no_one,cgscop_partner.group_cg_administrator</attribute> <attribute name="readonly">True</attribute> @@ -125,7 +126,7 @@ <attribute name="invisible">1</attribute> </field> <xpath expr='//form/sheet/group/group[2]' position="replace"> - <group name="contact_segment_info" attrs="{'invisible': ['|', ('is_company','=', False), ('type','!=', 'contact')]}"> + <group name="partner_segment_info" attrs="{'invisible': ['|', ('is_company','=', False), ('type','!=', 'contact')]}"> <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" attrs="{'invisible': [('is_company','=', False)]}"/> <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> @@ -134,17 +135,21 @@ <field name="organization_subtype_id" attrs="{'invisible': [('is_company','=', False)]}" domain="[('child_ids', '=', False)]" options="{'no_create': True, 'no_open': True}"/> <field name="organization_type_id" readonly="1" attrs="{'invisible': [('is_company','=', False)]}" options="{'no_create': True, 'no_open': True}"/> </group> - <group name="partner_segment_info" attrs="{'invisible': ['|', ('is_company','=', True), ('type','!=', 'contact')]}"> + <group name="contact_segment_info" attrs="{'invisible': ['|', ('is_company','=', True), ('type','!=', 'contact')]}"> <field name="title" options='{"no_create": True, "no_open": True}' attrs="{'invisible': [('is_company','=', True)]}"/> <field name="mandate_id" options='{"no_create": True, "no_open": True}' attrs="{'invisible': [('is_company','=', True)]}"/> <field name="function"/> + <field name="employee" widget="boolean_toggle" attrs="{'invisible': [('is_company','=', True)]}"/> + <field name="associate" attrs="{'invisible': [('is_company','=', True)]}"/> <field name="birthyear" attrs="{'invisible': [('is_company','=', True)]}"/> <field name="contact_origin_id" attrs="{'invisible': [('is_company','=', True)]}" options="{'no_create': True, 'no_open': 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': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> + --> </group> </xpath> <xpath expr='//form/sheet/group' position="after"> @@ -166,9 +171,11 @@ <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_open": True, "no_create": True}' attrs="{'invisible': [('type','!=', 'contact')]}"/> <field name="ur_id" invisible="1" options='{"no_open": True, "no_create": True}'/> </xpath> + <xpath expr="//field[@name='child_ids']//form//field[@name='function']" position="attributes"> + <attribute name="invisible">True</attribute> + </xpath> <xpath expr="//field[@name='child_ids']//form//field[@name='street']" position="attributes"> <attribute name="placeholder">Rue</attribute> </xpath> @@ -190,18 +197,29 @@ <xpath expr="//field[@name='child_ids']//form//field[@name='state_id']" position="attributes"> <attribute name="placeholder">Région</attribute> </xpath> + + <xpath expr="//field[@name='child_ids']//form//field[@name='mobile']" position="after"> + <field name="category_id" options='{"no_open": True, "no_create": True}' widget="many2many_tags" attrs="{'invisible': [('is_company','=', True)]}"/> + </xpath> + <xpath expr="//field[@name='child_ids']//form//field[@name='title']" position="attributes"> <attribute name="options">{'no_open': True, 'no_create': True}</attribute> </xpath> <xpath expr="//field[@name='child_ids']/form//group/group[2]" position="after"> <group attrs="{'invisible': [('type', '!=', 'contact')]}"> + <field name="mandate_id" options='{"no_open": True, "no_create": True}' attrs="{'invisible': [('type','!=', 'contact')]}"/> + <field name="function"/> + <field name="employee" widget="boolean_toggle" /> + <field name="associate" /> <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': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> + --> </group> </xpath> <xpath expr="//field[@name='child_ids']/form//group" position="after"> @@ -221,7 +239,7 @@ <field name="phone" widget="phone"/> <field name="mobile" widget="phone" attrs="{'invisible': [('is_company','=', True)]}"/> <field name="email" widget="email" on_change="1"/> - <field name="website"/> + <field name="website" attrs="{'invisible': [('is_company','=', False)]}"/> <field name="ur_id" options='{"no_open": True, "no_create": True}' on_change="1" can_create="false" can_write="false"/> <field name="category_id" options='{"no_open": True, "no_create": True}' widget="many2many_tags" attrs="{'invisible': [('is_company','=', True)]}"/> <field name="lang" invisible="1"/> @@ -391,7 +409,7 @@ </group> <notebook colspan="4"> <page name="scop_contacts" string="Contacts & Addresses"> - <label for="director_ids" string="Dirigeants"/> + <label for="director_ids" string="Dirigeants et mandataires"/> <field name="director_ids" 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_zip_id': zip_id, 'default_city_id': city_id, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_ur_id': ur_id, 'default_type': 'contact', }"> <kanban> @@ -470,8 +488,6 @@ <field name="title" placeholder="Madame" options='{"no_open": True, "no_create": True}'/> <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}" required="1"/> - <field name="function" placeholder="Responsable des ventes"/> <field name="email"/> <field name="phone" widget="phone"/> <field name="mobile" widget="phone"/> @@ -479,13 +495,19 @@ <field name="comment" placeholder="Commentaires..."/> </group> <group> + <field name="mandate_id" options="{'no_open': True, 'no_create': True}" required="1"/> + <field name="function" /> + <field name="employee" widget="boolean_toggle" /> + <field name="associate" /> <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': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> + --> </group> </group> <field name="subscription_ids"> @@ -574,7 +596,7 @@ </t> </templates> </kanban> - <form string="Contact / Address"> + <form string="Contacts / Adresses"> <sheet> <!-- parent_id and type fields needed in attrs in base_address_city module which overwrites _fields_view_get() of partner. It would be better to put those fields there but the web client @@ -612,9 +634,6 @@ <field name="name" string="Nom" attrs="{'required' : [('type', '!=', 'contact')], 'invisible' : [('type', '=', 'contact')]}"/> <field name="firstname" string="Prénom" attrs="{'required' : [('type', '=', 'contact')], 'invisible' : [('type', '!=', 'contact')]}"/> <field name="lastname" string="Nom de famille" attrs="{'required' : [('type', '=', 'contact')], 'invisible' : [('type', '!=', 'contact')]}"/> - <field name="mandate_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('type','!=', 'contact')]}"/> - <field name="function" placeholder="e.g. Directeur des Ventes" - attrs="{'invisible': [('type','!=', 'contact')]}"/> <field name="email"/> <field name="phone" widget="phone"/> <field name="mobile" widget="phone"/> @@ -622,13 +641,20 @@ <field name="comment" placeholder="internal note..."/> </group> <group attrs="{'invisible': [('type', '!=', 'contact')]}"> + <field name="mandate_id" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('type','!=', 'contact')]}"/> + <field name="function" + attrs="{'invisible': [('type','!=', 'contact')]}"/> + <field name="employee" widget="boolean_toggle" /> + <field name="associate" /> <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': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> + --> </group> </group> <field name="subscription_ids" attrs="{'invisible': [('type', '!=', 'contact')]}">