<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>

        <!-- Form View of Refund Wizard -->
        <record id="view_shopify_refund_wizard_form" model="ir.ui.view">
            <field name="name">shopify.refund.wizard.form</field>
            <field name="model">shopify.refund.wizard</field>
            <field name="arch" type="xml">
                <form string="🔄 Reembolso Directo en Shopify">
                    <sheet>
                        <!-- Mensaje de Advertencia de Sandbox -->
                        <div class="alert alert-warning text-center" 
                             role="alert" 
                             style="font-weight: bold; font-size: 1.05em; margin-bottom: 15px;">
                            🛡️ MODO SANDBOX ACTIVO: Esta acción enviará una instrucción real a Shopify. 
                            Solo está permitido procesar pedidos con productos de prueba (SKU contiene 'PRUEBA'). 
                            Los pedidos reales de clientes están protegidos contra ejecuciones accidentales.
                        </div>

                        <group>
                            <group string="Datos del Pedido">
                                <field name="order_id" options="{'no_open': True}" readonly="1" force_save="1"/>
                                <field name="shopify_order_number" string="# Shopify" readonly="1" force_save="1"/>
                                <field name="shopify_order_id" invisible="1" force_save="1"/>
                            </group>
                            <group string="Opciones de Reembolso">
                                <field name="restock"/>
                                <field name="notify_customer"/>
                                <field name="amount_to_refund" 
                                       widget="monetary" 
                                       options="{'currency_field': 'currency_id'}" 
                                       style="font-weight: bold; font-size: 1.25em; color: #2C3E50;"
                                       force_save="1"/>
                            </group>
                        </group>

                        <separator string="👕 Selecciona los Productos a Reembolsar" style="font-weight: bold; margin-top: 20px;"/>
                        <field name="line_ids" mode="tree">
                            <tree editable="bottom" create="false" delete="false">
                                <field name="product_id" readonly="1" force_save="1"/>
                                <field name="shopify_line_item_id" invisible="1" force_save="1"/>
                                <field name="quantity_ordered" readonly="1" force_save="1" string="Cant. Original" sum="Total"/>
                                <field name="quantity_refunded" readonly="1" force_save="1" string="Cant. Reembolsada" sum="Reembolsadas"/>
                                <field name="quantity_to_refund" string="A Reembolsar" class="text-primary font-weight-bold"/>
                                <field name="price_unit" readonly="1" force_save="1" widget="monetary" string="Precio Unitario"/>
                            </tree>
                        </field>

                        <group string="📝 Nota / Motivo" style="margin-top: 15px;" col="2">
                            <field name="note" nolabel="1" colspan="2" placeholder="Ej: Cliente canceló el pedido antes de envío, o prenda venía rota..." style="width: 100%; min-height: 80px;"/>
                        </group>
                    </sheet>
                    <footer>
                        <button name="action_confirm_refund" 
                                string="Confirmar Reembolso en Shopify" 
                                type="object" 
                                class="btn-primary" 
                                confirm="¿Realmente deseas registrar este reembolso en Shopify? Esto enviará una instrucción real de devolución de dinero a la pasarela."/>
                        <button string="Cancelar" class="btn-secondary" special="cancel"/>
                    </footer>
                </form>
            </field>
        </record>

        <!-- Window Action for Wizard -->
        <record id="action_shopify_refund_wizard" model="ir.actions.act_window">
            <field name="name">Reembolso Directo en Shopify</field>
            <field name="res_model">shopify.refund.wizard</field>
            <field name="view_mode">form</field>
            <field name="target">new</field>
        </record>

        <!-- Extension: Botón de Reembolso en el formulario de Pedido de Venta (sale.order) -->
        <record id="sale_order_shopify_refund_action_view" model="ir.ui.view">
            <field name="name">sale.order.shopify.refund.button.inherit</field>
            <field name="model">sale.order</field>
            <field name="inherit_id" ref="sale.view_order_form"/>
            <field name="arch" type="xml">
                <!-- Colocar botón manual de Reembolso en el header de Odoo -->
                <xpath expr="//header" position="inside">
                    <button name="%(action_shopify_refund_wizard)d"
                            string="🔄 Reembolsar en Shopify"
                            type="action"
                            class="btn-danger"
                            groups="hazard_shopify.group_hazard_sales,hazard_shopify.group_hazard_finance"
                            attrs="{'invisible': ['|', ('shopify_order_id', '=', False), ('shopify_financial_status', 'in', ('refunded', 'voided'))]}"
                            help="Abre el asistente para procesar un reembolso de dinero e inventario directamente en Shopify."/>
                </xpath>
            </field>
        </record>

    </data>
</odoo>
