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