From 64ab99380a2f52b16449dbd11c29bd2e6831ec2f Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Tue, 22 Aug 2023 17:38:37 +0200 Subject: [PATCH] [update] remove lm_adhesion_id & update wizards --- __manifest__.py | 7 +- models/res_partner.py | 162 +++--------------- security/ir.model.access.csv | 6 +- views/res_partner.xml | 7 +- wizard/__init__.py | 6 +- wizard/scop_adhesion_year_wizard.py | 37 ---- wizard/scop_adhesion_year_wizard.xml | 30 ---- wizard/scop_membership_liasse_wizard.py | 102 +++++++++++ wizard/scop_membership_liasse_wizard.xml | 159 +++++++++++++++++ ...ard.py => scop_membership_staff_wizard.py} | 4 +- wizard/scop_membership_staff_wizard.xml | 47 +++++ ...rd.py => scop_membership_submit_wizard.py} | 4 +- ....xml => scop_membership_submit_wizard.xml} | 6 +- .../scop_partner_staff_membership_wizard.xml | 54 ------ 14 files changed, 350 insertions(+), 281 deletions(-) delete mode 100644 wizard/scop_adhesion_year_wizard.py delete mode 100644 wizard/scop_adhesion_year_wizard.xml create mode 100644 wizard/scop_membership_liasse_wizard.py create mode 100644 wizard/scop_membership_liasse_wizard.xml rename wizard/{scop_partner_staff_membership_wizard.py => scop_membership_staff_wizard.py} (92%) create mode 100644 wizard/scop_membership_staff_wizard.xml rename wizard/{scop_submit_membership_wizard.py => scop_membership_submit_wizard.py} (90%) rename wizard/{scop_submit_membership_wizard.xml => scop_membership_submit_wizard.xml} (90%) delete mode 100644 wizard/scop_partner_staff_membership_wizard.xml diff --git a/__manifest__.py b/__manifest__.py index b4417e0..4fb1fe5 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -10,6 +10,7 @@ "depends": [ "account", "cgscop_partner", + "cgscop_cotisation_cg", "cgscop_extranet", "cgscop_liste_ministere", ], @@ -21,10 +22,10 @@ "datas/mail_message_subtype.xml", "datas/scop_adhesion_file_data.xml", # wizard - "wizard/scop_adhesion_year_wizard.xml", "wizard/scop_compulsory_fields_suivi_wizard.xml", - "wizard/scop_partner_staff_membership_wizard.xml", - "wizard/scop_submit_membership_wizard.xml", + "wizard/scop_membership_liasse_wizard.xml", + "wizard/scop_membership_staff_wizard.xml", + "wizard/scop_membership_submit_wizard.xml", # views "views/assets.xml", "views/res_config_settings.xml", diff --git a/models/res_partner.py b/models/res_partner.py index 2925c90..c8e0b85 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -54,12 +54,6 @@ class ScopPartner(models.Model): date_transmission_cg = fields.Date("Date de transmission du dossier à la CG") date_bureau_validation = fields.Date("Date du bureau de validation") - lm_adhesion_id = fields.Many2one( - comodel_name="scop.liste.ministere", string="Liste Ministère adhésion" - ) - lm_adhesion_year = fields.Integer( - string="Année dossier adhésion", related="lm_adhesion_id.year" - ) invoice_adhesion_id = fields.Many2one( comodel_name="account.move", string="Facture d'adhésion" ) @@ -114,67 +108,6 @@ class ScopPartner(models.Model): # ------------------------------------------------------ # Actions / Buttons # ------------------------------------------------------ - def scop_lm_adhesion(self): - """ - Display liste ministere form used for adhesion - :return: Form View LM - """ - self.ensure_one() - if not self.lm_adhesion_id: - self.lm_adhesion_id = self.get_lm_adhesion() - form_id = self.env.ref("cgscop_liste_ministere.view_liste_ministere_form") - action = { - "name": "Dossier d'adhésion", - "type": "ir.actions.act_window", - "res_model": "scop.liste.ministere", - "view_mode": "form", - "views": [[form_id.id, "form"]], - "res_id": self.lm_adhesion_id.id, - "context": {"create": False, "edit": True, "delete": False}, - } - return action - - def scop_liasse_adhesion(self): - """ - Display liasse fiscale used for adhesion : - :return LF attached to LM adhesion or create new one type prévi - """ - self.ensure_one() - if not self.lm_adhesion_id: - self.lm_adhesion_id = self.get_lm_adhesion() - liasse_adhesion = self.get_liasse_adhesion(self.lm_adhesion_id) - year_adhesion = self.lm_adhesion_year - if not liasse_adhesion.year == year_adhesion: - liasse_adhesion.update({"year": year_adhesion}) - action = self.env["ir.actions.actions"]._for_xml_id( - "cgscop_liasse_fiscale.scop_liasse_fiscale_previsionnelle_act_window" - ) - action.update( - { - "name": "Données financières", - "res_id": liasse_adhesion.id, - "context": {"create": False, "edit": True, "delete": False}, - } - ) - return action - - def scop_change_year_dossier(self): - """ - Open wizard to change year dossier adhesion - :return: - """ - wizard = self.env["scop.adhesion.year.wizard"].create( - {"lm_adhesion_id": self.lm_adhesion_id.id} - ) - return { - "name": "Modifier l'année du dossier", - "type": "ir.actions.act_window", - "view_mode": "form", - "res_model": "scop.adhesion.year.wizard", - "res_id": wizard.id, - "target": "new", - } - def fill_membership_staff(self): self.ensure_one() staff_id = self.env["scop.partner.staff"].search( @@ -199,82 +132,36 @@ class ScopPartner(models.Model): } ) - wizard = self.env["scop.partner.staff.membership.wizard"].create( + wizard = self.env["scop.membership.staff.wizard"].create( {"partner_id": self.id, "staff_id": staff_id.id} ) return { - "name": "Effectif à l'adhésion", + "name": "Effectifs à l'adhésion", "type": "ir.actions.act_window", "view_mode": "form", - "res_model": "scop.partner.staff.membership.wizard", + "res_model": "scop.membership.staff.wizard", "res_id": wizard.id, "target": "new", } - # ------------------------------------------------------ - # Business methods - # ------------------------------------------------------ - def get_lm_adhesion(self, year=False): - """ - - LM renouvellement existante en année N → on rattache à cette LM - - Pas de LM existante en année N - - LM connue dans l’historique → on crée une LM renouvellement - pour l’année N - - Pas de LM connue → on créée une LM inscription - """ + def fill_membership_liasse(self): self.ensure_one() - - lm_adhesion = self.lm_adhesion_id - - if not lm_adhesion: - last_lm_ids = self.get_last_lm() - year = fields.Date.today().year if not year else year - if last_lm_ids: - lm_adhesion = last_lm_ids.filtered(lambda lm: lm.year == year) - - if not lm_adhesion: - if not last_lm_ids: - type_lm = "subscribe" - else: - type_lm = "renew" - ListeMinistere = self.env["scop.liste.ministere"] - lm_adhesion_id = ListeMinistere.sudo().create_folder( - self, year, type_lm - ) - lm_adhesion = ListeMinistere.browse(lm_adhesion_id) - lm_adhesion.update_data_lm() - lm_adhesion.status = "2_publie" - self.lm_adhesion_id = lm_adhesion.id - else: - if not lm_adhesion.active: - lm_adhesion.write({"active": True}) - - return lm_adhesion - - def get_last_lm(self): - """ - Return last known lm for partner - """ - self.ensure_one() - lm_ids = self.env["scop.liste.ministere"].search( - [("partner_id", "=", self.id), ("active", "in", [True, False])], - order="year desc", + wizard = self.env["scop.membership.liasse.wizard"].create( + {"partner_id": self.id,} ) - return lm_ids - - def get_liasse_adhesion(self, lm): - """ - Return liasse linked to LM or create a new one - :param lm: - :return: - """ - liasse_type_previ = "forecast" - liasse_adhesion = lm.sudo().create_liasse_fiscale(liasse_type_previ) - if not liasse_adhesion.L2052_FL: - liasse_adhesion.update({"L2052_FL": self.ca_previsionnel}) - liasse_adhesion.is_qualified = True - return liasse_adhesion + return { + "name": "Données financières", + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": "scop.membership.liasse.wizard", + "res_id": wizard.id, + "target": "new", + } + # ------------------------------------------------------ + # Business methods + # ------------------------------------------------------ + # TODO: supprimer ou modifier (suppression fonction get_liasse_adhesion) def check_compulsory_fields(self, lm): """ Vérification des champs de la liste ministère et de la liasse fiscale @@ -287,6 +174,8 @@ class ScopPartner(models.Model): res += ( "<hr/><strong>Dossier d'Adhésion : </strong><ul>" + errors_lm + "</ul>" ) + + liasse_adhesion = self.get_liasse_adhesion(lm) errors_lf = liasse_adhesion.check_compulsory_fields_lf() if errors_lf: @@ -443,7 +332,7 @@ class ScopPartner(models.Model): """ Ouvre le wizard et vérifie les effectifs """ - wizard = self.env["scop.submit.membership.wizard"].create( + wizard = self.env["scop.membership.submit.wizard"].create( { "partner_id": self.id, "list_logs": self.list_logs, @@ -453,7 +342,7 @@ class ScopPartner(models.Model): "name": "Confirmation de l'adhésion", "type": "ir.actions.act_window", "view_mode": "form", - "res_model": "scop.submit.membership.wizard", + "res_model": "scop.membership.submit.wizard", "res_id": wizard.id, "target": "new", } @@ -522,13 +411,6 @@ class ScopPartner(models.Model): - create invoice adhesion - set liasse_fiscale_adhesion as qualified """ - - # TODO: Supprimer ? - # if not self.lm_adhesion_id: - # raise ValidationError( - # _("Cette coopérative n'a pas de dossier d'inscription") - # ) - # Create period adhésions with num adherent num_adherent = self.member_number_int or self.create_num_adherent() self.create_period_adhesion_cg(num_adherent) diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 99f6ac7..8c6de3e 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -6,6 +6,6 @@ admin_res_partner_project_invoicing_status,admin_res_partner_project_invoicing_s access_scop_adhesion_file,access_scop_adhesion_file,model_scop_adhesion_file,base.group_user,1,0,0,0 admin_scop_adhesion_file,admin_scop_adhesion_file,model_scop_adhesion_file,cgscop_partner.group_cg_administrator,1,1,1,1 cg_access_compulsory_fields_suivi_wizard,cg_access_compulsory_fields_suivi_wizard,model_scop_compulsory_fields_suivi_wizard,base.group_user,1,1,1,0 -cg_access_adhesion_year_wizard,cg_access_adhesion_year_wizard,model_scop_adhesion_year_wizard,cgscop_partner.group_cg_administrative,1,1,1,0 -access_scop_partner_staff_membership_wizard,access_scop_partner_staff_membership_wizard,model_scop_partner_staff_membership_wizard,base.group_user,1,1,1,1 -access_scop_submit_membership_wizard,access_scop_submit_membership_wizard,model_scop_submit_membership_wizard,base.group_user,1,1,1,1 +access_scop_membership_liasse_wizard,access_scop_membership_liasse_wizard,model_scop_membership_liasse_wizard,base.group_user,1,1,1,1 +access_scop_membership_staff_wizard,access_scop_membership_staff_wizard,model_scop_membership_staff_wizard,base.group_user,1,1,1,1 +access_scop_membership_submit_wizard,access_scop_membership_submit_wizard,model_scop_membership_submit_wizard,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/views/res_partner.xml b/views/res_partner.xml index 53b16e7..6464898 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -71,7 +71,8 @@ type="object" >les effectifs</button> et <button class="btn btn-info btn-sm" - name="" + name="fill_membership_liasse" + type="object" >les données financières</button> pour valider l'adhésion. </div> </xpath> @@ -211,7 +212,7 @@ <button string="Données financières" type="object" - name="scop_liasse_adhesion" + name="fill_membership_liasse" class="btn-info" attrs="{'invisible': [('membership_status', '!=', 'adhesion')]}" /> @@ -234,8 +235,6 @@ string="Phase d'adhésion" attrs="{'invisible':[('project_status','in',('1_information','2_pre-diagnostic','3_accompagnement'))]}" > - <field name="lm_adhesion_id" invisible="1" /> - <field name="lm_adhesion_year" /> <field name="file_full" widget="boolean_toggle" /> <field name="date_transmission_cg" /> <field name="date_bureau_validation" /> diff --git a/wizard/__init__.py b/wizard/__init__.py index ea110ec..fb836cd 100644 --- a/wizard/__init__.py +++ b/wizard/__init__.py @@ -1,7 +1,7 @@ # © 2021 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from . import scop_adhesion_year_wizard from . import scop_compulsory_fields_suivi_wizard -from . import scop_partner_staff_membership_wizard -from . import scop_submit_membership_wizard +from . import scop_membership_liasse_wizard +from . import scop_membership_staff_wizard +from . import scop_membership_submit_wizard diff --git a/wizard/scop_adhesion_year_wizard.py b/wizard/scop_adhesion_year_wizard.py deleted file mode 100644 index b542d5a..0000000 --- a/wizard/scop_adhesion_year_wizard.py +++ /dev/null @@ -1,37 +0,0 @@ -# © 2022 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import fields, models - - -class ScopAdhesionYearWizard(models.TransientModel): - _name = "scop.adhesion.year.wizard" - _description = "Wizard: Changer l'année du dossier d'adhésion" - - lm_adhesion_id = fields.Many2one( - comodel_name="scop.liste.ministere", string="Lm_adhesion_id", required=False - ) - current_year = fields.Integer( - string="Année actuelle", related="lm_adhesion_id.year" - ) - choosen_year = fields.Selection( - [ - (str(year), str(year)) - for year in range( - fields.Date.today().year - 3, fields.Date.today().year + 2 - ) - ], - string="Année choisie", - ) - - # ------------------------------------------------------ - # Actions / Buttons - # ------------------------------------------------------ - def change_year(self): - """ - Change l'année du dossier d'adhésion pour le partner - :return: - """ - partner = self.lm_adhesion_id.partner_id - partner.lm_adhesion_id = partner.get_lm_adhesion(int(self.choosen_year)) - return {"type": "ir.actions.act_window_close"} diff --git a/wizard/scop_adhesion_year_wizard.xml b/wizard/scop_adhesion_year_wizard.xml deleted file mode 100644 index 1405f19..0000000 --- a/wizard/scop_adhesion_year_wizard.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" ?> -<!-- Copyright 2021 Le Filament - License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> -<odoo> - <data> - - <record model="ir.ui.view" id="scop_adhesion_year_wizard_form_view"> - <field name="name">scop.adhesion.year.wizard.form</field> - <field name="model">scop.adhesion.year.wizard</field> - <field name="arch" type="xml"> - <form string="Changer l'année du dossier d'adhésion"> - <group> - <field name="current_year" /> - <field name="choosen_year" required="1" /> - </group> - <footer> - <button - name="change_year" - type="object" - string="Valider" - class="oe_highlight" - /> - <button special="cancel" string="Annuler" /> - </footer> - </form> - </field> - </record> - - </data> -</odoo> diff --git a/wizard/scop_membership_liasse_wizard.py b/wizard/scop_membership_liasse_wizard.py new file mode 100644 index 0000000..75b842f --- /dev/null +++ b/wizard/scop_membership_liasse_wizard.py @@ -0,0 +1,102 @@ +# © 2022 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class ScopMembershipLiasseWizard(models.TransientModel): + _name = "scop.membership.liasse.wizard" + _description = "Wizard: Données financières d'adhésion" + + # ------------------------------------------------------ + # Field declaration + # ------------------------------------------------------ + partner_id = fields.Many2one( + comodel_name="res.partner", + string="Coopérative", + required=True + ) + liasse_id = fields.Many2one( + comodel_name="scop.liasse.fiscale", + string="Liasse existante", + ) + is_financial_data = fields.Boolean(compute="_compute_is_financial_data") + is_editable = fields.Boolean(compute="_compute_is_editable") + + # Related fields + is_qualified = fields.Boolean(related="liasse_id.is_qualified") + year = fields.Integer(related="liasse_id.year") + type_id = fields.Selection(related="liasse_id.type_id") + source = fields.Selection(related="liasse_id.source") + dureeExercice = fields.Integer(related="liasse_id.dureeExercice") + L2050_DCLO = fields.Date(related="liasse_id.L2050_DCLO") + currency_id = fields.Many2one(related="liasse_id.currency_id") + L2052_FL = fields.Monetary(related="liasse_id.L2052_FL") + av_cg = fields.Monetary(related="liasse_id.av_cg") + av_lf = fields.Monetary(related="liasse_id.av_lf") + L2052_FY = fields.Monetary(related="liasse_id.L2052_FY") + L2053_HN = fields.Float(related="liasse_id.L2053_HN") + contribution_base_type = fields.Selection(related="liasse_id.contribution_base_type") + contribution_base_amount = fields.Integer(related="liasse_id.contribution_base_amount") + contribution_cg = fields.Float(related="liasse_id.contribution_cg") + + # ------------------------------------------------------ + # Compute + # ------------------------------------------------------ + def _compute_is_financial_data(self): + for wizard in self: + liasse_ids = self.env["scop.liasse.fiscale"].search([ + ("partner_id", "=", wizard.partner_id.id) + ]) + wizard.is_financial_data = True if liasse_ids else False + + @api.depends("liasse_id") + def _compute_is_editable(self): + for wizard in self: + if wizard.liasse_id.type_id == "forecast": + wizard.is_editable = True + else: + wizard.is_editable = False + + # ------------------------------------------------------ + # Actions / Buttons + # ------------------------------------------------------ + def save_data(self): + """ + Sauvegarder les données même avec erreurs + """ + return {"type": "ir.actions.act_window_close"} + + def new_forecast(self): + liasse_values = { + "partner_id": self.partner_id.id, + "year": fields.Date.today().year, + "effective_date": fields.Date.today(), + "source": "manual", + "type_id": "forecast", + "is_qualified": True, + } + liasse_fiscale_id = self.env["scop.liasse.fiscale"].create( + liasse_values + ) + + return self.open_forecast(liasse_fiscale_id) + + def update_forecast(self): + return self.open_forecast(self.liasse_id) + + # ------------------------------------------------------ + # Business function + # ------------------------------------------------------ + def open_forecast(self, liasse_id): + action = self.env["ir.actions.actions"]._for_xml_id( + "cgscop_liasse_fiscale.scop_liasse_fiscale_previsionnelle_act_window" + ) + action.update( + { + "target": "new", + "res_id": liasse_id.id, + "flags": {"action_buttons": False}, + } + ) + return action diff --git a/wizard/scop_membership_liasse_wizard.xml b/wizard/scop_membership_liasse_wizard.xml new file mode 100644 index 0000000..82dedd2 --- /dev/null +++ b/wizard/scop_membership_liasse_wizard.xml @@ -0,0 +1,159 @@ +<?xml version="1.0" ?> +<!-- Copyright 2021 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <data> + + <record model="ir.ui.view" id="scop_membership_liasse_wizard_form"> + <field name="name">scop.membership.liasse.wizard.form</field> + <field name="model">scop.membership.liasse.wizard</field> + <field name="arch" type="xml"> + <form string="Effectifs à l'adhésion"> + <h3><field name="partner_id" readonly="1" options="{'no_open': True}" /></h3> + <!-- Liasse existante --> + <div + role="alert" + class="alert alert-warning" + colspan="2" + attrs="{'invisible': [('is_financial_data', '=', False)]}" + > + Veuillez sélectionner une liasse existante pour voir les données financières rattachées. + Si une liasse parmi les liasses déjà présentes vous semble valide pour le calcul des cotisations, vous n'avez pas d'action supplémentaire à effectuer. + </div> + <group> + <field name="is_financial_data" invisible="1"/> + <group> + <field + name="liasse_id" + domain="[('partner_id', '=', partner_id)]" + attrs="{'invisible': [('is_financial_data', '=', False)]}" + options="{'no_open': True, 'no_create': True}" + /> + </group> + <group> + + </group> + <group attrs="{'invisible': [('liasse_id', '=', False)]}"> + <div colspan="2"> + <field name="is_qualified" invisible="1" /> + <span + class="badge badge-pill badge-success" + attrs="{'invisible': [('is_qualified', '=', False)]}" + >Eligible cotisations</span> + </div> + <field name="year" readonly="1" /> + <field name="type_id" readonly="1" /> + <field name="source" readonly="1" /> + <field name="dureeExercice" readonly="1" /> + <field name="L2050_DCLO" readonly="1" /> + </group> + <group attrs="{'invisible': [('liasse_id', '=', False)]}"> + <field name="currency_id" invisible="1" /> + <field name="L2052_FL" string="CA" readonly="1" /> + <field name="av_cg" readonly="1" /> + <field name="av_lf" readonly="1" /> + <field + name="L2052_FY" + readonly="1" + string="Masse Salariale" + widget="monetary" + /> + <field + name="L2053_HN" + readonly="1" + string="Bénéfice/Perte" + widget="monetary" + /> + </group> + <group string="Simulation cotisations" attrs="{'invisible': [('liasse_id', '=', False)]}"> + <field + name="contribution_base_type" + string="Type Assiette" + /> + <field + name="contribution_base_amount" + string="Montant Assiette" + /> + <field name="contribution_cg" string="Cotisation CG Scop" /> + </group> + <group attrs="{'invisible': [('liasse_id', '=', False)]}"> + <field name="is_editable" invisible="1"/> + <div + class="text-center" + colspan="2" + attrs="{'invisible': [('is_editable', '=', False)]}" + > + <button + string="Modifier la liasse prévisionnelle" + name="update_forecast" + type="object" + class="btn btn-outline-info btn-lg" + style="width: 250px;" + /> + </div> + <div + class="text-center" + colspan="2" + attrs="{'invisible': [('is_editable', '=', True)]}" + > + <button + type="action" + name="%(cgscop_liasse_fiscale.scop_load_liasse_act_window)d" + class="btn btn-outline-info btn-lg" + style="width: 250px;" + > + Importer une nouvelle liasse + </button> + </div> + </group> + </group> + <!-- Pas de liasse --> + <div + role="alert" + class="alert alert-warning" + attrs="{'invisible': [('is_financial_data', '=', True)]}" + > + Aucune donnée financière n'est à ce jour associée à cette coopérative. Pour poursuivre l'adhésion, il est nécessaire de créer une liasse prévisionnelle ou de saisir une liasse existante. + </div> + <div + class="text-center" + attrs="{'invisible': [('is_financial_data', '=', True)]}" + > + <div + class="btn-group" + role="group" + aria-label="Liasse Fiscales" + style="padding-top: 15px; padding-bottom: 15px;" + > + <button + string="Saisir une liasse prévisionnelle" + name="new_forecast" + type="object" + class="btn btn-outline-info btn-lg" + style="width: 250px;" + /> + <button + type="action" + name="%(cgscop_liasse_fiscale.scop_load_liasse_act_window)d" + class="btn btn-outline-info btn-lg" + style="width: 250px;" + > + Importer une liasse + </button> + </div> + </div> + <footer> + <button + name="save_data" + type="object" + string="Sauvegarder" + class="oe_highlight" + /> + <button special="cancel" string="Annuler" /> + </footer> + </form> + </field> + </record> + + </data> +</odoo> diff --git a/wizard/scop_partner_staff_membership_wizard.py b/wizard/scop_membership_staff_wizard.py similarity index 92% rename from wizard/scop_partner_staff_membership_wizard.py rename to wizard/scop_membership_staff_wizard.py index 06020fc..ae1497e 100644 --- a/wizard/scop_partner_staff_membership_wizard.py +++ b/wizard/scop_membership_staff_wizard.py @@ -4,8 +4,8 @@ from odoo import fields, models -class ScopPartnerStaffMembershipWizard(models.TransientModel): - _name = "scop.partner.staff.membership.wizard" +class ScopMembershipStaffWizard(models.TransientModel): + _name = "scop.membership.staff.wizard" _description = "Wizard: création modification de l'effectif d'adhésion" # ------------------------------------------------------ diff --git a/wizard/scop_membership_staff_wizard.xml b/wizard/scop_membership_staff_wizard.xml new file mode 100644 index 0000000..865e30e --- /dev/null +++ b/wizard/scop_membership_staff_wizard.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" ?> +<!-- Copyright 2021 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + <data> + + <record model="ir.ui.view" id="scop_membership_staff_wizard_form"> + <field name="name">scop.membership.staff.wizard.form</field> + <field name="model">scop.membership.staff.wizard</field> + <field name="arch" type="xml"> + <form string="Effectifs à l'adhésion"> + <h5><field name="partner_id" readonly="1" string="Coopérative" options="{'no_open': True}" /></h5> + <group> + <field name="staff_id" readonly="1" invisible="1" /> + <field name="effective_date" required="1" string="Date effective de l'information" /> + <field name="staff_count" required="1" string="Effectif total" /> + <field name="staff_shareholder_count" required="1" /> + <field name="staff_shareholder_total" required="1" string="Total associés y compris non salariés" /> + <field name="staff_average" required="1" /> + <field name="comment" /> + </group> + <footer> + <button + name="save_data" + type="object" + string="Sauvegarder" + class="oe_highlight" + /> + <button special="cancel" string="Annuler" /> + </footer> + </form> + </field> + </record> + + <record + id="scop_membership_staff_wizard_action" + model="ir.actions.act_window" + > + <field name="name">Effectifs à l'adhésion</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">scop.membership.staff.wizard</field> + <field name="view_mode">form</field> + <field name="target">new</field> + </record> + + </data> +</odoo> diff --git a/wizard/scop_submit_membership_wizard.py b/wizard/scop_membership_submit_wizard.py similarity index 90% rename from wizard/scop_submit_membership_wizard.py rename to wizard/scop_membership_submit_wizard.py index 08f0ae1..514b6a8 100644 --- a/wizard/scop_submit_membership_wizard.py +++ b/wizard/scop_membership_submit_wizard.py @@ -4,8 +4,8 @@ from odoo import fields, models -class ScopSubmitMembershipWizard(models.TransientModel): - _name = "scop.submit.membership.wizard" +class ScopMembershipSubmitWizard(models.TransientModel): + _name = "scop.membership.submit.wizard" _description = "Wizard: Confirmer les champs obligatoires l'adhésion" partner_id = fields.Many2one( diff --git a/wizard/scop_submit_membership_wizard.xml b/wizard/scop_membership_submit_wizard.xml similarity index 90% rename from wizard/scop_submit_membership_wizard.xml rename to wizard/scop_membership_submit_wizard.xml index c61b8d1..db1cf9b 100644 --- a/wizard/scop_submit_membership_wizard.xml +++ b/wizard/scop_membership_submit_wizard.xml @@ -4,9 +4,9 @@ <odoo> <data> - <record model="ir.ui.view" id="scop_submit_membership_wizard_form"> - <field name="name">scop.submit.membership.wizard.form</field> - <field name="model">scop.submit.membership.wizard</field> + <record model="ir.ui.view" id="scop_membership_submit_wizard_form"> + <field name="name">scop.membership.submit.wizard.form</field> + <field name="model">scop.membership.submit.wizard</field> <field name="arch" type="xml"> <form string="Confirmer les champs obligatoires"> <div diff --git a/wizard/scop_partner_staff_membership_wizard.xml b/wizard/scop_partner_staff_membership_wizard.xml deleted file mode 100644 index 2964c5a..0000000 --- a/wizard/scop_partner_staff_membership_wizard.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" ?> -<!-- Copyright 2021 Le Filament - License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> -<odoo> - <data> - - <record model="ir.ui.view" id="scop_partner_staff_membership_wizard_form"> - <field name="name">scop.partner.staff.membership.wizard.form</field> - <field name="model">scop.partner.staff.membership.wizard</field> - <field name="arch" type="xml"> - <form string="Effectifs à l'adhésion"> - <h5>Effectifs à l'adhésion</h5> - <hr /> - <group> - <group> - <field name="partner_id" readonly="1" /> - <field name="staff_id" readonly="1" invisible="1" /> - <field name="effective_date" required="1" /> - </group> - <group> - <field name="staff_count" required="1" /> - <field name="staff_shareholder_count" required="1" /> - <field name="staff_shareholder_total" required="1" /> - <field name="staff_average" required="1" /> - </group> - </group> - <label for="comment" /> - <field name="comment" /> - <footer> - <button - name="save_data" - type="object" - string="Sauvegarder" - class="oe_highlight" - /> - <button special="cancel" string="Annuler" /> - </footer> - </form> - </field> - </record> - - <record - id="scop_partner_staff_membership_wizard_action" - model="ir.actions.act_window" - > - <field name="name">Effectif à l'adhésion</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">scop.partner.staff.membership.wizard</field> - <field name="view_mode">form</field> - <field name="target">new</field> - </record> - - </data> -</odoo> -- GitLab