<menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="9"/>
-
- <record id="view_shop_form" model="ir.ui.view">
- <field name="name">sale.shop</field>
- <field name="model">sale.shop</field>
- <field name="arch" type="xml">
- <form string="Sales Shop" version="7.0">
- <label for="name" class="oe_edit_only"/>
- <h1><field name="name"/></h1>
- <group name="shop">
- <group>
- <field name="payment_default_id"/>
- <field domain="[('type','=','sale')]" name="pricelist_id" groups="product.group_sale_pricelist"/>
- </group>
- <group>
- <field name="project_id" groups="analytic.group_analytic_accounting"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
- </group>
- </form>
- </field>
- </record>
-
- <record id="view_shop_tree" model="ir.ui.view">
- <field name="name">sale.shop</field>
- <field name="model">sale.shop</field>
- <field name="arch" type="xml">
- <tree string="Sales Shop">
- <field name="name"/>
- <field name="pricelist_id" groups="product.group_sale_pricelist"/>
- <field name="project_id" groups="analytic.group_analytic_accounting"/>
- </tree>
- </field>
- </record>
-
- <record id="action_shop_form" model="ir.actions.act_window">
- <field name="name">Shop</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">sale.shop</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" ref="view_shop_tree"/>
- <field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to define a new sale shop.
- </p><p>
- Each quotation or sale order must be linked to a shop. The
- shop also defines the warehouse from which the products will be
- delivered for each particular sales.
- </p>
- </field>
- </record>
-
-
<record id="view_sale_order_calendar" model="ir.ui.view">
<field name="name">sale.order.calendar</field>
<field name="model">sale.order</field>
<button name="%(action_view_sale_advance_payment_inv)d" string="Create Invoice"
type="action" states="manual" class="oe_highlight" groups="base.group_user"/>
<button name="copy_quotation" states="cancel" string="New Copy of Quotation" type="object"/>
- <button name="cancel" states="draft,sent" string="Cancel" groups="base.group_user"/>
- <button name="action_cancel" states="manual,progress" string="Cancel" type="object" groups="base.group_user"/>
- <button name="invoice_cancel" states="invoice_except" string="Cancel" groups="base.group_user"/>
+ <button name="cancel" states="draft,sent" string="Cancel Quotation" groups="base.group_user"/>
+ <button name="action_cancel" states="manual,progress" string="Cancel Order" type="object" groups="base.group_user"/>
+ <button name="invoice_cancel" states="invoice_except" string="Cancel Order" groups="base.group_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,sent,invoiced,done" statusbar_colors='{"invoice_except":"red","waiting_date":"blue"}'/>
</header>
<sheet>
<h1>
<label string="Quotation " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/>
- <label string="Sale Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
+ <label string="Sales Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
<field name="name" class="oe_inline" readonly="1"/>
</h1>
<group>
<field name="partner_id" on_change="onchange_partner_id(partner_id, context)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}'/>
<field name="partner_invoice_id" groups="sale.group_delivery_invoice_address" context="{'default_type':'invoice'}"/>
<field name="partner_shipping_id" groups="sale.group_delivery_invoice_address" context="{'default_type':'delivery'}"/>
- <field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="sale.group_analytic_accounting" domain="[('type','in',['view','normal','contract'])]"/>
+ <field name="project_id" context="{'partner_id':partner_invoice_id, 'default_pricelist_id':pricelist_id, 'default_name':name, 'default_type': 'contract'}" groups="sale.group_analytic_accounting" domain="[('type','in',['view','normal','contract'])]"/>
</group>
<group>
<field name="date_order"/>
- <field name="shop_id" groups="base.group_no_one" on_change="onchange_shop_id(shop_id, context)" widget="selection"/>
<field name="client_order_ref"/>
<field domain="[('type','=','sale')]" name="pricelist_id" groups="product.group_sale_pricelist" on_change="onchange_pricelist_id(pricelist_id,order_line)"/>
<field name="currency_id" invisible="1"/>
<page string="Order Lines">
<field name="order_line">
<form string="Sales Order Lines" version="7.0">
- <header>
+ <header groups="base.group_user">
<button name="%(action_view_sale_order_line_make_invoice)d" states="confirmed" string="Invoice" type="action" icon="terp-document-new"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors='{"exception":"red","cancel":"red"}'/>
</header>
<group>
<field name="state" invisible="1" />
<field name="product_id"
- context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
+ context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
groups="base.group_user"
on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, True, parent.date_order, False, parent.fiscal_position, False, context)"/>
<label for="product_uom_qty"/>
<div>
<field
- context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
+ context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
name="product_uom_qty" class="oe_inline"
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>
<field name="product_uom" groups="product.group_uom" class="oe_inline oe_no_button"
<field name="state" invisible="1"/>
<field name="th_weight" invisible="1"/>
<field name="product_id"
- context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
+ context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
groups="base.group_user"
on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, True, parent.date_order, False, parent.fiscal_position, False, context)"/>
<field name="name"/>
<field name="product_uom_qty"
- context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
+ context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>
<field name="product_uom"
on_change="product_uom_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, False, parent.date_order, context)"
<div class="oe_subtotal_footer_separator oe_inline">
<label for="amount_total" />
<button name="button_dummy"
- states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
+ states="draft,sent" string="(update)" type="object" class="oe_edit_only oe_link"/>
</div>
<field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator" widget='monetary' options="{'currency_field': 'currency_id'}"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
- <field name="message_ids" widget="mail_thread" placeholder="Share a message..."/>
+ <field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
<filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
<filter icon="terp-dolar_ok!" string="Done" domain="[('state','=','done')]" help="Sales Order done"/>
<separator/>
- <filter string="My Sale Orders" domain="[('user_id','=',uid)]" help="My Sale Orders" icon="terp-personal" name="my_sale_orders_filter"/>
- <field name="partner_id"/>
+ <filter string="My" domain="[('user_id','=',uid)]" help="My Sales Orders" icon="terp-personal" name="my_sale_orders_filter"/>
+ <field name="partner_id" filter_domain="[('partner_id', 'child_of', self)]"/>
<field name="user_id"/>
<field name="project_id"/>
<group expand="0" string="Group By...">
</record>
<record id="action_orders" model="ir.actions.act_window">
- <field name="name">Sale Orders</field>
+ <field name="name">Sales Orders</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sale.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
- <field name="context">{'show_address': 1}</field>
- <field name="domain">[('state','not in',('draft','sent','cancel'))]</field>
+ <field name="context">{
+ 'search_default_my_sale_orders_filter': 1
+ }
+ </field>
+ <field name="domain">[('state', 'not in', ('draft', 'sent', 'cancel'))]</field>
<field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to create a quotation that can be converted into a sale
- order.
- </p><p>
- OpenERP will help you efficiently handle the complete sales flow:
- quotation, sale order, delivery, invoicing and payment.
- </p>
+ <p class="oe_view_nocontent_create">
+ Click to create a quotation that can be converted into a sales
+ order.
+ </p><p>
+ OpenERP will help you efficiently handle the complete sales flow:
+ quotation, sales order, delivery, invoicing and payment.
+ </p>
</field>
</record>
- <menuitem action="action_orders" id="menu_sale_order" parent="base.menu_sales" sequence="5" groups="base.group_sale_salesman,base.group_sale_manager"/>
+
+ <menuitem action="action_orders" id="menu_sale_order" parent="base.menu_sales" sequence="6" groups="base.group_sale_salesman,base.group_sale_manager"/>
<record id="action_orders_exception" model="ir.actions.act_window">
<field name="name">Sales in Exception</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_quotation_tree"/>
<field name="view_mode">tree,form,calendar,graph</field>
- <field name="context">{'show_address': 1}</field>
+ <field name="context">{'search_default_my_sale_orders_filter': 1}</field>
<field name="domain">[('state','in',('draft','sent','cancel'))]</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
<field name="help" type="html">
Click to create a quotation, the first step of a new sale.
</p><p>
OpenERP will help you handle efficiently the complete sale flow:
- from the quotation to the sale order, the
+ from the quotation to the sales order, the
delivery, the invoicing and the payment collection.
</p><p>
- The social feature helps you organize discussions on each sale
+ The social feature helps you organize discussions on each sales
order, and allow your customers to keep track of the evolution
- of the sale order.
+ of the sales order.
</p>
</field>
</record>
<menuitem id="menu_sale_quotations"
- action="action_quotations" parent="base.menu_sales"
- sequence="4"/>
+ action="action_quotations" parent="base.menu_sales"
+ sequence="5"/>
<record id="action_order_tree" model="ir.actions.act_window">
<field name="name">Old Quotations</field>
<field name="model">sale.order.line</field>
<field name="arch" type="xml">
<tree string="Sales Order Lines">
+ <field name="product_id" invisible="1"/>
<field name="order_id"/>
<field name="order_partner_id"/>
<field name="name"/>
<form string="Sales Order Lines" version="7.0">
<header>
<button name="%(action_view_sale_order_line_make_invoice)d" string="Create Invoice" type="action" attrs="{'invisible': ['|',('invoiced', '=', 1), ('state', 'not in', ('confirmed', 'draft'))]}" class="oe_highlight" groups="base.group_user"/>
- <button name="button_cancel" string="Cancel" type="object" states="confirmed,exception" groups="base.group_user"/>
+ <button name="button_cancel" string="Cancel Line" type="object" states="confirmed,exception" groups="base.group_user"/>
<button name="button_done" string="Done" type="object" attrs="{'invisible': ['|',('invoiced', '=', 0), ('state', 'not in', ('confirmed', 'exception'))]}" class="oe_highlight" groups="base.group_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors='{"exception":"red","cancel":"red"}'/>
</header>
<field name="model">sale.order.line</field>
<field name="arch" type="xml">
<search string="Search Sales Order">
- <filter icon="terp-dolar_ok!" string="To Invoice" domain="[('invoiced','<>', 1),('state','=','done')]" help="Sale Order Lines ready to be invoiced"/>
+ <filter icon="terp-dolar_ok!" string="To Invoice" domain="[('invoiced','<>', 1),('state','=','done')]" help="Sales Order Lines ready to be invoiced"/>
<separator/>
<filter string="My Sales Order Lines" icon="terp-personnal" domain="[('salesman_id','=',uid)]" help="Sales Order Lines related to a Sales Order of mine"/>
<field name="order_id"/>
- <field name="order_partner_id"/>
+ <field name="order_partner_id" filter_domain="[('order_partner_id', 'child_of', self)]"/>
<field name="product_id"/>
<field name="salesman_id"/>
<group expand="0" string="Group By...">
<field name="model">sale.order.line</field>
<field name="arch" type="xml">
<search string="Search Uninvoiced Lines">
- <filter icon="terp-gtk-go-back-rtl" string="To Do" domain="[('state','=','confirmed')]" name="sale order" help="Confirmed sale order lines, not yet delivered"/>
- <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]" name="sale_order_done" help="Sale order lines done"/>
- <filter icon="terp-accessories-archiver" string="Shipped" domain="[('state','=','done')]" name="unshipped" help="Sale Order Lines that are in 'done' state"/>
+ <filter icon="terp-gtk-go-back-rtl" string="To Do" domain="[('state','=','confirmed')]" name="sale order" help="Confirmed sales order lines, not yet delivered"/>
+ <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]" name="sale_order_done" help="Sales order lines done"/>
+ <filter icon="terp-accessories-archiver" string="Shipped" domain="[('state','=','done')]" name="unshipped" help="Sales Order Lines that are in 'done' state"/>
<separator/>
- <filter icon="terp-dolar_ok!" string="Uninvoiced" name="uninvoiced" domain="[('invoiced','<>', 1),('state','<>','draft'),('state','<>','cancel')]" help="Sale Order Lines that are confirmed, done or in exception state and haven't yet been invoiced"/>
+ <filter icon="terp-dolar_ok!" string="Uninvoiced" name="uninvoiced" domain="[('invoiced','<>', 1),('state','<>','draft'),('state','<>','cancel')]" help="Sales Order Lines that are confirmed, done or in exception state and haven't yet been invoiced"/>
<separator/>
<filter string="My Sales Order Lines" icon="terp-personal" domain="[('salesman_id','=',uid)]" help="My Sales Order Lines"/>
<field name="order_id"/>
- <field name="order_partner_id"/>
+ <field name="order_partner_id" filter_domain="[('order_partner_id', 'child_of', self)]"/>
<field name="product_id"/>
<field name="salesman_id"/>
<group expand="0" string="Group By...">
<field name="domain">[('invoiced','<>', 1),('state','=','done')]</field>
<field name="filter" eval="True"/>
</record>
-
- <act_window
- context="{'search_default_product_id': active_id, 'default_product_id': active_id}"
- id="action_order_line_product_tree"
- name="Sales Order Lines"
- res_model="sale.order.line"
- src_model="product.product"
- groups="base.group_sale_salesman"/>
-
+ <record id="action_order_line_product_tree" model="ir.actions.act_window">
+ <field name="context">{'search_default_product_id': active_id, 'default_product_id': active_id}</field>
+ <field name="name">Sales Order Lines</field>
+ <field name="res_model">sale.order.line</field>
+ <field name="view_id" ref="view_order_line_tree"/>
+ </record>
+ <record model="ir.ui.view" id="product_form_view_sale_order_button">
+ <field name="name">product.product.sale.order</field>
+ <field name="model">product.product</field>
+ <field name="inherit_id" ref="product.product_normal_form_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@name='buttons']" position="inside">
+ <button string="Sales" name="%(action_order_line_product_tree)d" type="action" groups="base.group_sale_salesman"/>
+ </xpath>
+ </field>
+ </record>
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
<menuitem id="menu_invoicing_sales_order_lines" parent="base.menu_invoiced" action="action_order_line_tree2" sequence="10" groups="sale.group_invoice_so_lines"/>
+ <record model="ir.ui.view" id="view_company_inherit_form2">
+ <field name="name">res.company.form.inherit</field>
+ <field name="inherit_id" ref="base.view_company_form"/>
+ <field name="model">res.company</field>
+ <field name="arch" type="xml">
+ <xpath expr="//group[@name='account_grp']" position="after">
+ <group name="sale_grp" string="Sales">
+ <field name="sale_note" nolabel="1" placeholder="Default terms & conditions..."/>
+ </group>
+ </xpath>
+ </field>
+ </record>
</data>
</openerp>