diff --git a/__manifest__.py b/__manifest__.py index bf9138e98519f07ff2e1257b69d087c8c70c94cc..a8b2c62c262a1e009bb2cbcb1fcd5df5f5ccd8d6 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,14 +1,13 @@ { "name": "CG SCOP - Gestion Contacts", "summary": "CG SCOP - Gestion des contacts", - "version": "12.0.1.2.0", - "development_status": "Production/Stable", + "version": "14.0.1.0.0", "author": "Le Filament", "license": "AGPL-3", "application": False, "depends": [ "cgscop_base", - "l10n_fr_base_location_geonames_import_cedex", + "base_location", "lefilament_naf", "partner_address_street3", "partner_company_type", @@ -19,22 +18,6 @@ "data": [ "security/security_rules.xml", "security/ir.model.access.csv", - "views/assets.xml", - "wizard/scop_address_wizard.xml", - "wizard/scop_period_wizard.xml", - "wizard/scop_deces_wizard.xml", - "wizard/scop_membership_out_wizard.xml", - "wizard/scop_membership_period_wizard.xml", - "wizard/scop_status_wizard.xml", - "views/res_company.xml", - "views/res_users.xml", - "views/res_partner.xml", - "views/res_partner_cooperative.xml", - "views/scop_config_views.xml", - "views/scop_config_lists_views.xml", - "views/scop_partner_staff.xml", - "views/scop_period_views.xml", - "views/scop_federation_activity.xml", "datas/union_regionale_data.xml", "datas/res_country_state.xml", "datas/res_partner_certification_data.xml", @@ -55,8 +38,23 @@ "datas/scop_contribution_type_data.xml", "datas/scop_membership_reason_end_data.xml", "datas/scop_membership_type_data.xml", - "datas/scop_questionnaire_type_data.xml", + "wizard/scop_address_wizard.xml", + "wizard/scop_period_wizard.xml", + "wizard/scop_deces_wizard.xml", + "wizard/scop_membership_out_wizard.xml", + "wizard/scop_membership_period_wizard.xml", + "wizard/scop_status_wizard.xml", + "views/assets.xml", + "views/res_company.xml", + "views/res_users.xml", + "views/res_partner.xml", + "views/res_partner_cooperative.xml", + "views/scop_config_views.xml", + "views/scop_config_lists_views.xml", + "views/scop_partner_staff.xml", + "views/scop_period_views.xml", + "views/scop_federation_activity.xml", ], "installable": True, - 'auto_install': False, + "auto_install": False, } diff --git a/datas/scop_contribution_type_data.xml b/datas/scop_contribution_type_data.xml index 53ed471cb7a49125116dce8a8a1a3601ad753397..ff5948b6d550424d151d9577976d10e6e07d45c2 100644 --- a/datas/scop_contribution_type_data.xml +++ b/datas/scop_contribution_type_data.xml @@ -1,5 +1,6 @@ <?xml version="1.0"?> <odoo> +<!-- TODO: Déplacer dans scop_cotisation--> <data noupdate="1"> <record id="riga_14397" model="scop.contribution.type"> <field name="id_riga" eval="14397"/> diff --git a/datas/scop_questionnaire_type_data.xml b/datas/scop_questionnaire_type_data.xml deleted file mode 100644 index f355d2a809c6f7d201165fa161b6403566af9ce1..0000000000000000000000000000000000000000 --- a/datas/scop_questionnaire_type_data.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<odoo> - <data noupdate="1"> - <record id="questionnaire_type_1" model="scop.questionnaire.type"> - <field name="name">Inscription</field> - </record> - - <record id="questionnaire_type_2" model="scop.questionnaire.type"> - <field name="name">Liste Ministère</field> - </record> - </data> -</odoo> diff --git a/i18n/fr.po b/i18n/fr.po deleted file mode 100644 index 1d9db000ff2b71cba0fe117a76345ce7c6da6bc1..0000000000000000000000000000000000000000 --- a/i18n/fr.po +++ /dev/null @@ -1,2536 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * contacts -# * cgscop_partner -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-13 08:45+0000\n" -"PO-Revision-Date: 2019-12-13 08:45+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: contacts -#: model:ir.ui.menu,name:contacts.res_partner_menu_contacts -msgid "Contacts" -msgstr "Personnes" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__quarter_1 -msgid "1er Trim." -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__first_closeout -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__first_closeout -msgid "1er bilan en coop" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__quarter_2 -msgid "2ème Trim." -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__quarter_3 -msgid "3ème Trim." -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__quarter_4 -msgid "4ème Trim." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "<span class=\"o_field_header o_field_widget o_readonly_modifier\" attrs=\"{'invisible':[('dissolution_reason_id','=', False)]}\">Décédée le</span>" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "<span class=\"o_field_header o_field_widget o_readonly_modifier\" attrs=\"{'invisible':[('dissolution_reason_id','=', False)]}\">Raison :</span>" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "<span name=\"cae\" class=\"o_field_widget o_readonly_modifier o_field_header oe_read_only\" attrs=\"{'invisible':[('cae','=',False)]}\">CAE</span>" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_up_to_date_cg -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_up_to_date_cg -msgid "A jour cotisation CG" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_up_to_date_fede -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_up_to_date_fede -msgid "A jour cotisation Fédérations" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_up_to_date_ur -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_up_to_date_ur -msgid "A jour cotisation UR" -msgstr "" - -#. module: cgscop_partner -#: model:ir.ui.menu,name:cgscop_partner.menu_cgscop_api_config -msgid "APIs CG Scop" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__name -msgid "Abbréviation" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__subscription_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__subscription_ids -msgid "Abonnements" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_mail_activity_type -msgid "Activity Type" -msgstr "Type d'activité" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Activités du Jour" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Activités en retard" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Activités futures" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Address" -msgstr "Adresse" - -#. module: cgscop_partner -#: selection:res.partner,membership_status:0 -msgid "Adhérent" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Adhérents" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Adhérents de mon UR" -msgstr "" - -#. module: cgscop_partner -#: model:res.groups,name:cgscop_partner.group_cg_administrator -msgid "Administrateur CG" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Adresse du siège social" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_mandate_tree -msgid "Affiche et gère la liste des Mandats" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_segment1_tree -msgid "Affiche et gère la liste des Ségmentations 1." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_segment2_tree -msgid "Affiche et gère la liste des Ségmentations 2." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_segment3_tree -msgid "Affiche et gère la liste des Ségmentations 3." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_segment4_tree -msgid "Affiche et gère la liste des Ségmentations 4." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_scop_period -msgid "Affiche et gère les Historiques des Périodes" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_membership_period -msgid "Affiche et gère les Périodes d'Adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__certification_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__certification_ids -msgid "Agrément" -msgstr "" - -#. module: cgscop_partner -#: model:res.groups,name:cgscop_partner.group_add_period -msgid "Ajout nouvelle période" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,revision_type:0 -msgid "Annuelle" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__year -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__year -msgid "Année" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__birthyear -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__birthyear -msgid "Année de naissance" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Août" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Archivés" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14675 -msgid "Artisan / Commerçant" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14672 -msgid "Association loi 1901 ou assimilée" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,contact_legality:0 -msgid "Aucune" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -#: selection:scop.period.wizard,end_reason:0 -msgid "Autres" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__other_child_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__other_child_ids -msgid "Autres Contacts" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Autres Contacts / Adresses" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Avatar" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Avril" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__bank_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__bank_id -msgid "Banque principale" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__bank2_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__bank2_id -msgid "Banque secondaire" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__cae -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__cae -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__cae -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__cae -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "CAE" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__zip -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__zip -msgid "CP" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "CP / Ville autocomplétion..." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "CP..." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "CP/Ville autocomplétion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_prescriber_canal -msgid "Canal de Prescription" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__capital -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__capital -msgid "Capital (en €)" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__organization_type_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__organization_type_id -msgid "Catégorie Type" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__cedex -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__cedex -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__cedex -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__cedex -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Cedex" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_certification -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__name -msgid "Certification" -msgstr "Agrément" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_certification_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_certification -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_certification_tree -msgid "Certifications" -msgstr "Agréments" - -#. module: cgscop_partner -#: sql_constraint:union.regionale:0 -msgid "Cette Union Régionale existe déjà !" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -#: selection:scop.period.wizard,end_reason:0 -msgid "Changement d'activité (NAF)" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -#: selection:scop.period.wizard,end_reason:0 -msgid "Changement d'adresse" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -#: selection:scop.period.wizard,end_reason:0 -msgid "Changement de dénomination sociale" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -#: selection:scop.period.wizard,end_reason:0 -msgid "Changement de forme coopérative" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__city -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__city -msgid "City" -msgstr "Ville" - -#. module: cgscop_partner -#: selection:res.partner,contact_legality:0 -msgid "Client en contrat" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_deces_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_out_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Close" -msgstr "Fermer" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__naf_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__naf_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__naf_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__naf_id -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Code NAF" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Code postal" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_naf -msgid "Codes NAF" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14673 -msgid "Collectivité territoriale" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__note -msgid "Commentaire" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__comments -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__note -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__note -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__note -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__comments -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__comments -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Commentaires" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Commentaires..." -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__auditor_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__auditor_id -msgid "Commissaire aux Comptes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__auditor_person_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__auditor_person_id -msgid "Commissaire aux Comptes (personne)" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_company -msgid "Companies" -msgstr "Sociétés" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__consent -#: selection:res.partner,contact_legality:0 -msgid "Consentement" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__partner_id -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Contact" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Contact / Address" -msgstr "Contact / Adresse" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Contact Dirigeant" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.cgscop_action_contacts_summary -msgid "Contacts" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Contacts & Addresses" -msgstr "Contacts & Adresses" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__director_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__director_ids -msgid "Contacts Dirigeants" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_scop_contribution_type_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_contribution_type -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_contribution_type_tree -msgid "Contribution Types" -msgstr "Types de Cotisation" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_contribution_type -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__name -msgid "Contribution type" -msgstr "Type de Cotisation" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_contribution -msgid "Contributions" -msgstr "Cotisations" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_cooperative_form_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_cooperative_form_tree -msgid "Cooperative Forms" -msgstr "Formes Coopératives" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_cooperative_form -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__cooperative_form_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__cooperative_form_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__cooperative_form_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__cooperative_form_id -msgid "Cooperative form" -msgstr "Forme Coopérative" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_tree -msgid "Cooperatives" -msgstr "Coopératives" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_cooperative_act -#: model:ir.ui.menu,name:cgscop_partner.menu_action_cooperative -msgid "Coopératives" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__contribution_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__contribution_ids -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Cotisations" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__color -msgid "Couleur Index" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__country_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__country_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__country_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__country_id -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Country" -msgstr "Pays" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__create_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__create_uid -msgid "Created by" -msgstr "Créé par" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__create_date -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__create_date -msgid "Created on" -msgstr "Créé le" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_creation_origin -msgid "Creation Origin" -msgstr "Origine de Création en coop" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_creation_origin_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_creation_origin -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_creation_origin_tree -msgid "Creation Origins" -msgstr "Origines de création en coop" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_period_wizard -msgid "Création d'une nouvelle période" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_membership_period_wizard -msgid "Création d'une nouvelle période d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_deces_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_out_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Créer" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__date_1st_sign -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__date_1st_sign -msgid "Date 1ère signature coop" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__calculation_date -msgid "Date calcul cotisation" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__effective_date -msgid "Date d'effet du questionnaire" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__registration_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__registration_date -msgid "Date d'immatriculation RCS" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__dissolution_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__dissolution_date -msgid "Date de Décès" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__seed_end -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__seed_end -msgid "Date de fin du dispositif d'amorçage" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_person_assign_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_person_assign_date -msgid "Date de nomination du réviseur" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__date -msgid "Date de révision" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__staff_last_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__staff_last_date -msgid "Date dernier effectif connu" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_contract -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_contract -msgid "Date du contrat de révision" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Delivery" -msgstr "Livraison" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__staff_last -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__staff_last -msgid "Dernier effectif connu" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Dirigeants" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__display_name -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_certification_tree -msgid "Display and manage the list of Certifications." -msgstr "Affiche et gère la liste des Agréments." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_scop_contribution_type_tree -msgid "Display and manage the list of Contribution Types." -msgstr "Affiche et gère la liste des Types de Cotisations." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_cooperative_form_tree -msgid "Display and manage the list of Cooperative Forms." -msgstr "Affiche et gère la liste des Formes Coopératives." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_creation_origin_tree -msgid "Display and manage the list of Creation Origins." -msgstr "Affiche et gère la liste des Origines de Création en coop." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_dissolution_reason_tree -msgid "Display and manage the list of Dissolution Reasons." -msgstr "Affiche et gère la liste des Motifs de Décès." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_scop_membership_type_tree -msgid "Display and manage the list of Membership Types." -msgstr "Affiche et gère la liste des Types d'Adhésions." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_newsletter_tree -msgid "Display and manage the list of Newsletters." -msgstr "Affiche et gère la liste des Abonnements." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_organization_type_tree -msgid "Display and manage the list of Organization Types." -msgstr "Affiche et gère la liste des Types d'Organismes." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_scop_questionnaire_type_tree -msgid "Display and manage the list of Questionnaire Types." -msgstr "Affiche et gère la liste des Types de Questionnaires." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_res_partner_rgpd_origin_tree -msgid "Display and manage the list of RGPD Origins." -msgstr "Affiche et gère la liste des Origines de Contact." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_scop_membership_reason_end_tree -msgid "Display and manage the list of Reasons for end of Membership." -msgstr "Affiche et gère la liste des Motifs de fin d'Adhésion." - -#. module: cgscop_partner -#: model_terms:ir.actions.act_window,help:cgscop_partner.action_view_scop_revision_format_tree -msgid "Display and manage the list of Revision Formats." -msgstr "Affiche et gère la liste des Formats de Révision." - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_dissolution_reason -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__name -msgid "Dissolution Reason" -msgstr "Motif de Décès" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_dissolution_reason_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_dissolution_reason -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_dissolution_reason_tree -msgid "Dissolution Reasons" -msgstr "Motifs de Décès" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Dossier créé CG" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__start -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__start -msgid "Début de validité" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__start -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__start -msgid "Début d’adhésion" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Décembre" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -msgid "Décès" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_deces_wizard -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_deces_wizard_view_form -msgid "Décès" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_deces_wizard_view_form -msgid "Décès / Mise en sommeil" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_deces_wizard_create_action -msgid "Décès période" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Décès/Mise en sommeil" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Délégué" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__creation_delegate_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__creation_delegate_id -msgid "Délégué de création" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__followup_delegate_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__followup_delegate_id -msgid "Délégué de suivi" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Département" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "E-mail" -msgstr "Courriel" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__spreading -msgid "Echelonnement" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__staff_average -msgid "Eff. Moyen (EM)" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__staff_shareholder_count -msgid "Nb Sociétaires Salarié" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__revision_staff -msgid "Effectif" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__staff_count -msgid "Effectif (EF)" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Envoyer Dossier CG" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_incubated -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_incubated -msgid "Est incubé" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_auditor -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_auditor -msgid "Est un Commissaire au compte" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_accountant -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_accountant -msgid "Est un Expert-comptable" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_company_type__is_coop -msgid "Est un statut coopératif" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_seed_scop -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_seed_scop -msgid "Est une SCOP d'amorçage" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__is_cooperative -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__is_cooperative -msgid "Est une coopérative" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__revision_result_year -msgid "Exercice révisé" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__accountant_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__accountant_id -msgid "Expert-Comptable" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__accountant_person_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__accountant_person_id -msgid "Expert-Comptable (personne)" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__facebook -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__facebook -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Facebook" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__end -msgid "Fin d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__end -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__end -msgid "Fin de validité" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__end -msgid "Fin d’adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_financial_category -msgid "Financial category" -msgstr "Typologie de Financement" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_financial_tools -msgid "Financial tools" -msgstr "Outils de Financement" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_format_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_format_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__revision_format_id -msgid "Format de révision" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Forme Coopérative" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,contact_legality:0 -msgid "Fournisseur en contrat" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Février" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Group By" -msgstr "Regrouper par" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__scop_period_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__scop_period_ids -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Historique" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_scop_period -#: model:ir.ui.menu,name:cgscop_partner.menu_action_periods -msgid "Historique des périodes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__id -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__id -msgid "ID" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__color -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__color -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__color -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__color -msgid "ID Couleur" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_company_type__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_naf__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__id_riga -msgid "ID RIGA" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__id_riga -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__id_riga -msgid "Identifiant RIGA" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__id_ur -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__id_ur -msgid "Identifiant UR" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__incubator_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__incubator_id -msgid "Incubateur" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Informations Activité" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Informations Générales" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Informations de révision" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_financial_intervention_type -msgid "Intervention type" -msgstr "Type d'Intervention" - -#. module: cgscop_partner -#: selection:res.partner,contact_legality:0 -msgid "Intérêt légitime" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Invoice" -msgstr "Facture" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Janvier" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Juillet" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Juin" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_keywords -msgid "Keywords SCIC" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format____last_update -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__last_period_id -msgid "Last Period" -msgstr "Dernière Période" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__write_uid -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__write_uid -msgid "Last Updated by" -msgstr "Dernière mise à jour par" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_certification__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_cooperative_form__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_dissolution_reason__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution_type__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__write_date -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__write_date -msgid "Last Updated on" -msgstr "Dernière mise à jour le" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_legal_event_type -msgid "Legal Event type" -msgstr "Type d'Évènement Juridique" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__partner_company_type_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__partner_company_type_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__partner_company_type_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__partner_company_type_id -msgid "Legal Form" -msgstr "Statut Juridique" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_legal_event -msgid "Legal event" -msgstr "Évènement Juridique" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__contact_legality -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__contact_legality -msgid "Licéité du contact" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__linkedin -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__linkedin -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "LinkedIn" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_ids -msgid "Liste des Révisions" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__questionnaire_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__questionnaire_ids -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Listes Ministère" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Location completion" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Logo" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Madame" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Mai" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_mandate -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__mandate_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_mandate__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__mandate_id -msgid "Mandat" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_mandate_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_mandate -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_mandate_tree -msgid "Mandats" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Mars" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_scop_membership_type_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_membership_type -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_membership_type_tree -msgid "Membership Types" -msgstr "Types d'Adhésions" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_membership_period -msgid "Membership period" -msgstr "Période d'Adhésion" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_membership_type -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_type__name -msgid "Membership type" -msgstr "Type d'Adhésion" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Mes Activités" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Mes Projets" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Mes Scop Révisées" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Mes Scop suivies" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Mes organismes" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.revision,revision_followup:0 -msgid "Mesures Correctives" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_ministry_list -msgid "Ministry list" -msgstr "Liste Ministère" - -#. module: cgscop_partner -#: selection:scop.revision,revision_followup:0 -msgid "Mise en demeure" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__amount_remaining_previous -msgid "Mnt Restant cum. à fin N-1" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__amount_paid_late -msgid "Mnt réglé après clôture" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Mobile:" -msgstr "Mobile :" - -#. module: cgscop_partner -#: selection:scop.period,end_reason:0 -#: selection:scop.period.wizard,end_reason:0 -msgid "Modification de la forme juridique" -msgstr "" - -#. module: cgscop_partner -#: model:res.groups,name:cgscop_partner.group_edit_period -msgid "Modification période" -msgstr "" - -#. module: cgscop_partner -#: model:res.groups,name:cgscop_partner.group_ur_list_modif -msgid "Modifier les listes spécifiques de mon UR" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__closeout_month -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__closeout_month -msgid "Mois clôture exercices" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Mon UR" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__amount_remaining -msgid "Montant Restant" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__amount_called -msgid "Montant appelé" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__amount_calculated -msgid "Montant calculé" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__amount_paid -msgid "Montant réglé" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__end_reason -msgid "Motif" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__dissolution_reason_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__dissolution_reason_id -msgid "Motif Décès" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__dissolution_reason_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__dissolution_reason_id -msgid "Motif Décès" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__end_reason -msgid "Motif de fin de validité" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__end_reason_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__end_reason_id -msgid "Motif de fin d’adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__name -msgid "Name" -msgstr "Nom" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_newsletter -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_newsletter_subscription__newsletter_id -msgid "Newsletter" -msgstr "Abonnement" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_newsletter_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_newsletter -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_newsletter_tree -msgid "Newsletters" -msgstr "Abonnements" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__member_number -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__member_number -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__number -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__number -msgid "No adhérent" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__name -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__name -#: model:ir.model.fields,field_description:cgscop_partner.field_union_regionale__long_name -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_form_firstname_scop -msgid "Nom" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Nom de famille" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,membership_status:0 -msgid "Non Adhérent" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Nouvelle Période" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_period_wizard_view_form -msgid "Nouvelle Période d'Adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_period_wizard_create_action -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Nouvelle période" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_membership_period_wizard_create_action -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Nouvelle période d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Novembre" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__zip_departement -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__zip_departement -msgid "Num Département" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__social_object -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__social_object -msgid "Objet Social" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Octobre" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__partner_id -msgid "Organisme" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_company_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_company_id -msgid "Organisme de révision" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_backup_company_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_backup_company_id -msgid "Organisme de révision suppléant" -msgstr "" - -#. module: cgscop_partner -#: model:ir.ui.menu,name:cgscop_partner.menu_organismes -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_organisme_tree -msgid "Organismes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_organization_type_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_organization_type -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_organization_type_tree -msgid "Organization Types" -msgstr "Types d'Organismes" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_rgpd_origin -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_rgpd_origin__name -msgid "Origin" -msgstr "Origine du Contact" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__parent_id -msgid "Origine (parent)" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__name -msgid "Origine / Sous-Origine" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__creation_origin_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__creation_origin_id -msgid "Origine création en coop" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__contact_origin_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__contact_origin_id -msgid "Origine du contact" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__parent_path -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__parent_path -msgid "Parent Path" -msgstr "Chemin parent" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_companies_only -#: model:ir.ui.menu,name:cgscop_partner.res_partner_menu_companies -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_tree_view -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Partenaires" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_deces_wizard__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__partner_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__partner_id -msgid "Partner" -msgstr "Partenaire" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_company_type -msgid "Partner Company Type" -msgstr "Type de Statut Juridique" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_category -msgid "Partner Tags" -msgstr "Segmentation des Contacts" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Pays" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_not_companies_only -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_person_tree_view -msgid "Personnes" -msgstr "Personnes" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__loss -msgid "Perte" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Phase d'accompagnement projet" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Phase d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Phase d'information" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Phase de pré-diagnostic" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Phase de suivi" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Phone:" -msgstr "Téléphone :" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__previous_period_id -msgid "Previous Period" -msgstr "Période précédente" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_next_date -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_next_date -msgid "Prochain exercice révisable" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14674 -msgid "Profession libérale" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Projet abandonné" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Prospect Abandonne" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_prospect_act -#: model:ir.ui.menu,name:cgscop_partner.menu_action_prospect -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_prospect_tree -msgid "Prospects" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_form_firstname_scop -msgid "Prénom" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Période" -msgstr "" - -#. module: cgscop_partner -#: model:ir.ui.menu,name:cgscop_partner.menu_periods -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_period_tree -msgid "Périodes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_membership_period -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__membership_period_ids -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__membership_period_ids -#: model:ir.ui.menu,name:cgscop_partner.menu_action_membership_period -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_membership_period_tree -msgid "Périodes d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_type -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_type -msgid "Périodicité de la révision" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_questionnaire -msgid "Questionnaire" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_scop_questionnaire_type_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_questionnaire_type -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_questionnaire_type_tree -msgid "Questionnaire Types" -msgstr "Types de Questionnaires" - -#. module: cgscop_partner -#: selection:res.partner,revision_type:0 -msgid "Quinquennale" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,revision_type:0 -msgid "Quinquennale séquencée" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.revision,revision_followup:0 -msgid "RAS" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_rgpd_origin_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_rgpd_origin -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_rgpd_origin_tree -msgid "RGPD Origins" -msgstr "Origines des Contacts" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_membership_out_wizard_create_action -#: model:ir.model,name:cgscop_partner.model_scop_membership_out_wizard -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_out_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Radiation" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,membership_status:0 -msgid "Radié" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__name -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__name -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_tree -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_organisme_tree -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_prospect_tree -msgid "Raison Sociale" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_membership_reason_end -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_reason_end__name -msgid "Reason for end of membership" -msgstr "Motif de fin d’adhésion" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_scop_membership_reason_end_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_membership_reason_end -msgid "Reasons for End of Membership" -msgstr "Motifs de fin d'Adhésion" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_membership_reason_end_tree -msgid "Reasons for end of Membership" -msgstr "Motifs de fin d'Adhésion" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Recherche Contact" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Recherche Organisme" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Responsable des ventes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_revision -msgid "Revision" -msgstr "Révision" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_scop_revision_format_tree -#: model:ir.model,name:cgscop_partner.model_scop_revision_format -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision_format__name -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_revision_format -msgid "Revision Format" -msgstr "Format de Révision" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_scop_revision_format_tree -msgid "Revision Formats" -msgstr "Formats de Révision" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__street -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__street -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -msgid "Rue" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__street2 -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__street2 -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -msgid "Rue 2" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Rue 2..." -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__street3 -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__street3 -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -msgid "Rue 3" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Rue 3..." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Rue..." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Région" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Réseaux sociaux" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.revision,revision_followup:0 -msgid "Réserves" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_person_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_person_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__delegate_id -msgid "Réviseur" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__revision_certified_person_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__revision_certified_person_id -msgid "Réviseur agréé" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Révisions" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_14668 -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_14670 -msgid "SA" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_14669 -msgid "SARL" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_16496 -msgid "SARLU" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_14671 -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_16399 -msgid "SAS" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_14860 -msgid "SCI" -msgstr "" - -#. module: cgscop_partner -#: model:ir.ui.menu,name:cgscop_partner.menu_scop -msgid "SCOP" -msgstr "" - -#. module: cgscop_partner -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_lists -msgid "SCOP Lists" -msgstr "Listes SCOP" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_period -msgid "SCOP Period" -msgstr "Périodes d'Historique" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_16771 -msgid "SELAS" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__siren -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__siren -msgid "SIREN" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__siret -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__siret -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__siret -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__siret -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "SIRET" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__formatted_siret -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__formatted_siret -msgid "SIRET formaté" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,contact_legality:0 -msgid "Salarié" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Segmentation" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__segment_1_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__segment_1_id -msgid "Segmentation 1" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__segment_2_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__segment_2_id -msgid "Segmentation 2" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__segment_3_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__segment_3_id -msgid "Segmentation 3" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__segment_4_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__segment_4_id -msgid "Segmentation 4" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_segment1_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_segment1 -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_segment1_tree -msgid "Segmentations 1" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_segment2_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_segment2 -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_segment2_tree -msgid "Segmentations 2" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_segment3_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_segment3 -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_segment3_tree -msgid "Segmentations 3" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.action_view_res_partner_segment4_tree -#: model:ir.ui.menu,name:cgscop_partner.menu_res_partner_segment4 -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_segment4_tree -msgid "Segmentations 4" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_segment -msgid "Segments" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_segment1 -msgid "Segments 1" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_segment2 -msgid "Segments 2" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_segment3 -msgid "Segments 3" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_segment4 -msgid "Segments 4" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,closeout_month:0 -msgid "Septembre" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Show all records which has next action date is before today" -msgstr "Montrez toutes les enregistrements pour lesquelles la date des prochaines actions est pour aujourd'hui ou avant. " - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__sigle -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__sigle -msgid "Sigle" -msgstr "" - -#. module: cgscop_partner -#: selection:scop.revision,revision_followup:0 -msgid "Simples Remarques et Observations" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -msgid "Société" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14668 -msgid "Société Anonyme à Conseil d'Administration" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14670 -msgid "Société Anonyme à directoire" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14860 -msgid "Société Civile Immobilière (SCI)" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14677 -msgid "Société civile coopérative" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_16771 -msgid "Société d exercice libéral par action simplifiée (SELAS)" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14671 -msgid "Société par actions simplifiée (SAS)" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_16399 -msgid "Société par actions simplifiée à associé unique (SASU)" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_14669 -msgid "Société à Responsabilité Limitée (SARL)" -msgstr "" - -#. module: cgscop_partner -#: model:res.partner.company.type,name:cgscop_partner.riga_16496 -msgid "Société à Responsabilité Limitée (SARL) unipersonnelle" -msgstr "" - -#. module: cgscop_partner -#: selection:res.partner,project_status:0 -msgid "Soumis CGScop" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_creation_origin__child_ids -msgid "Sous origines" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__child_ids -msgid "Sous types" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__creation_suborigin_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__creation_suborigin_id -msgid "Sous-Origine création en coop" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__state_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__state_id -msgid "State" -msgstr "État" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -msgid "Statut" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Statut Juridique" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__membership_status -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__membership_status -msgid "Statut d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__project_status -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__project_status -msgid "Statut projet" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__street -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__street -msgid "Street" -msgstr "Rue" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__street2 -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__street2 -msgid "Street2" -msgstr "Rue 2" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__street3 -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__street3 -msgid "Street3" -msgstr "Rue 3" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_res_partner_filter_partners -msgid "Structure" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_newsletter_subscription -msgid "Subscription" -msgstr "Abonnement" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_contact_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Subscriptions" -msgstr "Abonnements" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Suivi UR" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_revision__revision_followup -msgid "Suivi après révision" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_financial_tools_type -msgid "Tools type" -msgstr "Type d’outil" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.scop_organisme_act -#: model:ir.ui.menu,name:cgscop_partner.menu_action_organismes -msgid "Tous les Organismes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__twitter -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__twitter -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Twitter" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__organization_subtype_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__organization_subtype_id -msgid "Type" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__parent_id -msgid "Type (parent)" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_organization_type__name -msgid "Type / Sous-Type" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_out_wizard__type_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period__type_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_membership_period_wizard__type_id -msgid "Type d'adhésion" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_scop_questionnaire_type -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire_type__name -msgid "Type de Questionnaire" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_contribution__type_id -msgid "Type de cotisation" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_questionnaire__type_id -msgid "Type de questionnaire" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_partner_organization_type -msgid "Type of Organization" -msgstr "" - -#. module: cgscop_partner -#: model:ir.ui.menu,name:cgscop_partner.menu_scop_activity_type -msgid "Types d'Activités" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__phone -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__phone -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Téléphone 1" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__mobile -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__mobile -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Téléphone 2" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Téléphone:" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_company__ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__ur_id -msgid "UR" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_union_regionale -#: model:ir.model.fields,field_description:cgscop_partner.field_mail_activity_type__ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment1__ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment2__ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment3__ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner_segment4__ur_id -msgid "Union Régionale" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__current_user_ur_id -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__current_user_ur_id -msgid "Union Régionale de l'utilisateur" -msgstr "" - -#. module: cgscop_partner -#: model:ir.actions.act_window,name:cgscop_partner.union_regionale_act_window -#: model:ir.ui.menu,name:cgscop_partner.menu_union_regionale -msgid "Unions Régionales" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model,name:cgscop_partner.model_res_users -msgid "Users" -msgstr "Utilisateurs" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__city -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__city -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_partner_view_search -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Ville" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "Ville..." -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "ZIP" -msgstr "Code postal" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__zip_id -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__zip_id -msgid "ZIP Location" -msgstr "Code postal" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period__zip -#: model:ir.model.fields,field_description:cgscop_partner.field_scop_period_wizard__zip -msgid "Zip" -msgstr "Code postal" - -#. module: cgscop_partner -#: model:res.partner.company.type,shortcut:cgscop_partner.riga_14672 -msgid "asso" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "e.g. Directeur des Ventes" -msgstr "" - -#. module: cgscop_partner -#: model:ir.model.fields,field_description:cgscop_partner.field_res_partner__email -#: model:ir.model.fields,field_description:cgscop_partner.field_res_users__email -msgid "eMail administratif" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.view_partner_cooperative_form -msgid "internal note..." -msgstr "note interne..." - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "État" -msgstr "Région" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_deces_wizard_view_form -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_out_wizard_view_form -msgid "Êtes-vous sûr de vouloir clôturer la dernière période ?" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_period_wizard_view_form -msgid "Êtes-vous sûr de vouloir créer une nouvelle période ?" -msgstr "" - -#. module: cgscop_partner -#: model_terms:ir.ui.view,arch_db:cgscop_partner.scop_membership_period_wizard_view_form -msgid "Êtes-vous sûr de vouloir créer une nouvelle période d'adhésion ?" -msgstr "" diff --git a/migration/14.0.1.0.0/post-migration.py b/migration/14.0.1.0.0/post-migration.py new file mode 100644 index 0000000000000000000000000000000000000000..9ee993bc4842c378a7fd29e8786579d58930ae14 --- /dev/null +++ b/migration/14.0.1.0.0/post-migration.py @@ -0,0 +1,32 @@ +# © 2022 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openupgradelib import openupgrade # pylint: disable=W7936 + + +def res_company_sheet_range_map_values(env): + openupgrade.map_values( + env.cr, + openupgrade.get_legacy_name("closeout_month"), + "closeout_month", + [ + ("12842", "Janvier"), + ("12843", "Février"), + ("12844", "Mars"), + ("12845", "Avril"), + ("12846", "Mai"), + ("12847", "Juin"), + ("12848", "Juillet"), + ("12849", "Août"), + ("12850", "Septembre"), + ("12851", "Octobre"), + ("12852", "Novembre"), + ("12853", "Décembre"), + ], + table="res_partner", + ) + + +@openupgrade.migrate() +def migrate(env, version): + res_company_sheet_range_map_values(env) \ No newline at end of file diff --git a/migration/14.0.1.0.0/pre-migration.py b/migration/14.0.1.0.0/pre-migration.py new file mode 100644 index 0000000000000000000000000000000000000000..ee650a26f01eb6e8c7639f3df6302eb2a3071e8b --- /dev/null +++ b/migration/14.0.1.0.0/pre-migration.py @@ -0,0 +1,13 @@ +# © 2022 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openupgradelib import openupgrade + +column_renames = { + "res_partner": [("closeout_month", None)], +} + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_columns(env.cr, column_renames) diff --git a/models/__init__.py b/models/__init__.py index 13c9b782516f8d80212a4be4bb76db2bac7aba04..fb998bbd6c9cac1231e3ec62b8d783687337e8ce 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -4,14 +4,14 @@ from . import ir_http from . import res_company from . import mail_activity_type -from . import res_partner +from . import scop_revision +from . import scop_membership +from . import scop_period +from . import scop_partner_staff +from . import scop_federation_activity +from . import res_partner_lists from . import res_partner_newsletter +from . import res_partner from . import res_users from . import scop_contribution -from . import scop_federation_activity -from . import scop_membership -from . import scop_partner_staff -from . import scop_period -from . import scop_questionnaire -from . import scop_revision from . import union_regionale diff --git a/models/ir_http.py b/models/ir_http.py index 611ba8fafcbf6a147f8da332a0df76c33eb82966..8a07c17c529e7bc349b0800b23984a0700cfbf9d 100644 --- a/models/ir_http.py +++ b/models/ir_http.py @@ -6,13 +6,13 @@ from odoo.http import request class IrHttp(models.AbstractModel): - _inherit = 'ir.http' + _inherit = "ir.http" def session_info(self): """ - Ajoute l'ur_id dans le contexte + Ajoute l'ur_id dans le contexte """ result = super(IrHttp, self).session_info() user = self.env.user - result['ur_id'] = user.company_id.ur_id.id + result["ur_id"] = user.company_id.ur_id.id return result diff --git a/models/mail_activity_type.py b/models/mail_activity_type.py index 8d266c29224d3bab046a0e4889f31a8d4a86f95a..65d6376ab1219df9e4c1450e5ef989d3472f68d0 100644 --- a/models/mail_activity_type.py +++ b/models/mail_activity_type.py @@ -8,11 +8,12 @@ class MailActivityType(models.Model): _inherit = "mail.activity.type" def _default_ur(self): - return self.env['res.company']._ur_default_get() + return self.env["res.company"]._ur_default_get() ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', + "union.regionale", + string="Union Régionale", index=True, - on_delete='restrict', - default=_default_ur) + ondelete="restrict", + default=_default_ur, + ) diff --git a/models/res_company.py b/models/res_company.py index 51bdb86e16bf03e50e4364c67148b7bd148f6385..beeef7f053e844f03a01133cb14710165b22395e 100644 --- a/models/res_company.py +++ b/models/res_company.py @@ -10,6 +10,6 @@ class ResCompany(models.Model): @api.model def _ur_default_get(self): # Renvoie l'UR de l'utlisateur courant - return self.env['res.users']._get_ur() + return self.env["res.users"]._get_ur() - ur_id = fields.Many2one('union.regionale', string='UR') + ur_id = fields.Many2one("union.regionale", string="UR") diff --git a/models/res_partner.py b/models/res_partner.py index 4a13425aa8e4ca5b986e36a4942a4b0e2155a444..dcf59a00183b1e06c55c053cfb42fedc39f1480d 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -10,18 +10,42 @@ class ScopPartner(models.Model): _inherit = "res.partner" def _default_ur(self): - return self.env['res.company']._ur_default_get() + return self.env["res.company"]._ur_default_get() def _default_country(self): - return self.env.ref('base.fr', False) + return self.env.ref("base.fr", False) + + @api.model + def _get_domain_incubator_id(self): + try: + incubator_id = self.env.ref('cgscop_partner.incubator').id + return [ + ('is_company', '=', True), + ('organization_subtype_id', '=', incubator_id) + ] + except: + return [('is_company', '=', True)] + + @api.model + def _get_domain_revision_company_id(self): + try: + rev_id = self.env.ref('cgscop_partner.riga_14953').id + com_id = self.env.ref('cgscop_partner.riga_16433').id + return [ + ('is_company', '=', True), + ('organization_subtype_id', 'in', [com_id, rev_id]) + ] + except: + return [('is_company', '=', True)] # Infos générales - champs non affichés is_cooperative = fields.Boolean("Est une coopérative") current_user_ur_id = fields.Many2one( - 'union.regionale', + "union.regionale", string="Union Régionale de l'utilisateur", - compute='_compute_current_user_ur_id', - search='_search_current_user_ur_id') + compute="_compute_current_user_ur_id", + search="_search_current_user_ur_id", + ) # Informations organisme - champs non affichés id_ur = fields.Char("Identifiant UR") @@ -29,79 +53,98 @@ class ScopPartner(models.Model): # Informations Bandeau project_status = fields.Selection( - [('1_information', "Phase d'information"), - ('2_pre-diagnostic', 'Phase de pré-diagnostic'), - ('3_accompagnement', "Phase d'accompagnement projet"), - ('4_adhesion', "Phase d'adhésion"), - ('5_cg', 'Soumis CGScop'), - ('6_suivi', 'Phase de suivi'), - ('7_abandonne', 'Projet abandonné')], - track_visibility='onchange', - string='Statut projet', - index=True) - name = fields.Char(index=True, track_visibility='onchange') + [ + ("1_information", "Phase d'information"), + ("2_pre-diagnostic", "Phase de pré-diagnostic"), + ("3_accompagnement", "Phase d'accompagnement projet"), + ("4_adhesion", "Phase d'adhésion"), + ("5_cg", "Soumis CGScop"), + ("6_suivi", "Phase de suivi"), + ("7_abandonne", "Projet abandonné"), + ], + tracking=True, + string="Statut projet", + index=True, + ) + name = fields.Char(index=True, tracking=True) cooperative_form_id = fields.Many2one( - 'res.partner.cooperative.form', + "res.partner.cooperative.form", string="Cooperative form", - on_delete='restrict', - track_visibility='onchange') + ondelete="restrict", + tracking=True, + ) partner_company_type_id = fields.Many2one( - comodel_name='res.partner.company.type', - string='Legal Form', - on_delete='restrict', - track_visibility='onchange') + comodel_name="res.partner.company.type", + string="Statut Juridique", + ondelete="restrict", + tracking=True, + ) membership_status = fields.Selection( - [('member', 'Adhérent'), - ('not_member', 'Non Adhérent'), - ('out', 'Radié')], + [ + ("member", "Adhérent"), + ("not_member", "Non Adhérent"), + ("out", "Radié"), + ], string="Statut d'adhésion", - compute='_compute_membership', store=True) + compute="_compute_membership", + store=True, + ) member_number = fields.Char( - "No adhérent (texte)", - compute='_compute_membership', store=True) + "No adhérent (texte)", compute="_compute_membership", store=True + ) member_number_int = fields.Integer( "No adhérent", - compute='_compute_membership_int', store=True, group_operator="") + compute="_compute_membership_int", + store=True, + group_operator="", + ) member_start_stat = fields.Date( "Date d'adhésion statistique", - compute='_compute_membership', store=True) + compute="_compute_membership", + store=True, + ) member_start = fields.Date( - "Date d'adhésion", - compute='_compute_membership', store=True) - cae = fields.Boolean("CAE", track_visibility='onchange') + "Date d'adhésion", compute="_compute_membership", store=True + ) + cae = fields.Boolean("CAE", tracking=True) - dissolution_date = fields.Date('Date de Décès', - track_visibility='onchange') + dissolution_date = fields.Date( + "Date de Décès", tracking=True + ) dissolution_reason_id = fields.Many2one( - 'res.partner.dissolution.reason', + "res.partner.dissolution.reason", string="Motif Décès", - on_delete='restrict', - track_visibility='onchange') + ondelete="restrict", + tracking=True, + ) # Infos générales / Contact sigle = fields.Char("Sigle") - street = fields.Char("Rue", track_visibility='onchange') - street2 = fields.Char("Rue 2", track_visibility='onchange') - street3 = fields.Char("Rue 3", track_visibility='onchange') - zip = fields.Char("CP", change_default=True, track_visibility='onchange') + street = fields.Char("Rue", tracking=True) + street2 = fields.Char("Rue 2", tracking=True) + street3 = fields.Char("Rue 3", tracking=True) + zip = fields.Char("CP", change_default=True, tracking=True) zip_departement = fields.Char( - "Num Département", - compute='_compute_num_departement', - store=True) + "Num Département", compute="_compute_num_departement", store=True + ) region = fields.Many2one( - comodel_name='res.country.state', - string='Région', - compute='_compute_region', - store=True) - city = fields.Char("Ville", track_visibility='onchange') - cedex = fields.Char("Cedex", track_visibility='onchange') - country_id = fields.Many2one('res.country', string='Country', - ondelete='restrict', - default=_default_country, - track_visibility='onchange') - phone = fields.Char("Téléphone 1", track_visibility='onchange') - mobile = fields.Char("Téléphone 2", track_visibility='onchange') - email = fields.Char("eMail administratif", track_visibility='onchange') + comodel_name="res.country.state", + string="Région", + compute="_compute_region", + store=True, + ) + city = fields.Char("Ville", tracking=True) + cedex = fields.Char("Cedex", tracking=True) + country_id = fields.Many2one( + "res.country", + string="Pays", + ondelete="restrict", + default=_default_country, + tracking=True, + ) + phone = fields.Char("Téléphone 1", tracking=True) + mobile = fields.Char("Téléphone 2", tracking=True) + email = fields.Char("eMail administratif", tracking=True) facebook = fields.Char("Facebook") linkedin = fields.Char("LinkedIn") twitter = fields.Char("Twitter") @@ -109,369 +152,420 @@ class ScopPartner(models.Model): # Infos générales / Suivi UR ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', + "union.regionale", + string="Union Régionale", index=True, - on_delete='restrict', + ondelete="restrict", default=_default_ur, - track_visibility='onchange') + tracking=True, + ) creation_delegate_id = fields.Many2one( - 'res.users', - string='Délégué de création', - on_delete='restrict', track_visibility='onchange') + "res.users", + string="Délégué de création", + ondelete="restrict", + tracking=True, + ) followup_delegate_id = fields.Many2one( - 'res.users', - string='Délégué de suivi', - domain=[('active', '=', True)], - on_delete='restrict', - track_visibility='onchange') + "res.users", + string="Délégué de suivi", + domain=[("active", "=", True)], + ondelete="restrict", + tracking=True, + ) support_delegate_id = fields.Many2one( - 'res.users', - string='Délégué en support', - domain=[('active', '=', True)], - on_delete='restrict', - track_visibility='onchange') - segment_1_id = fields.Many2many('res.partner.segment1', - column1='partner_id', - column2='segment_id', - string='Segmentation 1') - segment_2_id = fields.Many2many('res.partner.segment2', - column1='partner_id', - column2='segment_id', - string='Segmentation 2') - segment_3_id = fields.Many2many('res.partner.segment3', - column1='partner_id', - column2='segment_id', - string='Segmentation 3') - segment_4_id = fields.Many2many('res.partner.segment4', - column1='partner_id', - column2='segment_id', - string='Segmentation 4') + "res.users", + string="Délégué en support", + domain=[("active", "=", True)], + ondelete="restrict", + tracking=True, + ) + segment_1_id = fields.Many2many( + "res.partner.segment1", + column1="partner_id", + column2="segment_id", + string="Segmentation 1", + ) + segment_2_id = fields.Many2many( + "res.partner.segment2", + column1="partner_id", + column2="segment_id", + string="Segmentation 2", + ) + segment_3_id = fields.Many2many( + "res.partner.segment3", + column1="partner_id", + column2="segment_id", + string="Segmentation 3", + ) + segment_4_id = fields.Many2many( + "res.partner.segment4", + column1="partner_id", + column2="segment_id", + string="Segmentation 4", + ) segment_1_nb = fields.Integer( - string="Nb de segments 1", - compute="_compute_segment_nb") + string="Nb de segments 1", compute="_compute_segment_nb" + ) segment_2_nb = fields.Integer( - string="Nb de segments 2", - compute="_compute_segment_nb") + string="Nb de segments 2", compute="_compute_segment_nb" + ) segment_3_nb = fields.Integer( - string="Nb de segments 3", - compute="_compute_segment_nb") + string="Nb de segments 3", compute="_compute_segment_nb" + ) segment_4_nb = fields.Integer( - string="Nb de segments 4", - compute="_compute_segment_nb") - filiere_ids = fields.Many2many('res.partner.filiere', - column1='partner_id', - column2='filiere_id', - string='Filière') - + string="Nb de segments 4", compute="_compute_segment_nb" + ) + filiere_ids = fields.Many2many( + "res.partner.filiere", + column1="partner_id", + column2="filiere_id", + string="Filière", + ) # Infos générales / Infos activité creation_origin_id = fields.Many2one( - 'res.partner.creation.origin', + "res.partner.creation.origin", string="Origine création en coop", - domain=[('parent_id', '=', False)], - on_delete='restrict', track_visibility='onchange') + domain=[("parent_id", "=", False)], + ondelete="restrict", + tracking=True, + ) creation_suborigin_id = fields.Many2one( - 'res.partner.creation.origin', + "res.partner.creation.origin", string="Sous-Origine création en coop", - domain=[('child_ids', '=', False)], - on_delete='restrict', track_visibility='onchange') + domain=[("child_ids", "=", False)], + ondelete="restrict", + tracking=True, + ) date_1st_sign = fields.Date( - 'Date 1ère signature coop', - track_visibility='onchange') + "Date 1ère signature coop", tracking=True + ) registration_date = fields.Date( - string="Date d'immatriculation RCS", - track_visibility='onchange') - social_object = fields.Text('Objet Social', track_visibility='onchange') + string="Date d'immatriculation RCS", tracking=True + ) + social_object = fields.Text("Objet Social", tracking=True) naf_id = fields.Many2one( - 'res.partner.naf', - string='Code NAF', - on_delete='restrict', - track_visibility='onchange') + "res.partner.naf", + string="Code NAF", + ondelete="restrict", + tracking=True, + ) secteur_id = fields.Many2one( - 'res.partner.secteur.activite', + "res.partner.secteur.activite", string="Secteur d'activité", - related='naf_id.secteur_id', - store=True) - activity_desc = fields.Text("Description de l'activité", track_visibility='onchange') + related="naf_id.secteur_id", + store=True, + ) + activity_desc = fields.Text( + "Description de l'activité", tracking=True + ) certification_ids = fields.Many2many( - comodel_name='res.partner.certification', - string='Agrément', on_delete='restrict') - other_certification = fields.Char( - string='Autre agrément', - required=False) - siret = fields.Char(string='SIRET', size=14, index=True, - track_visibility='onchange') - formatted_siret = fields.Char(string='SIRET formaté', - compute='_compute_from_siret') - siren = fields.Char(string='SIREN', size=11, compute='_compute_from_siret') + comodel_name="res.partner.certification", + string="Agréments", + ondelete="restrict", + ) + other_certification = fields.Char(string="Autre agrément", required=False) + siret = fields.Char( + string="SIRET", size=14, index=True, tracking=True + ) + formatted_siret = fields.Char( + string="SIRET formaté", compute="_compute_formatted_siret" + ) + siren = fields.Char(string="SIREN", size=11, compute="_compute_siren") capital = fields.Integer("Capital (en €)") - first_closeout = fields.Date( - '1er bilan en coop') + first_closeout = fields.Date("1er bilan en coop") closeout_month = fields.Selection( - [(12842, 'Janvier'), - (12843, 'Février'), - (12844, 'Mars'), - (12845, 'Avril'), - (12846, 'Mai'), - (12847, 'Juin'), - (12848, 'Juillet'), - (12849, 'Août'), - (12850, 'Septembre'), - (12851, 'Octobre'), - (12852, 'Novembre'), - (12853, 'Décembre')], - string='Mois clôture exercices', default=12853) + [ + ("12842", "Janvier"), + ("12843", "Février"), + ("12844", "Mars"), + ("12845", "Avril"), + ("12846", "Mai"), + ("12847", "Juin"), + ("12848", "Juillet"), + ("12849", "Août"), + ("12850", "Septembre"), + ("12851", "Octobre"), + ("12852", "Novembre"), + ("12853", "Décembre"), + ], + 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") is_incubated = fields.Boolean("Est incubé") incubator_id = fields.Many2one( - 'res.partner', - string='Incubateur', - domain=[('active', '=', True), ('is_company', '=', True), - ('organization_subtype_id.name', '=', 'Incubateur')], - on_delete='restrict') - is_ag_constitution = fields.Boolean('AG constitutive réalisée') + "res.partner", + string="Incubateur", + domain=_get_domain_incubator_id, + ondelete="restrict", + ) + is_ag_constitution = fields.Boolean("AG constitutive réalisée") is_federation_com = fields.Boolean( - string='Fédération de la Communication', - compute='_compute_federation', + string="Fédération de la Communication", + compute="_compute_federation", store=True, - default=False) + default=False, + ) is_federation_btp = fields.Boolean( - string='Fédération du BTP', - compute='_compute_federation', + string="Fédération du BTP", + compute="_compute_federation", store=True, - default=False) + default=False, + ) is_federation_indus = fields.Boolean( string="Fédération de l'Industrie", - compute='_compute_federation', + compute="_compute_federation", store=True, - default=False) + default=False, + ) is_federation_cae = fields.Boolean( - string='Fédération des CAE', - compute='_compute_federation', + string="Fédération des CAE", + compute="_compute_federation", store=True, - default=False) + default=False, + ) activity_federation_com_ids = fields.Many2many( - comodel_name='scop.federation.com.activity', - relation='res_partner_federation_com_activity_rel', - column1='partner_id', - column2='com_activity_id', + comodel_name="scop.federation.com.activity", + relation="res_partner_federation_com_activity_rel", + column1="partner_id", + column2="com_activity_id", string="Domaine d'activité Com", - help="Fédération de la Com - Domaine d'activité") + help="Fédération de la Com - Domaine d'activité", + ) activity_federation_indus_ids = fields.Many2many( - comodel_name='scop.federation.indus.activity', - relation='res_partner_federation_indus_activity_rel', - column1='partner_id', - column2='indus_activity_id', + comodel_name="scop.federation.indus.activity", + relation="res_partner_federation_indus_activity_rel", + column1="partner_id", + column2="indus_activity_id", string="Domaine d'activité Industrie", - help="Fédération de l'Industrie - Domaine d'activité") + help="Fédération de l'Industrie - Domaine d'activité", + ) copadev_member = fields.Boolean( - string="Adhérent copadev", - track_visibility='onchange') + string="Adhérent copadev", tracking=True + ) # Contacts director_ids = fields.One2many( - 'res.partner', 'parent_id', - string='Contacts Dirigeants', - domain=[('active', '=', True), ('mandate_id', '!=', False)]) + "res.partner", + "parent_id", + string="Contacts Dirigeants", + domain=[("active", "=", True), ("mandate_id", "!=", False)], + ) other_child_ids = fields.One2many( - 'res.partner', 'parent_id', string='Autres Contacts', - domain=[('active', '=', True), ('mandate_id', '=', False)]) + "res.partner", + "parent_id", + string="Autres Contacts", + domain=[("active", "=", True), ("mandate_id", "=", False)], + ) # Révisions - revision_contract = fields.Date("Date du contrat de révision", - track_visibility='onchange') + revision_contract = fields.Date( + "Date du contrat de révision", tracking=True + ) revision_company_id = fields.Many2one( - 'res.partner', - string='Organisme de révision', - domain=[('active', '=', True), ('is_company', '=', True), - '|', ('organization_subtype_id.name', '=', - 'Organisme réviseur'), - ('organization_subtype_id.name', '=', 'Organisme réviseur, ' + - 'Expert-comptable / Commissaire au compte')], - on_delete='restrict', - track_visibility='onchange') + "res.partner", + string="Organisme de révision", + domain=_get_domain_revision_company_id, + ondelete="restrict", + tracking=True, + ) revision_backup_company_id = fields.Many2one( - 'res.partner', - string='Organisme de révision suppléant', - domain=[('active', '=', True), ('is_company', '=', True), - '|', - ('organization_subtype_id.name', '=', 'Organisme réviseur'), - ('organization_subtype_id.name', '=', 'Organisme réviseur, ' + - 'Expert-comptable / Commissaire au compte')], - on_delete='restrict') + "res.partner", + string="Organisme de révision suppléant", + domain=_get_domain_revision_company_id, + ondelete="restrict", + ) revision_person_id = fields.Many2one( - comodel_name='res.users', - string='Réviseur', - on_delete='restrict', - track_visibility='onchange') + comodel_name="res.users", + string="Réviseur", + ondelete="restrict", + tracking=True, + ) revision_certified_person_id = fields.Many2one( - comodel_name='res.users', - string='Réviseur agréé', - on_delete='restrict') + comodel_name="res.users", string="Réviseur agréé", ondelete="restrict" + ) revision_person_assign_date = fields.Date( - string="Date de nomination du réviseur", - track_visibility='onchange') + string="Date de nomination du réviseur", tracking=True + ) revision_type = fields.Selection( - [('1y', "Annuelle"), - ('5y', 'Quinquennale'), - ('5ys', "Quinquennale séquencée (annuel)"), - ('5ys23', "Quinquennale séquencée (2 ans et 3 ans)")], - string='Périodicité de la révision') + [ + ("1y", "Annuelle"), + ("5y", "Quinquennale"), + ("5ys", "Quinquennale séquencée (annuel)"), + ("5ys23", "Quinquennale séquencée (2 ans et 3 ans)"), + ], + string="Périodicité de la révision", + ) revision_next_date = fields.Date("Prochain exercice révisable (old)") revision_format_id = fields.Many2one( - 'scop.revision.format', - string='Format de révision', - on_delete='restrict') - revision_tarif = fields.Integer("Tarif de vente", - related='revision_format_id.tarif', - store=False) - revision_next_exercice = fields.Integer("Prochain exercice révisable", - compute='_compute_revision_next_exercice', - inverse='_inverse_revision_next_exercice', - store=True) - revision_next_year = fields.Integer("Année prochaine révision", - compute='_compute_revision_next_year', - inverse='_inverse_revision_next_year', - store=True) + "scop.revision.format", + string="Format de révision", + ondelete="restrict", + ) + revision_tarif = fields.Integer( + "Tarif de vente", related="revision_format_id.tarif", store=False + ) + revision_next_exercice = fields.Integer( + "Prochain exercice révisable", + compute="_compute_revision_next_exercice", + inverse="_inverse_revision_next_exercice", + store=True, + ) + revision_next_year = fields.Integer( + "Année prochaine révision", + compute="_compute_revision_next_year", + inverse="_inverse_revision_next_year", + store=True, + ) revision_ids = fields.One2many( - comodel_name='scop.revision', - inverse_name='partner_id', - string='Liste des Révisions') + comodel_name="scop.revision", + inverse_name="partner_id", + string="Liste des Révisions", + ) # Historique scop_period_ids = fields.One2many( - comodel_name='scop.period', - inverse_name='partner_id', - string="Historique") + comodel_name="scop.period", + inverse_name="partner_id", + string="Historique", + ) # Période d'adhésion membership_period_ids = fields.One2many( - comodel_name='scop.membership.period', - inverse_name='partner_id', - string="Périodes d'adhésion") - - # Cotisation - contribution_ids = fields.One2many( - comodel_name='scop.contribution', - inverse_name='partner_id', - string='Cotisations') - is_up_to_date_cg = fields.Boolean("A jour cotisation CG") - is_up_to_date_fede = fields.Boolean("A jour cotisation Fédérations") - is_up_to_date_ur = fields.Boolean("A jour cotisation UR") - - # Questionnaire + comodel_name="scop.membership.period", + inverse_name="partner_id", + string="Périodes d'adhésion", + ) + # Effectifs staff_ids = fields.One2many( - comodel_name='scop.partner.staff', - inverse_name='partner_id', - string='Effectifs',) + comodel_name="scop.partner.staff", + inverse_name="partner_id", + string="Effectifs", + ) # Liste Ministère staff_last = fields.Integer( string="Dernier effectif connu", compute="_compute_last_effective", - store=True) + store=True, + ) staff_shareholder_last = fields.Integer( string="Dernier effectif associés connu", compute="_compute_last_effective", - store=True) + store=True, + ) staff_last_date = fields.Date( string="Date dernier effectif connu", compute="_compute_last_effective", - store=True) + store=True, + ) # Champs pour personnes birthyear = fields.Integer("Année de naissance") subscription_ids = fields.One2many( - comodel_name='res.partner.newsletter.subscription', - inverse_name='partner_id', - string='Abonnements') + comodel_name="res.partner.newsletter.subscription", + inverse_name="partner_id", + string="Abonnements", + ) contact_origin_id = fields.Many2one( - 'res.partner.rgpd.origin', + "res.partner.rgpd.origin", string="Origine du contact", - on_delete='restrict') + ondelete="restrict", + ) mandate_id = fields.Many2one( - 'res.partner.mandate', - string="Mandat", - on_delete='restrict') + "res.partner.mandate", string="Mandat", ondelete="restrict" + ) function_lst_id = fields.Many2one( - 'res.partner.function_lst', - string="Fonction", - on_delete='restrict') + "res.partner.function_lst", string="Fonction", ondelete="restrict" + ) contact_legality = fields.Selection( - [("employee", "Salarié"), - ("customer", "Client en contrat"), - ("supplier", "Fournisseur en contrat"), - ("consent", "Consentement"), - ("legitimate", "Intérêt légitime"), - ("none", "Aucune")], + [ + ("employee", "Salarié"), + ("customer", "Client en contrat"), + ("supplier", "Fournisseur en contrat"), + ("consent", "Consentement"), + ("legitimate", "Intérêt légitime"), + ("none", "Aucune"), + ], string="Licéité du contact", compute="_compute_contact_legality", - store=True) + store=True, + ) associate = fields.Selection( - selection=[('asso', "Associé extérieur"), - ('coop', "Associé coopérateur"), - ('none', "Non associé")], - string="Associé") - employee = fields.Boolean( - string="Salarié", - default=True) + selection=[ + ("asso", "Associé extérieur"), + ("coop", "Associé coopérateur"), + ("none", "Non associé"), + ], + string="Associé", + ) + employee = fields.Boolean(string="Salarié", default=True) # Champs pour partenaires organization_type_id = fields.Many2one( - 'res.partner.organization.type', + "res.partner.organization.type", string="Famille", - on_delete='restrict', - compute='_compute_org_type_id', - track_visibility='onchange') + ondelete="restrict", + compute="_compute_org_type_id", + tracking=True, + ) organization_subtype_id = fields.Many2one( - 'res.partner.organization.type', + "res.partner.organization.type", string="Type", - domain=[('child_ids', '=', False)], - on_delete='restrict', - track_visibility='onchange') + domain=[("child_ids", "=", False)], + ondelete="restrict", + tracking=True, + ) # Droits utilisateurs - is_administrative = fields.Boolean(compute='_compute_is_administrative') + is_administrative = fields.Boolean(compute="_compute_is_administrative") # Hack pour la création de contacts depuis la fiche organisme - parent_id_onchange = fields.Many2one('res.partner') + parent_id_onchange = fields.Many2one("res.partner") # ------------------------------------------------------ # Constrains # ------------------------------------------------------ - @api.constrains('zip_id', 'country_id', 'city_id', 'state_id') + @api.constrains("zip_id", "country_id", "city_id", "state_id") def _check_zip(self): return - @api.constrains('siret') + @api.constrains("siret") def _check_siret(self): - if self.siret and not self.env.context.get('import_file'): - siren = (self.siret[:3] + " " - + self.siret[3:6] + " " - + self.siret[6:9]) + if self.siret and not self.env.context.get("import_file"): + siren = ( + self.siret[:3] + " " + self.siret[3:6] + " " + self.siret[6:9] + ) if not self.siret.isdigit(): - raise ValidationError( - "Ce SIRET n'est pas valide") + raise ValidationError("Ce SIRET n'est pas valide") if len(self.siret) != 14: raise ValidationError( - "La longueur du SIRET doit être égale à 14") - if (self.search_count([('siret', '=like', siren + "%"), - ('is_cooperative', "=", True)]) > 1): + "La longueur du SIRET doit être égale à 14" + ) + if ( + self.search_count( + [ + ("siret", "=like", siren + "%"), + ("is_cooperative", "=", True), + ] + ) + > 1 + ): raise ValidationError( - "Ce SIREN existe déjà parmi les coopératives") - elif self.search_count([('siret', '=', self.siret)]) > 1: + "Ce SIREN existe déjà parmi les coopératives" + ) + elif self.search_count([("siret", "=", self.siret)]) > 1: raise ValidationError("Ce SIRET existe déjà") # ------------------------------------------------------ # Actions # ------------------------------------------------------ - @api.multi def open_facebook(self): self.ensure_one() return { @@ -479,7 +573,6 @@ class ScopPartner(models.Model): "url": self.facebook, } - @api.multi def open_linkedin(self): self.ensure_one() return { @@ -487,7 +580,6 @@ class ScopPartner(models.Model): "url": self.linkedin, } - @api.multi def open_twitter(self): self.ensure_one() return { @@ -495,7 +587,6 @@ class ScopPartner(models.Model): "url": self.twitter, } - @api.multi def open_instagram(self): self.ensure_one() return { @@ -507,28 +598,31 @@ class ScopPartner(models.Model): # Onchange # ------------------------------------------------------ + # TODO: à vérifier # Hack pour la création de contacts depuis la fiche organisme - @api.onchange('parent_id_onchange') + @api.onchange("parent_id_onchange") def _onchange_parent_id_onchange(self): self.parent_id = self.parent_id_onchange - @api.onchange('parent_id') + # TODO: à vérifier + @api.onchange("parent_id") def _onchange_parent_id(self): if self.parent_id.ur_id: self.ur_id = self.parent_id.ur_id - @api.onchange('ur_id') + @api.onchange("ur_id") def _onchange_ur_id(self): if self.child_ids: for child in self.child_ids: child.ur_id = self.ur_id - @api.onchange('creation_origin_id') + @api.onchange("creation_origin_id") def onchange_creation_origin_id(self): for coop in self: coop.creation_suborigin_id = False - @api.onchange('is_seed_scop') + # TODO: à vérifier + @api.onchange("is_seed_scop") def onchange_is_seed_scop(self): for coop in self: if coop.is_seed_scop == True: @@ -539,52 +633,62 @@ class ScopPartner(models.Model): else: coop.seed_end = False - @api.onchange('name') + @api.onchange("name") def onchange_name(self): - if self.search_count([('name', '=ilike', self.name)]) > 0: + if self.search_count([("name", "=ilike", self.name)]) > 0: return { - 'warning': { - 'title': "Attention", - 'message': "Ce nom / cette raison sociale existe déjà, " - + "merci de vérifier que vous n'êtes pas en " - + "train de créer un doublon"}} - - @api.onchange('mobile') + "warning": { + "title": "Attention", + "message": "Ce nom / cette raison sociale existe déjà, " + + "merci de vérifier que vous n'êtes pas en " + + "train de créer un doublon", + } + } + + @api.onchange("mobile") def onchange_mobile(self): if self.mobile and len(self.mobile) > 0 and len(self.mobile) < 10: raise ValidationError( - "Le numéro de téléphone doit contenir au moins 10 caractères") + "Le numéro de téléphone doit contenir au moins 10 caractères" + ) - @api.onchange('phone') + @api.onchange("phone") def onchange_phone(self): if self.phone and len(self.phone) > 0 and len(self.phone) < 10: raise ValidationError( - "Le numéro de téléphone doit contenir au moins 10 caractères") + "Le numéro de téléphone doit contenir au moins 10 caractères" + ) - @api.onchange('siret') + @api.onchange("siret") def onchange_siret(self): if self.siret: - siren = (self.siret[:3] + " " - + self.siret[3:6] + " " - + self.siret[6:9]) - if self.search_count([('siret', '=like', self.siret)]) > 0: + siren = ( + self.siret[:3] + " " + self.siret[3:6] + " " + self.siret[6:9] + ) + if self.search_count([("siret", "=like", self.siret)]) > 0: return { - 'warning': { - 'title': "Attention", - 'message': "Ce SIRET existe déjà, merci de vérifier " - + "que vous n'êtes pas en train de créer un" - + " doublon"}} - elif self.search_count([('siret', '=like', siren + "%")]) > 0: + "warning": { + "title": "Attention", + "message": "Ce SIRET existe déjà, merci de vérifier " + + "que vous n'êtes pas en train de créer un" + + " doublon", + } + } + elif self.search_count([("siret", "=like", siren + "%")]) > 0: return { - 'warning': { - 'title': "Attention", - 'message': "Ce SIREN existe déjà, merci de vérifier " - + "que vous n'êtes pas en train de créer un" - + " doublon"}} - - @api.onchange('cooperative_form_id') - def onchange_siret(self): - if self.cooperative_form_id == self.env.ref('cgscop_partner.form_noncooperative'): + "warning": { + "title": "Attention", + "message": "Ce SIREN existe déjà, merci de vérifier " + + "que vous n'êtes pas en train de créer un" + + " doublon", + } + } + + @api.onchange("cooperative_form_id") + def onchange_cooperative_form_id(self): + if self.cooperative_form_id == self.env.ref( + "cgscop_partner.form_noncooperative" + ): self.creation_origin_id = None self.creation_suborigin_id = None self.is_ag_constitution = None @@ -595,126 +699,148 @@ class ScopPartner(models.Model): # Common functions # ------------------------------------------------------ def _create_period(self, partner): - new_period = self.env['scop.period'].create({ - 'partner_id': partner.id, - 'start': partner.registration_date or fields.Date.today(), - 'name': partner.name, - 'cooperative_form_id': partner.cooperative_form_id.id, - 'partner_company_type_id': partner.partner_company_type_id.id, - 'siret': partner.siret, - 'street': partner.street, - 'street2': partner.street2, - 'street3': partner.street3, - 'zip': partner.zip, - 'zip_id': partner.zip_id.id, - 'city': partner.city, - 'cedex': partner.cedex, - 'state_id': partner.state_id.id, - 'country_id': partner.country_id.id, - 'naf_id': partner.naf_id.id, - 'ur_id': partner.ur_id.id, - 'cae': partner.cae - }) + new_period = self.env["scop.period"].create( + { + "partner_id": partner.id, + "start": partner.registration_date or fields.Date.today(), + "name": partner.name, + "cooperative_form_id": partner.cooperative_form_id.id, + "partner_company_type_id": partner.partner_company_type_id.id, + "siret": partner.siret, + "street": partner.street, + "street2": partner.street2, + "street3": partner.street3, + "zip": partner.zip, + "zip_id": partner.zip_id.id, + "city": partner.city, + "cedex": partner.cedex, + "state_id": partner.state_id.id, + "country_id": partner.country_id.id, + "naf_id": partner.naf_id.id, + "ur_id": partner.ur_id.id, + "cae": partner.cae, + } + ) partner.scop_period_ids = new_period + # TODO: déplacer dans cgscop_cotisation def get_partner_contribution_type(self): """ Returns list of contribution type for partner """ contribution_type = [self.env.ref("cgscop_partner.riga_14397")] - if self.ur_id in [self.env.ref("cgscop_partner.riga_14232"), self.env.ref("cgscop_partner.riga_14243")]: + if self.ur_id in [ + self.env.ref("cgscop_partner.riga_14232"), + self.env.ref("cgscop_partner.riga_14243"), + ]: contribution_type.append(self.env.ref("cgscop_partner.riga_14399")) if self.is_federation_com: contribution_type.append(self.env.ref("cgscop_partner.riga_14398")) if self.is_federation_cae: - contribution_type.append(self.env.ref("cgscop_partner.cotiz_fede_cae")) + contribution_type.append( + self.env.ref("cgscop_partner.cotiz_fede_cae") + ) return contribution_type # ------------------------------------------------------ # Override ORM # ------------------------------------------------------ @api.model - def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None): + def _name_search(self, name, args=None, operator="ilike", limit=100, name_get_uid=None): args = args or [] - domain = ['|', ('name', operator, name), ('member_number', 'ilike', name)] + domain = [ + "|", + ("name", operator, name), + ("member_number", "ilike", name), + ] partner_ids = self._search( - domain + args, - limit=limit, access_rights_uid=name_get_uid) + domain + args, limit=limit, access_rights_uid=name_get_uid + ) return self.browse(partner_ids).name_get() # Creation d'une periode lorsque le statut passe en Phase de Suivi - @api.multi + # TODO: à revoir et demander si mise en majuscule du nom de la structure def write(self, vals): # Gestion casse des informations - if vals.get('name'): - vals['name'] = vals.get('name').title() - if vals.get('lastname'): - vals['lastname'] = vals.get('lastname').title() - if vals.get('firstname'): - vals['firstname'] = vals.get('firstname').title() - if vals.get('city'): - vals['city'] = vals.get('city').upper() + if vals.get("name"): + vals["name"] = vals.get("name").title() + if vals.get("lastname"): + vals["lastname"] = vals.get("lastname").title() + if vals.get("firstname"): + vals["firstname"] = vals.get("firstname").title() + if vals.get("city"): + vals["city"] = vals.get("city").upper() if len(self) == 1 and self.parent_id: - if self.type in ('contact', 'invoice', 'private'): + if self.type in ("contact", "invoice", "private"): parent_ur_id = self.parent_id.ur_id.id - vals['ur_id'] = parent_ur_id + vals["ur_id"] = parent_ur_id result = super(ScopPartner, self).write(vals) # Hack pour notification lors de la modification du logo - if 'image' in vals: + if "image" in vals: self.message_post( body="Modification Logo", - subtype='cgscop_base.cg_values_change', + subtype="cgscop_base.cg_values_change", ) for partner in self: # Contrainte de tel ou mail lors de la modification d'un contact - if (not partner.is_company - and partner.type == 'contact' - and not partner.user_ids): - if (not partner.email and not partner.phone - and not partner.mobile): + if ( + not partner.is_company + and partner.type == "contact" + and not partner.user_ids + ): + if ( + not partner.email + and not partner.phone + and not partner.mobile + ): raise ValidationError( "Vous devez saisir au moins un e-mail ou un téléphone\ - pour " + partner.name) - - # Création d'une période lors du changement de statut en Suivi - if (vals.get('project_status') == '6_suivi' - and not self.env.context.get('import_file')): + pour " + + partner.name + ) + + # Création d'une période lors du changement de statut en Suivi + if vals.get( + "project_status" + ) == "6_suivi" and not self.env.context.get("import_file"): if not partner.scop_period_ids: partner._create_period(partner) # Ajout des followers de la fiche partners_to_subscribe = [ partner.followup_delegate_id.partner_id.id, - partner.creation_delegate_id.partner_id.id + partner.creation_delegate_id.partner_id.id, ] partner.message_subscribe(partner_ids=partners_to_subscribe) return result + # TODO: à revoir # Création d'une période lors de la création d'une coopérative @api.model_create_multi def create(self, vals_list): # Gestion casse des informations for vals in vals_list: - if vals.get('name'): - vals['name'] = vals.get('name').title() - if vals.get('lastname'): - vals['lastname'] = vals.get('lastname').title() - if vals.get('firstname'): - vals['firstname'] = vals.get('firstname').title() - if vals.get('city'): - vals['city'] = vals.get('city').upper() + if vals.get("name"): + vals["name"] = vals.get("name").title() + if vals.get("lastname"): + vals["lastname"] = vals.get("lastname").title() + if vals.get("firstname"): + vals["firstname"] = vals.get("firstname").title() + if vals.get("city"): + vals["city"] = vals.get("city").upper() partners = super(ScopPartner, self).create(vals_list) - for vals in vals_list: # Création d'une période si la coop est en statut en Suivi - if vals.get('is_cooperative') and vals.get( - 'project_status') == '6_suivi': + if ( + vals.get("is_cooperative") + and vals.get("project_status") == "6_suivi" + ): for partner in partners: if not partner.scop_period_ids: partner._create_period(partner) @@ -723,7 +849,7 @@ class ScopPartner(models.Model): for partner in partners: partners_to_subscribe = [ partner.followup_delegate_id.partner_id.id, - partner.creation_delegate_id.partner_id.id + partner.creation_delegate_id.partner_id.id, ] partner.message_subscribe(partner_ids=partners_to_subscribe) return partners @@ -734,38 +860,63 @@ class ScopPartner(models.Model): def _get_contact_name(self, partner, name): result = super(ScopPartner, self)._get_contact_name(partner, name) return "%s, %s" % ( - name, partner.commercial_company_name or partner.parent_id.name) + name, + partner.commercial_company_name or partner.parent_id.name, + ) # ------------------------------------------------------ # Computed Fields # ------------------------------------------------------ - @api.depends('siret') - def _compute_from_siret(self): - for company in self: - if company.siret: - company.siren = (company.siret[:3] + " " - + company.siret[3:6] + " " - + company.siret[6:9]) - company.formatted_siret = (company.siret[:3] + " " - + company.siret[3:6] + " " - + company.siret[6:9] + " " - + company.siret[9:]) - - @api.depends('zip', 'state_id') + @api.depends("siret") + def _compute_siren(self): + for partner in self: + if partner.siret: + partner.siren = ( + partner.siret[:3] + + " " + + partner.siret[3:6] + + " " + + partner.siret[6:9] + ) + else: + partner.siren = None + + def _compute_formatted_siret(self): + for partner in self: + if partner.siret: + partner.formatted_siret = ( + partner.siret[:3] + + " " + + partner.siret[3:6] + + " " + + partner.siret[6:9] + + " " + + partner.siret[9:] + ) + else: + partner.formatted_siret = None + + @api.depends("zip", "state_id") def _compute_num_departement(self): for company in self: if company.zip: - if company.state_id == self.env.ref('cgscop_partner.domtom'): - company.zip_departement = company.zip[:3] + if company.state_id: + try: + domtom = self.env.ref("cgscop_partner.domtom") + if company.state_id == domtom: + company.zip_departement = company.zip[:3] + except: + company.zip_departement = company.zip[:2] else: company.zip_departement = company.zip[:2] - @api.depends('zip') + @api.depends("zip") def _compute_region(self): for partner in self: if partner.zip: - zip_id = self.env['res.city.zip'].search([ - ('name', '=', partner.zip)]) + zip_id = self.env["res.city.zip"].search( + [("name", "=", partner.zip)] + ) if zip_id: partner.region = zip_id[0].city_id[0].state_id @@ -775,156 +926,192 @@ class ScopPartner(models.Model): partner.current_user_ur_id = self.env.user.company_id.ur_id.id def _search_current_user_ur_id(self, operator, value): - return [('ur_id', '=', self.env.user.company_id.ur_id.id)] + return [("ur_id", "=", self.env.user.company_id.ur_id.id)] - @api.depends('contact_origin_id', - 'parent_id.cooperative_form_id', - 'parent_id.membership_status') + @api.depends( + "contact_origin_id", + "parent_id.cooperative_form_id", + "parent_id.membership_status", + ) def _compute_contact_legality(self): for partner in self: - partner.contact_legality = 'none' - if (partner.contact_origin_id.name == - "Fiche contact, site internet"): - partner.contact_legality = 'consent' + partner.contact_legality = "none" + if ( + partner.contact_origin_id.name + == "Fiche contact, site internet" + ): + partner.contact_legality = "consent" + if partner.contact_origin_id.name in ( + "Prospect journée d'info coll", + "Prospect (salon, rdv, internet…)", + "Elus", + ): + partner.contact_legality = "legitimate" + if partner.contact_origin_id.name in ( + "Salariés CG", + "Salariés UR", + "Salariés Fédération", + ): + partner.contact_legality = "employee" if partner.contact_origin_id.name in ( - "Prospect journée d'info coll", - "Prospect (salon, rdv, internet…)", - "Elus"): - partner.contact_legality = 'legitimate' - if (partner.contact_origin_id.name in ( - "Salariés CG", "Salariés UR", "Salariés Fédération")): - partner.contact_legality = 'employee' - if (partner.contact_origin_id.name in ( - "Elus", "VIP, Officiels", "Fournisseurs")): - partner.contact_legality = 'legitimate' + "Elus", + "VIP, Officiels", + "Fournisseurs", + ): + partner.contact_legality = "legitimate" if not partner.is_company and partner.parent_id: parent = partner.parent_id - if (partner.contact_origin_id.name in ( + if ( + partner.contact_origin_id.name + in ( "Dossiers d'adhésion", - "Dossiers annuels non LM (scic, scop47)") - and parent.cooperative_form_id - and parent.membership_status == "member"): - partner.contact_legality = 'customer' - if (partner.contact_origin_id.name == ( - "Dossiers annuels non LM (scic, scop47)") - and parent.membership_status != "member"): - partner.contact_legality = 'legitimate' - if (partner.contact_origin_id.name == ( - "Dossiers Liste ministère") - and parent.cooperative_form_id.name == "SCIC"): - partner.contact_legality = 'customer' - - @api.depends('membership_period_ids', - 'membership_period_ids.end_reason_id', - 'membership_period_ids.number', - 'membership_period_ids.end') - @api.multi + "Dossiers annuels non LM (scic, scop47)", + ) + and parent.cooperative_form_id + and parent.membership_status == "member" + ): + partner.contact_legality = "customer" + if ( + partner.contact_origin_id.name + == ("Dossiers annuels non LM (scic, scop47)") + and parent.membership_status != "member" + ): + partner.contact_legality = "legitimate" + if ( + partner.contact_origin_id.name + == ("Dossiers Liste ministère") + and parent.cooperative_form_id.name == "SCIC" + ): + partner.contact_legality = "customer" + + # TODO: déplacer dans adhésions ? cotisations? + @api.depends( + "membership_period_ids", + "membership_period_ids.end_reason_id", + "membership_period_ids.number", + "membership_period_ids.end", + ) def _compute_membership(self): for partner in self: - type_cg = self.env.ref('cgscop_partner.membership_type_1').id - last_membership_period = self.env['scop.membership.period'].search( - [('partner_id', '=', partner.id), - ('type_id', '=', type_cg)], - limit=1, - order='start desc') - if (last_membership_period - and not last_membership_period.end): - partner.membership_status = "member" - partner.member_number = last_membership_period.number - partner.member_start_stat = last_membership_period.start_stat - partner.member_start = last_membership_period.start - elif (last_membership_period - and last_membership_period.end_reason_id): - partner.membership_status = "out" - partner.member_number = last_membership_period.number + if partner.membership_period_ids: + type_cg = self.env.ref("cgscop_partner.membership_type_1").id + last_membership_period = self.env["scop.membership.period"].search( + [("partner_id", "=", partner.id), ("type_id", "=", type_cg)], + limit=1, + order="start desc", + ) + if last_membership_period and not last_membership_period.end: + partner.membership_status = "member" + partner.member_number = last_membership_period.number + partner.member_start_stat = last_membership_period.start_stat + partner.member_start = last_membership_period.start + elif ( + last_membership_period and last_membership_period.end_reason_id + ): + partner.membership_status = "out" + partner.member_number = last_membership_period.number else: partner.membership_status = "not_member" - @api.depends('member_number') - @api.multi + @api.depends("member_number") def _compute_membership_int(self): for partner in self: if partner.member_number: partner.member_number_int = int(partner.member_number) - @api.depends('membership_period_ids', - 'membership_period_ids.end') - @api.multi + @api.depends("membership_period_ids", "membership_period_ids.end") def _compute_federation(self): for partner in self: if partner.is_cooperative: partner.is_federation_com = partner._get_federation( - 'cgscop_partner.membership_type_2') + "cgscop_partner.membership_type_2" + ) partner.is_federation_btp = partner._get_federation( - 'cgscop_partner.membership_type_4') + "cgscop_partner.membership_type_4" + ) partner.is_federation_indus = partner._get_federation( - 'cgscop_partner.membership_type_3') + "cgscop_partner.membership_type_3" + ) partner.is_federation_cae = partner._get_federation( - 'cgscop_partner.membership_type_5') + "cgscop_partner.membership_type_5" + ) def _get_federation(self, external_id): member_type_id = self.env.ref(external_id).id partner_id = self.id - membership_period = self.env['scop.membership.period'].search([ - ('partner_id', '=', partner_id), - ('type_id', '=', member_type_id), - ('end', '=', False)]) + membership_period = self.env["scop.membership.period"].search( + [ + ("partner_id", "=", partner_id), + ("type_id", "=", member_type_id), + ("end", "=", False), + ] + ) if membership_period: return True else: return False - @api.depends('staff_ids', 'staff_ids.staff_count', - 'staff_ids.staff_shareholder_count', - 'staff_ids.effective_date') - @api.multi + @api.depends( + "staff_ids", + "staff_ids.staff_count", + "staff_ids.staff_shareholder_count", + "staff_ids.effective_date", + ) def _compute_last_effective(self): for partner in self: lm = partner.staff_ids.search( - [['partner_id', '=', partner.id], ['staff_count', '>', 0]], + [["partner_id", "=", partner.id], ["staff_count", ">", 0]], limit=1, - order='effective_date desc') + order="effective_date desc", + ) if lm: partner.staff_last = lm[0].staff_count partner.staff_shareholder_last = lm[0].staff_shareholder_count partner.staff_last_date = lm[0].effective_date - @api.multi def _compute_segment_nb(self): for partner in self: # Calcul nombre de segment 1 - seg1 = partner.env['res.partner.segment1'].search([ - ('ur_id', '=', self.env.user.ur_id.id)]) + seg1 = partner.env["res.partner.segment1"].search( + [("ur_id", "=", self.env.user.ur_id.id)] + ) partner.segment_1_nb = len(seg1) # Calcul nombre de segment 2 - seg2 = partner.env['res.partner.segment2'].search([ - ('ur_id', '=', self.env.user.ur_id.id)]) + seg2 = partner.env["res.partner.segment2"].search( + [("ur_id", "=", self.env.user.ur_id.id)] + ) partner.segment_2_nb = len(seg2) # Calcul nombre de segment 3 - seg3 = partner.env['res.partner.segment3'].search([ - ('ur_id', '=', self.env.user.ur_id.id)]) + seg3 = partner.env["res.partner.segment3"].search( + [("ur_id", "=", self.env.user.ur_id.id)] + ) partner.segment_3_nb = len(seg3) # Calcul nombre de segment 4 - seg4 = partner.env['res.partner.segment4'].search([ - ('ur_id', '=', self.env.user.ur_id.id)]) + seg4 = partner.env["res.partner.segment4"].search( + [("ur_id", "=", self.env.user.ur_id.id)] + ) partner.segment_4_nb = len(seg4) - @api.depends('organization_subtype_id') + @api.depends("organization_subtype_id") def _compute_org_type_id(self): for partner in self: if partner.organization_subtype_id: - partner.organization_type_id = partner.organization_subtype_id.parent_id + partner.organization_type_id = ( + partner.organization_subtype_id.parent_id + ) else: partner.organization_type_id = False def _compute_is_administrative(self): for partner in self: - if self.env.user.has_group('cgscop_partner.group_cg_administrative'): + if self.env.user.has_group( + "cgscop_partner.group_cg_administrative" + ): partner.is_administrative = True else: partner.is_administrative = False - @api.depends('revision_next_exercice') + @api.depends("revision_next_exercice") def _compute_revision_next_year(self): for partner in self: partner.revision_next_year = partner.revision_next_exercice + 1 @@ -933,18 +1120,22 @@ class ScopPartner(models.Model): for expense in self: return - @api.depends('revision_type', 'revision_ids', - 'revision_ids.revision_result_year', 'first_closeout') - @api.multi + @api.depends( + "revision_type", + "revision_ids", + "revision_ids.revision_result_year", + "first_closeout", + ) def _compute_revision_next_exercice(self): for partner in self: # Si aucune périodicité de défini, on n'insiste pas - if (partner.revision_type == False): + if partner.revision_type == False: return # On commence par regarder si l'on a des révisions last_rev = partner.revision_ids.sorted( - key=lambda r: r.revision_result_year, reverse=True) + key=lambda r: r.revision_result_year, reverse=True + ) # On calcule l'année de référence du calcul base_rev = partner.first_closeout.year - 1 @@ -954,19 +1145,19 @@ class ScopPartner(models.Model): # On calcule le prochain exercice révisable # Cas d'une révision annuelle - if partner.revision_type == '1y': + if partner.revision_type == "1y": partner.revision_next_exercice = base_rev + 1 # Cas d'une révision quinquénnale - if partner.revision_type == '5y': + if partner.revision_type == "5y": partner.revision_next_exercice = base_rev + 5 # Cas d'une révision quinquénnale séquencée (annuelle) - if partner.revision_type == '5ys': + if partner.revision_type == "5ys": partner.revision_next_exercice = base_rev + 1 # Cas d'une révision quinquénnale séquencée (2 et 3) - if partner.revision_type == '5ys23': + if partner.revision_type == "5ys23": # On doit regarder l'écart avec la révision précédente if len(last_rev) > 1: # On a une réunion précédente, il faut regarder l'écart entre les deux @@ -974,7 +1165,8 @@ class ScopPartner(models.Model): ex2 = last_rev[1].revision_result_year # le prochain exercie est donc 5 moins la durée de la précédente révision partner.revision_next_exercice = base_rev + ( - 5 - (ex1 - ex2)) + 5 - (ex1 - ex2) + ) else: # Pas de révision précédente partner.revision_next_exercice = base_rev + 2 @@ -986,114 +1178,143 @@ class ScopPartner(models.Model): # ------------------------------------------------------ # Button Action # ------------------------------------------------------ - @api.multi def scop_send_to_cg(self): - self.write({ - 'project_status': '5_cg', - }) + self.write( + { + "project_status": "5_cg", + } + ) return True - @api.multi def partner_archive(self): self.active = False - # TODO - remove temporary function once RIGA API in place - @api.multi def scop_valid_cg_button(self): self.ensure_one() self.scop_valid_cg() - @api.multi def scop_valid_cg(self): - self.write({ - 'project_status': '6_suivi', - }) + self.write( + { + "project_status": "6_suivi", + } + ) return True - @api.multi def scop_prj_adhesion(self): - self.write({ - 'project_status': '4_adhesion', - }) + self.write( + { + "project_status": "4_adhesion", + } + ) return True - @api.multi def scop_abandonne(self): - self.write({ - 'project_status': '7_abandonne', - }) + self.write( + { + "project_status": "7_abandonne", + } + ) return True def add_director(self): return { - 'type': 'ir.actions.act_window', - 'views': [[self.env.ref('cgscop_partner.scop_partner_director_form_view').id, "form"]], - 'view_mode': 'form', - 'res_model': 'res.partner', - 'target': 'new', - 'context': { - 'default_parent_id_onchange': self.id, - 'default_street': self.street, - 'default_street2': self.street2, - 'default_street3': self.street3, - 'default_city': self.city, - 'default_city_id': self.city_id.id, - 'default_cedex': self.cedex, - 'default_state_id': self.state_id.id, - 'default_zip': self.zip, - 'default_country_id': self.country_id.id, - 'default_supplier': self.supplier, - 'default_customer': self.customer, - 'default_lang': self.lang, - 'default_user_id': self.user_id.id, - 'ur_id': self.ur_id.id, - 'default_type': 'contact', + "type": "ir.actions.act_window", + "views": [ + [ + self.env.ref( + "cgscop_partner.scop_partner_director_form_view" + ).id, + "form", + ] + ], + "view_mode": "form", + "res_model": "res.partner", + "target": "new", + "context": { + "default_parent_id_onchange": self.id, + "default_street": self.street, + "default_street2": self.street2, + "default_street3": self.street3, + "default_city": self.city, + "default_city_id": self.city_id.id, + "default_cedex": self.cedex, + "default_state_id": self.state_id.id, + "default_zip": self.zip, + "default_country_id": self.country_id.id, + "default_supplier": self.supplier, + "default_customer": self.customer, + "default_lang": self.lang, + "default_user_id": self.user_id.id, + "ur_id": self.ur_id.id, + "default_type": "contact", }, } def edit_director(self): return { - 'type': 'ir.actions.act_window', - 'views': [[self.env.ref('cgscop_partner.scop_partner_director_form_view').id, "form"]], - 'view_mode': 'form', - 'res_model': 'res.partner', - 'res_id': self.id, - 'target': 'new', + "type": "ir.actions.act_window", + "views": [ + [ + self.env.ref( + "cgscop_partner.scop_partner_director_form_view" + ).id, + "form", + ] + ], + "view_mode": "form", + "res_model": "res.partner", + "res_id": self.id, + "target": "new", } def add_contact(self): return { - 'type': 'ir.actions.act_window', - 'views': [[self.env.ref('cgscop_partner.scop_partner_contact_form_view').id, "form"]], - 'view_mode': 'form', - 'res_model': 'res.partner', - 'target': 'new', - 'context': { - 'default_parent_id_onchange': self.id, - 'default_street': self.street, - 'default_street2': self.street2, - 'default_street3': self.street3, - 'default_city': self.city, - 'default_city_id': self.city_id.id, - 'default_cedex': self.cedex, - 'default_state_id': self.state_id.id, - 'default_zip': self.zip, - 'default_country_id': self.country_id.id, - 'default_supplier': self.supplier, - 'default_customer': self.customer, - 'default_lang': self.lang, - 'default_user_id': self.user_id.id, + "type": "ir.actions.act_window", + "views": [ + [ + self.env.ref( + "cgscop_partner.scop_partner_contact_form_view" + ).id, + "form", + ] + ], + "view_mode": "form", + "res_model": "res.partner", + "target": "new", + "context": { + "default_parent_id_onchange": self.id, + "default_street": self.street, + "default_street2": self.street2, + "default_street3": self.street3, + "default_city": self.city, + "default_city_id": self.city_id.id, + "default_cedex": self.cedex, + "default_state_id": self.state_id.id, + "default_zip": self.zip, + "default_country_id": self.country_id.id, + "default_supplier": self.supplier, + "default_customer": self.customer, + "default_lang": self.lang, + "default_user_id": self.user_id.id, }, } def edit_contact(self): return { - 'type': 'ir.actions.act_window', - 'views': [[self.env.ref('cgscop_partner.scop_partner_contact_form_view').id, "form"]], - 'view_mode': 'form', - 'res_model': 'res.partner', - 'res_id': self.id, - 'target': 'new', + "type": "ir.actions.act_window", + "views": [ + [ + self.env.ref( + "cgscop_partner.scop_partner_contact_form_view" + ).id, + "form", + ] + ], + "view_mode": "form", + "res_model": "res.partner", + "res_id": self.id, + "target": "new", } # ------------------------------------------------------ @@ -1105,36 +1326,48 @@ class ScopPartner(models.Model): # Détermine le filtre par défaut pour l'affichage filtre = self.env.user.company_id.ur_id.partner_filter - if filtre=='1' : + if filtre == "1": mycontext = "{'search_default_is_adherent': True," + ctx - elif filtre=='2' : + elif filtre == "2": mycontext = "{'search_default_my_ur_adherent': True," + ctx - elif filtre=='3' : + elif filtre == "3": mycontext = "{'search_default_is_federation_com': True," + ctx - elif filtre=='4' : + elif filtre == "4": mycontext = "{'search_default_is_federation_indus': True," + ctx - elif filtre=='5' : + elif filtre == "5": mycontext = "{'search_default_my_is_federation_btp': True," + ctx - elif filtre=='6' : + elif filtre == "6": mycontext = "{'search_default_my_is_federation_cae': True," + ctx else: mycontext = "{'search_default_my_ur_adherent': True," + ctx return { - 'name': "Coopératives", - 'type': 'ir.actions.act_window', - 'res_model': 'res.partner', - 'search_view_id': (self.env.ref('cgscop_partner.scop_partner_view_search').id,), - 'view_type': 'form', - 'view_mode': 'tree,form,activity', - 'views': [ - (self.env.ref('cgscop_partner.view_partner_cooperative_tree').id, 'tree'), - (self.env.ref('cgscop_partner.scop_contact_view_form').id, 'form')], - 'target': 'current', - 'domain': [ - ('is_cooperative', '=', True), - ('project_status', '=', '6_suivi')], - 'context': mycontext + "name": "Coopératives", + "type": "ir.actions.act_window", + "res_model": "res.partner", + "search_view_id": ( + self.env.ref("cgscop_partner.scop_partner_view_search").id, + ), + "view_type": "form", + "view_mode": "tree,form,activity", + "views": [ + ( + self.env.ref( + "cgscop_partner.view_partner_cooperative_tree" + ).id, + "tree", + ), + ( + self.env.ref("cgscop_partner.scop_contact_view_form").id, + "form", + ), + ], + "target": "current", + "domain": [ + ("is_cooperative", "=", True), + ("project_status", "=", "6_suivi"), + ], + "context": mycontext, } # ------------------------------------------------------ @@ -1146,37 +1379,65 @@ class ScopPartner(models.Model): # Détermine le filtre par défaut pour l'affichage filtre = self.env.user.company_id.ur_id.partner_filter - if filtre=='1' : + if filtre == "1": mycontext = "{" + ctx - elif filtre=='2' : + elif filtre == "2": mycontext = "{'search_default_my_ur': True," + ctx - elif filtre=='3' : + elif filtre == "3": mycontext = "{" + ctx - elif filtre=='4' : + elif filtre == "4": mycontext = "{" + ctx - elif filtre=='5' : + elif filtre == "5": mycontext = "{" + ctx - elif filtre=='6' : + elif filtre == "6": mycontext = "{" + ctx else: mycontext = "{'search_default_my_ur': True," + ctx return { - 'name': "Prospects", - 'type': 'ir.actions.act_window', - 'res_model': 'res.partner', - 'search_view_id': (self.env.ref('cgscop_partner.scop_partner_view_search').id,), - 'view_type': 'form', - 'view_mode': 'kanban,tree,form,activity', - 'views': [ - (self.env.ref('cgscop_partner.view_partner_cooperative_kanban').id, 'kanban'), - (self.env.ref('cgscop_partner.view_partner_prospect_tree').id, 'tree'), - (self.env.ref('cgscop_partner.scop_contact_view_form').id, 'form')], - 'target': 'current', - 'domain': [ - ('is_cooperative', '=', True), - ('project_status','in',('1_information','2_pre-diagnostic','3_accompagnement','4_adhesion','5_cg','7_abandonne'))], - 'context': mycontext + "name": "Prospects", + "type": "ir.actions.act_window", + "res_model": "res.partner", + "search_view_id": ( + self.env.ref("cgscop_partner.scop_partner_view_search").id, + ), + "view_type": "form", + "view_mode": "kanban,tree,form,activity", + "views": [ + ( + self.env.ref( + "cgscop_partner.view_partner_cooperative_kanban" + ).id, + "kanban", + ), + ( + self.env.ref( + "cgscop_partner.view_partner_prospect_tree" + ).id, + "tree", + ), + ( + self.env.ref("cgscop_partner.scop_contact_view_form").id, + "form", + ), + ], + "target": "current", + "domain": [ + ("is_cooperative", "=", True), + ( + "project_status", + "in", + ( + "1_information", + "2_pre-diagnostic", + "3_accompagnement", + "4_adhesion", + "5_cg", + "7_abandonne", + ), + ), + ], + "context": mycontext, } # ------------------------------------------------------ @@ -1188,249 +1449,43 @@ class ScopPartner(models.Model): # Détermine le filtre par défaut pour l'affichage filtre = self.env.user.company_id.ur_id.partner_filter - if filtre=='1' : + if filtre == "1": mycontext = "{" + ctx - elif filtre=='2' : + elif filtre == "2": mycontext = "{'search_default_my_ur_adherent': True," + ctx - elif filtre=='3' : + elif filtre == "3": mycontext = "{" + ctx - elif filtre=='4' : + elif filtre == "4": mycontext = "{" + ctx - elif filtre=='5' : + elif filtre == "5": mycontext = "{" + ctx - elif filtre=='6' : + elif filtre == "6": mycontext = "{" + ctx else: mycontext = "{'search_default_my_ur_adherent': True," + ctx return { - 'name': "Tous les organismes", - 'type': 'ir.actions.act_window', - 'res_model': 'res.partner', - 'search_view_id': (self.env.ref('cgscop_partner.scop_partner_view_search').id,), - 'view_type': 'form', - 'view_mode': 'tree,form,activity', - 'views': [ - (self.env.ref('cgscop_partner.view_partner_prospect_tree').id, 'tree'), - (self.env.ref('cgscop_partner.scop_contact_view_form').id, 'form')], - 'target': 'current', - 'domain': [('is_cooperative', '=', True)], - 'context': mycontext + "name": "Tous les organismes", + "type": "ir.actions.act_window", + "res_model": "res.partner", + "search_view_id": ( + self.env.ref("cgscop_partner.scop_partner_view_search").id, + ), + "view_type": "form", + "view_mode": "tree,form,activity", + "views": [ + ( + self.env.ref( + "cgscop_partner.view_partner_prospect_tree" + ).id, + "tree", + ), + ( + self.env.ref("cgscop_partner.scop_contact_view_form").id, + "form", + ), + ], + "target": "current", + "domain": [("is_cooperative", "=", True)], + "context": mycontext, } - - -class ResPartneCertification(models.Model): - _name = "res.partner.certification" - _description = "Certification" - _order = "sequence, name" - - name = fields.Char('Certification') - sequence = fields.Integer("Séquence", default=10) - id_riga = fields.Integer("ID RIGA") - color = fields.Integer('Couleur Index') - - -class ScopPartnerCompanyType(models.Model): - _inherit = "res.partner.company.type" - - id_riga = fields.Integer("ID RIGA") - is_coop = fields.Boolean("Est un statut coopératif") - - -class ResPartnerCooperativeForm(models.Model): - _name = "res.partner.cooperative.form" - _description = "Cooperative form" - - name = fields.Char('Cooperative form') - id_riga = fields.Integer("ID RIGA") - - -class ResPartnerCreationOrigin(models.Model): - _name = "res.partner.creation.origin" - _description = "Creation Origin" - _parent_name = "parent_id" - _parent_store = True - _rec_name = 'name' - _order = 'id' - - name = fields.Char('Origine / Sous-Origine', index=True, required=True) - parent_id = fields.Many2one( - comodel_name='res.partner.creation.origin', - string='Origine (parent)', - index=True, - ondelete='restrict') - parent_path = fields.Char(index=True) - child_ids = fields.One2many( - comodel_name='res.partner.creation.origin', - inverse_name='parent_id', - string='Sous origines') - id_riga = fields.Integer("ID RIGA") - - @api.constrains('parent_id') - def _check_origin_recursion(self): - if not self._check_recursion(): - raise ValidationError( - 'Vous ne pouvez pas créer des origines récursives.') - return True - - -class ResPartnerDissolutionReason(models.Model): - _name = "res.partner.dissolution.reason" - _description = "Dissolution Reason" - - name = fields.Char('Dissolution Reason') - - -class ResPartnerMandate(models.Model): - _name = "res.partner.mandate" - _description = "Mandat" - - name = fields.Char('Mandat') - -class ResPartnerFunctionLst(models.Model): - _name = "res.partner.function_lst" - _description = "Fonctions" - - name = fields.Char('Fonction') - - -class ScopPartnerNaf(models.Model): - _inherit = "res.partner.naf" - - secteur_id = fields.Many2one( - 'res.partner.secteur.activite', - string='Secteur', - on_delete='restrict', - track_visibility='onchange') - id_riga = fields.Integer("ID RIGA") - - -class ResPartnerOrganizationType(models.Model): - _name = "res.partner.organization.type" - _description = "Type of Organization" - _parent_name = "parent_id" - _parent_store = True - _rec_name = 'name' - _order = 'id' - - name = fields.Char('Type / Sous-Type', index=True, required=True) - parent_id = fields.Many2one( - comodel_name='res.partner.organization.type', - string='Type (parent)', - index=True, - ondelete='cascade') - parent_path = fields.Char(index=True) - child_ids = fields.One2many( - comodel_name='res.partner.organization.type', - inverse_name='parent_id', - string='Sous types') - id_riga = fields.Integer("ID RIGA") - - @api.constrains('parent_id') - def _check_origin_recursion(self): - if not self._check_recursion(): - raise ValidationError( - 'Vous ne pouvez pas créer des types récursifs.') - return True - - -class ResPartnerRgpdOrigin(models.Model): - _name = "res.partner.rgpd.origin" - _description = "Origin" - - name = fields.Char('Origin') - - -class ResPartnerSegment1(models.Model): - _name = "res.partner.segment1" - _description = "Segments 1" - _rec_name = 'name' - _order = 'ur_id, name' - - def _default_ur(self): - return self.env['res.company']._ur_default_get() - - name = fields.Char('Nom', index=True, required=True) - color = fields.Integer(string='ID Couleur') - id_riga = fields.Integer("ID RIGA") - ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', - index=True, - on_delete='restrict', - default=_default_ur) - - -class ResPartnerSegment2(models.Model): - _name = "res.partner.segment2" - _description = "Segments 2" - _rec_name = 'name' - _order = 'ur_id, name' - - def _default_ur(self): - return self.env['res.company']._ur_default_get() - - name = fields.Char('Nom', index=True, required=True) - color = fields.Integer(string='ID Couleur') - id_riga = fields.Integer("ID RIGA") - ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', - index=True, - on_delete='restrict', - default=_default_ur) - - -class ResPartnerSegment3(models.Model): - _name = "res.partner.segment3" - _description = "Segments 3" - _rec_name = 'name' - _order = 'ur_id, name' - - def _default_ur(self): - return self.env['res.company']._ur_default_get() - - name = fields.Char('Nom', index=True, required=True) - color = fields.Integer(string='ID Couleur') - id_riga = fields.Integer("ID RIGA") - ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', - index=True, - on_delete='restrict', - default=_default_ur) - - -class ResPartnerSegment4(models.Model): - _name = "res.partner.segment4" - _description = "Segments 4" - _rec_name = 'name' - _order = 'ur_id, name' - - def _default_ur(self): - return self.env['res.company']._ur_default_get() - - name = fields.Char('Nom', index=True, required=True) - color = fields.Integer(string='ID Couleur') - id_riga = fields.Integer("ID RIGA") - ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', - index=True, - on_delete='restrict', - default=_default_ur) - -class ResPartnerSecteurActivite(models.Model): - _name = "res.partner.secteur.activite" - _description = "Secteurs d'activité" - - name = fields.Char('Secteur') - -class ResPartnerFiliere(models.Model): - _name = "res.partner.filiere" - _description = "Filières" - _rec_name = 'name' - _order = 'name' - - - name = fields.Char('Filière') diff --git a/models/res_partner_lists.py b/models/res_partner_lists.py new file mode 100644 index 0000000000000000000000000000000000000000..18f066c422578a48aee25f0de5dc2c0a295cb50c --- /dev/null +++ b/models/res_partner_lists.py @@ -0,0 +1,235 @@ +# © 2019 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from datetime import datetime, timedelta +from odoo import models, fields, api +from odoo.exceptions import ValidationError + + +class ResPartneCertification(models.Model): + _name = "res.partner.certification" + _description = "Agrément Scop" + _order = "sequence, name" + + name = fields.Char("Agréments") + sequence = fields.Integer("Séquence", default=10) + id_riga = fields.Integer("ID RIGA") + color = fields.Integer("Couleur Index") + + +class ScopPartnerCompanyType(models.Model): + _inherit = "res.partner.company.type" + + id_riga = fields.Integer("ID RIGA") + is_coop = fields.Boolean("Est un statut coopératif") + + +class ResPartnerCooperativeForm(models.Model): + _name = "res.partner.cooperative.form" + _description = "Forme Coopérative" + + name = fields.Char("Forme Coopérative") + id_riga = fields.Integer("ID RIGA") + + +class ResPartnerCreationOrigin(models.Model): + _name = "res.partner.creation.origin" + _description = "Creation Origin Scop" + _parent_name = "parent_id" + _parent_store = True + _rec_name = "name" + _order = "id" + + name = fields.Char("Origine / Sous-Origine", index=True, required=True) + parent_id = fields.Many2one( + comodel_name="res.partner.creation.origin", + string="Origine (parent)", + index=True, + ondelete="restrict", + ) + parent_path = fields.Char(index=True) + child_ids = fields.One2many( + comodel_name="res.partner.creation.origin", + inverse_name="parent_id", + string="Sous origines", + ) + id_riga = fields.Integer("ID RIGA") + + @api.constrains("parent_id") + def _check_origin_recursion(self): + if not self._check_recursion(): + raise ValidationError( + "Vous ne pouvez pas créer des origines récursives." + ) + return True + + +class ResPartnerDissolutionReason(models.Model): + _name = "res.partner.dissolution.reason" + _description = "Dissolution Reason" + + name = fields.Char("Motif de Décès") + + +class ResPartnerMandate(models.Model): + _name = "res.partner.mandate" + _description = "Mandat" + + name = fields.Char("Mandat") + + +class ResPartnerFunctionLst(models.Model): + _name = "res.partner.function_lst" + _description = "Fonctions" + + name = fields.Char("Fonction") + + +class ScopPartnerNaf(models.Model): + _inherit = "res.partner.naf" + + secteur_id = fields.Many2one( + "res.partner.secteur.activite", + string="Secteur", + ondelete="restrict", + ) + id_riga = fields.Integer("ID RIGA") + + +class ResPartnerOrganizationType(models.Model): + _name = "res.partner.organization.type" + _description = "Type of Organization" + _parent_name = "parent_id" + _parent_store = True + _rec_name = "name" + _order = "id" + + name = fields.Char("Type / Sous-Type", index=True, required=True) + parent_id = fields.Many2one( + comodel_name="res.partner.organization.type", + string="Type (parent)", + index=True, + ondelete="cascade", + ) + parent_path = fields.Char(index=True) + child_ids = fields.One2many( + comodel_name="res.partner.organization.type", + inverse_name="parent_id", + string="Sous types", + ) + id_riga = fields.Integer("ID RIGA") + + @api.constrains("parent_id") + def _check_origin_recursion(self): + if not self._check_recursion(): + raise ValidationError( + "Vous ne pouvez pas créer des types récursifs." + ) + return True + + +class ResPartnerRgpdOrigin(models.Model): + _name = "res.partner.rgpd.origin" + _description = "RGPD Origin" + + name = fields.Char("Origine") + + +class ResPartnerSegment1(models.Model): + _name = "res.partner.segment1" + _description = "Segments 1" + _rec_name = "name" + _order = "ur_id, name" + + def _default_ur(self): + return self.env["res.company"]._ur_default_get() + + name = fields.Char("Nom", index=True, required=True) + color = fields.Integer(string="ID Couleur") + id_riga = fields.Integer("ID RIGA") + ur_id = fields.Many2one( + "union.regionale", + string="Union Régionale", + index=True, + ondelete="restrict", + default=_default_ur, + ) + + +class ResPartnerSegment2(models.Model): + _name = "res.partner.segment2" + _description = "Segments 2" + _rec_name = "name" + _order = "ur_id, name" + + def _default_ur(self): + return self.env["res.company"]._ur_default_get() + + name = fields.Char("Nom", index=True, required=True) + color = fields.Integer(string="ID Couleur") + id_riga = fields.Integer("ID RIGA") + ur_id = fields.Many2one( + "union.regionale", + string="Union Régionale", + index=True, + ondelete="restrict", + default=_default_ur, + ) + + +class ResPartnerSegment3(models.Model): + _name = "res.partner.segment3" + _description = "Segments 3" + _rec_name = "name" + _order = "ur_id, name" + + def _default_ur(self): + return self.env["res.company"]._ur_default_get() + + name = fields.Char("Nom", index=True, required=True) + color = fields.Integer(string="ID Couleur") + id_riga = fields.Integer("ID RIGA") + ur_id = fields.Many2one( + "union.regionale", + string="Union Régionale", + index=True, + ondelete="restrict", + default=_default_ur, + ) + + +class ResPartnerSegment4(models.Model): + _name = "res.partner.segment4" + _description = "Segments 4" + _rec_name = "name" + _order = "ur_id, name" + + def _default_ur(self): + return self.env["res.company"]._ur_default_get() + + name = fields.Char("Nom", index=True, required=True) + color = fields.Integer(string="ID Couleur") + id_riga = fields.Integer("ID RIGA") + ur_id = fields.Many2one( + "union.regionale", + string="Union Régionale", + index=True, + ondelete="restrict", + default=_default_ur, + ) + + +class ResPartnerSecteurActivite(models.Model): + _name = "res.partner.secteur.activite" + _description = "Secteurs d'activité" + + name = fields.Char("Secteur") + + +class ResPartnerFiliere(models.Model): + _name = "res.partner.filiere" + _description = "Filières" + _rec_name = "name" + _order = "name" + + name = fields.Char("Filière") diff --git a/models/res_partner_newsletter.py b/models/res_partner_newsletter.py index f9d023c26b09f12ea14c5e6c5553325307a80d1d..841ce2d2c2def73b7df08ae2f69a21f6af1db731 100644 --- a/models/res_partner_newsletter.py +++ b/models/res_partner_newsletter.py @@ -9,23 +9,25 @@ class ResPartnerNewsletterSubscription(models.Model): _description = "Subscription" partner_id = fields.Many2one( - comodel_name='res.partner', - string='Contact', - domain=[('is_company', '=', False)], - ondelete='cascade', index=True) + comodel_name="res.partner", + string="Contact", + domain=[("is_company", "=", False)], + ondelete="cascade", + index=True, + ) newsletter_id = fields.Many2one( - comodel_name='res.partner.newsletter', - string='Newsletter', - domain=[('is_company', '=', False)], - ondelete='cascade', index=True) - consent = fields.Boolean( - string="Consentement", - default=True) + comodel_name="res.partner.newsletter", + string="Newsletter", + domain=[("is_company", "=", False)], + ondelete="cascade", + index=True, + ) + consent = fields.Boolean(string="Consentement", default=True) class ResPartnerNewsletter(models.Model): _name = "res.partner.newsletter" _description = "Newsletter" - name = fields.Char('Newsletter') + name = fields.Char("Newsletter") id_riga = fields.Integer("Identifiant RIGA") diff --git a/models/res_users.py b/models/res_users.py index ee73545b341168b6b181cae394bb8174970135b1..94040d80aeeecc0e76c893cc54186a1dceade6fb 100644 --- a/models/res_users.py +++ b/models/res_users.py @@ -11,13 +11,14 @@ class ResUsers(models.Model): def _get_ur(self): return self.env.user.company_id.ur_id - ur_id = fields.Many2one('union.regionale', compute='_compute_ur_id', - string='UR', store=True) + ur_id = fields.Many2one( + "union.regionale", compute="_compute_ur_id", string="UR", store=True + ) # ------------------------------------------------------ # Compute funcitons # ------------------------------------------------------ - @api.depends('company_id.ur_id') + @api.depends("company_id.ur_id") def _compute_ur_id(self): for user in self: user.ur_id = user.company_id.ur_id @@ -29,23 +30,26 @@ class ResUsers(models.Model): def systray_get_activities(self): activities = super(ResUsers, self).systray_get_activities() for activity in activities: - if activity['model'] != 'res.partner': + if activity["model"] != "res.partner": continue - activity['icon'] = modules.module.get_module_icon('contacts') - activity['actions'] = [{ - 'icon': 'fa-th', - 'name': 'Summary', - 'action_xmlid': 'cgscop_partner.cgscop_action_contacts_summary' - }] + activity["icon"] = modules.module.get_module_icon("contacts") + activity["actions"] = [ + { + "icon": "fa-th", + "name": "Summary", + "action_xmlid": "cgscop_partner.cgscop_action_contacts_summary", + } + ] return activities @api.model - @tools.ormcache('self._uid') + @tools.ormcache("self._uid") def context_get(self): """ - Ajoute l'ur_id dans le contexte + Ajoute l'ur_id dans le contexte """ user = self.env.user - values = super(ResUsers, self).context_get() - values['ur_id'] = user.company_id.ur_id.id - return values + context = super(ResUsers, self).context_get() + new_context = context.copy() + new_context["ur_id"] = user.company_id.ur_id.id + return new_context diff --git a/models/scop_contribution.py b/models/scop_contribution.py index 0d49ad3dcbfbd678b6fdce4a6a4089a8e432edf6..7787e8fc09f6b4103662291df111a57262609a49 100644 --- a/models/scop_contribution.py +++ b/models/scop_contribution.py @@ -4,41 +4,10 @@ from odoo import models, fields -class ScopContributions(models.Model): - _name = "scop.contribution" - _description = "Contributions" - _order = 'partner_id, year, type_id' - - partner_id = fields.Many2one( - comodel_name='res.partner', - string='Organisme', - domain=[('is_company', '=', True)], - ondelete='restrict', index=True) - id_riga = fields.Integer("ID RIGA") - type_id = fields.Many2one( - 'scop.contribution.type', - string="Type de cotisation", - ondelete='restrict', index=True) - year = fields.Integer("Année", index=True) - year_str = fields.Char("Année (txt)",) - calculation_date = fields.Datetime("Date calcul cotisation") - loss = fields.Boolean("Perte") - amount_calculated = fields.Integer("Montant calculé") - amount_called = fields.Integer("Montant appelé") - amount_paid = fields.Float("Montant réglé") - amount_remaining_previous = fields.Float("Mnt Restant cum. à fin N-1") - amount_paid_late = fields.Float("Mnt réglé après clôture") - spreading = fields.Integer("Echelonnement") - amount_remaining = fields.Float("Montant Restant") - quarter_1 = fields.Date("1er Trim.") - quarter_2 = fields.Date("2ème Trim.") - quarter_3 = fields.Date("3ème Trim.") - quarter_4 = fields.Date("4ème Trim.") - - +# TODO: déplacer dans scop_cotisation class ScopContributionType(models.Model): _name = "scop.contribution.type" _description = "Contribution type" - name = fields.Char('Contribution type') + name = fields.Char("Contribution type") id_riga = fields.Integer("ID RIGA") diff --git a/models/scop_federation_activity.py b/models/scop_federation_activity.py index 98d132d818962ad7dba51e81a3821f46c4888e70..ff2738c410d483abebc9cc941aa1e1dcb1deb36c 100644 --- a/models/scop_federation_activity.py +++ b/models/scop_federation_activity.py @@ -11,12 +11,13 @@ class ScopFederationComActivity(models.Model): name = fields.Char("Domaine d'activité", required=True) partner_ids = fields.Many2many( - comodel_name='res.partner', - relation='res_partner_federation_com_activity_rel', - column1='com_activity_id', - column2='partner_id', + comodel_name="res.partner", + relation="res_partner_federation_com_activity_rel", + column1="com_activity_id", + column2="partner_id", string="Cooperatives", - domain=[('is_cooperative', '=', True)]) + domain=[("is_cooperative", "=", True)], + ) class ScopFederationIndusActivity(models.Model): @@ -24,11 +25,15 @@ class ScopFederationIndusActivity(models.Model): _description = "Activité Fédération de l'Industrie" _order = "name" - name = fields.Char("Domaine d'activité", required=True,) + name = fields.Char( + "Domaine d'activité", + required=True, + ) partner_ids = fields.Many2many( - comodel_name='res.partner', - relation='res_partner_federation_indus_activity_rel', - column1='indus_activity_id', - column2='partner_id', + comodel_name="res.partner", + relation="res_partner_federation_indus_activity_rel", + column1="indus_activity_id", + column2="partner_id", string="Cooperatives", - domain=[('is_cooperative', '=', True)]) + domain=[("is_cooperative", "=", True)], + ) diff --git a/models/scop_membership.py b/models/scop_membership.py index 6baca44a6f13d82969d5138820dba1279e962db7..c4409c9d76ea22b8b46773d1cbb795c1c69ca94e 100644 --- a/models/scop_membership.py +++ b/models/scop_membership.py @@ -10,35 +10,40 @@ class ScopMembershipPeriod(models.Model): _order = "start desc" partner_id = fields.Many2one( - comodel_name='res.partner', - string='Organisme', - domain=[('is_company', '=', True)], - ondelete='restrict', index=True) + comodel_name="res.partner", + string="Organisme", + domain=[("is_company", "=", True)], + ondelete="restrict", + index=True, + ) id_riga = fields.Integer("ID RIGA") type_id = fields.Many2one( - 'scop.membership.type', + "scop.membership.type", string="Type d'adhésion", - ondelete='restrict', index=True) - start = fields.Date('Début d’adhésion', index=True) - start_stat = fields.Date('Début d’adhésion stat.', index=True) - end = fields.Date('Fin d’adhésion') + ondelete="restrict", + index=True, + ) + start = fields.Date("Début d’adhésion", index=True) + start_stat = fields.Date("Début d’adhésion stat.", index=True) + end = fields.Date("Fin d’adhésion") end_reason_id = fields.Many2one( - 'scop.membership.reason.end', - string='Motif de fin d’adhésion', - ondelete='restrict') + "scop.membership.reason.end", + string="Motif de fin d’adhésion", + ondelete="restrict", + ) number = fields.Char("No adhérent", index=True) - note = fields.Text('Commentaires') + note = fields.Text("Commentaires") class ScopMembershipType(models.Model): _name = "scop.membership.type" _description = "Membership type" - name = fields.Char('Membership type') + name = fields.Char("Membership type") class ScopMembershipReasonEnd(models.Model): _name = "scop.membership.reason.end" _description = "Reason for end of membership" - name = fields.Char('Reason for end of membership') + name = fields.Char("Reason for end of membership") diff --git a/models/scop_partner_staff.py b/models/scop_partner_staff.py index 98080c9b1a34ac77151da4d500f10b312be0b0f6..98c4119b7d68130271bdab4736c5801e953e8267 100644 --- a/models/scop_partner_staff.py +++ b/models/scop_partner_staff.py @@ -8,8 +8,8 @@ from odoo.exceptions import ValidationError class ScopPartnerStaff(models.Model): _name = "scop.partner.staff" _description = "Effectifs" - _rec_name = 'partner_id' - _order = 'effective_date, partner_id' + _rec_name = "partner_id" + _order = "effective_date, partner_id" # ------------------------------------------------------ # Default @@ -17,15 +17,21 @@ class ScopPartnerStaff(models.Model): @api.model def default_get(self, fields): res = super(ScopPartnerStaff, self).default_get(fields) - partner_id = self.env.context.get('default_partner_id', False) + partner_id = self.env.context.get("default_partner_id", False) if partner_id: - staff_line = self.search([ - ('partner_id', '=', partner_id), - ], order='effective_date desc, id desc', limit=1) + staff_line = self.search( + [ + ("partner_id", "=", partner_id), + ], + order="effective_date desc, id desc", + limit=1, + ) if staff_line: staff_list = [ - 'staff_count', 'staff_shareholder_count', - 'staff_shareholder_total', 'staff_average' + "staff_count", + "staff_shareholder_count", + "staff_shareholder_total", + "staff_average", ] for staff in staff_list: res[staff] = staff_line[staff] @@ -35,40 +41,51 @@ class ScopPartnerStaff(models.Model): # Fields declaration # ------------------------------------------------------ partner_id = fields.Many2one( - comodel_name='res.partner', - string='Organisme', - domain=[('is_cooperative', '=', True)], - ondelete='restrict', + comodel_name="res.partner", + string="Organisme", + domain=[("is_cooperative", "=", True)], + ondelete="restrict", required=True, - index=True) - partner_city = fields.Char("Ville", related='partner_id.city') - partner_siret = fields.Char("SIRET", related='partner_id.siret') + index=True, + ) + partner_city = fields.Char("Ville", related="partner_id.city") + partner_siret = fields.Char("SIRET", related="partner_id.siret") cooperative_form_id = fields.Many2one( - related='partner_id.cooperative_form_id') - naf_id = fields.Many2one(related='partner_id.naf_id') + related="partner_id.cooperative_form_id" + ) + naf_id = fields.Many2one(related="partner_id.naf_id") is_partner_in_tracked_naf = fields.Boolean( - 'Coop dans les NAF marqués', - compute='_compute_is_partner_in_tracked_naf') + "Coop dans les NAF marqués", + compute="_compute_is_partner_in_tracked_naf", + ) user_id = fields.Many2one( - comodel_name='res.users', - string='Utilisateur', - ondelete='set null', + comodel_name="res.users", + string="Utilisateur", + ondelete="restrict", required=True, - default=lambda self: self.env.uid) - type_entry = fields.Selection([ - ('questionnaire', 'Questionnaire'), - ('questionnaire_inscription', 'Questionnaire Inscription'), - ('regul_ur', 'Régularisation UR'), - ('regul_cg', 'Régularisation CG'), - ('regul_diane', 'Régularisation Diane')], + default=lambda self: self.env.uid, + ) + type_entry = fields.Selection( + [ + ("questionnaire", "Questionnaire"), + ("questionnaire_inscription", "Questionnaire Inscription"), + ("regul_ur", "Régularisation UR"), + ("regul_cg", "Régularisation CG"), + ("regul_diane", "Régularisation Diane"), + ], string="Type", - default='regul_ur', - required=True, ) + default="regul_ur", + required=True, + ) effective_date = fields.Date( string="Date", default=fields.Date.today(), - required=True, ) - staff_count = fields.Integer("Effectif (EF)", required=True, ) + required=True, + ) + staff_count = fields.Integer( + "Effectif (EF)", + required=True, + ) staff_shareholder_count = fields.Integer("Nb Sociétaires Salarié") staff_shareholder_total = fields.Integer("Total associés") staff_average = fields.Integer("Equivalent temps plein (ETP)") @@ -77,25 +94,25 @@ class ScopPartnerStaff(models.Model): staff_shareholder_men = fields.Integer("Sociétaires salariés hommes") staff_shareholder_women = fields.Integer("Sociétaires salariés femmes") - questionnaire_id = fields.Many2one( - comodel_name='scop.questionnaire', - string='Questionnaire', - ondelete='cascade') - comment = fields.Char('Commentaire') + comment = fields.Char("Commentaire") # ------------------------------------------------------ # Compute # ------------------------------------------------------ - @api.multi def _compute_is_partner_in_tracked_naf(self): - naf_90_01Z = self.env.ref('lefilament_naf.naf_90_01Z').id - naf_90_02Z = self.env.ref('lefilament_naf.naf_90_02Z').id - naf_78_20Z = self.env.ref('lefilament_naf.naf_78_20Z').id - naf_82_11Z = self.env.ref('lefilament_naf.naf_82_11Z').id - naf_78_10Z = self.env.ref('lefilament_naf.naf_78_10Z').id + naf_90_01Z = self.env.ref("lefilament_naf.naf_90_01Z").id + naf_90_02Z = self.env.ref("lefilament_naf.naf_90_02Z").id + naf_78_20Z = self.env.ref("lefilament_naf.naf_78_20Z").id + naf_82_11Z = self.env.ref("lefilament_naf.naf_82_11Z").id + naf_78_10Z = self.env.ref("lefilament_naf.naf_78_10Z").id for r in self: - if r.naf_id.id in (naf_90_01Z, naf_90_02Z, naf_78_20Z, - naf_82_11Z, naf_78_10Z): + if r.naf_id.id in ( + naf_90_01Z, + naf_90_02Z, + naf_78_20Z, + naf_82_11Z, + naf_78_10Z, + ): r.is_partner_in_tracked_naf = True else: r.is_partner_in_tracked_naf = False @@ -103,79 +120,94 @@ class ScopPartnerStaff(models.Model): # ------------------------------------------------------ # OnChange # ------------------------------------------------------ - @api.onchange('type_entry') + @api.onchange("type_entry") def _onchange_type_entry(self): """ - Interdit la sélection questionnaire ou questionnaire inscription - sur l'interface + Interdit la sélection questionnaire ou questionnaire inscription + sur l'interface """ - if self.type_entry in ('questionnaire', 'questionnaire_inscription') \ - and not self.env.user.has_group( - 'cgscop_partner.group_cg_administrative'): + if self.type_entry in ( + "questionnaire", + "questionnaire_inscription", + ) and not self.env.user.has_group( + "cgscop_partner.group_cg_administrative" + ): raise ValidationError( - 'Vous ne pouvez choisir que des types "Régularisation".') + 'Vous ne pouvez choisir que des types "Régularisation".' + ) # ------------------------------------------------------ # Contrains # ------------------------------------------------------ - @api.one - @api.constrains('staff_count', 'staff_shareholder_count', 'staff_average') + @api.constrains("staff_count", "staff_shareholder_count", "staff_average") def _check_staff(self): """ - Interdit de créer une ligne à 0 sauf lorsque - cette ligne vient de la liste ministère - ou si ligne associés / ETP pour les SCIC - ou si ligne ETP pour les 'tracked naf' + Interdit de créer une ligne à 0 sauf lorsque + cette ligne vient de la liste ministère + ou si ligne associés / ETP pour les SCIC + ou si ligne ETP pour les 'tracked naf' """ - if self.type_entry \ - not in ('questionnaire', 'questionnaire_inscription'): - if self.cooperative_form_id.id == self.env.ref( - 'cgscop_partner.form_scic').id: + if self.type_entry not in ( + "questionnaire", + "questionnaire_inscription", + ): + if ( + self.cooperative_form_id.id + == self.env.ref("cgscop_partner.form_scic").id + ): if self.staff_count == 0: raise ValidationError( "La colonne Effectif (EF) doit être renseignée" - " et supérieurs à 0.") + " et supérieurs à 0." + ) elif self.is_partner_in_tracked_naf: if self.staff_count == 0 or self.staff_shareholder_count == 0: raise ValidationError( "Les colonnes Effectif (EF) et Nb Sociétaires Salarié" - " doivent être renseignés et supérieurs à 0.") + " doivent être renseignés et supérieurs à 0." + ) else: - if self.staff_shareholder_count == 0 \ - or self.cooperative_form_id == 0 \ - or self.staff_average == 0: + if ( + self.staff_shareholder_count == 0 + or self.cooperative_form_id == 0 + or self.staff_average == 0 + ): raise ValidationError( "Tous les effectifs doivent" - " être renseignés et supérieurs à 0.") + " être renseignés et supérieurs à 0." + ) - @api.constrains('effective_date') + @api.constrains("effective_date") def _check_effective_date(self): """ - Interdit la création de deux lignes à une même date - pour un même partenaire sauf pour LM + Interdit la création de deux lignes à une même date + pour un même partenaire sauf pour LM """ for record in self: - doublon = self.search([ - ('partner_id', '=', record.partner_id.id), - ('effective_date', '=', record.effective_date) - ]) - if (len(doublon) > 1 - and record.type_entry not in ( - 'questionnaire', 'questionnaire_inscription')): + doublon = self.search( + [ + ("partner_id", "=", record.partner_id.id), + ("effective_date", "=", record.effective_date), + ] + ) + if len(doublon) > 1 and record.type_entry not in ( + "questionnaire", + "questionnaire_inscription", + ): raise ValidationError( - "Vous ne pouvez pas créer 2 ajustements à la même date.") + "Vous ne pouvez pas créer 2 ajustements à la même date." + ) # ------------------------------------------------------ # Buttons # ------------------------------------------------------ def edit_staff(self): - form_id = self.env.ref( - "cgscop_partner.scop_partner_staff_form_view") + form_id = self.env.ref("cgscop_partner.scop_partner_staff_form_view") return { - 'type': 'ir.actions.act_window', - 'res_model': 'scop.partner.staff', - 'view_mode': 'form', - 'views': [[form_id.id, 'form']], - 'res_id': self.id, - 'target': 'new', + "type": "ir.actions.act_window", + "res_model": "scop.partner.staff", + "view_mode": "form", + "views": [[form_id.id, "form"]], + "res_id": self.id, + "target": "new", } diff --git a/models/scop_period.py b/models/scop_period.py index 65043ddb2152ed0d33473bec8adda3da4eb2ba64..7b6760808f1a67daf99b2d8819d6de7d8111f713 100644 --- a/models/scop_period.py +++ b/models/scop_period.py @@ -11,95 +11,106 @@ class ScopPeriod(models.Model): # Infos générales partner_id = fields.Many2one( - comodel_name='res.partner', - string='Organisme', - domain=[('is_cooperative', '=', True)], - ondelete='cascade', required=True, index=True) + comodel_name="res.partner", + string="Organisme", + domain=[("is_cooperative", "=", True)], + ondelete="cascade", + required=True, + index=True, + ) id_riga = fields.Integer("ID RIGA") - start = fields.Date('Début de validité', required=True, - default=fields.Date.today(), index=True) - end = fields.Date('Fin de validité') + start = fields.Date( + "Début de validité", + required=True, + default=fields.Date.today(), + index=True, + ) + end = fields.Date("Fin de validité") end_reason = fields.Selection( - [('juri', "Modification de la forme juridique"), - ('form', "Changement de forme coopérative"), - ('acti', "Changement d'activité (NAF)"), - ('adr', "Changement d'adresse"), - ('nom', "Changement de dénomination sociale"), - ('dreets', "Radiation DREETS"), - ('deces', 'Décès'), - ('autr', "Autres")], - string='Motif de fin de validité') - comments = fields.Text('Commentaires') - name = fields.Char('Raison Sociale', required=True, index=True) + [ + ("juri", "Modification de la forme juridique"), + ("form", "Changement de forme coopérative"), + ("acti", "Changement d'activité (NAF)"), + ("adr", "Changement d'adresse"), + ("nom", "Changement de dénomination sociale"), + ("dreets", "Radiation DREETS"), + ("deces", "Décès"), + ("autr", "Autres"), + ], + string="Motif de fin de validité", + ) + comments = fields.Text("Commentaires") + name = fields.Char("Raison Sociale", required=True, index=True) cooperative_form_id = fields.Many2one( - 'res.partner.cooperative.form', + "res.partner.cooperative.form", string="Cooperative form", - on_delete='restrict') + ondelete="restrict", + ) partner_company_type_id = fields.Many2one( - comodel_name='res.partner.company.type', - string='Legal Form', - track_visibility='onchange', - on_delete='restrict') - siret = fields.Char(string='SIRET', size=14) + comodel_name="res.partner.company.type", + string="Legal Form", + ondelete="restrict", + ) + siret = fields.Char(string="SIRET", size=14) street = fields.Char() street2 = fields.Char() street3 = fields.Char() zip = fields.Char() - zip_id = fields.Many2one('res.city.zip', 'ZIP Location') + zip_id = fields.Many2one("res.city.zip", "ZIP Location") city = fields.Char() cedex = fields.Char() state_id = fields.Many2one( "res.country.state", - string='State', - ondelete='restrict', - domain="[('country_id', '=?', country_id)]") + string="State", + ondelete="restrict", + domain="[('country_id', '=?', country_id)]", + ) country_id = fields.Many2one( - 'res.country', string='Country', ondelete='restrict') + "res.country", string="Country", ondelete="restrict" + ) naf_id = fields.Many2one( - 'res.partner.naf', - string='Code NAF', - on_delete='restrict') + "res.partner.naf", string="Code NAF", ondelete="restrict" + ) ur_id = fields.Many2one( - comodel_name='union.regionale', - string='Union Régionale') + comodel_name="union.regionale", string="Union Régionale" + ) cae = fields.Boolean("CAE") dissolution_reason_id = fields.Many2one( - 'res.partner.dissolution.reason', + "res.partner.dissolution.reason", string="Motif Décès", - on_delete='restrict', - track_visibility='onchange') + ondelete="restrict", + ) number = fields.Char( - string="No adhérent", - related='partner_id.member_number', - store=False) + string="No adhérent", related="partner_id.member_number", store=False + ) # ------------------------------------------------------ # Override ORM # ------------------------------------------------------ - @api.multi def write(self, vals): for period in self: if period == period.partner_id.scop_period_ids[0]: partner_vals = dict(vals) # Suppression des valeurs à ne pas remonter à l'organisme - partner_vals.pop('partner_id', False) - partner_vals.pop('id_riga', False) - partner_vals.pop('start', False) - partner_vals.pop('comments', False) + partner_vals.pop("partner_id", False) + partner_vals.pop("id_riga", False) + partner_vals.pop("start", False) + partner_vals.pop("comments", False) # Si la date de fin est modifiée et que l'organisme est décédé # on remonte la date de décès - if 'end' in partner_vals: - if partner_vals.get('end_reason', False) == 'deces' or period.end_reason == 'deces': - partner_vals.update({ - 'dissolution_date': partner_vals.get('end') - }) - if not partner_vals.get('end'): - partner_vals.update({ - 'dissolution_date': None - }) + if "end" in partner_vals: + if ( + partner_vals.get("end_reason", False) == "deces" + or period.end_reason == "deces" + ): + partner_vals.update( + {"dissolution_date": partner_vals.get("end")} + ) + if not partner_vals.get("end"): + partner_vals.update({"dissolution_date": None}) - partner_vals.pop('end', False) + partner_vals.pop("end", False) # Update partner period.partner_id.write(partner_vals) diff --git a/models/scop_questionnaire.py b/models/scop_questionnaire.py deleted file mode 100644 index 348f60e83ca87801458ecf1fb8194d39d8fb8e07..0000000000000000000000000000000000000000 --- a/models/scop_questionnaire.py +++ /dev/null @@ -1,76 +0,0 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import models, fields, api - - -class ScopQuestionnaire(models.Model): - _name = "scop.questionnaire" - _description = "Questionnaire" - _rec_name = 'year' - - partner_id = fields.Many2one( - comodel_name='res.partner', - string='Organisme', - domain=[('is_company', '=', True)], - ondelete='cascade', index=True) - id_riga = fields.Integer("ID RIGA") - year = fields.Char("Année", index=True) - type_id = fields.Many2one( - 'scop.questionnaire.type', - string="Type de questionnaire", - ondelete='restrict', index=True) - effective_date = fields.Date("Date d'effet du questionnaire") - staff_count = fields.Integer("Effectif (EF)") - staff_shareholder_count = fields.Integer("Nb Sociétaires Salarié") - staff_average = fields.Integer("Equivalent temps plein (ETP)") - - # ------------------------------------------------------ - # Override ORM - # ------------------------------------------------------ - # Création d'un ligne d'effectif - @api.model_create_multi - def create(self, vals_list): - questionnaire = super(ScopQuestionnaire, self).create(vals_list) - quest_type = self.env.ref('cgscop_partner.questionnaire_type_1') - if questionnaire.effective_date: - staff_values = { - 'partner_id': questionnaire.partner_id.id, - 'user_id': self.env.uid, - 'type_entry': 'questionnaire' if questionnaire.type_id != quest_type else 'questionnaire_inscription', - 'effective_date': questionnaire.effective_date, - 'staff_count': questionnaire.staff_count, - 'staff_shareholder_count': questionnaire.staff_shareholder_count, - 'staff_average': questionnaire.staff_average, - 'questionnaire_id': questionnaire.id, - } - self.env['scop.partner.staff'].create(staff_values) - return questionnaire - - # Mise à jour du questionnaire lors de la modification - @api.multi - def write(self, vals): - questionnaire = super(ScopQuestionnaire, self).write(vals) - quest_type = self.env.ref('cgscop_partner.questionnaire_type_1') - staff = self.env['scop.partner.staff'].search([ - ('questionnaire_id', '=', self.id)]) - if staff: - if self.effective_date: - staff_values = { - 'partner_id': self.partner_id.id, - 'user_id': self.env.uid, - 'type_entry': 'questionnaire' if questionnaire.type_id != quest_type else 'questionnaire_inscription', - 'effective_date': self.effective_date, - 'staff_count': self.staff_count, - 'staff_shareholder_count': self.staff_shareholder_count, - 'staff_average': self.staff_average, - } - staff.write(staff_values) - return questionnaire - - -class ScopQuestionnaireType(models.Model): - _name = "scop.questionnaire.type" - _description = "Type de Questionnaire" - - name = fields.Char('Type de Questionnaire') diff --git a/models/scop_revision.py b/models/scop_revision.py index b4f44e62b3923dd7d83fc2e4af09e7fee159d18a..690f5832d19d8871a2010a09fb43175d25feccc3 100644 --- a/models/scop_revision.py +++ b/models/scop_revision.py @@ -1,7 +1,7 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from datetime import datetime,date +from datetime import datetime, date from odoo import models, fields, api from odoo.exceptions import ValidationError @@ -9,70 +9,77 @@ from odoo.exceptions import ValidationError class ScopRevision(models.Model): _name = "scop.revision" _description = "Revision" - _order = 'partner_id, revision_result_year desc, date' + _order = "partner_id, revision_result_year desc, date" - partner_id = fields.Many2one( - comodel_name='res.partner', - string='Organisme', - domain=[('is_company', '=', True)], - ondelete='cascade', index=True) + comodel_name="res.partner", + string="Organisme", + domain=[("is_company", "=", True)], + ondelete="cascade", + index=True, + ) date = fields.Date("Date de révision", index=True) delegate_id = fields.Many2one( - 'res.users', - string='Réviseur', - ondelete='restrict') + "res.users", string="Réviseur", ondelete="restrict" + ) revision_result_year = fields.Integer("Exercice révisé") revision_staff = fields.Integer("Effectif") revision_format_id = fields.Many2one( - 'scop.revision.format', - string='Format de révision', - on_delete='restrict', - related='partner_id.revision_format_id', - store=True) + "scop.revision.format", + string="Format de révision", + ondelete="restrict", + related="partner_id.revision_format_id", + store=True, + ) revision_followup = fields.Selection( - [('ndef', "Non défini"), - ('ras', "RAS"), - ('remarks', 'Simples Remarques et Observations'), - ('reserve', "Réserves"), - ('corrections', 'Mesures Correctives'), - ('demeure', 'Mise en demeure')], - string='Suivi après révision', - default='ndef') + [ + ("ndef", "Non défini"), + ("ras", "RAS"), + ("remarks", "Simples Remarques et Observations"), + ("reserve", "Réserves"), + ("corrections", "Mesures Correctives"), + ("demeure", "Mise en demeure"), + ], + string="Suivi après révision", + default="ndef", + ) note = fields.Text("Commentaire") - facture = fields.Text("Facture", track_visibility='onchange') - facture_reglee = fields.Boolean("Réglée", track_visibility='onchange') - - @api.onchange('revision_result_year') + facture = fields.Text("Facture") + facture_reglee = fields.Boolean("Réglée") + + @api.onchange("revision_result_year") def _onchange_partner_id(self): # Délégué réviseur par défaut self.delegate_id = self.partner_id.revision_person_id.id # Dans le cas de l'UR idf on calcule une date de révision (pour éviter de saisir la date) - idf = self.env.ref('cgscop_partner.riga_14231').id - if (self.partner_id.ur_id.id == idf): - if (self.revision_result_year > 2000): + idf = self.env.ref("cgscop_partner.riga_14231").id + if self.partner_id.ur_id.id == idf: + if self.revision_result_year > 2000: self.date = date(self.revision_result_year + 1, 1, 1) - @api.constrains('revision_result_year') + @api.constrains("revision_result_year") def _check_revision_result_year(self): - if ((self.revision_result_year > 2040) or (self.revision_result_year < 2010)): - raise ValidationError('Exercice révisé invalide') + if (self.revision_result_year > 2040) or ( + self.revision_result_year < 2010 + ): + raise ValidationError("Exercice révisé invalide") class ScopRevisionFormat(models.Model): _name = "scop.revision.format" _description = "Revision Format" - _order = 'ur_id, name' + _order = "ur_id, name" def _default_ur(self): - return self.env['res.company']._ur_default_get() + return self.env["res.company"]._ur_default_get() - name = fields.Char('Revision Format') + name = fields.Char("Revision Format") ur_id = fields.Many2one( - 'union.regionale', - string='Union Régionale', + "union.regionale", + string="Union Régionale", index=True, - on_delete='restrict', - default=_default_ur) + ondelete="restrict", + default=_default_ur, + ) tarif = fields.Integer("Tarif de vente") diff --git a/models/union_regionale.py b/models/union_regionale.py index 2d14e3ff36ef076679d16527f475454155f27153..bc4df469da83aa038013b6c190ef75f71726a0c4 100644 --- a/models/union_regionale.py +++ b/models/union_regionale.py @@ -5,21 +5,25 @@ from odoo import fields, models class UnionRegionale(models.Model): - _name = 'union.regionale' - _description = 'Union Régionale' + _name = "union.regionale" + _description = "Union Régionale" long_name = fields.Char("Nom", required=True, index=True) name = fields.Char("Abbréviation", required=True, index=True) code_ur = fields.Char("Code UR") id_riga = fields.Integer("Identifiant RIGA", index=True) partner_filter = fields.Selection( - [('1', "Tous"), - ('2', 'Union régionale'), - ('3', "Fed. communication"), - ('4', "Fed. industrie"), - ('5', 'Fed. BTP'), - ('6', 'Fed CAE')], - string='Filtre par défaut') + [ + ("1", "Tous"), + ("2", "Union régionale"), + ("3", "Fed. communication"), + ("4", "Fed. industrie"), + ("5", "Fed. BTP"), + ("6", "Fed CAE"), + ], + string="Filtre par défaut", + ) - _sql_constraints = [('name_uniq', 'unique (name)', - "Cette Union Régionale existe déjà !")] + _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 c5af899edc06e8a6c149746cf712eb772ca79a7c..84852dd5393d22f9364227ad49e94cfcb9ed6ddd 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -1,6 +1,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_contribution_group_user,access_contribution_group_user,model_scop_contribution,base.group_user,1,0,0,0 -access_questionnaire_group_user,access_questionnaire_group_user,model_scop_questionnaire,base.group_user,1,0,0,0 access_res_partner_certification,access_res_partner_certification,model_res_partner_certification,base.group_user,1,0,0,0 access_res_partner_secteur_activite,access_res_partner_secteur_activite,model_res_partner_secteur_activite,base.group_user,1,0,0,0 access_res_partner_company_type,access_res_partner_company_type,model_res_partner_company_type,base.group_user,1,0,0,0 @@ -23,12 +21,10 @@ access_scop_membership_period,access_scop_membership_period,model_scop_membershi access_scop_membership_reason_end,access_scop_membership_reason_end,model_scop_membership_reason_end,base.group_user,1,0,0,0 access_scop_membership_type,access_scop_membership_type,model_scop_membership_type,base.group_user,1,0,0,0 access_scop_period,access_scop_period,model_scop_period,base.group_user,1,0,0,0 -access_scop_questionnaire_type,access_scop_questionnaire_type,model_scop_questionnaire_type,base.group_user,1,0,0,0 access_scop_revision_format,access_scop_revision_format,model_scop_revision_format,base.group_user,1,0,0,0 access_union_regionale,access_union_regionale,model_union_regionale,base.group_user,1,0,0,0 add_scop_membership_period,add_scop_membership_period,model_scop_membership_period,group_add_period,1,1,1,0 add_scop_period,add_scop_period,model_scop_period,group_add_period,1,1,1,0 -admin_contribution_group_user,access_contribution_group_user,model_scop_contribution,group_cg_administrator,1,1,1,1 admin_res_partner,admin_res_partner,model_res_partner,group_cg_administrator,1,1,1,1 admin_res_partner_certification,admin_res_partner_certification,model_res_partner_certification,group_cg_administrator,1,1,1,1 admin_res_partner_secteur_activite,admin_res_partner_secteur_activite,model_res_partner_secteur_activite,group_cg_administrator,1,1,1,1 @@ -52,9 +48,6 @@ admin_scop_membership_period,admin_scop_membership_period,model_scop_membership_ admin_scop_membership_reason_end,admin_scop_membership_reason_end,model_scop_membership_reason_end,group_cg_administrator,1,1,1,1 admin_scop_membership_type,admin_scop_membership_type,model_scop_membership_type,group_cg_administrator,1,1,1,1 admin_scop_period,admin_scop_period,model_scop_period,group_cg_administrator,1,1,1,1 -administrative_scop_questionnaire,administrative_scop_questionnaire,model_scop_questionnaire,group_questionnaire,1,1,1,1 -admin_scop_questionnaire,admin_scop_questionnaire,model_scop_questionnaire,group_cg_administrator,1,1,1,1 -admin_scop_questionnaire_type,admin_scop_questionnaire_type,model_scop_questionnaire_type,group_cg_administrator,1,1,1,1 admin_scop_revision_format,admin_scop_revision_format,model_scop_revision_format,group_cg_administrator,1,1,1,1 admin_union_regionale,admin_union_regionale,model_union_regionale,group_cg_administrator,1,1,1,1 admin_ur_scop_revision_format,admin_ur_scop_revision_format,model_scop_revision_format,group_ur_list_modif,1,1,1,1 @@ -75,4 +68,10 @@ admin_res_partner_naf,admin_res_partner_naf,model_res_partner_naf,group_cg_admin base.access_res_country_state_group_user,res_country_state group_user,base.model_res_country_state,base.group_partner_manager,1,0,0,0 admin_res_country_state,res_country_state_admin,base.model_res_country_state,group_cg_administrator,1,1,1,1 access_res_partner_filiere,access_res_partner_filiere,model_res_partner_filiere,base.group_user,1,1,1,0 -admin_res_partner_filiere,admin_res_partner_filiere,model_res_partner_filiere,group_cg_administrator,1,1,1,1 \ No newline at end of file +admin_res_partner_filiere,admin_res_partner_filiere,model_res_partner_filiere,group_cg_administrator,1,1,1,1 +access_scop_address_wizard,access_scop_address_wizard,model_scop_address_wizard,base.group_user,1,1,1,1 +access_scop_deces_wizard,access_scop_deces_wizard,model_scop_deces_wizard,base.group_user,1,1,1,1 +access_scop_period_wizard,access_scop_period_wizard,model_scop_period_wizard,base.group_user,1,1,1,1 +access_scop_membership_period_wizard,access_scop_membership_period_wizard,model_scop_membership_period_wizard,base.group_user,1,1,1,1 +access_scop_membership_out_wizard,access_scop_membership_out_wizard,model_scop_membership_out_wizard,base.group_user,1,1,1,1 +access_scop_status_wizard,access_scop_status_wizard,model_scop_status_wizard,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/security/security_rules.xml b/security/security_rules.xml index 47d45415f4fb3df359dc810b925f4574f713e147..68e3af56a873c1635dfc0ea64d1a422cf7685c39 100644 --- a/security/security_rules.xml +++ b/security/security_rules.xml @@ -4,39 +4,61 @@ <odoo> <data noupdate="0"> + <!-- + Category + --> + <record id="module_cgscop_category" model="ir.module.category"> + <field name="name">CG Scop</field> + <field name="sequence">10</field> + </record> + + <!-- + Group user + --> <record id="group_ur_list_modif" model="res.groups"> - <field name="name">Modifier les listes spécifiques de mon UR</field> + <field name="name">Modifier les listes de mon UR</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> <record id="group_add_period" model="res.groups"> <field name="name">Ajout nouvelle période</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> <record id="group_edit_period" model="res.groups"> <field name="name">Modification période</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> <record id="group_questionnaire" model="res.groups"> <field name="name">Gestion Questionnaire</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> <record id="group_cg_administrative" model="res.groups"> <field name="name">Modification toutes URs</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> <record id="group_cg_administrator" model="res.groups"> <field name="name">Administrateur CG</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> <field name="implied_ids" eval="[(6, 0, [ref('cgscop_partner.group_add_period'), ref('cgscop_partner.group_edit_period'),ref('group_ur_list_modif')])]"/> </record> <record id="group_federation_com" model="res.groups"> <field name="name">Fédération de la Com</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> <record id="group_federation_indus" model="res.groups"> <field name="name">Fédération de l'industrie</field> + <field name="category_id" ref="cgscop_partner.module_cgscop_category"/> </record> + <!-- + Group rules + --> <record id="base.res_users_rule" model="ir.rule"> <field name="name">user rule</field> <field name="model_id" ref="base.model_res_users"/> diff --git a/views/res_partner.xml b/views/res_partner.xml index 3220077a8f250247e5a50f417f925d0149717893..4dd0fd994e7ae28f366c9882aa08da09ae8d1cef 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -21,18 +21,10 @@ <field name="zip_departement" string="N° de département" /> </field> <!-- Affiche du filtre Mon UR --> - <filter name="customer" position="before"> + <field name="user_id" position="after"> <filter string="Mon UR" name="my_ur" domain="[('current_user_ur_id', '=', 'ur_id')]"/> <separator></separator> - </filter> - - <!-- Masque les filtres customer et vendor --> - <filter name="customer" position="attributes"> - <attribute name="invisible">True</attribute> - </filter> - <filter name="supplier" position="attributes"> - <attribute name="invisible">True</attribute> - </filter> + </field> </field> </record> @@ -169,7 +161,7 @@ </field> </xpath> <xpath expr="//field[@name='child_ids']" position="attributes"> - <attribute name="context">{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_street3': street3, 'default_city': city, 'default_cedex': cedex, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_supplier': supplier, 'default_customer': customer, 'default_lang': lang, 'default_ur_id': ur_id, 'default_user_id': user_id}</attribute> + <attribute name="context">{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_street3': street3, 'default_city': city, 'default_cedex': cedex, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_lang': lang, 'default_ur_id': ur_id, 'default_user_id': user_id}</attribute> </xpath> <xpath expr="//field[@name='child_ids']//kanban//field[@name='function']" position="before"> <field name="mandate_id"/> @@ -233,6 +225,7 @@ <attribute name="invisible">1</attribute> </field> <field name="vat" position="after"> + <field name="user_ids" invisible="1"/> <field name="zip_departement" string="N° de département" /> <field name="region" /> <field name="phone" widget="phone"/> @@ -285,12 +278,12 @@ </header> </xpath> <!-- Masque le bouton Archiver --> - <xpath expr="//button[@name='toggle_active']" position="attributes"> - <attribute name="attrs">{'invisible': ['&', ('is_cooperative','=', True), ('project_status', '!=', '7_abandonne')]}</attribute> - </xpath> +<!-- <xpath expr="//button[@name='toggle_active']" position="attributes">--> +<!-- <attribute name="attrs">{'invisible': ['&', ('is_cooperative','=', True), ('project_status', '!=', '7_abandonne')]}</attribute>--> +<!-- </xpath>--> <!-- Titre, logo & status --> - <field name="image" position="before"> + <xpath expr="//h1" position="before"> <div class="oe_button_box" name="button_box" attrs="{'invisible': [('is_cooperative', '!=', True)]}"> <h3> <span class="o_field_header o_field_widget o_readonly_modifier" attrs="{'invisible':[('dissolution_reason_id','=', False)]}">Décédée le</span> @@ -301,8 +294,8 @@ <field options="{'no_open': True}" name="dissolution_reason_id" readonly="1" attrs="{'invisible':[('dissolution_reason_id','=', False)]}"/> </h3> </div> - </field> - <field name="image" position="after"> + </xpath> + <xpath expr="//h1" position="after"> <div class="oe_title oe_title_cgscop" attrs="{'invisible': [('is_cooperative', '!=', True)]}"> <field name="is_cooperative" invisible="1"/> <field name="write_date" invisible="1"/> @@ -312,7 +305,7 @@ <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', '=', '6_suivi')], 'required':['|', ('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '5_cg')), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}" options="{'no_open': True, 'no_create': 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', '5_cg')), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}" options="{'no_open': True, 'no_create': True}" placeholder="Forme Coopérative"/> </h3> <span> </span> <h3> @@ -331,13 +324,11 @@ <label for='cae' string="CAE" class="oe_edit_only"/> <field name="cae" class="oe_edit_only" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" /> </h3> - <field name="supplier" invisible="True"/> - <field name="customer" invisible="True"/> <field name="user_id" invisible="True"/> </div> </div> </div> - </field> + </xpath> <!-- Partie statique avant Notebook --> <xpath expr="//form/sheet/group" position="after"> @@ -427,10 +418,10 @@ attrs="{ 'invisible': ['|', '&', ('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement')), ('is_ag_constitution', '!=', True), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], 'required': ['|', ('project_status', 'in', ('4_adhesion', '5_cg', '6_suivi')), ('is_ag_constitution', '=', True), ('is_cooperative', '=', True), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], - 'readonly': [('id','!=',False),('project_status', '=', '6_suivi'), ('is_administrative', '!=', True)]}"/> + 'readonly': [('project_status', '=', '6_suivi'), ('is_administrative', '!=', True)]}"/> <field name="registration_date" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="social_object" attrs="{'required': [('is_cooperative', '=', True), ('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '5_cg', '6_suivi'))]}"/> - <field name="naf_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg'), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" options="{'no_open': True, 'no_create': True}"/> + <field name="naf_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" options="{'no_open': True, 'no_create': True}"/> <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="other_certification" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <label for='siret' string="SIRET" class="oe_edit_only" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> @@ -446,7 +437,7 @@ <field name="first_closeout" attrs="{ 'required':[('is_cooperative', '!=', False), ('project_status', 'in', ('4_adhesion', '5_cg', '6_suivi')), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], 'invisible': ['|', ('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement')), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], - 'readonly': [('id','!=',False),('project_status', '=', '6_suivi'), ('is_administrative', '!=', True)]}"/> + 'readonly': [('project_status', '=', '6_suivi'), ('is_administrative', '!=', True)]}"/> <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="is_seed_scop" attrs="{'invisible': [('project_status', '=', '1_information')]}"/> <field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi')),('is_seed_scop', '=', True)]}"/> @@ -490,23 +481,21 @@ <field name="country_id"/> <field name="mobile"/> <field name="state_id"/> - <field name="image_small"/> + <field name="image_128"/> <field name="lang"/> <field name="comment"/> - <field name="customer"/> <field name="display_name"/> - <field name="supplier"/> <field name="ur_id"/> <field name="category_id"/> <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'"> - <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/> - <a name="edit_director" type="object" class="fa fa-2x fa-edit text-info pull-right"/> + <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right" title="Archiver"/> + <a name="edit_director" type="object" class="fa fa-2x fa-edit text-info pull-right" title="Modifier"/> <div class="o_kanban_image"> - <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/> - <t t-if="!record.image_small.raw_value"> + <img alt="Contact image" t-if="record.image_128.raw_value" t-att-src="kanban_image('res.partner', 'image_128', record.id.raw_value)"/> + <t t-if="!record.image_128.raw_value"> <img alt="Avatar" t-att-src='_s + "/base/static/img/avatar.png"'/> </t> </div> @@ -553,23 +542,21 @@ <field name="country_id"/> <field name="mobile"/> <field name="state_id"/> - <field name="image_small"/> + <field name="image_128"/> <field name="lang"/> <field name="comment"/> - <field name="customer"/> <field name="display_name"/> - <field name="supplier"/> <field name="ur_id"/> <field name="category_id"/> <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'"> - <a name="edit_contact" type="object" class="fa fa-2x fa-edit text-info pull-right"/> - <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/> + <a name="edit_contact" type="object" class="fa fa-2x fa-edit text-info pull-right" title="Modifier"/> + <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right" title="Archiver"/> <div class="o_kanban_image"> - <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/> - <t t-if="!record.image_small.raw_value"> + <img alt="Contact image" t-if="record.image_128.raw_value" t-att-src="kanban_image('res.partner', 'image_128', record.id.raw_value)"/> + <t t-if="!record.image_128.raw_value"> <img alt="Delivery" t-if="record.type.raw_value === 'delivery'" t-att-src='_s + "/base/static/img/truck.png"'/> <img alt="Invoice" t-if="record.type.raw_value === 'invoice'" t-att-src='_s + "/base/static/img/money.png"'/> <t t-if="record.type.raw_value !== 'invoice' && record.type.raw_value !== 'delivery'"> @@ -790,9 +777,8 @@ <form string="Contact Dirigeant"> <sheet> <div class="oe_button_box" name="button_box"> - <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> - <field name="active" widget="boolean_button" options="{'terminology': 'archive'}"/> - </button> + <widget name="web_ribbon" text="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/> + <field name="active" invisible="1" /> </div> <field name="parent_id_onchange" invisible="1"/> <field name="parent_id" invisible="1"/> @@ -826,12 +812,10 @@ <field name="consent"/> </tree> </field> - <field name="supplier" invisible="True"/> - <field name="customer" invisible="True"/> - <field name="lang" invisible="True"/> - <field name="image" invisible="True"/> - <field name="user_id" invisible="True"/> - <field name="ur_id" invisible="True"/> + <field name="lang" invisible="1"/> + <field name="image_128" invisible="1"/> + <field name="user_id" invisible="1"/> + <field name="ur_id" invisible="1"/> </sheet> <footer> <button name="write" type="object" string="Sauvegarder" class="btn-primary"/> @@ -850,11 +834,10 @@ <field name="arch" type="xml"> <form string="Contacts / Addresses"> <sheet> - <div class="oe_button_box" name="button_box"> - <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> - <field name="active" widget="boolean_button" options="{'terminology': 'archive'}"/> - </button> - </div> +<!-- <div class="oe_button_box" name="button_box">--> + <widget name="web_ribbon" text="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/> + <field name="active" invisible="1" /> +<!-- </div>--> <field name="type" required="1" widget="radio" options="{'horizontal': true}"/> <field name="parent_id_onchange" invisible="1"/> <field name="parent_id" invisible="1"/> @@ -914,12 +897,10 @@ <field name="consent"/> </tree> </field> - <field name="supplier" invisible="True"/> - <field name="customer" invisible="True"/> - <field name="lang" invisible="True"/> - <field name="image" invisible="True"/> - <field name="user_id" invisible="True"/> - <field name="ur_id" invisible="True" options='{"no_open": True, "no_create": True}'/> + <field name="lang" invisible="1"/> + <field name="image_128" invisible="1"/> + <field name="user_id" invisible="1"/> + <field name="ur_id" invisible="1" options='{"no_open": True, "no_create": True}'/> </sheet> <footer> <button name="write" type="object" string="Sauvegarder" class="btn-primary"/> @@ -940,7 +921,9 @@ <attribute name="required">1</attribute> <attribute name="string">Nom</attribute> </xpath> - <xpath expr="//field[@name='child_ids']/form//group/group[2]/div[hasclass('oe_edit_only')]" position="replace"/> + <xpath expr="//field[@name='child_ids']/form//group/group/div[hasclass('oe_edit_only')]" position="attributes"> + <attribute name="invisible">1</attribute> + </xpath> <xpath expr="//field[@name='child_ids']/form//field[@name='title']" position="after"> <field name="firstname" string="Prénom" attrs="{'required': [('lastname', '=', False), ('type', '=', 'contact')], 'invisible': [('type','!=', 'contact')]}"/> <field name="lastname" string="Nom" attrs="{'required': [('firstname', '=', False), ('type', '=', 'contact')], 'invisible': [('type','!=', 'contact')]}"/> @@ -956,7 +939,6 @@ <field name="name">Personnes</field> <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> - <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="search_view_id" ref="view_res_partner_filter_partners"/> <field name="domain" eval="[('is_company', '=', False), ('type', '=', 'contact')]"/> @@ -974,7 +956,6 @@ <field name="name">Partenaires</field> <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> - <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="search_view_id" ref="view_res_partner_filter_partners"/> <field name="domain" eval="[('is_company', '=', True), ('is_cooperative', '=', False), ('type', '=', 'contact')]"/> @@ -989,7 +970,6 @@ <field name="name">Contacts</field> <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> - <field name="view_type">form</field> <field name="view_mode">activity</field> <field name="search_view_id" ref="view_res_partner_filter_partners"/> <field name="context">{'search_default_my_ur': 1}</field> diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index 30e4e0083fffbd4fcdb08b065f35f58368a78908..0dfed78cb060ac6c133c500f8b8032f3bfb97222 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -128,7 +128,7 @@ <field name="activity_state" /> <progressbar field="activity_state" colors='{"planned": "success", "today": "warning", "overdue": "danger"}' /> </xpath> - <xpath expr="//div[hasclass('oe_kanban_partner_links')]" position="after"> + <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="after"> <field name="activity_ids" widget="kanban_activity"/> </xpath> </field> @@ -139,7 +139,6 @@ <record model="ir.actions.act_window" id="scop_prospect_act"> <field name="name">Prospects</field> <field name="res_model">res.partner</field> - <field name="view_type">form</field> <field name="view_mode">kanban,tree,form,activity</field> <field name="search_view_id" ref="scop_partner_view_search"/> <field name="domain" eval="[('is_cooperative', '=', True),('project_status','in',('1_information','2_pre-diagnostic','3_accompagnement','4_adhesion','5_cg','7_abandonne'))]"/> @@ -154,7 +153,6 @@ <record model="ir.actions.act_window" id="scop_cooperative_act"> <field name="name">Coopératives</field> <field name="res_model">res.partner</field> - <field name="view_type">form</field> <field name="view_mode">tree,form,activity</field> <field name="search_view_id" ref="scop_partner_view_search"/> <field name="domain" eval="[('is_cooperative', '=', True),('project_status','=','6_suivi')]"/> @@ -168,7 +166,6 @@ <record model="ir.actions.act_window" id="scop_organisme_act"> <field name="name">Tous les Organismes</field> <field name="res_model">res.partner</field> - <field name="view_type">form</field> <field name="view_mode">tree,form,activity,pivot,graph</field> <field name="search_view_id" ref="scop_partner_view_search"/> <field name="domain" eval="[('is_cooperative', '=', True)]"/> diff --git a/views/scop_config_lists_views.xml b/views/scop_config_lists_views.xml index f7d9db61b8654b5183b1ba9a6a15b80276793ed3..e6b48142141024365527fa0551ecdfc7076dc4ad 100644 --- a/views/scop_config_lists_views.xml +++ b/views/scop_config_lists_views.xml @@ -82,23 +82,6 @@ <field name="help">Display and manage the list of Revision Formats.</field> </record> - <!-- Questionnaire Type --> - <record id="view_scop_questionnaire_type_tree" model="ir.ui.view"> - <field name="name">scop.questionnaire.type.tree</field> - <field name="model">scop.questionnaire.type</field> - <field name="arch" type="xml"> - <tree string="Questionnaire Types" editable="top"> - <field name="name"/> - </tree> - </field> - </record> - - <record id="action_view_scop_questionnaire_type_tree" model="ir.actions.act_window"> - <field name="name">Questionnaire Types</field> - <field name="res_model">scop.questionnaire.type</field> - <field name="view_mode">tree</field> - <field name="help">Display and manage the list of Questionnaire Types.</field> - </record> <!-- MENUS --> <menuitem id="menu_scop_revision_format" @@ -123,9 +106,5 @@ parent="menu_scop_lists" action="action_view_scop_contribution_type_tree" sequence="50"/> - <menuitem id="menu_scop_questionnaire_type" - parent="menu_scop_lists" - action="action_view_scop_questionnaire_type_tree" - sequence="90"/> </data> </odoo> diff --git a/views/scop_partner_staff.xml b/views/scop_partner_staff.xml index abca84645392bff67eadb369f53cefc0f938eb79..d512fe2938dd5f387e1ff4a6933d91c8ec81f8c6 100644 --- a/views/scop_partner_staff.xml +++ b/views/scop_partner_staff.xml @@ -38,9 +38,6 @@ <field name="staff_shareholder_men"/> <field name="staff_shareholder_women"/> </group> - <group name="quest_link"> - <field name="questionnaire_id" readonly="1"/> - </group> <group name="comment"> <field name="comment"/> </group> diff --git a/wizard/scop_address_wizard.py b/wizard/scop_address_wizard.py index 580b8884dff857e21a523bff890e32e64cb0354f..f9a8b2359cfa1c286e8e06a323b27633c4258e25 100644 --- a/wizard/scop_address_wizard.py +++ b/wizard/scop_address_wizard.py @@ -6,163 +6,234 @@ from odoo.exceptions import ValidationError class ScopPeriodWizard(models.TransientModel): - _name = 'scop.address.wizard' + _name = "scop.address.wizard" _description = "Wizard changement d'adresse" # Default functions @api.model def _default_partner_id(self): - return self.env.context.get('active_id') + return self.env.context.get("active_id") @api.model def _default_previous_period_id(self): - return self.env['scop.period'].search( - [('partner_id', '=', self.env.context.get('active_id')), - ('end', '=', False)], - limit=1).id + return ( + self.env["scop.period"] + .search( + [ + ("partner_id", "=", self.env.context.get("active_id")), + ("end", "=", False), + ], + limit=1, + ) + .id + ) @api.model def _default_name(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).name + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .name + ) @api.model def _default_cooperative_form_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).cooperative_form_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .cooperative_form_id + ) @api.model def _default_partner_company_type_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).partner_company_type_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .partner_company_type_id + ) @api.model def _default_siret(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).siret + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .siret + ) @api.model def _default_street(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).street + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .street + ) @api.model def _default_street2(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).street2 + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .street2 + ) @api.model def _default_street3(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).street3 + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .street3 + ) @api.model def _default_zip(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).zip + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .zip + ) @api.model def _default_zip_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).zip_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .zip_id + ) @api.model def _default_city(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).city + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .city + ) @api.model def _default_cedex(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).cedex + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .cedex + ) @api.model def _default_state_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).state_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .state_id + ) @api.model def _default_country_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).country_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .country_id + ) @api.model def _default_naf_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).naf_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .naf_id + ) @api.model def _default_cae(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).cae + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .cae + ) @api.model def _default_ur_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).ur_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .ur_id + ) # Fields common - partner_id = fields.Integer('Partner', default=_default_partner_id) + partner_id = fields.Integer("Partner", default=_default_partner_id) # Fields previous period previous_period_id = fields.Integer(default=_default_previous_period_id) end_reason = fields.Selection( - [('juri', "Modification de la forme juridique"), - ('form', "Changement de forme coopérative"), - ('acti', "Changement d'activité (NAF)"), - ('adr', "Changement d'adresse"), - ('nom', "Changement de dénomination sociale"), - ('autr', "Autres")], - string='Motif', - default='adr') - comments = fields.Text('Commentaires') + [ + ("juri", "Modification de la forme juridique"), + ("form", "Changement de forme coopérative"), + ("acti", "Changement d'activité (NAF)"), + ("adr", "Changement d'adresse"), + ("nom", "Changement de dénomination sociale"), + ("autr", "Autres"), + ], + string="Motif", + default="adr", + ) + comments = fields.Text("Commentaires") # Fields new period - start = fields.Date('Début de validité', required=True, - default=fields.Date.today()) - name = fields.Char('Raison Sociale', required=True, default=_default_name) + start = fields.Date( + "Début de validité", required=True, default=fields.Date.today() + ) + name = fields.Char("Raison Sociale", required=True, default=_default_name) cooperative_form_id = fields.Many2one( - 'res.partner.cooperative.form', + "res.partner.cooperative.form", string="Cooperative form", - on_delete='restrict', required=True, - default=_default_cooperative_form_id) + ondelete="restrict", + required=True, + default=_default_cooperative_form_id, + ) partner_company_type_id = fields.Many2one( - comodel_name='res.partner.company.type', - string='Legal Form', - track_visibility='onchange', - on_delete='restrict', required=True, - default=_default_partner_company_type_id) - siret = fields.Char(string='SIRET', size=14, required=True, - default=_default_siret) + comodel_name="res.partner.company.type", + string="Legal Form", + ondelete="restrict", + required=True, + default=_default_partner_company_type_id, + ) + siret = fields.Char( + string="SIRET", size=14, required=True, default=_default_siret + ) street = fields.Char(default=_default_street) street2 = fields.Char(default=_default_street2) street3 = fields.Char(default=_default_street3) zip = fields.Char(default=_default_zip) - zip_id = fields.Many2one('res.city.zip', 'ZIP Location', - default=_default_zip_id) + zip_id = fields.Many2one( + "res.city.zip", "ZIP Location", default=_default_zip_id + ) city = fields.Char(default=_default_city) cedex = fields.Char(default=_default_cedex) state_id = fields.Many2one( "res.country.state", - string='State', - ondelete='restrict', + string="State", + ondelete="restrict", domain="[('country_id', '=?', country_id)]", - default=_default_state_id) + default=_default_state_id, + ) country_id = fields.Many2one( - 'res.country', string='Country', ondelete='restrict', - default=_default_country_id) + "res.country", + string="Country", + ondelete="restrict", + default=_default_country_id, + ) naf_id = fields.Many2one( - 'res.partner.naf', - string='Code NAF', - on_delete='restrict', default=_default_naf_id) + "res.partner.naf", + string="Code NAF", + ondelete="restrict", + default=_default_naf_id, + ) cae = fields.Boolean("CAE", default=_default_cae) ur_id = fields.Many2one( - comodel_name='union.regionale', - string='Union Régionale', - default=_default_ur_id) + comodel_name="union.regionale", + string="Union Régionale", + default=_default_ur_id, + ) # Action - @api.onchange('zip_id') + @api.onchange("zip_id") def _onchange_zip_id(self): if self.zip_id: self.zip = self.zip_id.name @@ -170,90 +241,99 @@ class ScopPeriodWizard(models.TransientModel): self.country_id = self.zip_id.city_id.country_id self.state_id = self.zip_id.city_id.state_id - @api.multi def create_period(self): for period in self: partner_values = {} - partner = self.env['res.partner'].browse(period.partner_id) + partner = self.env["res.partner"].browse(period.partner_id) # Check changement de région - zip_id = self.env['res.city.zip'].search([ - ('name', '=', period.zip)]) + zip_id = self.env["res.city.zip"].search( + [("name", "=", period.zip)] + ) region = zip_id[0].city_id[0].state_id if partner.region and region != partner.region: raise ValidationError( "Vous ne pouvez pas modifier l'adresse " "dans une autre région.\n" " - ancienne région : %s\n" - " - nouvelle région : %s" % (partner.region.name, region.name)) + " - nouvelle région : %s" + % (partner.region.name, region.name) + ) # Close previous period - previous_period = self.env['scop.period'].browse( - period.previous_period_id) + previous_period = self.env["scop.period"].browse( + period.previous_period_id + ) if previous_period: if previous_period.end: if period.start >= previous_period.end: partner_values = { - 'dissolution_date': False, + "dissolution_date": False, } else: raise ValidationError( "La nouvelle période ne peut commencer avant la " + "fin de la période précédente : " - + str(previous_period.end)) + + str(previous_period.end) + ) if period.start >= previous_period.start: if not previous_period.end: - previous_period.sudo().write({ - 'end': period.start, - 'end_reason': period.end_reason, - 'comments': period.comments, - }) + previous_period.sudo().write( + { + "end": period.start, + "end_reason": period.end_reason, + "comments": period.comments, + } + ) else: raise ValidationError( "La nouvelle période ne peut commencer avant la " + "période précédente : " - + str(previous_period.start)) + + str(previous_period.start) + ) # Create new period period_values = { - 'start': period.start, - 'partner_id': period.partner_id + "start": period.start, + "partner_id": period.partner_id, } values = { - 'name': period.name, - 'dissolution_reason_id': False, - 'cooperative_form_id': period.cooperative_form_id.id, - 'partner_company_type_id': period.partner_company_type_id.id, - 'siret': period.siret, - 'street': period.street, - 'street2': period.street2, - 'street3': period.street3, - 'zip': period.zip, - 'zip_id': period.zip_id.id, - 'city': period.city, - 'cedex': period.cedex, - 'state_id': period.state_id.id, - 'country_id': period.country_id.id, - 'naf_id': period.naf_id.id, - 'cae': period.cae, - 'ur_id': period.ur_id.id, + "name": period.name, + "dissolution_reason_id": False, + "cooperative_form_id": period.cooperative_form_id.id, + "partner_company_type_id": period.partner_company_type_id.id, + "siret": period.siret, + "street": period.street, + "street2": period.street2, + "street3": period.street3, + "zip": period.zip, + "zip_id": period.zip_id.id, + "city": period.city, + "cedex": period.cedex, + "state_id": period.state_id.id, + "country_id": period.country_id.id, + "naf_id": period.naf_id.id, + "cae": period.cae, + "ur_id": period.ur_id.id, } period_values.update(values) - self.env['scop.period'].sudo().create(period_values) + self.env["scop.period"].sudo().create(period_values) # Update partner - partner_values.update({ - 'siret': period.siret, - 'street': period.street, - 'street2': period.street2, - 'street3': period.street3, - 'zip': period.zip, - 'zip_id': period.zip_id.id, - 'city': period.city, - 'cedex': period.cedex, - 'state_id': period.state_id.id, - 'country_id': period.country_id.id, - 'ur_id': period.ur_id.id, - }) + partner_values.update( + { + "siret": period.siret, + "street": period.street, + "street2": period.street2, + "street3": period.street3, + "zip": period.zip, + "zip_id": period.zip_id.id, + "city": period.city, + "cedex": period.cedex, + "state_id": period.state_id.id, + "country_id": period.country_id.id, + "ur_id": period.ur_id.id, + } + ) partner.sudo().write(partner_values) diff --git a/wizard/scop_deces_wizard.py b/wizard/scop_deces_wizard.py index 83ca0ca8c7d83545830d9d382d8a032d96727208..cbcccdc79e3f069fa3bcd2bd7a39be8b2eea46c4 100644 --- a/wizard/scop_deces_wizard.py +++ b/wizard/scop_deces_wizard.py @@ -6,82 +6,94 @@ from odoo.exceptions import ValidationError class ScopDecesWizard(models.TransientModel): - _name = 'scop.deces.wizard' + _name = "scop.deces.wizard" _description = "Décès" # Default functions @api.model def _default_partner_id(self): - return self.env.context.get('active_id') + return self.env.context.get("active_id") @api.model def _default_last_period_id(self): - return self.env['scop.period'].search( - [('partner_id', '=', self.env.context.get('active_id')), - ('end', '=', False)], - limit=1).id + return ( + self.env["scop.period"] + .search( + [ + ("partner_id", "=", self.env.context.get("active_id")), + ("end", "=", False), + ], + limit=1, + ) + .id + ) # Fields common - partner_id = fields.Integer('Partner', default=_default_partner_id) + partner_id = fields.Integer("Partner", default=_default_partner_id) # Fields previous period last_period_id = fields.Integer(default=_default_last_period_id) end = fields.Date( - 'Fin de validité', required=True, default=fields.Date.today()) + "Fin de validité", required=True, default=fields.Date.today() + ) dissolution_reason_id = fields.Many2one( - 'res.partner.dissolution.reason', + "res.partner.dissolution.reason", string="Motif Décès", - on_delete='restrict', - required=True) - comments = fields.Text('Commentaires') + ondelete="restrict", + required=True, + ) + comments = fields.Text("Commentaires") - @api.multi def deces_action(self): # Close previous period for period in self: - last_period = self.env['scop.period'].browse( - period.last_period_id) + last_period = self.env["scop.period"].browse(period.last_period_id) if last_period: if period.end >= last_period.start: - last_period.write({ - 'end': period.end, - 'end_reason': 'deces', - 'dissolution_reason_id': - period.dissolution_reason_id.id, - 'comments': period.comments, - }) + last_period.write( + { + "end": period.end, + "end_reason": "deces", + "dissolution_reason_id": period.dissolution_reason_id.id, + "comments": period.comments, + } + ) else: raise ValidationError( "La date de fin doit être postèrieure à la date de " + "début de la dernière période: " - + str(last_period.start)) + + str(last_period.start) + ) # Update partner - partner = self.env['res.partner'].browse(period.partner_id) - partner.write({ - 'dissolution_date': period.end, - 'dissolution_reason_id': period.dissolution_reason_id.id - }) + partner = self.env["res.partner"].browse(period.partner_id) + partner.write( + { + "dissolution_date": period.end, + "dissolution_reason_id": period.dissolution_reason_id.id, + } + ) # # HS 08/04/2020 # On procède à la radiation à la même date # # Lecture du motif de radiation type décès - motif = self.env.ref('cgscop_partner.reason_end_membership_5') + motif = self.env.ref("cgscop_partner.reason_end_membership_5") # Mise à jour des périodes d'adhésions if motif: - adh_period = self.env['scop.membership.period'].search( - [('partner_id', '=', period.partner_id), - ('end', '=', False)]) + adh_period = self.env["scop.membership.period"].search( + [ + ("partner_id", "=", period.partner_id), + ("end", "=", False), + ] + ) for adh in adh_period: - if(adh.end==False): - adh.write({ - 'end': period.end, - 'end_reason_id': motif.id - }) + if adh.end == False: + adh.write( + {"end": period.end, "end_reason_id": motif.id} + ) else: - raise ValidationError( - "Il n'existe pas de période à fermer.") + raise ValidationError("Il n'existe pas de période à fermer.") diff --git a/wizard/scop_membership_out_wizard.py b/wizard/scop_membership_out_wizard.py index e69e308d161c02dd08a506614a7b1bb32fb7e859..4686c99da46f2ac1438c702b0a3049e943b7304c 100644 --- a/wizard/scop_membership_out_wizard.py +++ b/wizard/scop_membership_out_wizard.py @@ -6,42 +6,43 @@ from odoo.exceptions import ValidationError class ScopMembershipOutWizard(models.TransientModel): - _name = 'scop.membership.out.wizard' + _name = "scop.membership.out.wizard" _description = "Radiation" # Default functions @api.model def _default_partner_id(self): - return self.env.context.get('active_id') + return self.env.context.get("active_id") - partner_id = fields.Integer('Partner', default=_default_partner_id) - type_all = fields.Boolean( - string="Tous types d'adhésion", - default=True) + partner_id = fields.Integer("Partner", default=_default_partner_id) + type_all = fields.Boolean(string="Tous types d'adhésion", default=True) type_id = fields.Many2one( - 'scop.membership.type', - string="Type d'adhésion", - ondelete='restrict') + "scop.membership.type", string="Type d'adhésion", ondelete="restrict" + ) end = fields.Date( - "Fin d'adhésion", required=True, default=fields.Date.today()) + "Fin d'adhésion", required=True, default=fields.Date.today() + ) end_reason_id = fields.Many2one( - 'scop.membership.reason.end', + "scop.membership.reason.end", string="Motif de fin d’adhésion", - on_delete='restrict', - required=True) - note = fields.Text('Commentaires') + ondelete="restrict", + required=True, + ) + note = fields.Text("Commentaires") - - #............................................................ + # ............................................................ # Fermeture des périodes - #............................................................ - @api.multi + # ............................................................ def member_out(self): for period in self: # On veut cloture toute les périodes - if (period.type_all): - last_periods = self.env['scop.membership.period'].search( - [('partner_id', '=', period.partner_id),('end', '=', False)]) + if period.type_all: + last_periods = self.env["scop.membership.period"].search( + [ + ("partner_id", "=", period.partner_id), + ("end", "=", False), + ] + ) for lp in last_periods: period_type_id = lp.type_id.id period.member_out_period( @@ -49,7 +50,8 @@ class ScopMembershipOutWizard(models.TransientModel): period_type_id, period.end, period.end_reason_id.id, - period.note) + period.note, + ) # On ne veut cloturer qu'une seule période else: period_type_id = period.type_id.id @@ -58,35 +60,44 @@ class ScopMembershipOutWizard(models.TransientModel): period_type_id, period.end, period.end_reason_id.id, - period.note) + period.note, + ) return - #............................................................ + # ............................................................ # Fermeture d'une période - #............................................................ - def member_out_period(self, partner_id, period_type_id, - end, end_reason_id, note): + # ............................................................ + def member_out_period( + self, partner_id, period_type_id, end, end_reason_id, note + ): # Lecture de la dernière période active - last_period = self.env['scop.membership.period'].search([ - ('partner_id', '=', partner_id), - ('end', '=', False), - ('type_id', '=', period_type_id)], - limit=1) + last_period = self.env["scop.membership.period"].search( + [ + ("partner_id", "=", partner_id), + ("end", "=", False), + ("type_id", "=", period_type_id), + ], + limit=1, + ) if last_period: if end >= last_period.start: - last_period.write({ - 'end': end, - 'end_reason_id': end_reason_id, - 'note': note, - }) + last_period.write( + { + "end": end, + "end_reason_id": end_reason_id, + "note": note, + } + ) else: raise ValidationError( "La date de fin doit être postèrieure à la date de " + "début de la dernière période: " - + str(last_period.start)) + + str(last_period.start) + ) else: raise ValidationError( - "Il n'existe pas de période avec ce type à fermer.") + "Il n'existe pas de période avec ce type à fermer." + ) return diff --git a/wizard/scop_membership_period_wizard.py b/wizard/scop_membership_period_wizard.py index 52abf1d1a9448e1d13b0ec3f7fefd36f0d778dfe..a1327fcb651a0d3c3f88a7219e26fde724aaef38 100644 --- a/wizard/scop_membership_period_wizard.py +++ b/wizard/scop_membership_period_wizard.py @@ -6,49 +6,58 @@ from odoo.exceptions import ValidationError class ScopMembershipPeriodWizard(models.TransientModel): - _name = 'scop.membership.period.wizard' + _name = "scop.membership.period.wizard" _description = "Création d'une nouvelle période d'adhésion" # Default functions @api.model def _default_partner_id(self): - return self.env.context.get('active_id') + return self.env.context.get("active_id") - partner_id = fields.Integer('Partner', default=_default_partner_id) + partner_id = fields.Integer("Partner", default=_default_partner_id) type_id = fields.Many2one( - 'scop.membership.type', + "scop.membership.type", string="Type d'adhésion", - ondelete='restrict', required=True) - start = fields.Date('Début d’adhésion', required=True, - default=fields.Date.today()) - start_stat = fields.Date('Début d’adhésion stat.', required=True, - default=fields.Date.today()) + ondelete="restrict", + required=True, + ) + start = fields.Date( + "Début d’adhésion", required=True, default=fields.Date.today() + ) + start_stat = fields.Date( + "Début d’adhésion stat.", required=True, default=fields.Date.today() + ) number = fields.Char("No adhérent", required=True) - note = fields.Text('Commentaires') + note = fields.Text("Commentaires") - @api.multi def create_period(self): for period in self: # Raise validation error if previous period exists - if self.env['scop.membership.period'].search( - [('partner_id', '=', period.partner_id), - ('end', '=', False), ('type_id', '=', period.type_id.id)], - limit=1): + if self.env["scop.membership.period"].search( + [ + ("partner_id", "=", period.partner_id), + ("end", "=", False), + ("type_id", "=", period.type_id.id), + ], + limit=1, + ): raise ValidationError( - "Une période d'adhésion existe déjà pour ce type") + "Une période d'adhésion existe déjà pour ce type" + ) else: - self.env['scop.membership.period'].create({ - 'partner_id': period.partner_id, - 'type_id': period.type_id.id, - 'start': period.start, - 'start_stat' : period.start_stat, - 'number': period.number, - 'note': period.note - }) + self.env["scop.membership.period"].create( + { + "partner_id": period.partner_id, + "type_id": period.type_id.id, + "start": period.start, + "start_stat": period.start_stat, + "number": period.number, + "note": period.note, + } + ) - @api.multi - @api.onchange('start') + @api.onchange("start") def onchange_start(self): for rec in self: if rec.start: - rec.start_stat=rec.start + rec.start_stat = rec.start diff --git a/wizard/scop_period_wizard.py b/wizard/scop_period_wizard.py index cc7111557b9988dcbca56b04805678e7caa96384..e339f0c25eaa5e03538d22895fc55b00fd8e9aa0 100644 --- a/wizard/scop_period_wizard.py +++ b/wizard/scop_period_wizard.py @@ -6,163 +6,234 @@ from odoo.exceptions import ValidationError class ScopPeriodWizard(models.TransientModel): - _name = 'scop.period.wizard' + _name = "scop.period.wizard" _description = "Création d'une nouvelle période" # Default functions @api.model def _default_partner_id(self): - return self.env.context.get('active_id') + return self.env.context.get("active_id") @api.model def _default_previous_period_id(self): - return self.env['scop.period'].search( - [('partner_id', '=', self.env.context.get('active_id')), - ('end_reason', '=', False)], - limit=1).id + return ( + self.env["scop.period"] + .search( + [ + ("partner_id", "=", self.env.context.get("active_id")), + ("end_reason", "=", False), + ], + limit=1, + ) + .id + ) @api.model def _default_name(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).name + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .name + ) @api.model def _default_cooperative_form_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).cooperative_form_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .cooperative_form_id + ) @api.model def _default_partner_company_type_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).partner_company_type_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .partner_company_type_id + ) @api.model def _default_siret(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).siret + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .siret + ) @api.model def _default_street(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).street + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .street + ) @api.model def _default_street2(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).street2 + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .street2 + ) @api.model def _default_street3(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).street3 + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .street3 + ) @api.model def _default_zip(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).zip + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .zip + ) @api.model def _default_zip_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).zip_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .zip_id + ) @api.model def _default_city(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).city + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .city + ) @api.model def _default_cedex(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).cedex + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .cedex + ) @api.model def _default_state_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).state_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .state_id + ) @api.model def _default_country_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).country_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .country_id + ) @api.model def _default_naf_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).naf_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .naf_id + ) @api.model def _default_cae(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).cae + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .cae + ) @api.model def _default_ur_id(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).ur_id + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .ur_id + ) # Fields common - partner_id = fields.Integer('Partner', default=_default_partner_id) + partner_id = fields.Integer("Partner", default=_default_partner_id) # Fields previous period previous_period_id = fields.Integer(default=_default_previous_period_id) end_reason = fields.Selection( - [('juri', "Modification de la forme juridique"), - ('form', "Changement de forme coopérative"), - ('acti', "Changement d'activité (NAF)"), - ('adr', "Changement d'adresse"), - ('nom', "Changement de dénomination sociale"), - ('dreets', "Radiation DREETS"), - ('autr', "Autres")], - string='Motif') - comments = fields.Text('Commentaires') + [ + ("juri", "Modification de la forme juridique"), + ("form", "Changement de forme coopérative"), + ("acti", "Changement d'activité (NAF)"), + ("adr", "Changement d'adresse"), + ("nom", "Changement de dénomination sociale"), + ("dreets", "Radiation DREETS"), + ("autr", "Autres"), + ], + string="Motif", + ) + comments = fields.Text("Commentaires") # Fields new period - start = fields.Date('Début de validité', required=True, - default=fields.Date.today()) - name = fields.Char('Raison Sociale', required=True, default=_default_name) + start = fields.Date( + "Début de validité", required=True, default=fields.Date.today() + ) + name = fields.Char("Raison Sociale", required=True, default=_default_name) cooperative_form_id = fields.Many2one( - 'res.partner.cooperative.form', + "res.partner.cooperative.form", string="Cooperative form", - on_delete='restrict', required=True, - default=_default_cooperative_form_id) + ondelete="restrict", + required=True, + default=_default_cooperative_form_id, + ) partner_company_type_id = fields.Many2one( - comodel_name='res.partner.company.type', - string='Legal Form', - track_visibility='onchange', - on_delete='restrict', required=True, - default=_default_partner_company_type_id) - siret = fields.Char(string='SIRET', size=14, required=True, - default=_default_siret) + comodel_name="res.partner.company.type", + string="Legal Form", + ondelete="restrict", + required=True, + default=_default_partner_company_type_id, + ) + siret = fields.Char( + string="SIRET", size=14, required=True, default=_default_siret + ) street = fields.Char(default=_default_street) street2 = fields.Char(default=_default_street2) street3 = fields.Char(default=_default_street3) zip = fields.Char(default=_default_zip) - zip_id = fields.Many2one('res.city.zip', 'ZIP Location', - default=_default_zip_id) + zip_id = fields.Many2one( + "res.city.zip", "ZIP Location", default=_default_zip_id + ) city = fields.Char(default=_default_city) cedex = fields.Char(default=_default_cedex) state_id = fields.Many2one( "res.country.state", - string='State', - ondelete='restrict', + string="State", + ondelete="restrict", domain="[('country_id', '=?', country_id)]", - default=_default_state_id) + default=_default_state_id, + ) country_id = fields.Many2one( - 'res.country', string='Country', ondelete='restrict', - default=_default_country_id) + "res.country", + string="Country", + ondelete="restrict", + default=_default_country_id, + ) naf_id = fields.Many2one( - 'res.partner.naf', - string='Code NAF', - on_delete='restrict', default=_default_naf_id) + "res.partner.naf", + string="Code NAF", + ondelete="restrict", + default=_default_naf_id, + ) cae = fields.Boolean("CAE", default=_default_cae) ur_id = fields.Many2one( - comodel_name='union.regionale', - string='Union Régionale', - default=_default_ur_id) + comodel_name="union.regionale", + string="Union Régionale", + default=_default_ur_id, + ) # Action - @api.onchange('zip_id') + @api.onchange("zip_id") def _onchange_zip_id(self): if self.zip_id: self.zip = self.zip_id.name @@ -170,78 +241,82 @@ class ScopPeriodWizard(models.TransientModel): self.country_id = self.zip_id.city_id.country_id self.state_id = self.zip_id.city_id.state_id - @api.multi def create_period(self): for period in self: partner_values = {} # Close previous period - previous_period = self.env['scop.period'].search( - [('partner_id', '=', self.env.context.get('active_id'))], - limit=1) + previous_period = self.env["scop.period"].search( + [("partner_id", "=", self.env.context.get("active_id"))], + limit=1, + ) if previous_period: if previous_period.end: if period.start >= previous_period.end: partner_values = { - 'dissolution_date': False, + "dissolution_date": False, } else: raise ValidationError( "La nouvelle période ne peut commencer avant la " + "fin de la période précédente : " - + str(previous_period.end)) + + str(previous_period.end) + ) if period.start >= previous_period.start: if not previous_period.end_reason: - previous_period.write({ - 'end': period.start, - 'end_reason': period.end_reason, - 'comments': period.comments, - }) + previous_period.write( + { + "end": period.start, + "end_reason": period.end_reason, + "comments": period.comments, + } + ) else: raise ValidationError( "La nouvelle période ne peut commencer avant la " + "période précédente : " - + str(previous_period.start)) + + str(previous_period.start) + ) # Create new period period_values = { - 'start': period.start, - 'partner_id': period.partner_id + "start": period.start, + "partner_id": period.partner_id, } values = { - 'name': period.name, - 'dissolution_reason_id': False, - 'cooperative_form_id': period.cooperative_form_id.id, - 'partner_company_type_id': period.partner_company_type_id.id, - 'siret': period.siret, - 'street': period.street, - 'street2': period.street2, - 'street3': period.street3, - 'zip': period.zip, - 'zip_id': period.zip_id.id, - 'city': period.city, - 'cedex': period.cedex, - 'state_id': period.state_id.id, - 'country_id': period.country_id.id, - 'naf_id': period.naf_id.id, - 'cae': period.cae, - 'ur_id': period.ur_id.id + "name": period.name, + "dissolution_reason_id": False, + "cooperative_form_id": period.cooperative_form_id.id, + "partner_company_type_id": period.partner_company_type_id.id, + "siret": period.siret, + "street": period.street, + "street2": period.street2, + "street3": period.street3, + "zip": period.zip, + "zip_id": period.zip_id.id, + "city": period.city, + "cedex": period.cedex, + "state_id": period.state_id.id, + "country_id": period.country_id.id, + "naf_id": period.naf_id.id, + "cae": period.cae, + "ur_id": period.ur_id.id, } period_values.update(values) - self.env['scop.period'].create(period_values) + self.env["scop.period"].create(period_values) # Gestion du cas des non coopératives adhérentes # HS le 14/06/2021, on ne remet pas à blanc les champs liés à la vie coopérative de la société -# non_coop = self.env.ref('cgscop_partner.form_noncooperative') -# if period.cooperative_form_id == non_coop: -# partner_values.update({ -# 'creation_origin_id': None, -# 'date_1st_sign': None, -# 'first_closeout': None -# }) + # non_coop = self.env.ref('cgscop_partner.form_noncooperative') + # if period.cooperative_form_id == non_coop: + # partner_values.update({ + # 'creation_origin_id': None, + # 'date_1st_sign': None, + # 'first_closeout': None + # }) # Update partner partner_values.update(values) - partner = self.env['res.partner'].browse(period.partner_id) + partner = self.env["res.partner"].browse(period.partner_id) partner.sudo().write(partner_values) diff --git a/wizard/scop_status_wizard.py b/wizard/scop_status_wizard.py index 4b21de59d50b30c106d32595e9a1838740ff0f21..754021dbe4889bc3b3ecb626ece58a1aca29bb10 100644 --- a/wizard/scop_status_wizard.py +++ b/wizard/scop_status_wizard.py @@ -5,44 +5,50 @@ from odoo import fields, models, api PROJECT_STATUS = [ - ('1_information', "Phase d'information"), - ('2_pre-diagnostic', 'Phase de pré-diagnostic'), - ('3_accompagnement', "Phase d'accompagnement projet"), - ('4_adhesion', "Phase d'adhésion"), - ('5_cg', 'Soumis CGScop'), - ('6_suivi', 'Phase de suivi'), - ('7_abandonne', 'Projet abandonné')] + ("1_information", "Phase d'information"), + ("2_pre-diagnostic", "Phase de pré-diagnostic"), + ("3_accompagnement", "Phase d'accompagnement projet"), + ("4_adhesion", "Phase d'adhésion"), + ("5_cg", "Soumis CGScop"), + ("6_suivi", "Phase de suivi"), + ("7_abandonne", "Projet abandonné"), +] class ScopStatusWizard(models.TransientModel): - _name = 'scop.status.wizard' + _name = "scop.status.wizard" _description = "Wizard changement de statut projet" # Default functions @api.model def _default_partner_id(self): - return self.env.context.get('active_id') + return self.env.context.get("active_id") @api.model def _default_project_status(self): - return self.env['res.partner'].browse( - self.env.context.get('active_id')).project_status + return ( + self.env["res.partner"] + .browse(self.env.context.get("active_id")) + .project_status + ) # Fields common partner_id = fields.Many2one( - comodel_name='res.partner', - string='Partner', - default=_default_partner_id) + comodel_name="res.partner", + string="Partner", + default=_default_partner_id, + ) # Informations Bandeau project_status = fields.Selection( selection=PROJECT_STATUS, - string='Statut projet actuel', - default=_default_project_status) + string="Statut projet actuel", + default=_default_project_status, + ) project_status_new = fields.Selection( selection=PROJECT_STATUS, - string='Statut projet nouveau',) + string="Statut projet nouveau", + ) def change_project_status(self): - self.partner_id.write( - {'project_status': self.project_status_new}) + self.partner_id.write({"project_status": self.project_status_new})