diff --git a/datas/res.partner.rgpd.origin.csv b/datas/res.partner.rgpd.origin.csv index 3672c1d676bf31495006b5657a48364ba74fb1b6..a9167947d6e420947c599cfd9bdef734d1d8d43c 100644 --- a/datas/res.partner.rgpd.origin.csv +++ b/datas/res.partner.rgpd.origin.csv @@ -1,5 +1,5 @@ id,name -rgpd_origin_1,Fiche contact, site internet +rgpd_origin_1,"Fiche contact, site internet" rgpd_origin_2,Prospect journée d'info coll rgpd_origin_3,"Prospect (salon, rdv, internet…)" rgpd_origin_4,Dossiers d'adhésion diff --git a/models/res_partner.py b/models/res_partner.py index 563ae9d2b9f33a0d034825eb7763b136abd166d8..4bd61bd2e9c50799c5a15af95b88b418569d115d 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -34,8 +34,9 @@ class ScopPartner(models.Model): ('2_pre-diagnostic', 'Phase de pré-diagnostic'), ('3_accompagnement', "Phase d'accompagnement"), ('4_adhesion', "Phase d'adhésion"), - ('5_suivi', 'Phase de suivi'), - ('6_abandonne', 'Projet abandonné')], + ('5_cg', 'Soumis CGScop'), + ('6_suivi', 'Phase de suivi'), + ('7_abandonne', 'Projet abandonné')], track_visibility='onchange', string='Statut projet', index=True) @@ -209,7 +210,8 @@ class ScopPartner(models.Model): on_delete='restrict') # Contacts / Adresses - is_main_location = fields.Boolean("Est l'établissement principal", index=True) + is_main_location = fields.Boolean("Est l'établissement principal", + track_visibility='onchange') # Périodes juridiques scop_period_ids = fields.One2many( @@ -439,7 +441,7 @@ class ScopPartner(models.Model): @api.multi def write(self, vals): result = super(ScopPartner, self).write(vals) - if vals.get('project_status') == '5_suivi': + if vals.get('project_status') == '6_suivi': for partner in self: self._create_period(partner) return result @@ -449,7 +451,7 @@ class ScopPartner(models.Model): def create(self, vals_list): partners = super(ScopPartner, self).create(vals_list) for vals in vals_list: - if vals.get('project_status') == '5_suivi': + if vals.get('project_status') == '6_suivi': for partner in partners: self._create_period(partner) return partners @@ -478,6 +480,17 @@ class ScopPartner(models.Model): return [('ur_id', '=', self.env.user.company_id.ur_id.id)] + @api.multi + def scop_send_to_cg(self): + # TODO - add call to API function + + self.write({ + 'project_status': '5_cg', + }) + + return True + + class ScopPartnerCategory(models.Model): _inherit = "res.partner.category" diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index 9cce444bc270abc4312045a2806b2b49d5b2c4de..287e8433fbb3c82475d41e3253c6770045344572 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -19,7 +19,6 @@ </field> </record> - <record id="view_partner_cooperative_tree" model="ir.ui.view"> <field name="name">cooperative.tree</field> <field name="model">res.partner</field> @@ -40,6 +39,8 @@ </field> </record> + + <!-- KANBAN --> <record id="view_partner_cooperative_kanban" model="ir.ui.view"> <field name="name">cooperative.kanban</field> @@ -71,11 +72,12 @@ <field name="model">res.partner</field> <field name="priority" eval="1"/> <field name="arch" type="xml"> - <form string="Cooperatives"> + <form string="Cooperatives" attrs="{'readonly': [('project_status', '=', '5_cg')]}"> <header> - <button string="Nouvelle période" type="action" name="%(cgscop_partner.scop_period_wizard_create_action)d" class="oe_highlight" attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '5_suivi')]}"/> - <button string="Décés/Mise en sommeil" type="action" name="%(cgscop_partner.scop_deces_wizard_create_action)d" class="oe_highlight" attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '5_suivi')]}"/> - <field name="project_status" widget="statusbar" clickable="True" statusbar_visible="1_information,2_pre-diagnostic,3_accompagnement,4_adhesion,5_suivi"/> + <button string="Nouvelle période" type="action" name="%(cgscop_partner.scop_period_wizard_create_action)d" class="oe_highlight" attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '6_suivi')]}"/> + <button string="Décés/Mise en sommeil" type="action" name="%(cgscop_partner.scop_deces_wizard_create_action)d" attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '6_suivi')]}"/> + <button string="Envoyer Dossier CG" type="object" name="scop_send_to_cg" class="btn-primary" attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '4_adhesion')]}"/> + <field name="project_status" widget="statusbar" clickable="True" statusbar_visible="1_information,2_pre-diagnostic,3_accompagnement,4_adhesion"/> </header> <sheet> <div class="oe_button_box" name="button_box"> @@ -95,16 +97,16 @@ <field name="write_date" invisible="1"/> <field name="type" attrs="{'invisible': [('parent_id','=', False)]}" groups="base.group_no_one"/> <h1> - <field name="name" default_focus="1" required="1" placeholder="Raison Sociale" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}"/> + <field name="name" default_focus="1" required="1" placeholder="Raison Sociale" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/> </h1> <div class="oe_bloc_cgscop"> <div class="o_row d-flex"> <h3> - <field class="o_field_header" name="cooperative_form_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')], 'required':[('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '5_suivi'))]}" options="{'no_open': True}" placeholder="Forme Coopérative"/> + <field class="o_field_header" name="cooperative_form_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':[('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '6_suivi'))]}" options="{'no_open': True}" placeholder="Forme Coopérative"/> </h3> <span> </span> <h3> - <field options="{'no_open': True}" name="partner_company_type_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')], 'required':[('project_status','in',('4_adhesion', '5_suivi'))]}" placeholder="Statut Juridique"/> + <field options="{'no_open': True}" name="partner_company_type_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':[('project_status','in',('4_adhesion', '6_suivi'))]}" placeholder="Statut Juridique"/> </h3> </div> <div class="o_row d-flex "> @@ -117,7 +119,7 @@ <h3> <span name="cae" class="o_field_widget o_readonly_modifier o_field_header oe_read_only" attrs="{'invisible':[('cae','=',False)]}">CAE</span> <label for='cae' string="CAE" class="oe_edit_only"/> - <field name="cae" class="oe_edit_only" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')], 'required':[('project_status','in',('4_adhesion', '5_suivi'))]}" /> + <field name="cae" class="oe_edit_only" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':[('project_status','in',('4_adhesion', '6_suivi'))]}" /> </h3> <field name="supplier" invisible="True"/> <field name="customer" invisible="True"/> @@ -129,24 +131,24 @@ <group string="Contact"> <label for='street' string="Adresse Administrative"/> <div> - <field name="street" placeholder="Rue..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}"/> - <field name="street2" placeholder="Rue 2..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}"/> - <field name="street3" placeholder="Rue 3..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}"/> + <field name="street" placeholder="Rue..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/> + <field name="street2" placeholder="Rue 2..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/> + <field name="street3" placeholder="Rue 3..." class="o_address_street" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}"/> <field name="zip_id" options="{'create_name_field': 'city', 'no_open': True, 'no_create': True}" placeholder="CP / Ville autocomplétion..." - class="oe_edit_only" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}"/> - <field name="zip" placeholder="CP..." class="o_address_city" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}"/> + 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')]}"/> <field name="city" placeholder="Ville..." class="o_address_city" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}" modifiers="{'readonly':[['project_status', '=', '5_suivi']]}"/> + attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/> <field name="city_id" invisible="1"/> <field name="cedex" placeholder="Cedex" class="o_address_city" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}" modifiers="{'readonly':[['project_status', '=', '5_suivi']]}"/> + 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}' context="{'country_id': country_id, 'zip': zip}" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}" modifiers="{'readonly':[['project_status', '=', '5_suivi']]}"/> + attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/> <field name="country_id" placeholder="Pays" class="o_address_country" options='{"no_open": True, "no_create": True}' - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}" modifiers="{'readonly':[['project_status', '=', '5_suivi']]}"/> + 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="mobile" widget="phone" string="Téléphone 2"/> @@ -258,27 +260,27 @@ <group string="Suivi UR"> <field name="ur_id" required="True" options="{'no_create': True}"/> <field name="creation_delegate_id" widget="res_partner_many2one" - attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_suivi'))]}" options="{'no_create': True}"/> - <field name="followup_delegate_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('5_suivi'))]}" options="{'no_create': True}"/> + attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '6_suivi'))]}" options="{'no_create': True}"/> + <field name="followup_delegate_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('6_suivi'))]}" options="{'no_create': True}"/> <field name="revision_person_id" widget="res_partner_many2one" readonly="True" options="{'no_create': True}"/> - <field name="parent_group_name" attrs="{'readonly': [('project_status', '=', '5_suivi')]}" /> + <field name="parent_group_name" attrs="{'readonly': [('project_status', '=', '6_suivi')]}" /> <field name="category_id" string="Segmentation" 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_create': True}"/> <field name="creation_suborigin_id" attrs="{'required':[('creation_origin_id','!=',False)]}" domain="[('parent_id', '=', creation_origin_id), ('child_ids', '=', False)]" options="{'no_create': True}"/> - <field name="date_1st_sign" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="registration_date" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="social_object" attrs="{'required':[('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '5_suivi'))]}"/> - <field name="naf_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')], 'required':[('project_status','in',('4_adhesion', '5_suivi'))]}" context="{'partner_category_display': 'short'}" options="{'no_create': True}"/> - <field name="industry_id" options="{'no_create': True}" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')]}" /> + <field name="date_1st_sign" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="registration_date" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="social_object" attrs="{'required':[('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '6_suivi'))]}"/> + <field name="naf_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':[('project_status','in',('4_adhesion', '6_suivi'))]}" context="{'partner_category_display': 'short'}" options="{'no_create': True}"/> + <field name="industry_id" options="{'no_create': True}" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" /> <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/> - <field name="siret" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '5_suivi')], 'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="capital" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="first_closeout" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="is_seed_scop" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}"/> - <field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '5_suivi')),('is_seed_scop', '=', True)]}"/> + <field name="siret" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="capital" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="first_closeout" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="is_seed_scop" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}"/> + <field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '6_suivi')),('is_seed_scop', '=', True)]}"/> <field name="is_incubated" required="True"/> <field name="incubator_id" widget="res_partner_many2one" attrs="{'invisible': [('is_incubated', '!=', True)]}" options="{'no_create': True}"/> <field name="prescriber_canal_id" widget="res_partner_many2one" options="{'no_create': True}"/> @@ -298,7 +300,7 @@ <group> <field name="bank_id" widget="res_partner_many2one" options="{'no_create': True}"/> <field name="bank2_id" widget="res_partner_many2one" options="{'no_create': True}"/> - <field name="accountant_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '5_suivi'))]}" options="{'no_create': True}"/> + <field name="accountant_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('4_adhesion', '6_suivi'))]}" options="{'no_create': True}"/> <field name="accountant_person_id" widget="res_partner_many2one" attrs="{'invisible': [('accountant_id', '=', False)]}" domain="[('parent_id', '=', accountant_id), ('is_company', '=', False)]" options="{'no_create': True}"/> <field name="auditor_id" widget="res_partner_many2one" options="{'no_create': True}"/> <field name="auditor_person_id" widget="res_partner_many2one" attrs="{'invisible': [('auditor_id', '=', False)]}" domain="[('parent_id', '=', auditor_id), ('is_company', '=', False)]" options="{'no_create': True}"/> @@ -337,7 +339,7 @@ <form/> </field> </page> - <page name="scop_periods" string="Historique des périodes" attrs="{'invisible': [('project_status', '!=', '5_suivi')]}"> + <page name="scop_periods" string="Historique des périodes" attrs="{'invisible': [('project_status', '!=', '6_suivi')]}"> <field name="scop_period_ids" mode="tree" context="{'default_partner_id': active_id, 'default_name': name, 'default_cooperative_form_id': cooperative_form_id, 'default_partner_company_type_id': partner_company_type_id, 'default_siret': siret, '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_naf_id': naf_id, 'default_cae': cae, 'default_is_main_location': is_main_location, 'default_parent_group_name': parent_group_name}"> <tree string="Périodes" decoration-success="end_reason==False" decoration-muted="end_reason!=False" create="false" edit="false" delete="false"> @@ -406,7 +408,7 @@ </page> <page name="contacts" string="Contacts & Addresses"> <group> - <field name="is_main_location" attrs="{'readonly': [('project_status', '=', '5_suivi')]}"/> + <field name="is_main_location" attrs="{'readonly': [('project_status', '=', '6_suivi')]}"/> </group> <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}"> @@ -584,7 +586,7 @@ <field name="view_type">form</field> <field name="view_mode">kanban,tree,form</field> <field name="search_view_id" ref="cgscop_partner.res_partner_view_search_inherit_scop"/> - <field name="domain" eval="[('is_cooperative', '=', True),('project_status','in',('1_information','2_pre-diagnostic','3_accompagnement','4_adhesion'))]"/> + <field name="domain" eval="[('is_cooperative', '=', True),('project_status','in',('1_information','2_pre-diagnostic','3_accompagnement','4_adhesion','5_cg'))]"/> <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'kanban', 'view_id': ref('view_partner_cooperative_kanban')}), (0, 0, {'view_mode': 'tree', 'view_id': ref('view_partner_cooperative_tree')}), @@ -599,11 +601,11 @@ <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="search_view_id" ref="cgscop_partner.res_partner_view_search_inherit_scop"/> - <field name="domain" eval="[('is_cooperative', '=', True),('project_status','=','5_suivi')]"/> + <field name="domain" eval="[('is_cooperative', '=', True),('project_status','=','6_suivi')]"/> <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}), (0, 0, {'view_mode': 'form', 'view_id': ref('view_partner_cooperative_form')})]"/> - <field name="context">{'search_default_my_ur': True, 'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '5_suivi'}</field> + <field name="context">{'search_default_my_ur': True, 'default_is_company': True, 'default_is_cooperative': True, 'default_company_type': 'company', 'default_project_status': '6_suivi'}</field> </record> <!-- Organismes Action -->