diff --git a/README.rst b/README.rst index 4634ba4d613b72ca3212605f233d2d8b11af582a..f5b6d70af1870b42c35e07c385acb67fd2348f18 100644 --- a/README.rst +++ b/README.rst @@ -3,9 +3,9 @@ :alt: License: AGPL-3 -================================= +======================================== Mutuelle des Scop et des Scic - Contacts -================================= +======================================== Description =========== diff --git a/__manifest__.py b/__manifest__.py index aa5d5b7785b502bdc659c873013649aa5ab80ed7..449100516cba86d7bcc91f28836c910608ad684d 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -5,19 +5,30 @@ "website": "https://le-filament.com", "version": "18.0.1.0.0", "license": "AGPL-3", - "depends": ["l10n_fr_state", "l10n_fr_department", - "l10n_fr_department_oversea", "lefilament_naf", "convention_collective"], + "depends": [ + "l10n_fr_state", + "l10n_fr_department", + "l10n_fr_department_oversea", + "lefilament_naf", + "convention_collective", + "partner_firstname", + ], "data": [ "security/ir.model.access.csv", # datas - "data/company_size.xml", - "data/union_regionale.xml", "data/federation.xml", - "data/company_type.xml", - "data/cooperative_form.xml", + "data/mucs_company_type.xml", + "data/mucs_company_size.xml", + "data/mucs_cooperative_form.xml", + "data/union_regionale.xml", # views "views/res_partner.xml", "views/mucs_contract.xml", + "views/mucs_commercial_event.xml", + "views/mucs_company_size.xml", + "views/mucs_company_type.xml", + "views/mucs_cooperative_form.xml", + "views/mucs_support_event.xml", "views/union_regionale.xml", # views menu "views/menus.xml", @@ -33,4 +44,3 @@ "installable": True, "auto_install": False, } - diff --git a/data/company_size.xml b/data/company_size.xml deleted file mode 100644 index e202706d3d1a3d7f47e05c6e186f6c5e8671182c..0000000000000000000000000000000000000000 --- a/data/company_size.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data noupdate="1"> - <record id="1-5" model="company.size"> - <field name="name">1 à 5</field> - </record> - <record id="5-15" model="company.size"> - <field name="name">5 à 15</field> - </record> - <record id="15-50" model="company.size"> - <field name="name">15 à 50</field> - </record> - <record id="50-100" model="company.size"> - <field name="name">50 à 100</field> - </record> - <record id="+100" model="company.size"> - <field name="name">plus de 100</field> - </record> - </data> -</odoo> diff --git a/data/company_type.xml b/data/company_type.xml deleted file mode 100644 index 644786408f1188e5a6667bfc256d6c8f976280dc..0000000000000000000000000000000000000000 --- a/data/company_type.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" ?> -<odoo> - <data noupdate="1"> - <record id="riga_14675" model="company.type"> - <field name="name">Artisan / Commerçant</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="asso" model="company.type"> - <field name="name">Association loi 1901 ou assimilée</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="riga_14673" model="company.type"> - <field name="name">Collectivité territoriale</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="riga_14674" model="company.type"> - <field name="name">Profession libérale</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="SARL" model="company.type"> - <field name="name">Société à Responsabilité Limitée (SARL)</field> - <field name="is_coop" eval="1" /> - </record> - - <record id="SARLU" model="company.type"> - <field name="name">Société à Responsabilité Limitée (SARL) unipersonnelle</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="SA" model="company.type"> - <field name="name">Société Anonyme à Conseil d'Administration</field> - <field name="is_coop" eval="1" /> - </record> - - <record id="SA" model="company.type"> - <field name="name">Société Anonyme à directoire</field> - <field name="is_coop" eval="1" /> - </record> - - <record id="riga_14677" model="company.type"> - <field name="name">Société civile coopérative</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="SCI" model="company.type"> - <field name="name">Société Civile Immobilière (SCI)</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="SELAS" model="company.type"> - <field name="name">Société d exercice libéral par action simplifiée (SELAS)</field> - <field name="is_coop" eval="0" /> - </record> - - <record id="SAS" model="company.type"> - <field name="name">Société par actions simplifiée (SAS)</field> - <field name="is_coop" eval="1" /> - </record> - - <record id="SAS" model="company.type"> - <field name="name">Société par actions simplifiée à associé unique (SASU)</field> - <field name="is_coop" eval="0" /> - </record> - </data> -</odoo> diff --git a/data/cooperative_form.xml b/data/cooperative_form.xml deleted file mode 100644 index 838cfaa923892e1f819434df7712375cec9beaa1..0000000000000000000000000000000000000000 --- a/data/cooperative_form.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" ?> -<odoo> - <data noupdate="1"> - <record id="form_coop47" model="cooperative.form"> - <field name="name">COOP47</field> - </record> - - <record id="form_lamaneur" model="cooperative.form"> - <field name="name">Lamaneur</field> - </record> - - <record id="form_scic" model="cooperative.form"> - <field name="name">SCIC</field> - </record> - - <record id="form_scop" model="cooperative.form"> - <field name="name">SCOP</field> - </record> - - <record id="form_ues" model="cooperative.form"> - <field name="name">UES</field> - </record> - - <record id="form_unionscop" model="cooperative.form"> - <field name="name">UNIONSCOP</field> - </record> - - <record id="form_noncooperative" model="cooperative.form"> - <field name="name">Non coopérative</field> - </record> - </data> -</odoo> diff --git a/data/federation.xml b/data/federation.xml index fc7382c7e01ffb1ea97bf9a5e0acd2b92b2c966a..9e423131f3113ba7770d229ce74082c553a92dbc 100644 --- a/data/federation.xml +++ b/data/federation.xml @@ -1,24 +1,20 @@ <?xml version="1.0" ?> <!-- Copyright 2019 Le Filament License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> -<odoo> - <data noupdate="1"> +<odoo noupdate="1"> + <record id="COM" model="res.partner.federation"> + <field name="name">Fed. des scop de la communication</field> + </record> - <record id="COM" model="res.partner.federation"> - <field name="name">Fed. des scop de la communication</field> - </record> + <record id="IND" model="res.partner.federation"> + <field name="name">Fed. des scop de l'industrie</field> + </record> - <record id="IND" model="res.partner.federation"> - <field name="name">Fed. des scop de l'industrie</field> - </record> + <record id="BTP" model="res.partner.federation"> + <field name="name">Fed. des scop du BTP</field> + </record> - <record id="BTP" model="res.partner.federation"> - <field name="name">Fed. des scop du BTP</field> - </record> - - <record id="CAE" model="res.partner.federation"> - <field name="name">Fed. des CAE</field> - </record> - - </data> + <record id="CAE" model="res.partner.federation"> + <field name="name">Fed. des CAE</field> + </record> </odoo> diff --git a/data/mucs_company_size.xml b/data/mucs_company_size.xml new file mode 100644 index 0000000000000000000000000000000000000000..1e19b34fec9ef3510b5b24b5e48789765351f5ef --- /dev/null +++ b/data/mucs_company_size.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- TODO: noupdate en prod --> +<odoo noupdate="O"> + <record id="1-5" model="mucs.company.size"> + <field name="name">1 à 5</field> + </record> + <record id="5-15" model="mucs.company.size"> + <field name="name">5 à 15</field> + </record> + <record id="15-50" model="mucs.company.size"> + <field name="name">15 à 50</field> + </record> + <record id="50-100" model="mucs.company.size"> + <field name="name">50 à 100</field> + </record> + <record id="+100" model="mucs.company.size"> + <field name="name">plus de 100</field> + </record> +</odoo> diff --git a/data/mucs_company_type.xml b/data/mucs_company_type.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c00c539baf7530cb5f15a846b7305dff2c17877 --- /dev/null +++ b/data/mucs_company_type.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" ?> +<!-- TODO: noupdate en prod --> +<odoo noupdate="0"> + <!-- TODO: Revoir les id externes pour plus de simplicité --> + <record id="riga_14675" model="mucs.company.type"> + <field name="name">Artisan / Commerçant</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="asso" model="mucs.company.type"> + <field name="name">Association loi 1901 ou assimilée</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="riga_14673" model="mucs.company.type"> + <field name="name">Collectivité territoriale</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="riga_14674" model="mucs.company.type"> + <field name="name">Profession libérale</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="SARL" model="mucs.company.type"> + <field name="name">Société à Responsabilité Limitée (SARL)</field> + <field name="is_coop" eval="1" /> + </record> + + <record id="SARLU" model="mucs.company.type"> + <field + name="name" + >Société à Responsabilité Limitée (SARL) unipersonnelle</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="SA" model="mucs.company.type"> + <field name="name">Société Anonyme à Conseil d'Administration</field> + <field name="is_coop" eval="1" /> + </record> + + <record id="SA" model="mucs.company.type"> + <field name="name">Société Anonyme à directoire</field> + <field name="is_coop" eval="1" /> + </record> + + <record id="riga_14677" model="mucs.company.type"> + <field name="name">Société civile coopérative</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="SCI" model="mucs.company.type"> + <field name="name">Société Civile Immobilière (SCI)</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="SELAS" model="mucs.company.type"> + <field + name="name" + >Société d exercice libéral par action simplifiée (SELAS)</field> + <field name="is_coop" eval="0" /> + </record> + + <record id="SAS" model="mucs.company.type"> + <field name="name">Société par actions simplifiée (SAS)</field> + <field name="is_coop" eval="1" /> + </record> + + <record id="SAS" model="mucs.company.type"> + <field + name="name" + >Société par actions simplifiée à associé unique (SASU)</field> + <field name="is_coop" eval="0" /> + </record> +</odoo> diff --git a/data/mucs_cooperative_form.xml b/data/mucs_cooperative_form.xml new file mode 100644 index 0000000000000000000000000000000000000000..e7a01c6ed22d2ed25225a679452ff5481805bc13 --- /dev/null +++ b/data/mucs_cooperative_form.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" ?> +<!-- TODO: noupdate en prod --> +<odoo noupdate="0"> + <record id="form_coop47" model="mucs.cooperative.form"> + <field name="name">COOP47</field> + </record> + + <record id="form_lamaneur" model="mucs.cooperative.form"> + <field name="name">Lamaneur</field> + </record> + + <record id="form_scic" model="mucs.cooperative.form"> + <field name="name">SCIC</field> + </record> + + <record id="form_scop" model="mucs.cooperative.form"> + <field name="name">SCOP</field> + </record> + + <record id="form_ues" model="mucs.cooperative.form"> + <field name="name">UES</field> + </record> + + <record id="form_unionscop" model="mucs.cooperative.form"> + <field name="name">UNIONSCOP</field> + </record> + + <record id="form_noncooperative" model="mucs.cooperative.form"> + <field name="name">Non coopérative</field> + </record> +</odoo> diff --git a/data/union_regionale.xml b/data/union_regionale.xml index 29c7e1a7a75f4e0d62ca99671291f301e53359c8..dd8a5f59fe29e938a673eb072688ec6c50604ef8 100644 --- a/data/union_regionale.xml +++ b/data/union_regionale.xml @@ -1,69 +1,77 @@ <?xml version="1.0" ?> -<odoo> - <data noupdate="1"> - <record id="riga_14231" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP ILE DE FRANCE CENTRE VAL DE LOIRE DOM-TOM</field> - <field name="name">IdF, Val de Loire, Dom Tom</field> - </record> +<!-- TODO: noupdate en prod --> +<odoo noupdate="0"> + <!-- TODO: Revoir les id externes pour plus de simplicité --> + <record id="riga_14231" model="union.regionale"> + <field + name="long_name" + >UNION REGIONALE DES SCOP ILE DE FRANCE CENTRE VAL DE LOIRE DOM-TOM</field> + <field name="name">IdF, Val de Loire, Dom Tom</field> + </record> - <record id="riga_14232" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP HAUTS DE FRANCE</field> - <field name="name">Hauts-de-France</field> - </record> + <record id="riga_14232" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP HAUTS DE FRANCE</field> + <field name="name">Hauts-de-France</field> + </record> - <record id="riga_14233" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP BOURGOGNE FRANCHE COMTE</field> - <field name="name">Bourgogne</field> - </record> + <record id="riga_14233" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP BOURGOGNE FRANCHE COMTE</field> + <field name="name">Bourgogne</field> + </record> - <record id="riga_14234" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP GRAND EST</field> - <field name="name">Est</field> - </record> + <record id="riga_14234" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP GRAND EST</field> + <field name="name">Est</field> + </record> - <record id="riga_14353" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP AUVERGNE RHONE ALPES</field> - <field name="name">AURA</field> - </record> + <record id="riga_14353" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP AUVERGNE RHONE ALPES</field> + <field name="name">AURA</field> + </record> - <record id="riga_14237" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP PROVENCE ALPES COTE D'AZUR CORSE</field> - <field name="name">Paca</field> - </record> + <record id="riga_14237" model="union.regionale"> + <field + name="long_name" + >UNION REGIONALE DES SCOP PROVENCE ALPES COTE D'AZUR CORSE</field> + <field name="name">Paca</field> + </record> - <record id="riga_14238" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP D'OCCITANIE POLE PYRENEES</field> - <field name="name">Occitanie pole Pyrénées</field> - </record> + <record id="riga_14238" model="union.regionale"> + <field + name="long_name" + >UNION REGIONALE DES SCOP D'OCCITANIE POLE PYRENEES</field> + <field name="name">Occitanie pole Pyrénées</field> + </record> - <record id="riga_14239" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP LIMOUSIN</field> - <field name="name">Limousin Berry</field> - </record> + <record id="riga_14239" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP LIMOUSIN</field> + <field name="name">Limousin Berry</field> + </record> - <record id="riga_14240" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP POITOU CHARENTES</field> - <field name="name">Poitou Charentes</field> - </record> + <record id="riga_14240" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP POITOU CHARENTES</field> + <field name="name">Poitou Charentes</field> + </record> - <record id="riga_14241" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP OUEST</field> - <field name="name">Ouest</field> - </record> + <record id="riga_14241" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP OUEST</field> + <field name="name">Ouest</field> + </record> - <record id="riga_14242" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP AQUITAINE</field> - <field name="name">Aquitaine</field> - </record> + <record id="riga_14242" model="union.regionale"> + <field name="long_name">UNION REGIONALE DES SCOP AQUITAINE</field> + <field name="name">Aquitaine</field> + </record> - <record id="riga_14243" model="union.regionale"> - <field name="long_name">UNION REGIONALE DES SCOP D'OCCITANIE POLE MEDITERRANEE</field> - <field name="name">Occitanie pole Méditérranée</field> - </record> + <record id="riga_14243" model="union.regionale"> + <field + name="long_name" + >UNION REGIONALE DES SCOP D'OCCITANIE POLE MEDITERRANEE</field> + <field name="name">Occitanie pole Méditérranée</field> + </record> - <record id="ur_dom_tom" model="union.regionale"> - <field name="long_name">PROGRAMME OUTRE MER</field> - <field name="name">POM</field> - </record> - </data> + <record id="ur_dom_tom" model="union.regionale"> + <field name="long_name">PROGRAMME OUTRE MER</field> + <field name="name">POM</field> + </record> </odoo> diff --git a/models/__init__.py b/models/__init__.py index 1f79d3524318eb07522fef8b4372c9cd0f08c8c1..d9d2323b5666dfbb0caf81e266249138b3e082b8 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,7 +1,9 @@ +from . import mucs_commercial_event +from . import mucs_company_size +from . import mucs_company_type +from . import mucs_contract +from . import mucs_cooperative_form +from . import mucs_support_event from . import res_partner +from . import res_partner_federation from . import union_regionale -from . import company_attrs -from . import mucs_contract -from . import meeting_event -from . import mgmt_event - diff --git a/models/company_attrs.py b/models/company_attrs.py deleted file mode 100644 index b337c3ae97764af8af60c259e6ef06b2b96eb199..0000000000000000000000000000000000000000 --- a/models/company_attrs.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2024- Le Filament (https://le-filament.com) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) - -from odoo import models, fields, api - - -class CompanySize(models.Model): - _name = "company.size" - name = fields.Char("Taille d'entreprise") - -class CompanyType(models.Model): - _name = "company.type" - name = fields.Char("Type d'entreprise") - is_coop = fields.Boolean("Est un statut coopératif") - -class CooperativeForm(models.Model): - _name = "cooperative.form" - name = fields.Char("Forme coopérative") diff --git a/models/meeting_event.py b/models/mucs_commercial_event.py similarity index 81% rename from models/meeting_event.py rename to models/mucs_commercial_event.py index 6ea798b4284df998b16c14640e56d439c300f4f7..f02dfdc0936f882b72a4d8b0f299613ab1121b17 100644 --- a/models/meeting_event.py +++ b/models/mucs_commercial_event.py @@ -1,21 +1,22 @@ # Copyright 2024- Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from odoo import models, fields, api +from odoo import fields, models -class MeetingEvent(models.Model): - _name = "meeting.event" +class MucsCommercialEvent(models.Model): + _name = "mucs.commercial.event" + _description = "Rendez-vous commerciaux" + _order = "date desc" + _rec_name = "partner_id" - date = fields.Date("Date") + date = fields.Date("Date", required=True) + partner_id = fields.Many2one(comodel_name="res.partner", required=True) name = fields.Char("Sujet") description = fields.Html("Description") # TODO tags ? # categ_ids = fields.Many2one("X") - # relations - partner_id = fields.Many2one(comodel_name="res.partner") - # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ diff --git a/models/mucs_company_size.py b/models/mucs_company_size.py new file mode 100644 index 0000000000000000000000000000000000000000..112eadcf9574b70ac5109706911869940e13c105 --- /dev/null +++ b/models/mucs_company_size.py @@ -0,0 +1,11 @@ +# Copyright 2024- Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class MucsCompanySize(models.Model): + _name = "mucs.company.size" + _description = "Tranches d'effectif" + + name = fields.Char("Taille d'entreprise", required=True) diff --git a/models/mucs_company_type.py b/models/mucs_company_type.py new file mode 100644 index 0000000000000000000000000000000000000000..4fca36b8c4ee074cc2a67d4095743ea3b5045467 --- /dev/null +++ b/models/mucs_company_type.py @@ -0,0 +1,13 @@ +# Copyright 2024- Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class MucsCompanyType(models.Model): + _name = "mucs.company.type" + _description = "Formes juridiques" + + name = fields.Char("Type d'entreprise", required=True) + is_coop = fields.Boolean("Est un statut coopératif") + active = fields.Boolean("Actif", default=True) diff --git a/models/mucs_contract.py b/models/mucs_contract.py index a2fb5b3e72a328db22c300e20ba00f4c866c2f1c..94570a1881f356f09092e4c511d8164117859eb4 100644 --- a/models/mucs_contract.py +++ b/models/mucs_contract.py @@ -1,25 +1,25 @@ # Copyright 2024- Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from odoo import models, fields, api +from odoo import fields, models class Contract(models.Model): _name = "mucs.contract" + _description = "Contrats client" - number = fields.Char("Numéro de contrat") + name = fields.Char(compute="_compute_name") + date_start = fields.Date("Début du contrat", required=True) + date_end = fields.Date("Fin du contrat") + number = fields.Char("Numéro de contrat", required=True) # On attend d'avoir des données # product_id = fields.Many2one("Type de couverture") - type = fields.Char("Type de couverture") # will be computed on product_id + type = fields.Char("Type de couverture") # will be computed on product_id member_count = fields.Integer("Effectifs adhérents") maybe_member_count = fields.Integer("Potentiel adhérents") # relations - partner_id = fields.Many2one(comodel_name="res.partner") - - # ------------------------------------------------------ - # Fields declaration - # ------------------------------------------------------ + partner_id = fields.Many2one(comodel_name="res.partner", required=True) # ------------------------------------------------------ # SQL Constraints @@ -32,6 +32,9 @@ class Contract(models.Model): # ------------------------------------------------------ # Computed fields / Search Fields # ------------------------------------------------------ + def _compute_name(self): + for contract in self: + contract.name = f"{contract.number} - {contract.partner_id.name}" # ------------------------------------------------------ # Onchange / Constraints diff --git a/models/mucs_cooperative_form.py b/models/mucs_cooperative_form.py new file mode 100644 index 0000000000000000000000000000000000000000..e84fe88b45003438b0775ba87e673a5e53b415de --- /dev/null +++ b/models/mucs_cooperative_form.py @@ -0,0 +1,12 @@ +# Copyright 2024- Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class MucsCooperativeForm(models.Model): + _name = "mucs.cooperative.form" + _description = "Formes coopératives" + + name = fields.Char("Forme coopérative", required=True) + active = fields.Boolean("Actif", default=True) diff --git a/models/mgmt_event.py b/models/mucs_support_event.py similarity index 78% rename from models/mgmt_event.py rename to models/mucs_support_event.py index 482445a8997398fa3b10392b2ff0be62f74c509f..461d4b0f10708c23c2094a690d6ea4ecb5f339fb 100644 --- a/models/mgmt_event.py +++ b/models/mucs_support_event.py @@ -1,20 +1,21 @@ # Copyright 2024- Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from odoo import models, fields, api +from odoo import fields, models -class MgmtEvent(models.Model): - _name = "mgmt.event" +class MucsSupportEvent(models.Model): + _name = "mucs.support.event" + _description = "Evenement support client" + _order = "date desc" + _rec_name = "partner_id" - date = fields.Date("Date") + date = fields.Date("Date", required=True) + partner_id = fields.Many2one(comodel_name="res.partner", required=True) qs = fields.Selection(string="Qualité de service", selection=[("s", "Satisfait")]) theme = fields.Char("Thématique") - topic = fields.Html("Sujet") - resolution = fields.Char("Résolution") - - # relations - partner_id = fields.Many2one(comodel_name="res.partner") + topic = fields.Text("Sujet") + resolution = fields.Text("Résolution") # ------------------------------------------------------ # Fields declaration diff --git a/models/res_partner.py b/models/res_partner.py index 8942e6437a32e1ba13e78b8bde8167d0c995adf5..a51cf3036d14c2988e62dd1c228162decc524d77 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -1,8 +1,7 @@ # Copyright 2024- Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from odoo import models, fields, api -from odoo.exceptions import ValidationError +from odoo import api, fields, models class ResPartner(models.Model): @@ -14,8 +13,7 @@ class ResPartner(models.Model): is_cooperative = fields.Boolean("Est une coopérative") is_member_cgscop = fields.Boolean("Est adhérent à la CG SCOP") - company_size_id = fields.Many2one("company.size", - string="Tranche d'effectif") + company_size_id = fields.Many2one("company.size", string="Tranche d'effectif") company_size = fields.Integer(string="Effectif approximatif") # Note : peut-être utiliser l10n-france/l10n_fr_siret_lookup @@ -27,18 +25,20 @@ class ResPartner(models.Model): store=True, readonly=False, copy=False, - tracking=True + tracking=True, ) # Note : pour l'instant str, à changer vers m2o quand on y verra plus clair ccn_idcc = fields.Char("CCN Code", related="ccn_id.idcc") ccn_titre = fields.Char("CCN Label", related="ccn_id.titre") - is_member_sante = fields.Boolean("Adhérent Santé", - compute="_compute_is_member_sante") + is_member_sante = fields.Boolean( + "Adhérent Santé", compute="_compute_is_member_sante" + ) is_member_unmi = fields.Boolean("Adhérent UNMI") is_member_mutex = fields.Boolean("Adhérent MUTEX") - type_rma_aid = fields.Selection(string="Assistance RMA", - selection=[("base", "Base")]) + type_rma_aid = fields.Selection( + string="Assistance RMA", selection=[("base", "Base")] + ) first_join_date = fields.Date("Date de première adhésion") membership = fields.Boolean("Adhésion") @@ -46,16 +46,22 @@ class ResPartner(models.Model): motive = fields.Char("Motif") # overwrite state to compute it based on department which itself is computed from zip - state_id = fields.Many2one("res.country.state", string='State', - ondelete='restrict', - domain="[('country_id', '=?', country_id)]", - related="country_department_id.state_id", - ) + state_id = fields.Many2one( + comodel_name="res.country.state", + string="State", + ondelete="restrict", + domain="[('country_id', '=?', country_id)]", + related="country_department_id.state_id", + ) # relations ----- - company_form = fields.Many2one("company.type", "Forme juridique") - cooperative_form = fields.Many2one("cooperative.form", "Forme coopérative") + company_form = fields.Many2one( + comodel_name="mucs.company.type", string="Forme juridique" + ) + cooperative_form = fields.Many2one( + comodel_name="mucs.cooperative.form", string="Forme coopérative" + ) ur_id = fields.Many2one( comodel_name="union.regionale", @@ -63,28 +69,24 @@ class ResPartner(models.Model): index=True, ondelete="restrict", ) - federation_ids = fields.Many2many(comodel_name="res.partner.federation", - string="Fédérations") + federation_ids = fields.Many2many( + comodel_name="res.partner.federation", string="Fédérations" + ) contract_id = fields.One2many( - string="Contrats", comodel_name="mucs.contract", inverse_name="partner_id", + string="Contrats", ) # child_ids (odoo) Contacts - lead_ids = fields.One2many( - string="Opportunités", - comodel_name="crm.lead", - inverse_name="partner_id", - ) meeting_ids = fields.One2many( string="Suivi commercial", - comodel_name="meeting.event", + comodel_name="mucs.commercial.event", inverse_name="partner_id", ) mgmt_event_ids = fields.One2many( string="Suivi de gestion", - comodel_name="mgmt.event", + comodel_name="mucs.support.event", inverse_name="partner_id", ) @@ -117,12 +119,12 @@ class ResPartner(models.Model): # Onchange / Constraints # ------------------------------------------------------ - @api.constrains('is_cooperative', 'is_company') + @api.constrains("is_cooperative", "is_company") def _check_individual_not_cooperative(self): for record in self: if record.is_cooperative and not record.is_company: # raise ValidationError("An individual can not be a cooperative") - pass # gênant pour les contacts créés à partir d'une coopérative + pass # gênant pour les contacts créés à partir d'une coopérative # ------------------------------------------------------ # CRUD methods (ORM overrides) diff --git a/models/res_partner_federation.py b/models/res_partner_federation.py new file mode 100644 index 0000000000000000000000000000000000000000..27b18ccfc5a2229f3d19644216c0b414aa8cbef3 --- /dev/null +++ b/models/res_partner_federation.py @@ -0,0 +1,11 @@ +# © 2024 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 ResPartnerFederation(models.Model): + _name = "res.partner.federation" + _description = "Fédérations Coopératives" + + name = fields.Char("Fédération", required=True) diff --git a/models/union_regionale.py b/models/union_regionale.py index fa8e486b289ee41e47c1da2273e7e314bb9c962b..77395da58f6379d574f48e02eb73ab8c4f4c0bb9 100644 --- a/models/union_regionale.py +++ b/models/union_regionale.py @@ -16,9 +16,3 @@ class UnionRegional(models.Model): _sql_constraints = [ ("name_uniq", "unique (name)", "Cette Union Régionale existe déjà !") ] - -class ResPartnerFederation(models.Model): - _name = "res.partner.federation" - _description = "Fédérations" - - name = fields.Char("Fédération") diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 2e6312117efd454cc759e2d1cc02883a184a6697..e50ac00c8d6e32f9083d111fa6f30d84d503c78c 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -1,10 +1,11 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink +access_mucs_company_size,access_mucs_company_size,model_mucs_company_size,base.group_user,1,0,0,0 +access_mucs_company_size_admin,access_mucs_company_size_admin,model_mucs_company_size,base.group_erp_manager,1,1,1,1 +access_mucs_contract,access_mucs_contract,model_mucs_contract,base.group_user,1,1,1,1 +access_mucs_commercial_event,access_mucs_commercial_event,model_mucs_commercial_event,base.group_user,1,1,1,1 +access_mucs_support_event,access_mucs_support_event,model_mucs_support_event,base.group_user,1,1,1,1 +access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,0,0,0 +access_mucs_company_type,access_mucs_company_type,model_mucs_company_type,base.group_user,1,0,0,0 +access_mucs_cooperative_form,access_mucs_cooperative_form,model_mucs_cooperative_form,base.group_user,1,0,0,0 access_union_regionale,access_union_regionale,model_union_regionale,base.group_user,1,0,0,0 admin_union_regionale,admin_union_regionale,model_union_regionale,base.group_erp_manager,1,1,1,1 -access_company_size,access_company_size,model_company_size,base.group_user,1,0,0,0 -access_mucs_contract,access_mucs_contract,model_mucs_contract,base.group_user,1,1,1,1 -access_meeting_event,access_meeting_event,model_meeting_event,base.group_user,1,1,1,1 -access_mgmt_event,access_mgmt_event,model_mgmt_event,base.group_user,1,1,1,1 -access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,1,1,1 -access_company_type,access_company_type,model_company_type,base.group_user,1,1,1,1 -access_cooperative_form,access_cooperative_form,model_cooperative_form,base.group_user,1,1,1,1 diff --git a/views/menus.xml b/views/menus.xml index 0c3a22492690f8fdc994c699e2d0964cfab42efb..464438d8a7982197d4eae22646299ea37ad6b6b0 100644 --- a/views/menus.xml +++ b/views/menus.xml @@ -7,16 +7,87 @@ name="Coopératives" parent="contacts.menu_contacts" action="coop_partner_action" + sequence="10" /> + <!-- Menu Tous les contacts --> + <record model="ir.ui.menu" id="contacts.res_partner_menu_contacts"> + <field name="sequence">30</field> + </record> + <!-- Analyse --> + <menuitem + id="menu_mucs_analysis" + name="Analyse" + parent="contacts.menu_contacts" + sequence="50" + /> + <!-- Contrats --> + <menuitem + id="menu_mucs_contract" + name="Contrats" + parent="menu_mucs_analysis" + action="mucs_contract_action" + sequence="10" + /> + <!-- Suivi commercial --> + <menuitem + id="menu_mucs_commercial_event" + name="Suivi commercial" + parent="menu_mucs_analysis" + action="mucs_commercial_event_action" + sequence="20" + /> + <!-- Support --> + <menuitem + id="menu_mucs_support_event" + name="Support" + parent="menu_mucs_analysis" + action="mucs_support_event_action" + sequence="40" + /> - <!-- Configuration --> + <!-- Configuration MUCS --> + <menuitem + id="menu_mucs_config" + name="Paramètres MUCS" + parent="contacts.menu_contacts" + sequence="100" + /> + <!-- Formes Juridiques --> + <menuitem + id="menu_mucs_company_type" + name="Formes Juridiques" + parent="menu_mucs_config" + action="mucs_company_type_action" + sequence="10" + /> + <!-- Formes coopératives --> + <menuitem + id="menu_mucs_company_form" + name="Formes coopératives" + parent="menu_mucs_config" + action="mucs_cooperative_form_action" + sequence="20" + /> + <!-- Tranches d'effectif --> + <menuitem + id="menu_union_regionale" + name="Tranches d'effectif" + parent="menu_mucs_config" + action="mucs_company_size_action" + sequence="70" + /> <!-- Union Regionales --> <menuitem id="menu_union_regionale" name="Unions Régionales" - parent="contacts.menu_contacts" - action="union_regionale_act_window" - sequence="20" + parent="menu_mucs_config" + action="union_regionale_action" + sequence="80" /> + + <!-- Configuration Générale --> + <record model="ir.ui.menu" id="contacts.res_partner_menu_config"> + <field name="sequence">200</field> + </record> </odoo> diff --git a/views/mucs_commercial_event.xml b/views/mucs_commercial_event.xml new file mode 100644 index 0000000000000000000000000000000000000000..b995abdb01111467cbec2edd7ed0eba7ba23d356 --- /dev/null +++ b/views/mucs_commercial_event.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright 2024- Le Filament (https://le-filament.com) + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <!-- Search --> + <record id="mucs_commercial_event_search" model="ir.ui.view"> + <field name="name">mucs.commercial.event.search</field> + <field name="model">mucs.commercial.event</field> + <field name="arch" type="xml"> + <search> + <field name="partner_id" /> + <field name="name" /> + <field name="description" /> + <filter name="date" date="date" string="Début de demande" /> + <group expand="0" name="group_by" string="Grouper par"> + <filter + name="group_partner_id" + string="Client" + domain="[]" + context="{'group_by' : 'partner_id'}" + /> + <filter + name="group_date" + string="Date de demande" + domain="[]" + context="{'group_by' : 'date'}" + /> + <filter + name="group_name" + string="Sujet" + domain="[]" + context="{'group_by' : 'name'}" + /> + </group> + </search> + </field> + </record> + + <!-- Form --> + <record id="mucs_commercial_event_view_from" model="ir.ui.view"> + <field name="name">mucs.commercial.event.form</field> + <field name="model">mucs.commercial.event</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <group> + <field name="date" /> + <field name="partner_id" /> + <field name="name" /> + </group> + <group /> + </group> + <separator string="Description" /> + <field name="description" /> + </sheet> + </form> + </field> + </record> + + <!-- List --> + <record id="mucs_commercial_event_view_list" model="ir.ui.view"> + <field name="name">mucs.commercial.event.list</field> + <field name="model">mucs.commercial.event</field> + <field name="arch" type="xml"> + <list> + <field name="date" /> + <field name="partner_id" /> + <field name="name" /> + </list> + </field> + </record> + + <!-- Pivot --> + <record id="mucs_commercial_event_view_pivot" model="ir.ui.view"> + <field name="name">mucs.commercial.event.pivot</field> + <field name="model">mucs.commercial.event</field> + <field name="arch" type="xml"> + <pivot> + <field name="partner_id" type="row" /> + <field name="date" interval="month" type="col" /> + </pivot> + </field> + </record> + + <!-- Graph --> + <record id="mucs_commercial_event_view_graph" model="ir.ui.view"> + <field name="name">mucs.commercial.event.graph</field> + <field name="model">mucs.commercial.event</field> + <field name="arch" type="xml"> + <graph> + <field name="partner_id" /> + <field name="date" interval="month" /> + </graph> + </field> + </record> + + <!-- Action --> + <record id="mucs_commercial_event_action" model="ir.actions.act_window"> + <field name="name">Suivi commercial</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">mucs.commercial.event</field> + <field name="view_mode">list,pivot,graph,form</field> + <field name="path">suivi-commercial</field> + </record> +</odoo> diff --git a/views/mucs_company_size.xml b/views/mucs_company_size.xml new file mode 100644 index 0000000000000000000000000000000000000000..d765d075466d268d759a434d01b43e8efdcb47c3 --- /dev/null +++ b/views/mucs_company_size.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" ?> +<!-- Copyright 2024 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <!-- List --> + <record model="ir.ui.view" id="mucs_company_size_tree_view"> + <field name="name">mucs.company.size.list</field> + <field name="model">mucs.company.size</field> + <field name="arch" type="xml"> + <list editable="top"> + <field name="name" /> + </list> + </field> + </record> + + <!-- Action --> + <record model="ir.actions.act_window" id="mucs_company_size_action"> + <field name="name">Tranches d'effectif</field> + <field name="res_model">mucs.company.size</field> + <field name="path">effectif</field> + <field name="view_mode">list,form</field> + </record> +</odoo> diff --git a/views/mucs_company_type.xml b/views/mucs_company_type.xml new file mode 100644 index 0000000000000000000000000000000000000000..3323f887bf0351e2998769cfdd8b9d3a3aaf76dc --- /dev/null +++ b/views/mucs_company_type.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" ?> +<!-- Copyright 2024 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <!-- List --> + <record model="ir.ui.view" id="mucs_company_type_tree_view"> + <field name="name">mucs.company.type.list</field> + <field name="model">mucs.company.type</field> + <field name="arch" type="xml"> + <list editable="top"> + <field name="name" /> + <field name="is_coop" /> + </list> + </field> + </record> + + <!-- Action --> + <record model="ir.actions.act_window" id="mucs_company_type_action"> + <field name="name">Formes juridiques</field> + <field name="res_model">mucs.company.type</field> + <field name="path">forme-juridique</field> + <field name="view_mode">list,form</field> + </record> +</odoo> diff --git a/views/mucs_contract.xml b/views/mucs_contract.xml index 8702b23dd6cd185364ca02d468fdb0e503fbee3d..0745d082a1318c6538040701698a41b40f57f063 100644 --- a/views/mucs_contract.xml +++ b/views/mucs_contract.xml @@ -2,26 +2,96 @@ <!-- Copyright 2024- Le Filament (https://le-filament.com) License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> <odoo> - <record id="mucs_contract_action" model="ir.actions.act_window"> - <field name="name">Contracts</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">mucs.contract</field> - <field name="view_mode">list,form</field> - <field name="path">contract</field> + <!-- Search --> + <record id="mucs_contract_view_search" model="ir.ui.view"> + <field name="name">mucs.contract.search</field> + <field name="model">mucs.contract</field> + <field name="arch" type="xml"> + <search> + <field name="partner_id" /> + <field name="number" /> + <filter name="date_start" date="date_start" string="Début de contrat" /> + <filter name="date_end" date="date_end" string="Fin de contrat" /> + <group expand="0" name="group_by" string="Group By"> + <filter + name="group_type" + string="Type" + domain="[]" + context="{'group_by' : 'type'}" + /> + <filter + name="group_partner_id" + string="Client" + domain="[]" + context="{'group_by' : 'partner_id'}" + /> + </group> + </search> + </field> </record> - + <!-- Form --> + <record id="mucs_contract_view_form" model="ir.ui.view"> + <field name="name">mucs.contract.form</field> + <field name="model">mucs.contract</field> + <field name="arch" type="xml"> + <form> + <group> + <group> + <field name="number" /> + <field name="partner_id" /> + <field name="type" /> + </group> + <group> + <field name="member_count" /> + <field name="maybe_member_count" /> + </group> + </group> + </form> + </field> + </record> + <!-- List --> <record id="mucs_contract_view_list" model="ir.ui.view"> <field name="name">mucs.contract.list</field> <field name="model">mucs.contract</field> <field name="arch" type="xml"> <list> - <field name="number"/> - <field name="type"/> - <field name="member_count"/> - <field name="maybe_member_count"/> - <field name="partner_id"/> + <field name="number" /> + <field name="partner_id" /> + <field name="type" /> + <field name="member_count" /> + <field name="maybe_member_count" /> </list> </field> </record> + <!-- Pivot --> + <record id="mucs_contract_view_pivot" model="ir.ui.view"> + <field name="name">mucs.contract.pivot</field> + <field name="model">mucs.contract</field> + <field name="arch" type="xml"> + <pivot> + <field name="partner_id" type="row" /> + <field name="date_start" interval="month" type="col" /> + </pivot> + </field> + </record> + <!-- Graph --> + <record id="mucs_contract_view_graph" model="ir.ui.view"> + <field name="name">mucs.contract.graph</field> + <field name="model">mucs.contract</field> + <field name="arch" type="xml"> + <graph> + <field name="partner_id" /> + <field name="date_start" interval="month" /> + </graph> + </field> + </record> + <!-- Action --> + <record id="mucs_contract_action" model="ir.actions.act_window"> + <field name="name">Contracts</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">mucs.contract</field> + <field name="view_mode">list,pivot,graph,form</field> + <field name="path">contract</field> + </record> </odoo> diff --git a/views/mucs_cooperative_form.xml b/views/mucs_cooperative_form.xml new file mode 100644 index 0000000000000000000000000000000000000000..afc9c0e157632e89e6d02ac5cfaa760cfaf44033 --- /dev/null +++ b/views/mucs_cooperative_form.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" ?> +<!-- Copyright 2024 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <!-- List --> + <record model="ir.ui.view" id="mucs_cooperative_form_tree_view"> + <field name="name">mucs.cooperative.form.list</field> + <field name="model">mucs.cooperative.form</field> + <field name="arch" type="xml"> + <list editable="top"> + <field name="name" /> + </list> + </field> + </record> + + <!-- Action --> + <record model="ir.actions.act_window" id="mucs_cooperative_form_action"> + <field name="name">Formes coopératives</field> + <field name="res_model">mucs.cooperative.form</field> + <field name="path">forme-cooperative</field> + <field name="view_mode">list,form</field> + </record> +</odoo> diff --git a/views/mucs_support_event.xml b/views/mucs_support_event.xml new file mode 100644 index 0000000000000000000000000000000000000000..02b44015d5ec1eedd2040e2a038dadb80e3bad01 --- /dev/null +++ b/views/mucs_support_event.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright 2024- Le Filament (https://le-filament.com) + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <!-- Search --> + <record id="mucs_support_event_search" model="ir.ui.view"> + <field name="name">mucs.support.event.search</field> + <field name="model">mucs.support.event</field> + <field name="arch" type="xml"> + <search> + <field name="partner_id" /> + <field name="topic" /> + <field name="resolution" /> + <filter name="date" date="date" string="Début de demande" /> + <group expand="0" name="group_by" string="Grouper par"> + <filter + name="group_qs" + string="Type" + domain="[]" + context="{'group_by' : 'qs'}" + /> + <filter + name="group_partner_id" + string="Client" + domain="[]" + context="{'group_by' : 'partner_id'}" + /> + <filter + name="group_date" + string="Date de demande" + domain="[]" + context="{'group_by' : 'date'}" + /> + <filter + name="group_theme" + string="Thématique" + domain="[]" + context="{'group_by' : 'theme'}" + /> + </group> + </search> + </field> + </record> + + <!-- Form --> + <record id="mucs_support_event_view_from" model="ir.ui.view"> + <field name="name">mucs.support.event.form</field> + <field name="model">mucs.support.event</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <group> + <field name="date" /> + <field name="partner_id" /> + </group> + <group> + <field name="qs" /> + <field name="theme" /> + </group> + </group> + <field name="topic" /> + <field name="resolution" /> + </sheet> + </form> + </field> + </record> + + <!-- List --> + <record id="mucs_support_event_view_list" model="ir.ui.view"> + <field name="name">mucs.support.event.list</field> + <field name="model">mucs.support.event</field> + <field name="arch" type="xml"> + <list> + <field name="date" /> + <field name="partner_id" /> + <field name="qs" /> + <field name="theme" /> + </list> + </field> + </record> + + <!-- Pivot --> + <record id="mucs_support_event_view_pivot" model="ir.ui.view"> + <field name="name">mucs.support.event.pivot</field> + <field name="model">mucs.support.event</field> + <field name="arch" type="xml"> + <pivot> + <field name="partner_id" type="row" /> + <field name="date" interval="month" type="col" /> + </pivot> + </field> + </record> + + <!-- Graph --> + <record id="mucs_support_event_view_graph" model="ir.ui.view"> + <field name="name">mucs.support.event.graph</field> + <field name="model">mucs.support.event</field> + <field name="arch" type="xml"> + <graph> + <field name="partner_id" /> + <field name="date" interval="month" /> + </graph> + </field> + </record> + + <!-- Action --> + <record id="mucs_support_event_action" model="ir.actions.act_window"> + <field name="name">Support</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">mucs.support.event</field> + <field name="view_mode">list,pivot,graph,form</field> + <field name="path">suivi-support</field> + </record> +</odoo> diff --git a/views/res_partner.xml b/views/res_partner.xml index 8566acdf1049705b969e6f72fa3bc78b7776b9bc..8811c4d57db3dd19f1f598640ccbdefbbca4279f 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -2,13 +2,11 @@ <!-- Copyright 2024- Le Filament (https://le-filament.com) License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> <odoo> - <!-- View --> - <!-- Form --> <record id="view_partner_form_inherit" model="ir.ui.view"> <field name="name">res.partner.form.inherit</field> <field name="model">res.partner</field> - <field name="inherit_id" ref="base.view_partner_form"/> + <field name="inherit_id" ref="base.view_partner_form" /> <field name="priority">100</field> <field name="arch" type="xml"> <!-- hide fields added by ccn and naf module because they are shown later--> @@ -37,8 +35,7 @@ <attribute name="invisible">True</attribute> </xpath> <!-- focus on company details instead --> - <xpath expr="//page[@name='contact_addresses']" - position="attributes"> + <xpath expr="//page[@name='contact_addresses']" position="attributes"> <attribute name="autofocus">not is_company</attribute> </xpath> <!-- entreprise + environnement --> @@ -53,31 +50,44 @@ <group> <group> <!--<field name="siret"/>--> - <field name="siret" readonly="1" - widget="CopyClipboardChar"/> - <field name="siren" readonly="1" - widget="CopyClipboardChar"/> - <field name="company_size_id"/> - <field name="company_size"/> - <field name="company_form"/> - <field name="naf_id" string="APE"/> + <field + name="siret" + readonly="1" + widget="CopyClipboardChar" + /> + <field + name="siren" + readonly="1" + widget="CopyClipboardChar" + /> + <field name="company_size_id" /> + <field name="company_size" /> + <field name="company_form" /> + <field name="naf_id" string="APE" /> <!--<field name="ccn_id"/>--> - <field name="ccn_idcc" string="Numéro CCN"/> - <field name="ccn_titre" string="Intitulé"/> + <field name="ccn_idcc" string="Numéro CCN" /> + <field name="ccn_titre" string="Intitulé" /> </group> <group> - <field name="is_cooperative"/> - <field name="ur_id" invisible="not is_cooperative"/> - <field name="federation_ids" widget="many2many_tags" - invisible="not is_cooperative"/> - <field name="is_member_cgscop" - invisible="not is_cooperative"/> - <field name="cooperative_form" - invisible="not is_cooperative"/> + <field name="is_cooperative" /> + <field name="ur_id" invisible="not is_cooperative" /> + <field + name="federation_ids" + widget="many2many_tags" + invisible="not is_cooperative" + /> + <field + name="is_member_cgscop" + invisible="not is_cooperative" + /> + <field + name="cooperative_form" + invisible="not is_cooperative" + /> </group> </group> <group string="Descriptif Activité"> - <field name="comment" nolabel="1"/> + <field name="comment" nolabel="1" /> </group> </page> @@ -89,33 +99,33 @@ > <group> <group> - <field name="is_member_sante"/> - <field name="is_member_unmi"/> + <field name="is_member_sante" /> + <field name="is_member_unmi" /> </group> <group> - <field name="is_member_mutex"/> - <field name="type_rma_aid"/> + <field name="is_member_mutex" /> + <field name="type_rma_aid" /> </group> </group> - <separator/> + <separator /> <group> <group> - <field name="first_join_date"/> - <field name="membership"/> + <field name="first_join_date" /> + <field name="membership" /> </group> <group> - <field name="removal"/> - <field name="motive"/> + <field name="removal" /> + <field name="motive" /> </group> </group> - <separator/> + <separator /> <group string="Contrats"> <field name="contract_id" nolabel="1"> <list> - <field name="number"/> - <field name="type"/> - <field name="member_count"/> - <field name="maybe_member_count"/> + <field name="number" /> + <field name="type" /> + <field name="member_count" /> + <field name="maybe_member_count" /> </list> </field> </group> @@ -133,8 +143,8 @@ <group string="Synthèse activité développement"> <field name="meeting_ids" nolabel="1"> <list> - <field name="date"/> - <field name="name"/> + <field name="date" /> + <field name="name" /> </list> </field> </group> @@ -148,25 +158,15 @@ <group string="Synthèse activité gestion"> <field name="mgmt_event_ids" nolabel="1"> <list> - <field name="date"/> - <field name="qs"/> - <field name="theme"/> - <field name="topic"/> - <field name="resolution"/> + <field name="date" /> + <field name="qs" /> + <field name="theme" /> + <field name="topic" /> + <field name="resolution" /> </list> </field> </group> </page> - <!-- leads --> - <page - name="leads" - string="Opportunités" - invisible="not is_company" - > - <group string="Leads"> - <field name="lead_ids" nolabel="1"/> - </group> - </page> </xpath> </field> </record> @@ -175,12 +175,12 @@ <record id="view_partner_tree" model="ir.ui.view"> <field name="name">res.partner.list</field> <field name="model">res.partner</field> - <field name="inherit_id" ref="base.view_partner_tree"/> + <field name="inherit_id" ref="base.view_partner_tree" /> <field name="arch" type="xml"> <xpath expr="//field[@name='complete_name']" position="after"> - <field name="ur_id" optional="hide"/> - <field name="state_id" optional="hide"/> - <field name="country_department_id" optional="hide"/> + <field name="ur_id" optional="hide" /> + <field name="state_id" optional="hide" /> + <field name="country_department_id" optional="hide" /> </xpath> </field> </record> @@ -189,11 +189,11 @@ <record id="search_partner" model="ir.ui.view"> <field name="name">res.partner.search</field> <field name="model">res.partner</field> - <field name="inherit_id" ref="base.view_res_partner_filter"/> + <field name="inherit_id" ref="base.view_res_partner_filter" /> <field name="arch" type="xml"> <!-- Search --> <xpath expr="//field[@name='name']" position="after"> - <field name="ur_id"/> + <field name="ur_id" /> </xpath> <!-- Filters --> <!-- <xpath expr="//filter[@name='inactive']" position="before">--> @@ -210,24 +210,22 @@ <!-- </xpath>--> <!-- Group --> <xpath expr="//filter[@name='salesperson']" position="before"> - <filter string="Région" name="group_state_id" - context="{'group_by': 'state_id'}"/> + <filter + string="Région" + name="group_state_id" + context="{'group_by': 'state_id'}" + /> </xpath> </field> </record> - <!-- Action --> - <record id="contacts.action_contacts" model="ir.actions.act_window"> - <field name="domain">[('is_cooperative', '!=', True)]</field> - </record> - <record id="coop_partner_action" model="ir.actions.act_window"> <field name="name">Coopératives</field> <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> - <field name="view_mode">list,form</field> - <field name="search_view_id" ref="search_partner"/> + <field name="view_mode">list,pivot,graph,form</field> + <field name="search_view_id" ref="search_partner" /> <field name="domain">[('is_cooperative', '=', True)]</field> <field name="path">coop</field> <field name="context"> diff --git a/views/union_regionale.xml b/views/union_regionale.xml index 35dcafbb6b28c351c739c8dca2d1a5dd36aeac58..caf039e1e4fcb6d9f8fac3043680f9f6a91ae66c 100644 --- a/views/union_regionale.xml +++ b/views/union_regionale.xml @@ -8,9 +8,9 @@ <field name="model">union.regionale</field> <field name="arch" type="xml"> <list string="Unions Régionales"> - <field name="long_name"/> - <field name="name"/> - <field name="code_ur"/> + <field name="long_name" /> + <field name="name" /> + <field name="code_ur" /> </list> </field> </record> @@ -23,9 +23,9 @@ <form string="Union Régionale"> <sheet> <group> - <field name="long_name"/> - <field name="name"/> - <field name="code_ur"/> + <field name="long_name" /> + <field name="name" /> + <field name="code_ur" /> </group> </sheet> </form> @@ -33,7 +33,7 @@ </record> <!-- Action --> - <record model="ir.actions.act_window" id="union_regionale_act_window"> + <record model="ir.actions.act_window" id="union_regionale_action"> <field name="name">Unions Régionales</field> <field name="res_model">union.regionale</field> <field name="path">ur</field>