436 lines
25 KiB
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', '>', '')]}" 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="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>
|