From c64f7657be603ce25bdfa50fa9a51ef8ab24b52c Mon Sep 17 00:00:00 2001 From: "diego.barreto" <diego.barreto@eynes.com.ar> Date: Wed, 12 Jun 2024 12:09:14 -0300 Subject: [PATCH] [ADD][T4442] create wizard to request CAEA --- __manifest__.py | 7 +++--- views/menu_view.xml | 5 +++-- wizard/__init__.py | 1 + wizard/request_caea_wizard.py | 41 ++++++++++++++++++++++++++++++++++ wizard/request_caea_wizard.xml | 39 ++++++++++++++++++++++++++++++++ 5 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 wizard/request_caea_wizard.py create mode 100644 wizard/request_caea_wizard.xml diff --git a/__manifest__.py b/__manifest__.py index 450972f..16501cb 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -26,9 +26,6 @@ # Data 'data/mail_template.xml', - # Menu - 'views/menu_view.xml', - # Security 'security/ir.model.access.csv', @@ -46,6 +43,10 @@ # Wizard 'wizard/caea_report_wizard.xml', 'wizard/prepare_mails_wizard.xml', + 'wizard/request_caea_wizard.xml', + + # Menu + 'views/menu_view.xml', ], 'installable': True, diff --git a/views/menu_view.xml b/views/menu_view.xml index 15d08d1..b055576 100644 --- a/views/menu_view.xml +++ b/views/menu_view.xml @@ -4,6 +4,7 @@ <menuitem id="caea_admin_submenu" name="CAEA" parent="l10n_ar_wsaa.base_afipws" sequence="60"/> - + <menuitem id="caea_request_menu" name="Solicitar Caea" action="caea_request_action" + parent="caea_admin_submenu" sequence="1"/> </data> -</odoo> +</odoo> \ No newline at end of file diff --git a/wizard/__init__.py b/wizard/__init__.py index 00dd816..dd29d34 100644 --- a/wizard/__init__.py +++ b/wizard/__init__.py @@ -2,3 +2,4 @@ from . import caea_report_wizard from . import prepare_mail_wizard +from . import request_caea_wizard diff --git a/wizard/request_caea_wizard.py b/wizard/request_caea_wizard.py new file mode 100644 index 0000000..5d8c25c --- /dev/null +++ b/wizard/request_caea_wizard.py @@ -0,0 +1,41 @@ +from odoo import _, api, fields, models +from datetime import datetime, time, timedelta +from ..wsfetools.wsmtxca_easywsy import MTXCAEasywsy + +from suds.client import Client +from suds.cache import NoCache + +class RequestCaeaWizard(models.TransientModel): + _name = "request.caea.wizard" + _description = "Request CAEA Wizard" + + day = fields.Date() + caea = fields.Char( + string='Caea', + copy=False, + readonly=True + ) + + @api.model + def _compute_caea_availability_message(self): + date = self.env['ws.caea.code'].search([('state', '=', 'abierto')], order='id desc', limit=1).date_to + date += timedelta(days=1) + dates = self.env['ws.caea.configuration'].search([], limit=1).get_date_start_end(date) + + if dates: + return "Periodo: {} a {}".format(dates['date_from'], dates['date_to']) + + return "No hay CAEA disponible." + + caea_availability_message = fields.Char(default=_compute_caea_availability_message) + + def request_caea(self): + caea_conf = self.env['ws.caea.configuration'].search([], limit=1) + date = self.env['ws.caea.code'].search([('state', '=', 'abierto')], order='id desc', limit=1).date_to + date += timedelta(days=1) + date = datetime.combine(date, time()) + + response = caea_conf.get_caea(date) + + return True + diff --git a/wizard/request_caea_wizard.xml b/wizard/request_caea_wizard.xml new file mode 100644 index 0000000..2723ab4 --- /dev/null +++ b/wizard/request_caea_wizard.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="request_caea_view_form" model="ir.ui.view"> + <field name="name">request_caea.view.form</field> + <field name="model">request.caea.wizard</field> + <field name="arch" type="xml"> + <form string="Solicitar CAEA"> + <div class="alert alert-info text-center" role="alert"> + <!-- <a class="close" data-dismiss="alert" href="#">x</a> --> + <div> + <strong>CAEA a solicitar</strong> + </div> + <div> + <field name="caea_availability_message" readonly="1"/> + </div> + </div> + <!-- <group> + <field name="date_from" /> + <field name="date_to" /> + </group> --> + <footer> + <button name="request_caea" string="Solicitar CAEA" type="object" class="button-primary"/> + <button string="Cancelar" class="button-secondary" special="cancel"/> + </footer> + </form> + </field> + </record> + + <record id="caea_request_action" model="ir.actions.act_window"> + <field name="name">Solicitar CAEA</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">request.caea.wizard</field> + <field name="view_mode">form</field> + <field name="view_id" ref="request_caea_view_form"/> + <field name="target">new</field> + </record> + +</odoo> -- GitLab