diff --git a/l10n_fr_association/__init__.py b/l10n_fr_association/__init__.py index 0650744..a0fdc10 100644 --- a/l10n_fr_association/__init__.py +++ b/l10n_fr_association/__init__.py @@ -1 +1,2 @@ +# -*- coding: utf-8 -*- from . import models diff --git a/l10n_fr_association/__manifest__.py b/l10n_fr_association/__manifest__.py index 5374bc0..150b6cb 100644 --- a/l10n_fr_association/__manifest__.py +++ b/l10n_fr_association/__manifest__.py @@ -15,6 +15,9 @@ "category": "Human Resources", "depends": [ "base", + "contacts", + "l10n_fr", + "l10n_fr_department_state", ], "data": [ "views/res_partner.xml", diff --git a/l10n_fr_association/i18n/fr.po b/l10n_fr_association/i18n/fr.po index fbfcfab..f33126b 100644 --- a/l10n_fr_association/i18n/fr.po +++ b/l10n_fr_association/i18n/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0-20230613\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-15 13:54+0000\n" -"PO-Revision-Date: 2024-03-15 13:54+0000\n" +"POT-Creation-Date: 2024-05-26 14:32+0000\n" +"PO-Revision-Date: 2024-05-26 14:32+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -17,8 +17,49 @@ msgstr "" #. module: l10n_fr_association #: model_terms:ir.ui.view,arch_db:l10n_fr_association.view_partner_form_inherit_base -msgid "Association info" -msgstr "Infos association" +msgid "ANR number" +msgstr "Numéro RNA" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__asso_project_file +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__asso_project_file +msgid "Assocation project" +msgstr "Projet associatif" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__asso_project_filename +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__asso_project_filename +msgid "Assocation project filename" +msgstr "Nom fichier Projet Asso" + +#. module: l10n_fr_association +#: model_terms:ir.ui.view,arch_db:l10n_fr_association.view_partner_form_inherit_base +msgid "Association" +msgstr "" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__company_registry_date +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__company_registry_date +msgid "Association National Register declaration date" +msgstr "Date d'enregistrement au Registre National des Associations" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__company_registry +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__company_registry +msgid "Company ID" +msgstr "ID de la société" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__constituent_ga_date +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__constituent_ga_date +msgid "Consitutent GA" +msgstr "AG Constitutive" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__constituent_ga_date +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__constituent_ga_date +msgid "Constituent General Assembly date" +msgstr "Date de l'Assemblée Générale Constitutive" #. module: l10n_fr_association #: model:ir.model,name:l10n_fr_association.model_res_partner @@ -26,21 +67,50 @@ msgid "Contact" msgstr "" #. module: l10n_fr_association -#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__asso_create_date -#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__asso_create_date -msgid "Creation date" -msgstr "Date de création" +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__prefecture_date +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__prefecture_date +msgid "Declaration date" +msgstr "Date de déclaration" + +#. module: l10n_fr_association +#: model_terms:ir.ui.view,arch_db:l10n_fr_association.view_partner_form_inherit_base +msgid "Foundation" +msgstr "Fondation" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__is_french +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__is_french +msgid "French partner" +msgstr "Partenaire français" #. module: l10n_fr_association #: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__internal_regul_update_date #: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__internal_regul_update_date -msgid "Internal Regul update" -msgstr "Màj du règlement intérieur" +msgid "Internal Reg. update" +msgstr "Màj du Règl. Int." + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__internal_regul_file +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__internal_regul_file +msgid "Internal Regulations file" +msgstr "Règlement Intérieur" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__internal_regul_filename +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__internal_regul_filename +msgid "Internal Regulations filename" +msgstr "Nom du fichier RI" #. module: l10n_fr_association #: model_terms:ir.ui.view,arch_db:l10n_fr_association.view_partner_form_inherit_base msgid "Internal documents" -msgstr Documents internes" +msgstr "Documents internes" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__association +msgid "Is an association" +msgstr "Association" #. module: l10n_fr_association #: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__last_ga_date @@ -59,23 +129,107 @@ msgid "Legal information" msgstr "Informations légales" #. module: l10n_fr_association -#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__internal_regul_file +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__naf_ape +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__naf_ape +msgid "NAF/APE code" +msgstr "Code NAF/APE" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__official_journal_dept_id +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__official_journal_dept_id +msgid "OJ department" +msgstr "Département du JO" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__official_journal +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__official_journal +msgid "OJ reference" +msgstr "Référence du JO" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__official_journal_date +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__official_journal_date +msgid "Official Journal" +msgstr "Journal Officiel du" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__official_journal_date +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__official_journal_date +msgid "Official Journal publication date" +msgstr "Date de publication au Journal Officiel" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__official_journal_dept_id +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__official_journal_dept_id +msgid "Official Journal publication department" +msgstr "Département de publication au Journal Officiel" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__official_journal +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__official_journal +msgid "Official Journal reference" +msgstr "Numéro du Journal Officiel" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__prefecture +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__prefecture +msgid "Prefecture" +msgstr "Préfecture" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__prefecture +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__prefecture +msgid "Prefecture (city) of declaration" +msgstr "Préfecture (ville) de déclaration" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__prefecture_date +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__prefecture_date +msgid "Prefecture declaration date" +msgstr "Date de déclaration en préfecture" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__asso_project_update_date +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__asso_project_update_date +msgid "Project update" +msgstr "Màj du Projet" + +#. module: l10n_fr_association +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__company_registry_date +#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__company_registry_date +msgid "Registration date" +msgstr "Date d'enregistrement" + +#. module: l10n_fr_association +#: model_terms:ir.ui.view,arch_db:l10n_fr_association.view_partner_form_inherit_base +msgid "Short name" +msgstr "Initiales" + +#. module: l10n_fr_association #: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__statuses_file -#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__internal_regul_file #: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__statuses_file msgid "Statuses file" msgstr "Statuts" #. module: l10n_fr_association -#: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__internal_regul_filename #: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__statuses_filename -#: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__internal_regul_filename #: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__statuses_filename msgid "Statuses filename" -msgstr "Nom du fichier statuts" +msgstr "Nom du fichier Statuts" #. module: l10n_fr_association #: model:ir.model.fields,field_description:l10n_fr_association.field_res_partner__statuses_update_date #: model:ir.model.fields,field_description:l10n_fr_association.field_res_users__statuses_update_date msgid "Statuses update" msgstr "Màj des statuts" + +#. module: l10n_fr_association +#: model:ir.model.fields,help:l10n_fr_association.field_res_partner__company_registry +#: model:ir.model.fields,help:l10n_fr_association.field_res_users__company_registry +msgid "" +"The registry number of the company. Use it if it is different from the Tax " +"ID. It must be unique across all partners of a same country" +msgstr "" +"Le numéro de registre de la société. Utilisez-le s'il est différent du " +"numéro d'identification fiscale. Il doit être unique parmi tous les " +"partenaires d'un même pays" diff --git a/l10n_fr_association/models/__init__.py b/l10n_fr_association/models/__init__.py index 91fed54..0fbdfcf 100644 --- a/l10n_fr_association/models/__init__.py +++ b/l10n_fr_association/models/__init__.py @@ -1 +1,2 @@ +# -*- coding: utf-8 -*- from . import res_partner diff --git a/l10n_fr_association/models/res_partner.py b/l10n_fr_association/models/res_partner.py index 7164820..654c559 100644 --- a/l10n_fr_association/models/res_partner.py +++ b/l10n_fr_association/models/res_partner.py @@ -1,17 +1,129 @@ # -*- coding: utf-8 -*- -from odoo import models, fields +from odoo import models, fields, api class ResPartner(models.Model): _inherit = "res.partner" - # Important dates - asso_create_date = fields.Date(string="Creation date", tracking="80") + association = fields.Boolean(string="Is an association") + is_french = fields.Boolean( + string="French partner", compute="partner_is_french", store=True + ) + constituent_ga_date = fields.Date( + string="Consitutent GA", + tracking="80", + help="Constituent General Assembly date", + ) + prefecture_date = fields.Date( + string="Declaration date", + tracking="82", + help="Prefecture declaration date", + ) + prefecture = fields.Char( + string="Prefecture", + tracking="81", + help="Prefecture (city) of declaration", + ) + official_journal_date = fields.Date( + string="Official Journal", + tracking="83", + help="Official Journal publication date", + ) + official_journal_dept_id = fields.Many2one( + comodel_name="res.country.department", + string="OJ department", + tracking="81", + help="Official Journal publication department", + domain=[ + ( + "country_id.code", + "in", + ( + "FR", + "GP", + "MQ", + "GF", + "RE", + "YT", + ), + ) + ], + ) + official_journal = fields.Char( + string="OJ reference", + tracking="81", + help="Official Journal reference", + ) + company_registry_date = fields.Date( + string="Registration date", + help="Association National Register declaration date", + tracking="83", + ) + company_registry = fields.Char(tracking="83") + naf_ape = fields.Char(string="NAF/APE code", tracking="83") last_ga_date = fields.Date(string="Last general assembly", tracking="81") # Documents fields - statuses_file = fields.Binary("Statuses file", tracking="82") - statuses_filename = fields.Char("Statuses filename") + statuses_file = fields.Binary("Statuses file") + statuses_filename = fields.Char("Statuses filename", tracking="83") statuses_update_date = fields.Date("Statuses update", tracking="83") - internal_regul_file = fields.Binary("Statuses file", tracking="84") - internal_regul_filename = fields.Char("Statuses filename") - internal_regul_update_date = fields.Date("Internal Regul update", tracking="85") + internal_regul_file = fields.Binary("Internal Regulations file") + internal_regul_filename = fields.Char( + "Internal Regulations filename", tracking="83" + ) + internal_regul_update_date = fields.Date("Internal Reg. update", tracking="85") + asso_project_file = fields.Binary("Assocation project") + asso_project_filename = fields.Char("Assocation project filename", tracking="83") + asso_project_update_date = fields.Date("Project update", tracking="83") + + @api.depends("country_id") + def partner_is_french(self): + for partner in self: + partner.is_french = partner.country_id and partner.country_id.code in ( + "FR", + "GP", + "MQ", + "GF", + "RE", + "YT", + ) + + @api.onchange("is_company", "country_id") + def onchange_asso_is_french_company(self): + if self.association and (not self.is_company or not self.is_french): + self.association = False + + # @api.onchange("association") + # def onchange_association(self): + # if not self.association: + # values = {} + # if self.statuses_file: + # values.update( + # { + # "statuses_file": False, + # "statuses_filename": False, + # "statuses_update_date": False, + # } + # ) + # if self.internal_regul_file: + # values.update( + # { + # "internal_regul_file": False, + # "internal_regul_filename": False, + # "internal_regul_update_date": False, + # } + # ) + # for field in [ + # "association", + # "asso_creation_date", + # "prefecture_date", + # "prefecture", + # "official_journal_date", + # "company_registry_date", + # "company_registry", + # "naf_ape", + # "last_ga_date", + # ]: + # if getattr(self, field) != False: + # values.update({field: False}) + # if values: + # self.update(values) diff --git a/l10n_fr_association/views/res_partner.xml b/l10n_fr_association/views/res_partner.xml index 3c24d2e..524b018 100644 --- a/l10n_fr_association/views/res_partner.xml +++ b/l10n_fr_association/views/res_partner.xml @@ -6,14 +6,42 @@ res.partner + + + + + + + + {'invisible': ['|',('is_company','=',False),('association','=',True)]} + + + + + + {'invisible': [('association','=',True)]} + - - - - + + + + + + + + + + + + + + + - + @@ -21,6 +49,9 @@ + + + @@ -28,4 +59,18 @@ + + res.partner.view.form.inherit + res.partner + + + + {'invisible': ['|',('is_company','=',False),('association','=',True)]} + + + + + + + \ No newline at end of file