odoo/ext/custom-addons/dp_custom/views/sale_views.xml

436 lines
25 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}" attrs="{'readonly':False}"/>
</field>
<field name="validity_date" position="after">
<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_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', '&gt;', '')]}" 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', '&gt;', '')],'fa-exclamation-triangle': [('item_notes', '&lt;', '')]}" -->
<!--
<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', '&gt;', 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','&gt;',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="number_of_parts" string = "Anzahl Teile:" attrs="{'readonly': True}"/>
<field name="number_of_parts_open" string = "Teile offen:" attrs="{'readonly': True }" groups="!dp_custom.group_allow_change_pg_status"/>
<field name="number_of_parts_open" string = "Teile offen:" attrs="{'readonly': False }" groups="dp_custom.group_allow_change_pg_status"/>
<field name="number_of_fittings" string = "Anzahl Beschläge:" attrs="{'readonly': True}"/>
<field name="number_of_fittings_open" string = "Beschläge offen:" attrs="{'readonly': True}" groups="!dp_custom.group_allow_change_pg_status"/>
<field name="number_of_fittings_open" string = "Beschläge offen:" attrs="{'readonly': False}" groups="dp_custom.group_allow_change_pg_status"/>
<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':False}"/>
<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 name="number_of_parts"/>
<field name="number_of_parts_open"/>
<field name="number_of_fittings_open"/>
</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"/>
<filter string="Open Parts" domain="[('number_of_parts_open','>', 0)]" name="number_of_parts_open"/>
<filter string="Open Fittings" domain="[('number_of_fittings_open','>', 0)]" name="number_of_fittings_open"/>
</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 string="Order Year" domain="[]" context="{'group_by':'date_order:year'}"/>
</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'))]"/>
<filter string="Open Parts" domain="[('number_of_parts_open','>', 0)]" name="number_of_parts_open"/>
<filter string="Open Fittings" domain="[('number_of_fittings_open','>', 0)]" name="number_of_fittings_open"/>
<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="number_of_parts" string="Anzahl Teile"/>
<field name="number_of_parts_open" string="Teile offen"/>
<field name="number_of_fittings_open" string="Beschläge offen"/>
<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}"/>
<field name="number_of_parts" string="Anzahl Teile:" options="{'no_open':True}"/>
<field name="number_of_parts_open" string="Teile offen:" options="{'no_open':True}"/>
<field name="number_of_fittings_open" string="Beschläge offen:" 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"
/>
<menuitem action="report_intrastat.action_report_intrastat_code_tree" id="menu_report_intrastat_code"
parent="sale.menu_sale_config" sequence="40" groups="dp_custom.group_allow_intrastat"/>
</odoo>