diff --git a/models/res_partner.py b/models/res_partner.py index 9cac81a6b0c3b18fac83fbe705fb9c79f140c49e..1221e806e8d8d75436e7285ef0f10a9be02f6d89 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -31,7 +31,7 @@ class ScopPartner(models.Model): project_status = fields.Selection( [('1_information', "Phase d'information"), ('2_pre-diagnostic', 'Phase de pré-diagnostic'), - ('3_accompagnement', "Phase d'accompagnement"), + ('3_accompagnement', "Phase d'accompagnement projet"), ('4_adhesion', "Phase d'adhésion"), ('5_cg', 'Soumis CGScop'), ('6_suivi', 'Phase de suivi'), @@ -75,13 +75,17 @@ class ScopPartner(models.Model): street2 = fields.Char("Rue 2", track_visibility='onchange') street3 = fields.Char("Rue 3", track_visibility='onchange') zip = fields.Char("CP", change_default=True, track_visibility='onchange') + zip_departement = fields.Char( + "Num Département", + compute='_compute_num_departement', + store=True) city = fields.Char("Ville", track_visibility='onchange') cedex = fields.Char("Cedex", track_visibility='onchange') country_id = fields.Many2one('res.country', string='Country', ondelete='restrict', default=_default_country, track_visibility='onchange') - phone = fields.Char("Téléphone 1", track_visibility='onchange') + phone = fields.Char("Téléphone 1", size=10, track_visibility='onchange') mobile = fields.Char("Téléphone 2", track_visibility='onchange') email = fields.Char("eMail administratif", track_visibility='onchange') facebook = fields.Char("Facebook") @@ -153,7 +157,7 @@ class ScopPartner(models.Model): track_visibility='onchange') formatted_siret = fields.Char(string='SIRET formaté', compute='_compute_from_siret') - siren = fields.Char(string='SIREN', size=9, compute='_compute_from_siret') + siren = fields.Char(string='SIREN', size=11, compute='_compute_from_siret') capital = fields.Integer("Capital (en €)") first_closeout = fields.Date( '1er bilan en coop') @@ -259,14 +263,13 @@ class ScopPartner(models.Model): 'Expert-comptable / Commissaire au compte')], on_delete='restrict') revision_person_id = fields.Many2one( - 'res.partner', + 'res.users', string='Réviseur', - domain=[('active', '=', True), ('is_company', '=', False)], - on_delete='restrict', track_visibility='onchange') + on_delete='restrict', + track_visibility='onchange') revision_certified_person_id = fields.Many2one( - 'res.partner', + 'res.users', string='Réviseur agréé', - domain=[('active', '=', True), ('is_company', '=', False)], on_delete='restrict') revision_person_assign_date = fields.Date("Date de nomination du réviseur", track_visibility='onchange') @@ -350,13 +353,13 @@ class ScopPartner(models.Model): # Champs pour partenaires organization_type_id = fields.Many2one( 'res.partner.organization.type', - string="Type", + string="Catégorie Type", domain=[('parent_id', '=', False)], on_delete='restrict', track_visibility='onchange') organization_subtype_id = fields.Many2one( 'res.partner.organization.type', - string="Sous-Type", + string="Type", domain=[('child_ids', '=', False)], on_delete='restrict', track_visibility='onchange') @@ -406,25 +409,14 @@ class ScopPartner(models.Model): for partner in self: partner.organization_subtype_id = False - @api.onchange('is_accountant', 'is_auditor') - def onchange_is_accountant(self): + @api.onchange('organization_subtype_id') + def onchange_organization_subtype_id(self): for partner in self: - if partner.is_accountant and partner.is_auditor: - orga_sub = self.env['res.partner.organization.type'].search([ - ('name', '=', 'Organisme réviseur, ' + - 'Expert-comptable / Commissaire au compte')]) - partner.organization_subtype_id = orga_sub.id - elif partner.is_accountant: - orga_sub = self.env['res.partner.organization.type'].search([ - ('name', '=', 'Expert-Comptable')]) - partner.organization_subtype_id = orga_sub.id - elif partner.is_auditor: - orga_sub = self.env['res.partner.organization.type'].search([ - ('name', '=', 'Commissaire au compte')]) - partner.organization_subtype_id = orga_sub.id + if partner.organization_subtype_id: + partner.organization_type_id = partner.organization_subtype_id.parent_id else: - partner.organization_subtype_id = False - + partner.organization_type_id = False + @api.onchange('name') def onchange_name(self): if self.search_count([('name', '=ilike', self.name)]) > 0: @@ -438,7 +430,15 @@ 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[:9] + siren = (self.siret[:3] + " " + + self.siret[3:6] + " " + + self.siret[6:9]) + if not self.siret.isdigit(): + raise ValidationError( + "Ce SIRET n'est pas valide") + if len(self.siret) != 14: + raise ValidationError( + "La longueur du SIRET doit être égale à 14") if (self.search_count([('siret', '=like', siren+"%"), ('is_cooperative', "=", True)]) > 1): raise ValidationError( @@ -449,7 +449,9 @@ class ScopPartner(models.Model): @api.onchange('siret') def onchange_siret(self): if self.siret: - siren = self.siret[:9] + siren = (self.siret[:3] + " " + + self.siret[3:6] + " " + + self.siret[6:9]) if self.search_count([('siret', '=like', self.siret)]) > 0: return { 'warning': { @@ -550,12 +552,20 @@ class ScopPartner(models.Model): def _compute_from_siret(self): for company in self: if company.siret: - company.siren = company.siret[:9] + company.siren = (company.siret[:3] + " " + + company.siret[3:6] + " " + + company.siret[6:9]) company.formatted_siret = (company.siret[:3] + " " + company.siret[3:6] + " " + company.siret[6:9] + " " + company.siret[9:]) + @api.depends('zip') + def _compute_num_departement(self): + for company in self: + if company.zip: + company.zip_departement = company.zip[:2] + @api.model def _compute_current_user_ur_id(self): for partner in self: @@ -572,6 +582,10 @@ class ScopPartner(models.Model): return True + @api.multi + def partner_archive(self): + self.active = False + # TODO - remove temporary function once RIGA API in place @api.multi def scop_valid_cg(self): diff --git a/models/scop_liasse_fiscale.py b/models/scop_liasse_fiscale.py index d70f5eb3c136933c08f183d365165340100b7c5a..a29c9b5dca4041d90ec4d9f7c15e38637c00fbff 100644 --- a/models/scop_liasse_fiscale.py +++ b/models/scop_liasse_fiscale.py @@ -14,7 +14,7 @@ class ScopLiasseFiscale(models.Model): string='Organisme', domain=[('is_company', '=', True)], ondelete='restrict', index=True) - year = fields.Integer("Année", index=True) + year = fields.Char("Année", index=True) type_id = fields.Many2one( 'scop.liasse.fiscale.type', string="Type de Liasse Fiscale", diff --git a/models/scop_questionnaire.py b/models/scop_questionnaire.py index 20bd66260100a5869260f9e8ae45de02d7269170..b723a0624eba567a0800bd8aef6dfadfc9792dd2 100644 --- a/models/scop_questionnaire.py +++ b/models/scop_questionnaire.py @@ -15,24 +15,16 @@ class ScopQuestionnaire(models.Model): domain=[('is_company', '=', True)], ondelete='restrict', index=True) id_riga = fields.Integer("ID RIGA") - year = fields.Integer("Année", index=True) + year = fields.Char("Année", index=True) type_id = fields.Many2one( 'scop.questionnaire.type', string="Type de questionnaire", ondelete='restrict', index=True) - effective_date = fields.Date("Date d'effet du questionnaire", - compute="_compute_effective_date", - store=True) + effective_date = fields.Date("Date d'effet du questionnaire") staff_count = fields.Integer("Effectif (EF)") staff_shareholder_count = fields.Integer("Eff. Sociétaires (ES)") staff_average = fields.Integer("Eff. Moyen (EM)") - @api.model - def _compute_effective_date(self): - for quest in self: - current_year = quest.year or date.today().year - quest.effective_date = date(current_year - 1, 12, 31) - class ScopQuestionnaireType(models.Model): _name = "scop.questionnaire.type" diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index fdddff5d78a87566cec56cd4a0d3b83b8b4d3533..1db2e9a94764f49fb643e2867567158916c0a70c 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -16,7 +16,7 @@ access_res_partner_segment1,access_res_partner_segment1,model_res_partner_segmen 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 -access_revision_group_user,access_revision_group_user,model_scop_revision,base.group_user,1,0,0,0 +access_revision_group_user,access_revision_group_user,model_scop_revision,base.group_user,1,1,1,0 access_scop_contribution_type,access_scop_contribution_type,model_scop_contribution_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_scop_liasse_fiscale_type,access_scop_liasse_fiscale_type,model_scop_liasse_fiscale_type,base.group_user,1,0,0,0 diff --git a/static/src/css/style.css b/static/src/css/style.css index fe11d02fdb4b227269ae7771872683a3f0969c91..a2b917bec742dd061a91ba667b07495947746567 100644 --- a/static/src/css/style.css +++ b/static/src/css/style.css @@ -6,12 +6,16 @@ width: 600px; } +.oe_bloc_cgscop .o_field_widget.o_field_many2one{ + width: 278px !important; +} + .btn.btn-cgscop{ padding: 0px; } .o_field_header{ - margin-right: 20px !important; + margin-right: 10px !important; } .o_form_view .o_group.o_inner_group > tbody > tr > td.o_td_label{ diff --git a/views/res_partner.xml b/views/res_partner.xml index 138a9ee128801c37e2dcb44b91e0e62b1bf3b0db..ea869cbc114961faa03f65272c64730414149a83 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -72,8 +72,8 @@ <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}"/> + <field name="organization_subtype_id" attrs="{'invisible': [('is_company','=', False)]}" domain="[('child_ids', '=', False)]" options="{'no_create': True}"/> + <field name="organization_type_id" readonly="1" attrs="{'invisible': [('is_company','=', False)]}" options="{'no_create': True}"/> </group> <group attrs="{'invisible': [('is_company','=', True)]}"> <field name="title" options='{"no_open": True}' attrs="{'invisible': [('is_company','=', True)]}"/> diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index f60dcb8dc792847edf0b81ffa45a43b1efe18870..072e00b9f153f57738eddcd7a298784940d8d8d4 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -13,8 +13,14 @@ <field name="phone" filter_domain="['|',('phone','ilike',self),('mobile','=',self)]"/> <field name="segment_1_id" string="Segmentation" filter_domain="['|', '|', '|', ('segment_1_id','ilike', self), ('segment_2_id','ilike', self), ('segment_3_id','ilike', self), ('segment_4_id','ilike', self)]"/> <field name="followup_delegate_id" string="Délégué" filter_domain="['|', ('followup_delegate_id', 'ilike', self), ('creation_delegate_id', 'ilike', self)]"/> + <field name="member_number" filter_domain="['|',('member_number','ilike',self)]"/> + <field name="siret" filter_domain="['|',('siret','ilike',self)]"/> + <field name="sigle" filter_domain="['|',('sigle','ilike',self)]"/> <filter string="Mes organismes" name="my_partners" domain="['|', ('creation_delegate_id','=',uid), ('followup_delegate_id','=',uid)]"/> <filter string="Mon UR" name="my_ur" domain="[('current_user_ur_id', '=', 'ur_id')]"/> + <filter string="Mes Projets" name="my_projects" domain="[('creation_delegate_id', '=', uid)]"/> + <filter string="Mes Scop suivis" name="my_scop_followed" domain="[('followup_delegate_id', '=', uid)]"/> + <filter string="Mes Scop Révisées" name="my_scop_revise" domain="[('revision_person_id', '=', uid)]"/> <separator/> <filter string="Adérents" name="is_adherent" domain="[('membership_status', '=', 'member')]"/> <separator/> @@ -31,6 +37,8 @@ <filter name="cooperative_form_id" string="Forme Coopérative" domain="[]" context="{'group_by' : 'cooperative_form_id'}"/> <filter name="naf_id" string="Code NAF" domain="[]" context="{'group_by' : 'naf_id'}"/> <filter name="group_company" string="Structure" context="{'group_by': 'parent_id'}"/> + <filter name="group_city" string="Ville" context="{'group_by': 'city'}"/> + <filter name="group_departement" string="Département" context="{'group_by': 'zip_departement'}"/> <filter name="group_country" string="Pays" context="{'group_by': 'country_id'}"/> </group> </search> @@ -41,7 +49,7 @@ <field name="name">prospect.tree</field> <field name="model">res.partner</field> <field name="arch" type="xml"> - <tree string="Prospects"> + <tree string="Prospects" import="false"> <field name="display_name" string="Raison Sociale"/> <field name="cooperative_form_id"/> <field name="project_status"/> @@ -57,7 +65,7 @@ <field name="name">cooperative.tree</field> <field name="model">res.partner</field> <field name="arch" type="xml"> - <tree string="Cooperatives"> + <tree string="Cooperatives" import="false"> <field name="display_name" string="Raison Sociale"/> <field name="cooperative_form_id"/> <field name="naf_id"/> @@ -73,7 +81,7 @@ <field name="name">organisme.tree</field> <field name="model">res.partner</field> <field name="arch" type="xml"> - <tree string="Organismes"> + <tree string="Organismes" import="false"> <field name="display_name" string="Raison Sociale"/> <field name="cooperative_form_id"/> <field name="naf_id"/> @@ -197,6 +205,7 @@ placeholder="CP / Ville autocomplétion..." class="oe_edit_only" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/> <field name="zip" placeholder="CP..." 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')]}"/> + <field name="zip_departement" invisible="1"/> <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"/> @@ -208,15 +217,15 @@ <field name="country_id" placeholder="Pays" class="o_address_country" options='{"no_open": True, "no_create": True}' attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/> </div> - <field name="phone" widget="phone" string="Téléphone 1"/> + <field name="phone" widget="phone" string="Téléphone 1" attrs="{'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/> <field name="mobile" widget="phone" string="Téléphone 2" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="email" widget="email" string="E-mail"/> <field name="website" widget="url" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <label for='facebook' class="oe_read_only" string="Réseaux sociaux" attrs="{'invisible':[('facebook','=',False),('linkedin','=',False),('twitter','=',False)]}"/> <div > - <button string="" class="btn-cgscop oe_read_only" name="open_facebook" type="object" icon="fa-facebook" attrs="{'invisible':[('facebook','=',False), ('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> - <button string="" class="btn-cgscop oe_read_only" name="open_linkedin" type="object" icon="fa-linkedin" attrs="{'invisible':[('linkedin','=',False), ('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> - <button string="" class="btn-cgscop oe_read_only" name="open_twitter" type="object" icon="fa-twitter" attrs="{'invisible':[('twitter','=',False), ('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> + <button string="" class="btn-cgscop oe_read_only" name="open_facebook" type="object" icon="fa-facebook" attrs="{'invisible':['|', ('facebook','=',False), ('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> + <button string="" class="btn-cgscop oe_read_only" name="open_linkedin" type="object" icon="fa-linkedin" attrs="{'invisible':['|', ('linkedin','=',False), ('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> + <button string="" class="btn-cgscop oe_read_only" name="open_twitter" type="object" icon="fa-twitter" attrs="{'invisible':['|', ('twitter','=',False), ('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> </div> <label for='facebook' string="Facebook" class="oe_edit_only" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> <div > @@ -234,7 +243,7 @@ <group string="Suivi UR"> <field name="ur_id" required="True" options="{'no_open': True, 'no_create': True}"/> <field name="creation_delegate_id" widget="res_partner_many2one" - attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_cg'))], 'invisible':[('project_status', 'in', ('1_information', '6_suivi'))]}" options="{'no_open': True, 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> + attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_cg'))], 'invisible':[('project_status', 'in', '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)]" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}"/> @@ -261,7 +270,7 @@ <field name="capital" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" widget="monetary"/> <field name="first_closeout" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> - <field name="is_seed_scop"/> + <field name="is_seed_scop" attrs="{'invisible': [('project_status', '=', '1_information')]}"/> <field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi')),('is_seed_scop', '=', True)]}"/> <field name="is_incubated" attrs="{'invisible': [('project_status', '=', '1_information')]}"/> <field name="incubator_id" widget="res_partner_many2one" attrs="{'invisible': [('is_incubated', '!=', True)]}" options="{'no_create': True}"/> @@ -271,7 +280,7 @@ <page name="contacts" string="Contacts & Addresses"> <label for="director_ids" string="Dirigeants"/> <field name="director_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_zip_id': zip_id, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_user_id': user_id, 'default_type': 'contact', 'default_ur_id': ur_id}"> + 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_type': 'contact', 'default_ur_id': ur_id}"> <kanban> <field name="id"/> <field name="color"/> @@ -290,6 +299,7 @@ <field name="zip_id"/> <field name="zip"/> <field name="city"/> + <field name="city_id"/> <field name="cedex"/> <field name="country_id"/> <field name="mobile"/> @@ -305,6 +315,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 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)"/> <t t-if="!record.image_small.raw_value"> @@ -374,9 +385,9 @@ </sheet> </form> </field> - <label for="other_child_ids" string="Autres Contacts"/> + <label for="other_child_ids" string="Autres Contacts / Adresses"/> <field name="other_child_ids" mode="kanban" - 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}"> + context="{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_street3': street3, 'default_city': city, 'default_city_id': city_id, '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}"> <kanban> <field name="id"/> <field name="color"/> @@ -393,7 +404,9 @@ <field name="street2"/> <field name="street3"/> <field name="zip"/> + <field name="zip_id"/> <field name="city"/> + <field name="city_id"/> <field name="cedex"/> <field name="country_id"/> <field name="mobile"/> @@ -409,6 +422,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 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)"/> <t t-if="!record.image_small.raw_value"> @@ -528,8 +542,8 @@ <field name="revision_contract"/> <field name="revision_company_id" widget="res_partner_many2one" options="{'no_create': True}"/> <field name="revision_backup_company_id" widget="res_partner_many2one" options="{'no_create': True}"/> - <field name="revision_person_id" widget="res_partner_many2one" domain="[('is_company', '=', False), ('parent_id', 'in', (revision_company_id, revision_backup_company_id))]" options="{'no_open': True, 'no_create': True}"/> - <field name="revision_certified_person_id" widget="res_partner_many2one" domain="[('is_company', '=', False), ('parent_id', 'in', (revision_company_id, revision_backup_company_id))]" options="{'no_open': True, 'no_create': True}"/> + <field name="revision_person_id" widget="res_partner_many2one" options="{'no_open': True, 'no_create': True}"/> + <field name="revision_certified_person_id" widget="res_partner_many2one" options="{'no_open': True, 'no_create': True}"/> <field name="revision_person_assign_date"/> </group> <group> @@ -540,7 +554,7 @@ <field name="revision_ids" widget="one2many"> <tree string="Révisions" editable="top"> <field name="date"/> - <field name="delegate_id" options="{'no_create': True}"/> + <field name="delegate_id" options="{'no_create': True}" /> <field name="revision_result_year"/> <field name="revision_staff"/> <field name="revision_format_id" options="{'no_open': True, 'no_create': True}"/>