From ebe9d96952a3ddbf66c5049764efc8dac8a55e55 Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Wed, 9 Nov 2022 17:30:23 +0100 Subject: [PATCH] [update] move load xml wizard from cgscop_inovatic to cgscop_inovatic_lm --- __init__.py | 2 +- __manifest__.py | 1 + views/scop_liste_ministere.xml | 2 +- wizard/__init__.py | 5 ++++ wizard/load_xml_liasse.py | 44 +++++++++++++++++++++++++++++++++ wizard/load_xml_liasse.xml | 45 ++++++++++++++++++++++++++++++++++ 6 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 wizard/__init__.py create mode 100644 wizard/load_xml_liasse.py create mode 100644 wizard/load_xml_liasse.xml diff --git a/__init__.py b/__init__.py index d997a09..e3bc617 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,4 @@ # © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from . import models +from . import models, wizard diff --git a/__manifest__.py b/__manifest__.py index 440fd18..6627b57 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -14,6 +14,7 @@ "data": [ "datas/cron_inovatic.xml", "views/scop_liste_ministere.xml", + "wizard/load_xml_liasse.xml", ], "installable": True, "auto_install": False, diff --git a/views/scop_liste_ministere.xml b/views/scop_liste_ministere.xml index 1df79cf..2d7d515 100644 --- a/views/scop_liste_ministere.xml +++ b/views/scop_liste_ministere.xml @@ -23,7 +23,7 @@ /> <button string="Charger un XML" - name="%(cgscop_inovatic.load_xml_liasse_act_window)d" + name="%(cgscop_inovatic_lm.load_xml_liasse_act_window)d" type="action" class="m-3" attrs="{'invisible':[('status_liasse_fiscale', '=', 'valide')]}" diff --git a/wizard/__init__.py b/wizard/__init__.py new file mode 100644 index 0000000..1587528 --- /dev/null +++ b/wizard/__init__.py @@ -0,0 +1,5 @@ +# © 2020 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import load_xml_liasse +from . import scop_load_liasse_wizard diff --git a/wizard/load_xml_liasse.py b/wizard/load_xml_liasse.py new file mode 100644 index 0000000..d0ac295 --- /dev/null +++ b/wizard/load_xml_liasse.py @@ -0,0 +1,44 @@ +# © 2020 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 LoadXmlLiasseWizard(models.TransientModel): + _name = "load.xml.liasse" + _description = "Load XML Liasse Wizard" + _rec_name = "liasse_id" + + @api.model + def _default_lm_id(self): + return self.env.context.get("active_id") + + @api.model + def _default_liasse_id(self): + lm = self.env.context.get("active_id") + return ( + self.env["scop.liasse.fiscale"].search([("liste_ministere_id", "=", lm)]).id + ) + + lm_id = fields.Many2one( + comodel_name="scop.liste.ministere", + string="Liste Ministere", + default=_default_lm_id, + ) + liasse_id = fields.Many2one( + comodel_name="scop.liasse.fiscale", + string="Liasse Fiscale", + default=_default_liasse_id, + ) + file = fields.Binary("Fichier") + filename = fields.Char("Nom") + + def load_liasse(self): + """ + Charge les valeurs du XML de la liasse dans l'objet + :return: + """ + if not self.liasse_id: + self.liasse_id = self.lm_id.create_liasse_fiscale() + data = self.liasse_id.parse_xml_liasse(self.file) + return self.liasse_id.json_matching(data, "xml") diff --git a/wizard/load_xml_liasse.xml b/wizard/load_xml_liasse.xml new file mode 100644 index 0000000..1c7135a --- /dev/null +++ b/wizard/load_xml_liasse.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <data> + <!-- FORM View--> + <record id="load_xml_liasse_form_view" model="ir.ui.view"> + <field name="name">load.xml.liasse.form</field> + <field name="model">load.xml.liasse</field> + <field name="arch" type="xml"> + <form string="Charger une Liasse"> + <group name="infos"> + <field name="liasse_id" readonly="1" /> + </group> + <group> + <field name="filename" invisible="1" /> + <field name="file" filename="filename" required="1" /> + </group> + <footer> + <button + class="btn btn-sm btn-primary" + name="load_liasse" + string="Cherger une liasse XML" + type="object" + confirm="Êtes-vous sûr(e) de vouloir charger ce fichier ?" + /> + <button + class="btn btn-sm btn-default" + special="cancel" + string="Fermer" + /> + </footer> + </form> + </field> + </record> + + <!--ACTION view--> + <record id="load_xml_liasse_act_window" model="ir.actions.act_window"> + <field name="name">Charger une Liasse XML</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">load.xml.liasse</field> + <field name="view_mode">form</field> + <field name="target">new</field> + </record> + + </data> +</odoo> -- GitLab