From d812e85f15f1c8288f8c8b8e78f2d0dd89cd3247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ram=C3=B3n=20V=C3=A1squez?= <ramon.vasquez@eynes.com.ar> Date: Thu, 4 Jul 2024 14:12:21 -0300 Subject: [PATCH] [FIX][T4876] Manual pre.sale.order --- models/pre_sale_order.py | 4 +- views/pre_sale_order_view.xml | 307 +++++++++++++--------------------- 2 files changed, 119 insertions(+), 192 deletions(-) diff --git a/models/pre_sale_order.py b/models/pre_sale_order.py index f5fe660..d161eb6 100644 --- a/models/pre_sale_order.py +++ b/models/pre_sale_order.py @@ -473,14 +473,14 @@ class PreSaleOrderLine(models.Model): else: pricelist_price = False - invoice_data = self._get_invoice_data(self) + self._get_invoice_data() + self.update( { 'pricelist_price': pricelist_price, 'product_uom': self.product_id.uom_id.id, 'tax_id': self.product_id.taxes_id.ids, } - + invoice_data ) @api.onchange('line_state') diff --git a/views/pre_sale_order_view.xml b/views/pre_sale_order_view.xml index d085756..e88bee7 100644 --- a/views/pre_sale_order_view.xml +++ b/views/pre_sale_order_view.xml @@ -7,122 +7,90 @@ <form> <header> <button name="approve_pre_order" - string="Confirm" - class="btn-primary" - type="object" - attrs="{'invisible': [('state', '!=', 'pending')]}"/> + string="Confirm" + type="object" + class="btn-primary" + attrs="{'invisible': [('state', '!=', 'pending')]}"/> <button name="reject_pre_order" - string="Reject" - type="object" - attrs="{'invisible': [('state', '!=', 'pending')]}"/> + string="Reject" + type="object" + attrs="{'invisible': [('state', '!=', 'pending')]}"/> <button name="create_order" - string="Create Order" - class="btn-primary" - type="object" - attrs="{'invisible': [('state', '!=', 'approved')]}"/> + string="Create Order" + class="btn-primary" + type="object" + attrs="{'invisible': [('state', '!=', 'approved')]}"/> <button name="cancel" - string="Cancel" - type="object" - attrs="{'invisible': [('state', '!=', 'approved')]}"/> - <button name="update_list_price" - string="Update List Prices" - type="object" - class="btn-primary"/> + string="Cancel" + type="object" + attrs="{'invisible': [('state', '!=', 'approved')]}"/> + <button name="update_list_price" string="Update List Prices" type="object" class="btn-primary"/> <field name="state" widget="statusbar"/> </header> <sheet> <div class="oe_button_box" name="button_box"> <button name="action_view_sale_orders" type="object" - class="oe_stat_button" icon="fa-files-o" + class="oe_stat_button" attrs="{'invisible': [('sale_order_count', '=', 0)]}"> <field name="sale_order_count" widget="statinfo" string="Sale Orders"/> </button> </div> <div class="oe_title"> <h2> - <field name="name" - required="1" - attrs="{'readonly': [('manual_create', '=', False)]}"/> + <field name="name" required="1" attrs="{'readonly': [('manual_create', '=', False)]}"/> </h2> </div> <group> <group> <field name="manual_create" force_save="1"/> - <field name="product_type" - force_save="1" - attrs="{'readonly': [('manual_create', '=', False)]}"/> - <field name="product_type_name" force_save="1" invisible="1"/> + <field name="product_type" force_save="1" attrs="{'readonly': [('manual_create', '=', False)]}"/> <field name="zone_account" force_save="1"/> <field name="cooling_type" - attrs="{ - 'invisible': [ - ( - 'product_type_name', - 'not in', - ('Carne', 'carne', 'CARNE'), - ), - ], - 'readonly': [('manual_create', '=', False)], - }"/> + attrs="{ + 'invisible': [('product_type', '!=', %(product_rafalim.product_type_c)d)], + 'readonly': [('manual_create', '=', False)], + }"/> <field name="partner" - force_save="1" - required="1" - domain="[('parent_id', '=', False)]" - options="{'no_create': True, 'no_create_edit': True}" - attrs="{'readonly': [('manual_create', '=', False)]}" - context="{ - 'companies_only_filter': 1, - 'product_type': product_type, - 'show_zone_account': 1, - }"/> + force_save="1" + required="1" + domain="[('parent_id', '=', False)]" + options="{'no_create': True, 'no_create_edit': True}" + attrs="{'readonly': [('manual_create', '=', False)]}" + context="{'companies_only_filter': 1, 'product_type': product_type, 'show_zone_account': 1}"/> <field name="partner_invoice_id" - force_save="1" - required="1" - options="{ - 'no_create': True, - 'no_create_edit': True, - }" - attrs="{'readonly': [('manual_create', '=', False)]}" - context="{ - 'partner_id': partner, - 'partner_invoice_id_filter': True, - }"/> + force_save="1" + required="1" + options="{'no_create': True, 'no_create_edit': True}" + attrs="{'readonly': [('manual_create', '=', False)]}" + context="{'partner_id': partner, 'partner_invoice_id_filter': True}"/> <field name="partner_shipping_id" - force_save="1" - required="1" - options="{'no_create': True, 'no_create_edit': True}" - attrs="{'readonly': [('manual_create', '=', False)]}" - context="{ - 'branchs_only_filter': True, - 'partner_id': partner, - 'partner_shipping_id_filter': True, - }"/> + force_save="1" + required="1" + options="{'no_create': True, 'no_create_edit': True}" + attrs="{'readonly': [('manual_create', '=', False)]}" + context="{ + 'branchs_only_filter': True, 'partner_id': partner, 'partner_shipping_id_filter': True}"/> <field name="warehouse_id"/> </group> <group> <field name="date_order" - autocomplete="off" - force_save="1" - required="1" - attrs="{'readonly': [('manual_create', '=', False)]}"/> + autocomplete="off" + force_save="1" + required="1" + attrs="{'readonly': [('manual_create', '=', False)]}"/> <field name="delivery_date" - autocomplete="off" - force_save="1" - attrs="{'readonly': [('state', '!=', 'pending')]}"/> + autocomplete="off" + force_save="1" + attrs="{'readonly': [('state', '!=', 'pending')]}"/> <field name="due_date" autocomplete="off"/> - <field name="date_order_exit" - autocomplete="off" - attrs="{'required': [('state', '=', 'pending')]}"/> + <field name="date_order_exit" autocomplete="off" attrs="{'required': [('state', '=', 'pending')]}"/> <field name="price_type" force_save="1" - attrs="{ - 'readonly': [ - ('state', '=', 'created'), - ('manual_create', '=', False), - ], - 'required': [('state', '=', 'pending')], - }"/> + attrs="{ + 'readonly': [('state', '=', 'created'), ('manual_create', '=', False)], + 'required': [('state', '=', 'pending')], + }"/> <field name="discount" force_save="1" readonly="1"/> </group> </group> @@ -130,136 +98,95 @@ <page string="Purchase Order Lines"> <div style="width: 100%;"> <button name="select_all" - string="Select All" - type="object" - class="btn-success mb-2" - icon="fa-check-square-o" - style="width: 170px;" - attrs="{'invisible': [('state', '=', 'rejected')]}"/> + string="Select All" + type="object" + class="btn-success mb-2" + icon="fa-check-square-o" + style="width: 170px;" + attrs="{'invisible': [('state', '=', 'rejected')]}"/> <button name="deselect_all" - string="Deselect All" - type="object" - class="btn-danger ml-2 mb-2" - icon="fa-square-o" - style="width: 170px;" - attrs="{'invisible': [('state', '=', 'rejected')]}"/> + string="Deselect All" + type="object" + class="btn-danger ml-2 mb-2" + icon="fa-square-o" + style="width: 170px;" + attrs="{'invisible': [('state', '=', 'rejected')]}"/> <button name="approve_selected" - string="Approve Selected" - type="object" - style="width: 170px;" - class="btn-primary ml-2 mb-2" - attrs="{'invisible': [('state', '!=', 'pending')]}"/> + string="Approve Selected" + type="object" + style="width: 170px;" + class="btn-primary ml-2 mb-2" + attrs="{'invisible': [('state', '!=', 'pending')]}"/> <br/> </div> - <field name="pre_order_line_ids" - attrs="{'readonly': [('state', '=', 'rejected')]}"> + <field name="pre_order_line_ids" attrs="{'readonly': [('state', '=', 'rejected')]}"> <tree editable="bottom" - create="1" - delete="1" - default_order="sale_id desc" - decoration-primary="sale_id != False"> + create="1" + delete="1" + default_order="sale_id desc" + decoration-primary="sale_id != False"> <field name="selected_item" - attrs="{ - 'readonly': [ - '|', - ('line_state', '=', 'reject'), - ('sale_id', '!=', False), - ], - }"/> + attrs="{'readonly': ['|', ('line_state', '=', 'reject'), ('sale_id', '!=', False)]}"/> <field name="product_id" - force_save="1" - required="1" - attrs="{ - 'readonly': [('parent.manual_create', '=', False)], - }" - context="{ - 'cooling_type': parent.cooling_type, - 'cooling_type_filter': 1, - 'product_type': parent.product_type, - }"/> + force_save="1" + required="1" + attrs="{'readonly': [('parent.manual_create', '=', False)]}" + domain="[('product_type_id', '=', parent.product_type)]" + context="{ + 'cooling_type': parent.cooling_type, + 'cooling_type_filter': 1, + 'product_type': parent.product_type, + }"/> <field name="box_qty" - force_save="1" - attrs="{ - 'column_invisible': [ - ( - 'parent.product_type', - 'not in', - ( - %(product_rafalim.product_type_c)d, - %(product_rafalim.product_type_f)d, - ), - ), - ], - 'readonly': [('parent.manual_create', '=', False)], - }"/> + force_save="1" + attrs="{ + 'column_invisible': [ + ( + 'parent.product_type', + 'not in', + (%(product_rafalim.product_type_c)d, %(product_rafalim.product_type_f)d), + ), + ], + 'readonly': [('parent.manual_create', '=', False)], + }"/> <field name="product_uom_qty" force_save="1" attrs="{ 'readonly': [ '|', ('parent.manual_create', '=', False), - ( - 'parent.product_type_name', - 'in', - ['Fiambre', 'fiambre', 'FIAMBRE'], - ), + ('parent.product_type', '=', %(product_rafalim.product_type_f)d), ], }"/> <field name="product_uom" - force_save="1" - attrs="{ - 'readonly': [('parent.manual_create', '=', False)], - }"/> + force_save="1" + attrs="{'readonly': [('parent.manual_create', '=', False)]}"/> <field name="net_price_unit" - force_save="1" - attrs="{ - 'readonly': [('parent.manual_create', '=', False)], - }"/> + force_save="1" + attrs="{'readonly': [('parent.manual_create', '=', False)]}"/> <field name="gross_price_unit" - force_save="1" - attrs="{ - 'readonly': [('parent.manual_create', '=', False)], - }"/> + force_save="1" + attrs="{'readonly': [('parent.manual_create', '=', False)]}"/> <field name="pricelist_price" force_save="1" readonly="1"/> <field name="discount" - force_save="1" - attrs="{ - 'readonly': [('parent.manual_create', '=', False)], - }"/> + force_save="1" + attrs="{'readonly': [('parent.manual_create', '=', False)]}"/> <field name="tax_id" - force_save="1" - widget="many2many_tags" - attrs="{ - 'readonly': [('parent.manual_create', '=', False)], - }"/> + force_save="1" + widget="many2many_tags" + attrs="{'readonly': [('parent.manual_create', '=', False)]}"/> <field name="line_state" - force_save="1" - string="status" - attrs="{ - 'column_invisible': [ - ( - 'parent.state', - '!=', - 'pending', - ), - ], - 'readonly': [ - '|', - ('parent.state', '!=', 'pending'), - ('line_modified', '=', True), - ], - }"/> + force_save="1" + string="status" + attrs="{ + 'column_invisible': [('parent.state', '!=', 'pending')], + 'readonly': ['|', ('parent.state', '!=', 'pending'), ('line_modified', '=', True)], + }"/> <field name="line_state_done" - string="Status" - force_save="1" - attrs="{ - 'column_invisible': [ - ('parent.state', '=', 'pending'), - ], - }"/> - <field name="line_modified" - force_save="1" - invisible="1"/> + string="Status" + force_save="1" + attrs="{'column_invisible': [('parent.state', '=', 'pending')]}"/> + <field name="line_modified" force_save="1" invisible="1"/> <field name="sale_id" invisible="0" readonly="1"/> </tree> </field> @@ -309,7 +236,7 @@ domain="[ ('date_order','>', datetime.datetime.combine(context_today(), datetime.time(0,0,0))), ('date_order','<', datetime.datetime.combine(context_today(), datetime.time(23,59,59))) - ]"/> + ]"/> </search> </field> </record> -- GitLab