diff --git a/__manifest__.py b/__manifest__.py index 0904a127736dd9856c193f8e798583f4fac99296..30d591ceb33a06c8f7b76124a80d09df8fccdb3e 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -19,6 +19,8 @@ "security/ir.model.access.csv", "views/assets.xml", "wizard/scop_period_wizard.xml", + "views/res_company.xml", + "views/res_users.xml", "views/res_partner.xml", "views/res_partner_cooperative.xml", "views/scop_config_views.xml", @@ -27,7 +29,7 @@ "datas/res.partner.certification.csv", "datas/res.partner.company.type.csv", "datas/res.partner.cooperative.form.csv", - # "datas/res.partner.creation.origin.csv", + "datas/res.partner.creation.origin.csv", "datas/res.partner.dissolution.reason.csv", "datas/res.partner.organization.type.csv", "datas/res.partner.rgpd.origin.csv", @@ -38,5 +40,6 @@ "datas/scop.legal.event.type.csv", "datas/scop.membership.reason.end.csv", "datas/scop.membership.type.csv", + "datas/union.regionale.csv", ] } diff --git a/datas/res.partner.certification.csv b/datas/res.partner.certification.csv index e7e9ae26e8027b7b0d4bb9054599198edd05e987..60c3822c3d55d92c6b32cf6a827b639babe2ab12 100644 --- a/datas/res.partner.certification.csv +++ b/datas/res.partner.certification.csv @@ -1,17 +1,17 @@ id,id_riga,name -"riga_16747","16747","Aéronautique EN9100" -"riga_14102","14102","Autres (à preciser)" -"riga_13038","13038","Centre de formation" -"riga_11571","11571","Entreprise adaptée" -"riga_11570","11570","Entreprise d'insertion" -"riga_11573","11573","Entreprise Solidaire" -"riga_16429","16429","ESUS" -"riga_11576","11576","ISO 14 001" -"riga_16538","16538","ISO 26 000" -"riga_11576","11575","ISO 9 001" -"riga_11574","11574","Jeune Entreprise Innovante" -"riga_13037","13037","Lamaneur" -"riga_16774","16774","QHSAS 18001" -"riga_16775","16775","QUALIPAYSAGE" -"riga_14126","14126","SAP" -"riga_11572","11572","Services à la personne" +"riga_16747",16747,"Aéronautique EN9100" +"riga_14102",14102,"Autres (à preciser)" +"riga_13038",13038,"Centre de formation" +"riga_11571",11571,"Entreprise adaptée" +"riga_11570",11570,"Entreprise d'insertion" +"riga_11573",11573,"Entreprise Solidaire" +"riga_16429",16429,"ESUS" +"riga_11576",11576,"ISO 14 001" +"riga_16538",16538,"ISO 26 000" +"riga_11575",11575,"ISO 9 001" +"riga_11574",11574,"Jeune Entreprise Innovante" +"riga_13037",13037,"Lamaneur" +"riga_16774",16774,"QHSAS 18001" +"riga_16775",16775,"QUALIPAYSAGE" +"riga_14126",14126,"SAP" +"riga_11572",11572,"Services à la personne" diff --git a/datas/res.partner.company.type.csv b/datas/res.partner.company.type.csv index c1b7758c385b0b6faa7ca9a94e634837cc2cd700..0ab47d3334ccf06cc7f5fff96e4fd5ea46256bd4 100644 --- a/datas/res.partner.company.type.csv +++ b/datas/res.partner.company.type.csv @@ -1,14 +1,14 @@ -id,name,riga_id,shortcut -"riga_14675","Artisan / Commerçant",14675, +id,name,id_riga,shortcut +"riga_14675","Artisan / Commerçant",14675,"" "riga_14672","Association loi 1901 ou assimilée",14672,"asso" -"riga_14673","Collectivité territoriale",14673, -"riga_14674","Profession libérale",14674, +"riga_14673","Collectivité territoriale",14673,"" +"riga_14674","Profession libérale",14674,"" "riga_14669","Société à Responsabilité Limitée (SARL)",14669,"SARL" "riga_16496","Société à Responsabilité Limitée (SARL) unipersonnelle",16496,"SARLU" "riga_14668","Société Anonyme à Conseil d'Administration",14668,"SA" "riga_14670","Société Anonyme à directoire",14670,"SA" -"riga_14677","Société civile coopérative",14677, +"riga_14677","Société civile coopérative",14677,"" "riga_14860","Société Civile Immobilière (SCI)",14860,"SCI" "riga_16771","Société d exercice libéral par action simplifiée (SELAS)",16771,"SELAS" "riga_14671","Société par actions simplifiée (SAS)",14671,"SAS" -"riga_16399","Société par actions simplifiée à associé unique (SASU)";16399,"SAS" +"riga_16399","Société par actions simplifiée à associé unique (SASU)",16399,"SAS" diff --git a/datas/res.partner.creation.origin.csv b/datas/res.partner.creation.origin.csv index 4c75a59f0af555199d555a510126c8f73ff38481..e73d544e00e5099e3e076e8c67c9b372dfd5cb8b 100644 --- a/datas/res.partner.creation.origin.csv +++ b/datas/res.partner.creation.origin.csv @@ -1,17 +1,17 @@ "id","parent_id:id","name","id_riga" -1,,"Ex-Nihilo",14215 -15,1,"Création par des porteurs de projet",14648 -16,1,"Création d'une filiale de Scop ou de Scic",14649 -17,1,"Essaimage",14658 -2,,"Transmission d'entreprise saine",14634 -21,2,"Transmission d'une entreprise indépendante saine avec départ des dirigeants (succession)",14993 -22,2,"Transmission d'une entreprise indépendante saine avec maintien des dirigeants",14992 -26,2,"Transmission d'une filiale suite à restructuration de groupe",14661 -27,2,"Transmission d'une filiale d'une association",14660 -3,,"Reprise d'entreprise en difficulté",14217 -35,3,"Reprise d'une entreprise en procédure collective",14656 -36,3,"Reprise d'une entreprise en difficulté économique",14652 -37,3,"Création suite à un arrêt d'activité",14655 -4,,"Transformation d'association ou de coopérative",14218 -45,4,"Transformation d'une association (hors association de préfiguration)",14659 -46,4,"Transformation d'une Coopérative",14653 +"riga_14215",,"Ex-Nihilo",14215 +15,"riga_14215","Création par des porteurs de projet",14648 +16,"riga_14215","Création d'une filiale de Scop ou de Scic",14649 +17,"riga_14215","Essaimage",14658 +"riga_14634",,"Transmission d'entreprise saine",14634 +21,"riga_14634","Transmission d'une entreprise indépendante saine avec départ des dirigeants (succession)",14993 +22,"riga_14634","Transmission d'une entreprise indépendante saine avec maintien des dirigeants",14992 +26,"riga_14634","Transmission d'une filiale suite à restructuration de groupe",14661 +27,"riga_14634","Transmission d'une filiale d'une association",14660 +"riga_14217",,"Reprise d'entreprise en difficulté",14217 +35,"riga_14217","Reprise d'une entreprise en procédure collective",14656 +36,"riga_14217","Reprise d'une entreprise en difficulté économique",14652 +37,"riga_14217","Création suite à un arrêt d'activité",14655 +"riga_14218",,"Transformation d'association ou de coopérative",14218 +45,"riga_14218","Transformation d'une association (hors association de préfiguration)",14659 +46,"riga_14218","Transformation d'une Coopérative",14653 diff --git a/datas/union.regionale.csv b/datas/union.regionale.csv new file mode 100644 index 0000000000000000000000000000000000000000..6c518f5aaf24d830c16533982bb6815edc49c7dc --- /dev/null +++ b/datas/union.regionale.csv @@ -0,0 +1,13 @@ +id,id_riga,long_name,name +"ur_idf","12784","UNION REGIONALE DES SCOP ILE DE FRANCE CENTRE VAL DE LOIRE DOM-TOM","Paris" +"ur_hdf","12785","UNION REGIONALE DES SCOP HAUTS DE FRANCE","Hauts-de-France" +"ur_bfc","12787","UNION REGIONALE DES SCOP BOURGOGNE FRANCHE COMTE","Bourgogne" +"ur_ge","12788","UNION REGIONALE DES SCOP GRAND EST","Est" +"ur_arh","12789","UNION REGIONALE DES SCOP AUVERGNE RHONE ALPES","AURA" +"ur_pacac","12791","UNION REGIONALE DES SCOP PROVENCE ALPES COTE D'AZUR CORSE","Paca" +"ur_mp","12792","UNION REGIONALE DES SCOP MIDI PYRENEES","Midi Pyrénées" +"ur_lim","12793","UNION REGIONALE DES SCOP LIMOUSIN","Limousin Berry" +"ur_pc","12794","UNION REGIONALE DES SCOP POITOU CHARENTES","Poitou Charentes" +"ur_go","12795","UNION REGIONALE DES SCOP OUEST","Ouest" +"ur_aq","12796","UNION REGIONALE DES SCOP AQUITAINE","Aquitaine" +"ur_lr","12797","UNION REGIONALE DES SCOP LANGUEDOC ROUSSILLON","Languedoc Roussillon" diff --git a/models/__init__.py b/models/__init__.py index 0f02e2d662f071490aeb758bb2ca5d5cc8efcb27..2f2af0bac9b259f680161d55daa75ce84c74352b 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,8 +1,10 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import res_company from . import res_partner from . import res_partner_newsletter +from . import res_users from . import scop_contribution from . import scop_financial_tools from . import scop_legal_event @@ -12,3 +14,4 @@ from . import scop_ministry_list from . import scop_period from . import scop_questionnaire from . import scop_revision +from . import union_regionale diff --git a/models/res_company.py b/models/res_company.py new file mode 100644 index 0000000000000000000000000000000000000000..098fdce9681a6f9a71364c74222c784fac42a204 --- /dev/null +++ b/models/res_company.py @@ -0,0 +1,16 @@ +# © 2019 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models, api + + +class ResCompany(models.Model): + _inherit = "res.company" + + @api.model + def _ur_default_get(self): + # Renvoie l'UR de l'utlisateur courant + return self.env['res.users']._get_ur() + + ur_id = fields.Many2one('union.regionale', string='UR', + default="_ur_default_get") diff --git a/models/res_partner.py b/models/res_partner.py index fcef7b9ece0313b476a9e5e520bedf347cd873ce..8e66bbe9c02320eff6cdba5463d795d6a61028b5 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -9,8 +9,8 @@ from odoo.exceptions import ValidationError class ScopPartner(models.Model): _inherit = "res.partner" - def _default_company(self): - return self.env['res.company']._company_default_get('res.partner') + def _default_ur(self): + return self.env['res.company']._ur_default_get() # Infos générales is_cooperative = fields.Boolean("Est une coopérative") @@ -22,8 +22,8 @@ class ScopPartner(models.Model): # Informations organisme # A garder ? - unique_id_si_ur = fields.Char("Identifiant unique SI UR") - unique_id_si_cg = fields.Char("Identifiant unique SI CG") + id_ur = fields.Char("Identifiant unique SI UR") + id_riga = fields.Char("Identifiant unique SI CG") # Informations Bandeau project_status = fields.Selection( @@ -61,12 +61,12 @@ class ScopPartner(models.Model): string='Contacts Dirigeants') # Infos générales / Suivi UR - company_id = fields.Many2one( - 'res.company', + ur_id = fields.Many2one( + 'union.regionale', string='Union Régionale', index=True, on_delete='restrict', - default=_default_company) + default=_default_ur) creation_delegate_id = fields.Many2one( 'res.partner', string='Délégué de création', @@ -120,7 +120,7 @@ class ScopPartner(models.Model): (12851, 'Octobre'), (12852, 'Novembre'), (12853, 'Décembre')], - string='Mois clôture exercices', default=12) + string='Mois clôture exercices', default=12853) is_seed_scop = fields.Boolean("Est une SCOP d'amorçage") seed_end = fields.Date("Date de fin du dispositif d'amorçage", default=str(datetime.today() + timedelta(2556)), @@ -415,7 +415,7 @@ class ResPartneCertification(models.Model): class ScopPartnerCompanyType(models.Model): - _inherit = "res.partner.company_type" + _inherit = "res.partner.company.type" id_riga = fields.Integer("ID RIGA") diff --git a/models/res_users.py b/models/res_users.py new file mode 100644 index 0000000000000000000000000000000000000000..adf46c159ff7aadc461508dfa57420da9016f888 --- /dev/null +++ b/models/res_users.py @@ -0,0 +1,15 @@ +# © 2019 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models, api + + +class ResUsers(models.Model): + _inherit = "res.users" + + @api.model + def _get_ur(self): + return self.env.user.company_id.ur_id + + ur_id = fields.Many2one('union.regionale', related='company_id.ur_id', + string='UR', inherited=True, readonly=True) diff --git a/models/union_regionale.py b/models/union_regionale.py new file mode 100644 index 0000000000000000000000000000000000000000..14e0ef466a92a5fffe3bf6aba79743071428ddda --- /dev/null +++ b/models/union_regionale.py @@ -0,0 +1,16 @@ +# © 2019 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class UnionRegionale(models.Model): + _name = 'union.regionale' + _description = 'Union Régionale' + + long_name = fields.Char("Nom", required=True) + name = fields.Char("Abbréviation") + id_riga = fields.Integer("Identifiant RIGA") + + _sql_constraints = [('name_uniq', 'unique (name)', + "Cette Union Régionale existe déjà !")] diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 72df6d4278946bfc360b03c8ad47753864a50289..48e99d888477a9da8c71f9d7c7ef428074b0849d 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -25,3 +25,4 @@ access_scop_membership_reason_end,access_scop_membership_reason_end,model_scop_m access_scop_revision_format,access_scop_revision_format,model_scop_revision_format,base.group_user,1,1,1,1 access_res_partner_prescriber_canal,access_res_partner_prescriber_canal,model_res_partner_prescriber_canal,base.group_user,1,1,1,1 access_scop_period,access_scop_period,model_scop_period,base.group_user,1,1,1,1 +access_union_regionale,access_union_regionale,model_union_regionale,base.group_user,1,1,1,1 diff --git a/views/res_company.xml b/views/res_company.xml new file mode 100644 index 0000000000000000000000000000000000000000..0197129a8fd0966efc0d2e154d92924fe3a0500d --- /dev/null +++ b/views/res_company.xml @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<!-- Copyright 2019 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> + +<odoo> + <data> + <record id="company_form_with_ur" model="ir.ui.view"> + <field name="name">add ur in company view</field> + <field name="model">res.company</field> + <field name="inherit_id" ref="base.view_company_form"/> + <field name="arch" type="xml"> + <field name="website" position="before"> + <field name="ur_id"/> + </field> + </field> + </record> + </data> +</odoo> diff --git a/views/res_partner.xml b/views/res_partner.xml index e38f5bcc1847e36427005349a0b186131eca7298..15cf6d4de4c14d2d2ed7ea3ee84f7be97d60d222 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -120,7 +120,7 @@ <field name="vat" position="replace"> <field name="phone" widget="phone" modifiers="{}"/> <field name="email" widget="email" on_change="1" modifiers="{}"/> - <field name="company_id" string="UR" options="{'no_create': True}" on_change="1" can_create="false" can_write="false" modifiers="{}" attrs="{'invisible': [('is_company','=', False)]}"/> + <field name="ur_id" options="{'no_create': True}" on_change="1" can_create="false" can_write="false" modifiers="{}"/> <field name="website" invisible="1"/> <field name="lang" invisible="1"/> </field> diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index 45df18e3bd35641e1a3551275e468b680600823b..54b3680de384a2a7a403a0a13175c5cd39109760 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -247,7 +247,7 @@ </field> </group> <group string="Suivi UR"> - <field name="company_id" string="UR" required="True" domain="[('id', '!=', 1)]"/> + <field name="ur_id" required="True"/> <field name="creation_delegate_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_suivi'))]}"/> <field name="followup_delegate_id" widget="res_partner_many2one" attrs="{'required':[('project_status','in',('5_suivi'))]}"/> diff --git a/views/res_users.xml b/views/res_users.xml new file mode 100644 index 0000000000000000000000000000000000000000..de89139a017e31ac96be3cd66ac0e6b2e2dd684f --- /dev/null +++ b/views/res_users.xml @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<!-- Copyright 2019 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> + +<odoo> + <data> + <record id="users_form_with_ur" model="ir.ui.view"> + <field name="name">add ur in users view</field> + <field name="model">res.users</field> + <field name="inherit_id" ref="base.view_users_form"/> + <field name="arch" type="xml"> + <field name="partner_id" position="after"> + <field name="ur_id"/> + </field> + </field> + </record> + </data> +</odoo> diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml index 7656711890f85b1188f16f1c33d07411431898ce..491766622e8f1b3006264f117c34b9a0c4c602a6 100644 --- a/views/scop_config_views.xml +++ b/views/scop_config_views.xml @@ -265,6 +265,24 @@ <field name="help">Display and manage the list of Prescriber Canals.</field> </record> + <record model="ir.ui.view" id="union_regionale_tree_view"> + <field name="name">union.regionale.tree</field> + <field name="model">union.regionale</field> + <field name="arch" type="xml"> + <tree> + <field name="long_name"/> + <field name="name"/> + <field name="id_riga"/> + </tree> + </field> + </record> + + <record model="ir.actions.act_window" id="union_regionale_act_window"> + <field name="name">Company Types</field> + <field name="res_model">union.regionale</field> + <field name="view_mode">tree</field> + </record> + <!-- MENUS --> <menuitem id="contacts.res_partner_menu_config" @@ -316,5 +334,10 @@ parent="menu_scop" action="action_view_res_partner_organization_type_tree" sequence="90"/> + <menuitem action="union_regionale_act_window" + id="menu_union_regionale" + name="Unions Régionales" + parent="menu_scop" + sequence="100"/> </data> </odoo>