diff --git a/models/res_partner.py b/models/res_partner.py index 387b3819dfd0c72420fe25e5852dc6a7906e6a87..986c9ab3ce0c4487d8abeee951914b86c1aae3b5 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -258,7 +258,7 @@ class ScopPartner(models.Model): revision_person_id = fields.Many2one( 'res.users', string='Réviseur', - on_delete='restrict', + on_delete='restrict', track_visibility='onchange') revision_certified_person_id = fields.Many2one( 'res.users', @@ -395,7 +395,7 @@ class ScopPartner(models.Model): @api.constrains('siret') def _check_siret(self): if self.siret and not self.env.context.get('import_file'): - siren = (self.siret[:3] + " " + + siren = (self.siret[:3] + " " + self.siret[3:6] + " " + self.siret[6:9]) if not self.siret.isdigit(): @@ -441,7 +441,7 @@ class ScopPartner(models.Model): # ------------------------------------------------------ # Onchange # ------------------------------------------------------ - + # Hack pour la création de contacts depuis la fiche organisme @api.onchange('parent_id_onchange') def _onchange_parent_id_onchange(self): @@ -497,7 +497,7 @@ class ScopPartner(models.Model): @api.onchange('siret') def onchange_siret(self): if self.siret: - siren = (self.siret[:3] + " " + + siren = (self.siret[:3] + " " + self.siret[3:6] + " " + self.siret[6:9]) if self.search_count([('siret', '=like', self.siret)]) > 0: @@ -579,7 +579,7 @@ class ScopPartner(models.Model): # Création d'une période lors de la création d'une coopérative @api.model_create_multi def create(self, vals_list): - for vals in vals_list: + for vals in vals_list: if vals.get('name'): vals['name'] = vals.get('name').title() if vals.get('lastname'): @@ -814,6 +814,16 @@ class ScopPartner(models.Model): }, } + def edit_director(self): + return { + 'type': 'ir.actions.act_window', + 'views': [[self.env.ref('cgscop_partner.scop_partner_director_form_view').id, "form"]], + 'view_mode': 'form', + 'res_model': 'res.partner', + 'res_id': self.id, + 'target': 'new', + } + def add_contact(self): return { 'type': 'ir.actions.act_window', @@ -840,6 +850,15 @@ class ScopPartner(models.Model): }, } + def edit_contact(self): + return { + 'type': 'ir.actions.act_window', + 'views': [[self.env.ref('cgscop_partner.scop_partner_contact_form_view').id, "form"]], + 'view_mode': 'form', + 'res_model': 'res.partner', + 'res_id': self.id, + 'target': 'new', + } class ResPartneCertification(models.Model): _name = "res.partner.certification" diff --git a/views/res_partner.xml b/views/res_partner.xml index 535a1469991443ecf9eb42bb6e5107fc5600ff6b..a1f73928e2c8ec6f49293a9fb2592387a2aec61b 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -6,9 +6,9 @@ <data> <!-- ****************************** *** Inherited Views - ****************************** --> + ****************************** --> <!-- - Inherited Partner View Search + Inherited Partner View Search --> <record id="scop_contact_view_search" model="ir.ui.view"> <field name="name">res.partner.scop.view.search</field> @@ -53,7 +53,7 @@ </record> <!-- - Inherited Partner View Form + Inherited Partner View Form --> <record id="scop_contact_view_form" model="ir.ui.view"> <field name="name">res.partner.scop.view.form</field> @@ -63,7 +63,7 @@ <!-- Vue Partenaire et contact --> - + <!-- Masque les champs affichés pour une coopérative --> <xpath expr="//form/sheet/group" position="attributes"> <attribute name="attrs">{'invisible': [('is_cooperative','=', True)]}</attribute> @@ -224,7 +224,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" attrs="{'invisible': [('is_company','=', False)]}"/> + <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), ('type', '!=', 'contact')]}"/> <field name="lang" invisible="1"/> @@ -236,7 +236,7 @@ <!-- Vue Organismes --> - + <!-- Affiche le header organisme --> <xpath expr='//form/sheet' position="before"> <header attrs="{'invisible': [('is_cooperative', '=', False)]}"> @@ -317,7 +317,7 @@ <field name="city" placeholder="Ville..." class="o_address_city" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/> <field name="city_id" invisible="1"/> - <field name="cedex" placeholder="Cedex" class="o_address_city" + <field name="cedex" placeholder="Cedex" class="o_address_city" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/> <field name="state_id" class="o_address_zip" placeholder="Région" options='{"no_open": True, "no_create": True}' context="{'country_id': country_id, 'zip': zip}" @@ -394,6 +394,7 @@ </group> <notebook colspan="4"> <page name="scop_contacts" string="Contacts & Addresses"> + <!-- Directeurs et mandataires --> <label for="director_ids" string="Dirigeants et mandataires"/> <p> <button name="add_director" type="object" class="btn-info" string="Ajouter un dirigeant"></button> @@ -435,6 +436,7 @@ <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'"> <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/> + <a name="edit_director" type="object" class="fa fa-2x fa-edit text-info pull-right"/> <div class="o_kanban_image"> <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/> <t t-if="!record.image_small.raw_value"> @@ -455,6 +457,7 @@ </templates> </kanban> </field> + <!-- Autres contacts --> <label for="other_child_ids" string="Autres Contacts / Adresses"/> <p> <button name="add_contact" type="object" class="btn-info" string="Ajouter un contact"></button> @@ -495,6 +498,7 @@ <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'"> + <a name="edit_contact" type="object" class="fa fa-2x fa-edit text-info pull-right"/> <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/> <div class="o_kanban_image"> <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/> @@ -868,7 +872,7 @@ </field> </record> - + <record id="view_partner_form_firstname_scop" model="ir.ui.view"> <field name="name">Add firstname and surnames for CGScop</field> <field name="model">res.partner</field> @@ -886,7 +890,7 @@ </xpath> </field> </record> - + <!-- Action Personnes