414 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			XML
		
	
	
			
		
		
	
	
			414 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			XML
		
	
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <odoo>
 | |
| 
 | |
|     <record id="sale_order_form_view" model="ir.ui.view">
 | |
|         <field name="name">sale_order_form_view</field>
 | |
|         <field name="model">sale.order</field>
 | |
|         <field name="inherit_id" ref="sale.view_order_form"/>
 | |
|         <field name="arch" type="xml">
 | |
|             <tree position="attributes">
 | |
| <!--                <attribute name="decoration-info">item_notes</attribute> -->
 | |
|                 <attribute name="decoration-bf">item_warn</attribute>
 | |
|             </tree>
 | |
|             <xpath expr="//sheet" position="before">
 | |
|                 <header>
 | |
|                     <button name="%(action_wizard_import_tzbox)d" string="TZBox-Datei importieren" type="action" class="oe_highlight oe_read_only"
 | |
|                             attrs="{'invisible':['|','|',('state','!=','draft'),('order_type','!=','T'),('assembly_state','not in',[False,'import_failed'])]}"/>
 | |
|                 </header>
 | |
|             </xpath>
 | |
|             <field name="partner_id" position="before">
 | |
|                 <field name="partner_flash" string="Flash: " class="oe_highlight" attrs="{'invisible':[('partner_flash','=',False)]}"/>
 | |
|                 <field name="warn_vat_date" attrs="{'invisible':True}"/>
 | |
|                 <field name="vat" attrs="{'invisible':True}"/>
 | |
|                 <field name="date_vat_check" attrs="{'readonly':True,'invisible':['|','|',('warn_vat_date','=',False),('vat','=',False),('vat','=','')]}"
 | |
|                        style="padding-left:30px;padding-right:30px;background-color:red;"/>
 | |
|                 <div class="oe_clear"/>
 | |
|             </field>
 | |
|             <field name="partner_shipping_id" position="after">
 | |
|                 <div style="height:5px;">
 | |
|                 </div>
 | |
|                 <field name="editor_id" options="{'no_create': True, 'no_open': True}"/>
 | |
|                 <field name="carrier_id" options="{'no_create': True}"/>
 | |
|             </field>
 | |
|             <field name="delivery_date" position="before">
 | |
|                 <field name="delivery_date_warning" position="before" attrs="{'readonly':True, 'invisible':True}"/>
 | |
|                 <field name="desired_delivery_date" position="before" class="oe_highlight_blink urgent" attrs="{'readonly':True, 'invisible':['|',('desired_delivery_date','=',False),('delivery_date_warning','=',False)]}"/>
 | |
|                 <field name="desired_delivery_date" position="before" attrs="{'readonly':True, 'invisible':['|',('desired_delivery_date','=',False),('delivery_date_warning','!=',False)]}"/>
 | |
|             </field>
 | |
|             <field name="client_order_ref" position="replace"/>
 | |
|             <field name="origin" position="replace"/>
 | |
|             <field name="payment_term_id" position="after">
 | |
|                 <field name="client_order_ref"/>
 | |
|                 <field name="origin"/>
 | |
|                 <field name="confirmation_nr"/>
 | |
|                 <field name="order_type"/>
 | |
|                 <field name="assembly_state" groups="dp_custom.group_allow_change_pg_status"/>
 | |
|                 <field name="assembly_state" attrs="{'readonly': True}" groups="!dp_custom.group_allow_change_pg_status"/>
 | |
|                 <field name="pg9_complete" groups="dp_custom.group_allow_change_pg_status"/>
 | |
| 
 | |
|                 <!--
 | |
|                 <field name="pg9_call" widget="url" text="...gehe zu Auftrag in PG9"
 | |
|                        attrs="{'invisible': [('order_type','not in',['T','D']),('assembly_state','in',['','created','failed'])]}"/>
 | |
| -->
 | |
|                 <field name="pg9_call_D" widget="url" text="...gehe zu Auftrag in PG9"
 | |
|                        attrs="{'invisible': ['|','|','|','|',('order_type','!=', 'D'),('origin','=', False),('origin','=', ''),('assembly_state','not in',['wait','started','done','packed','delivered','completed'])]}"/>
 | |
|                 <field name="pg9_call_T" widget="url" text="...gehe zu Auftrag in PG9"
 | |
|                        attrs="{'invisible': ['|','|',('order_type','!=', 'T'),('assembly_state','not in',['wait','started','done','packed','delivered','completed'])]}"/>
 | |
|             </field>
 | |
|             <field name="note" position="before">
 | |
|                 <label for="weight_total">Gesamtgewicht: </label>
 | |
|                 <field name="weight_total"/>
 | |
|                 <div class="oe_clear"/>
 | |
|             </field>
 | |
|             <field name="note" position="after">
 | |
|                 <group name="internal_notes" string="Notizen">
 | |
|                     <field name="internal_notes"/>
 | |
|                 </group>
 | |
|                 <separator/>
 | |
|                 <group name="assembly_notes" string="Notizen">
 | |
|                     <field name="assembly_notes"/>
 | |
|                 </group>
 | |
|             </field>
 | |
| <!--
 | |
|             <xpath expr="//field[@name='order_line']/form//field[@name='name']" position="after">
 | |
|                 <field name="intrastat_id" options="{'no_create': True}"/>
 | |
|             </xpath>
 | |
| -->
 | |
| <!--
 | |
|             <xpath expr="//field[@name='order_line']/form//field[@name='product_id']" position="replace">
 | |
|                 <field name="product_id" options="{'no_create': True}"/>
 | |
|             </xpath>
 | |
| -->
 | |
|             <xpath expr="//field[@name='order_line']/tree" position="attributes">
 | |
|                 <attribute name="decoration-danger">price_change == True</attribute>
 | |
|                 <attribute name="decoration-bf">price_change == True</attribute>
 | |
|             </xpath>
 | |
|             <xpath expr="//field[@name='order_line']/tree//field[@name='product_id']" position="replace">
 | |
|                 <field name="product_id"
 | |
|                     context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom, 'company_id': parent.company_id}"
 | |
|                     attrs="{'readonly': [('product_updatable', '=', False)]}"
 | |
|                     force_save="1"
 | |
|                     options="{'no_create': True}"/>
 | |
|             </xpath>
 | |
|             <xpath expr="//field[@name='order_line']/form//field[@name='product_id']" position="after">
 | |
|                 <field name="lot_id"/>
 | |
|                 <field name="from_designbox"/>
 | |
|             </xpath>
 | |
|             <xpath expr="//field[@name='order_line']/tree//field[@name='name']" position="after">
 | |
|                 <field name="intrastat_id" options="{'no_quick_create':True}"/>
 | |
|             </xpath>
 | |
|             <xpath expr="//field[@name='order_line']/tree//field[@name='product_id']" position="after">
 | |
|                 <field name="item_notes" invisible="1"/>
 | |
|                 <field name="item_warn" invisible="1"/>
 | |
|                 <field name="lot_id" options='{"fg_color": "red:item_notes" }'/>
 | |
| <!--
 | |
|                 <button name="action_show_lot" string="Lot" type="object"
 | |
|                     icon="fa-list"
 | |
|                     attrs="{'invisible': ['|',('lot_id', '=', False),('item_notes', '>', '')]}" options='{"warn": true}'/>
 | |
|                 <button name="action_show_lot" string="Notes" type="object"
 | |
|                     icon="fa-exclamation-triangle"
 | |
|                     attrs="{'invisible': ['|','|',('lot_id', '=', False),('item_notes', '=', False),('item_notes', '=', '')]}" options='{"warn": true}'/>
 | |
| -->
 | |
|                 <button name="action_show_lot" string="Lot" type="object"
 | |
|                     icon="fa-list"
 | |
|                     attrs="{'invisible': ['|',('lot_id', '=', False),('item_warn','=',True)]}" options='{"warn": true}'/>
 | |
|                 <button name="action_show_lot" string="Notes" type="object"
 | |
|                     icon="fa-exclamation-triangle"
 | |
|                     attrs="{'invisible': ['|',('lot_id', '=', False),('item_warn','=',False)]}" options='{"warn": true}'/>
 | |
|                 <!--                        icon="{'fa-list': [('item_notes', '>', '')],'fa-exclamation-triangle': [('item_notes', '<', '')]}" -->
 | |
| <!--
 | |
|                 <button name="action_show_lot" string="Lot" type="object" icon="fa-list"
 | |
|                         attrs="{'invisible': [('lot_id', '=', False)]}"
 | |
|                         options='{"warn": true}'/>
 | |
| -->
 | |
|                 <field name="from_designbox"/>
 | |
|             </xpath>
 | |
| <!--
 | |
|             <xpath expr="//field[@name='order_line']/tree//field[@name='price_unit']" position="replace">
 | |
|                 <field name="price_unit"
 | |
|                     attrs="{'readonly': [('qty_invoiced', '>', 0)]}"  options='{"fg_color": "red:price_change" }'/>
 | |
|             </xpath>
 | |
| -->
 | |
|             <xpath expr="//field[@name='order_line']/tree//field[@name='discount']" position="replace">
 | |
|                 <field name="discount" attrs="{'readonly':[('qty_invoiced','>',0)]}"/>
 | |
|             </xpath>
 | |
|             <xpath expr="//field[@name='order_line']/tree//field[@name='price_unit']" position="after">
 | |
|                 <field name="read_price" options='{"bg_color": "yellow:price_change" }' attrs="{'invisible': False,'readonly':[('from_designbox','=',True)]}"/>
 | |
| <!--                <field name="read_price" colors="yellow:price_change==True"/> -->
 | |
|                 <field name="price_change" invisible="1"/>
 | |
|             </xpath>
 | |
|             <xpath expr="//field[@name='order_line']/kanban//field[@name='product_id']" position="after">
 | |
|                 <field name="lot_id"/>
 | |
|                 <field name="from_designbox"/>
 | |
|             </xpath>
 | |
|             <group name="technical" position="attributes">
 | |
|                 <attribute name="groups"/>
 | |
|                 <attribute name="string">Berichtswesen</attribute>
 | |
|             </group>
 | |
|             <xpath expr="//group[@name='sales_person']/.." position="attributes">
 | |
|                 <attribute name="col">3</attribute>
 | |
|             </xpath>
 | |
|             <xpath expr="//group[@name='sales_person']" position="after">
 | |
|                 <group name="production" string="Produktion">
 | |
|                     <field name="assembled"/>
 | |
|                     <field name="assembly_positions" string = "Anzahl zusammengebaut:"/>
 | |
|                     <field name="line_id"/>
 | |
|                     <field name="clerk_id" options="{'no_create': True, 'no_open': True}"/>
 | |
|                 </group>
 | |
|             </xpath>
 | |
|             <xpath expr="//label[@for='carrier_id']" position="replace"/>
 | |
|             <xpath expr="//div[@name='carrier_selection']" position="replace"/>
 | |
|             <field name="picking_policy" position="after">
 | |
|                 <label for="carrier_id"/>
 | |
|                 <div name='carrier_selection'>
 | |
|                     <div>
 | |
|                         <field name="carrier_id" context="{'order_id': id}" class="oe_inline"
 | |
|                                options="{'no_create': True, 'no_open': True}"
 | |
|                                attrs="{'readonly':[('state','not in',('draft','sent'))]}"/>
 | |
|                         <i class="fa fa-check text-success" aria-hidden="true"
 | |
|                            attrs="{'invisible':['|','|',('carrier_id','=',False),('state','not in',('draft','sent')),('delivery_rating_success','=',False)]}"/>
 | |
|                     </div>
 | |
|                     <div>
 | |
|                         <field name='delivery_price' widget='monetary' class="oe_inline"
 | |
|                                options="{'currency_field': 'currency_id'}" nolabel="1"
 | |
|                                attrs="{'invisible': [('carrier_id','=', False)]}" force_save="1"/>
 | |
|                         <button name="get_delivery_price" string="Check price" type="object"
 | |
|                                 class="oe_inline fa fa-arrow-right oe_link"
 | |
|                                 attrs="{'invisible':['|',('carrier_id','=',False),('state','not in',('draft','sent'))]}"/>
 | |
|                         <button name="set_delivery_line" string="Set price" type="object"
 | |
|                                 class="oe_inline fa fa-arrow-right oe_link"
 | |
|                                 attrs="{'invisible':['|','|',('carrier_id','=',False),('state','not in',('draft','sent')),('delivery_rating_success','=',False)]}"/>
 | |
|                         <field name='delivery_rating_success' invisible="1" force_save="1"/>
 | |
|                     </div>
 | |
|                     <div class="alert alert-info" role="alert"
 | |
|                          attrs="{'invisible': ['|',('carrier_id','=', False),('delivery_message','=',False)]}">
 | |
|                         <field name='delivery_message' force_save="1"/>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </field>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
|     <record id="sale_order_quotation_tree_view" model="ir.ui.view">
 | |
|         <field name="name">sale_order_tree_view</field>
 | |
|         <field name="model">sale.order</field>
 | |
|         <field name="inherit_id" ref="sale.view_quotation_tree"/>
 | |
|         <field name="arch" type="xml">
 | |
|             <field name="partner_id" position="after">
 | |
|                 <field name="partner_invoice_id"/>
 | |
|                 <field name="partner_shipping_id" invisible="1"/>
 | |
|             </field>
 | |
|             <field name="name" position="after">
 | |
|                 <field name="order_type" string="Art"/>
 | |
| <!--                <field name="team_id"/> -->
 | |
|                 <field name="origin"/>
 | |
|                 <field name="confirmation_nr"/>
 | |
|                 <field name="client_order_ref"/>
 | |
|             </field>
 | |
|             <field name="user_id" position="replace">
 | |
|                 <field name="editor_id"/>
 | |
|             </field>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
|     <record id="sale_order_order_tree_view" model="ir.ui.view">
 | |
|         <field name="name">sale_order_tree_view</field>
 | |
|         <field name="model">sale.order</field>
 | |
|         <field name="inherit_id" ref="sale.view_order_tree"/>
 | |
|         <field name="arch" type="xml">
 | |
|             <field name="partner_id" position="after">
 | |
|                 <field name="partner_invoice_id"/>
 | |
|                 <field name="partner_shipping_id" invisible="1"/>
 | |
|             </field>
 | |
|             <field name="name" position="after">
 | |
|                 <field name="order_type" string="Art"/>
 | |
| <!--                <field name="team_id"/> -->
 | |
|                 <field name="origin"/>
 | |
|                 <field name="confirmation_nr"/>
 | |
|                 <field name="client_order_ref"/>
 | |
|             </field>
 | |
|             <field name="confirmation_date" position="after">
 | |
|                 <field name="delivery_date"/>
 | |
|             </field>
 | |
|             <field name="invoice_status" position="after">
 | |
|                 <field name="assembly_state"/>
 | |
|             </field>
 | |
|             <field name="user_id" position="replace">
 | |
|                 <field name="editor_id"/>
 | |
|             </field>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
|     <record id="view_sales_order_filter_assembly" model="ir.ui.view">
 | |
|         <field name="name">view_sales_order_filter_assembly</field>
 | |
|         <field name="model">sale.order</field>
 | |
|         <field name="inherit_id" ref="sale.view_sales_order_filter"/>
 | |
|         <field name="arch" type="xml">
 | |
|             <field name="name" position="after">
 | |
|                 <field name="client_order_ref"/>
 | |
|                 <field name="origin"/>
 | |
|                 <field name="confirmation_nr"/>
 | |
|                 <field name="assembly_state"/>
 | |
|                 <field name="order_type"/>
 | |
|                 <filter string="IR Heizpaneele" domain="[('team_id.name','=', 'IR Heizpaneele')]" name="from_website_ir_heizpaneele"/>
 | |
|                 <filter string="Heizpaneele" domain="[('team_id.name','=', 'Heizpaneele')]" name="from_website_heizpaneele"/>
 | |
|             </field>
 | |
| <!--
 | |
|             <field name="partner_id" position="after">
 | |
|                 <field name="partner_shipping_id"/>
 | |
|                 <field name="partner_invoice_id"/>
 | |
|             </field>
 | |
| -->
 | |
|             <field name="partner_id" position="replace">
 | |
|                 <field name="partner_id"  string="Kunde" filter_domain="['|','|',('partner_id','ilike',self),('partner_shipping_id','ilike',self),('partner_invoice_id','ilike',self)]"/>
 | |
|             </field>
 | |
|             <filter name="customer" position="after">
 | |
|                 <filter string="PG Status" domain="[]" context="{'group_by':'assembly_state'}"/>
 | |
|                 <filter string="Rechnung Status" domain="[]" context="{'group_by':'invoice_status'}"/>
 | |
|                 <filter string="Auslieferungsmethode" domain="[]" context="{'group_by':'carrier_id'}"/>
 | |
|                 <filter string="Rechnungsadresse" domain="[]" context="{'group_by':'partner_invoice_id'}"/>
 | |
|                 <filter string="Auftragsart" domain="[]" context="{'group_by':'order_type'}"/>
 | |
|                 <filter string="Vertriebskanal" domain="[]" context="{'group_by':'team_id'}"/>
 | |
|                 <filter string="Sachbearbeiter" domain="[]" context="{'group_by' : 'clerk_id'}" />
 | |
|                 <filter string="Auftragsbearbeiter" domain="[]" context="{'group_by' : 'editor_id'}" />
 | |
|                 <filter string="Preisliste" domain="[]" context="{'group_by':'pricelist_id'}"/>
 | |
|             </filter>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
| 
 | |
|     <record id="sale_cart_view_search" model="ir.ui.view">
 | |
|         <field name="name">sale.cart.search</field>
 | |
|         <field name="model">sale.cart</field>
 | |
|         <field name="mode">primary</field>
 | |
|         <field name="arch" type="xml">
 | |
|             <search string="Shopping Carts">
 | |
|                 <field name="origin" string="Shopping Carts" filter_domain="[('origin','ilike',self)]"/>
 | |
|                 <field name="name" string="All" filter_domain="['|','|','|',('name','ilike',self),
 | |
|                 ('origin','ilike',self),('client_order_ref','ilike',self),('partner_id','child_of',self)]"/>
 | |
|                 <filter string="Quotations" name="draft" domain="[('state','=','draft')]"/>
 | |
|                 <filter string="Quotations Sent" name="sent" domain="[('state','=','sent')]"/>
 | |
|                 <filter string="Sales" name="sales" domain="[('state','in',('sale','done'))]"/>
 | |
|                 <group expand="0" string="Group By">
 | |
|                     <filter name="company"        string="Company"   domain="[]" context="{'group_by':'company_id'}"/>
 | |
|                     <filter name="assembly_state" string="PG Status" domain="[]" context="{'group_by':'assembly_state'}"/>
 | |
|                 </group>
 | |
|             </search>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
|     <record id="view_cart_tree" model="ir.ui.view">
 | |
|         <field name="name">sale.cart.tree</field>
 | |
|         <field name="model">sale.cart</field>
 | |
|         <field name="arch" type="xml">
 | |
|             <tree string="Shopping Carts" create="false" default_order='date_order desc'>
 | |
|                 <field name="origin" string="Shopping Cart"/>
 | |
|                 <field name="name" string="Quotation / Order"/>
 | |
|                 <field name="client_order_ref" string="Customer Reference"/>
 | |
|                 <field name="date_order" string="Quotation Date"/>
 | |
|                 <field name="partner_id" string="Customer"/>
 | |
|                 <field name="company_id" string="Company"/>
 | |
|                 <field name="assembly_state" string="State PG"/>
 | |
|                 <field name="state" string="State"/>
 | |
|                 <field name="user_id" invisible="1"/>
 | |
|             </tree>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
|     <record id="action_carts" model="ir.actions.act_window">
 | |
|         <field name="name">Shopping Cart</field>
 | |
|         <field name="type">ir.actions.act_window</field>
 | |
|         <field name="res_model">sale.cart</field>
 | |
|         <field name="view_type">form</field>
 | |
|         <field name="view_id" ref="dp_custom.view_cart_tree"/>
 | |
|         <field name="view_mode">tree,kanban,form</field>
 | |
|         <field name="search_view_id" ref="sale_cart_view_search"/>
 | |
|         <field name="domain">[('user_id','=',uid)]</field>
 | |
|     </record>
 | |
| 
 | |
| 
 | |
|     <record id="view_sale_cart" model="ir.ui.view">
 | |
|         <field name="name">view_sale_cart</field>
 | |
|         <field name="model">sale.cart</field>
 | |
|         <field name="arch" type="xml">
 | |
|             <form string="Shopping Cart">
 | |
|                 <group>
 | |
|                     <field name="user_id" invisible="1"/>
 | |
|                     <field name="in_company" invisible="1"/>
 | |
|                     <field name="order_id" string="Quotation / Order"/>
 | |
|                     <field name="origin" string="Shopping Cart"/>
 | |
|                     <label for="company_id" style="margin-top:10px;margin-bottom:10px;"/>
 | |
|                     <div name="company_id">
 | |
|                         <div>
 | |
|                             <field name="company_id" options="{'no_open':True}" style="margin-top:10px;margin-bottom:10px;"/>
 | |
|                             <button name="switch_company" type="object" string="Switch"
 | |
|                                     class="btn btn-primary oe_read_only"
 | |
|                                     attrs="{'invisible': [('in_company','=',True)]}"
 | |
|                                     style="margin-left:20px;"/>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <field name="client_order_ref" string="Customer Reference"/>
 | |
|                     <field name="date_order" string="Quotation Date"/>
 | |
|                     <field name="create_date" string="Create Date"/>
 | |
|                     <field name="partner_id" string="Customer" options="{'no_open':True}"/>
 | |
|                     <field name="state" string="State" options="{'no_open':True}"/>
 | |
|                     <field name="assembly_state" string="State PG" options="{'no_open':True}"/>
 | |
|                 </group>
 | |
|             </form>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
| 
 | |
|     <record model="ir.ui.view" id="view_sale_cart_kanban">
 | |
|         <field name="name">sale.cart.kanban</field>
 | |
|         <field name="model">sale.cart</field>
 | |
|         <field name="arch" type="xml">
 | |
|             <kanban class="o_kanban_mobile">
 | |
|                 <field name="origin"/>
 | |
|                 <field name="name"/>
 | |
|                 <field name="client_order_ref"/>
 | |
|                 <field name="date_order"/>
 | |
|                 <field name="partner_id"/>
 | |
|                 <field name="company_id"/>
 | |
|                 <field name="state"/>
 | |
|                 <field name="assembly_state"/>
 | |
|                 <templates>
 | |
|                     <t t-name="kanban-box">
 | |
|                         <div t-attf-class="oe_kanban_card oe_kanban_global_click">
 | |
|                             <div class="o_kanban_record_top mb16">
 | |
|                                 <div class="o_kanban_record_headings mt4">
 | |
|                                     <strong class="o_kanban_record_title"><span><t t-esc="record.partner_id.value"/></span></strong>
 | |
|                                 </div>
 | |
|                                 <strong><field name="origin"/></strong>
 | |
|                             </div>
 | |
|                             <div class="o_kanban_record_bottom">
 | |
|                                 <div class="oe_kanban_bottom_left text-muted">
 | |
|                                     <span><t t-esc="record.name.value"/> <t t-esc="record.date_order.value"/></span>
 | |
|                                 </div>
 | |
|                                 <div class="oe_kanban_bottom_right">
 | |
|                                     <field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'cancel': 'default', 'done': 'success'}}"/>
 | |
|                                 </div>
 | |
|                             </div>
 | |
|                         </div>
 | |
|                     </t>
 | |
|                 </templates>
 | |
|             </kanban>
 | |
|         </field>
 | |
|     </record>
 | |
| 
 | |
| 
 | |
|     <menuitem id="sale_order_menu"
 | |
|               name="Auftrag"
 | |
|               parent="sale.sale_menu_root"
 | |
|               sequence="1"/>
 | |
| 
 | |
|     <menuitem id="menu_sale_carts"
 | |
|         name = "Shopping Carts"
 | |
|         action="action_carts"
 | |
|         parent="sale.sale_order_menu"
 | |
|         sequence="30"
 | |
|     />
 | |
| 
 | |
| 
 | |
| </odoo>
 |