<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
       <menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Purchases" sequence="3" groups="base.group_system,group_purchase_manager,group_purchase_user,base.group_extended"/>
       <menuitem id="menu_procurement_management" name="Purchase Management"
            parent="base.menu_purchase_root" sequence="1" />

        <!--supplier addresses action-->
        <record id="action_supplier_address_form" model="ir.actions.act_window">
            <field name="name">Addresses</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">res.partner.address</field>
            <field name="view_type">form</field>
            <field name="context">{"search_default_supplier":1}</field>
            <field name="search_view_id" ref="base.view_res_partner_address_filter"/>
        </record>
        <record id="action_supplier_address_form_view1" model="ir.actions.act_window.view">
            <field eval="10" name="sequence"/>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="base.view_partner_address_tree"/>
            <field name="act_window_id" ref="action_supplier_address_form"/>
        </record>
        <record id="action_supplier_address_form_view2" model="ir.actions.act_window.view">
            <field eval="20" name="sequence"/>
            <field name="view_mode">form</field>
            <field name="view_id" ref="base.view_partner_address_form1"/>
            <field name="act_window_id" ref="action_supplier_address_form"/>
        </record>

     <!--supplier menu-->
      <menuitem id="base.menu_procurement_management_supplier" name="Address Book"
            parent="base.menu_purchase_root" sequence="3"/>
      <menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers"
            parent="base.menu_procurement_management_supplier"
            action="base.action_partner_supplier_form" sequence="1"/>

          <!--Inventory control-->
      <menuitem id="menu_procurement_management_inventory" name="Inventory Control"
            parent="base.menu_purchase_root" sequence="4"/>
      <menuitem action="stock.action_picking_tree4" id="menu_action_picking_tree4" parent="menu_procurement_management_inventory"
            name="Incoming Shipments" sequence="9"/>
      <menuitem action="stock.action_reception_picking_move" id="menu_action_picking_tree_in_move"
            parent="menu_procurement_management_inventory" sequence="11"/>

     <!--Invoice control-->
     <menuitem id="menu_procurement_management_invoice" name="Invoice Control"
          parent="base.menu_purchase_root" sequence="6"/>
     <menuitem name="Supplier Invoices to Receive"
          id="menu_procurement_management_pending_invoice"
          action="account.action_invoice_tree_pending_invoice"
          parent="menu_procurement_management_invoice"
          sequence="13"/>

      <!--product menu-->
      <menuitem id="menu_procurement_management_product" name="Products"
          parent="base.menu_purchase_root" sequence="8"/>
      <menuitem name="Products" id="menu_procurement_partner_contact_form" action="product.product_normal_action_puchased"
          parent="menu_procurement_management_product"/>

       <record model="ir.ui.view" id="purchase_order_calendar">
            <field name="name">purchase.order.calendar</field>
            <field name="model">purchase.order</field>
            <field name="type">calendar</field>
            <field name="priority" eval="2"/>
            <field name="arch" type="xml">
                <calendar string="Calendar View" date_start="minimum_planned_date" color="partner_id">
                    <field name="name"/>
                    <field name="amount_total"/>
                    <field name="partner_id"/>
                </calendar>
            </field>
        </record>
        <record model="ir.ui.view" id="view_purchase_order_graph">
            <field name="name">purchase.order.graph</field>
            <field name="model">purchase.order</field>
            <field name="type">graph</field>
            <field name="arch" type="xml">
                <graph string="Purchase Order" type="bar">
                    <field name="partner_id"/>
                    <field name="amount_total" operator="+"/>
                </graph>
            </field>
        </record>

        <record id="purchase_order_form" model="ir.ui.view">
            <field name="name">purchase.order.form</field>
            <field name="model">purchase.order</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
                <form string="Purchase Order">
                    <group col="6" colspan="4">
                        <field name="name"/>
                        <field name="date_order"/>
                        <field name="invoiced"/>
                        <newline/>
                        <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection"/>
                        <field name="partner_ref"/>
                        <field name="shipped"/>
                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                    </group>
                    <notebook colspan="4">
                        <page string="Purchase Order">
                            <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('supplier','=', 1)]"/>
                            <field name="partner_address_id"/>
                            <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>
                            <field name="origin" groups="base.group_extended"/>
                            <newline/>
                            <field colspan="4" name="order_line" nolabel="1" mode="tree,form">
                                <tree colors="red:date_planned&lt;=current_date;black:date_planned&gt;current_date" string="Purchase Order Lines">
                                    <field name="date_planned"/>
                                    <field name="name"/>
                                    <field name="product_qty"/>
                                    <field name="product_uom"/>
                                    <field name="price_unit"/>
                                    <field name="price_subtotal"/>
                                </tree>
                                <!-- default form view -->
                            </field>
                            <group col="7" colspan="4">
                                <field name="amount_untaxed" sum="Untaxed amount"/>
                                <field name="amount_tax"/>
                                <field name="amount_total" sum="Total amount"/>
                                <button name="button_dummy" states="draft" string="Compute" type="object" icon="gtk-execute"/>
                            </group>
                            <group col="11" colspan="4">
                                <field name="state" readonly="1"/>
                                <button name="purchase_confirm" states="draft" string="Confirm Purchase Order" icon="gtk-apply"/>
                                <button name="purchase_appbuyer" states="wait_auth" string="Approve Purchase" icon="gtk-ok"/>
                                <button name="purchase_approve" states="confirmed" string="Approved by Supplier" icon="gtk-ok"/>
                                <button name="purchase_cancel" states="draft,confirmed,wait_auth" string="Cancel Purchase Order" icon="gtk-cancel"/>
                                <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
                                <button name="action_cancel" states="approved,except_picking,except_invoice" string="Cancel Purchase Order" type="object" icon="gtk-cancel"/>

                                <button name="picking_ok" states="except_picking" string="Manually Corrected" icon="gtk-convert"/>
                                <button name="invoice_ok" states="except_invoice" string="Manually Corrected" icon="gtk-convert"/>
                            </group>
                        </page>
                        <page string="Delivery &amp; Invoices" groups="base.group_extended">
                            <group colspan="2" col="2">
                                <separator string="Delivery" colspan="2"/>
                                <field name="dest_address_id" on_change="onchange_dest_address_id(dest_address_id)"/>
                                <field name="minimum_planned_date"/>
                                <field name="location_id"/>
                            </group>
                            <group colspan="2" col="2">
                                <separator string="Invoice Control" colspan="2"/>
                                <field name="invoice_method"/>
                                <field name="invoice_id" readonly="1" groups="base.group_extended"/>
                                <field name="fiscal_position" widget="selection"/>
                            </group>
                            <newline/>
                            <separator string="Purchase Control" colspan="4"/>
                            <field name="validator"/>
                            <field name="date_approve"/>
                        </page>
                        <page string="Notes">
                            <field colspan="4" name="notes" nolabel="1"/>
                        </page>
                    </notebook>
                </form>
            </field>
        </record>

       <record id="view_purchase_order_filter" model="ir.ui.view">
            <field name="name">purchase.order.list.select</field>
            <field name="model">purchase.order</field>
            <field name="type">search</field>
            <field name="arch" type="xml">
                <search string="Search Purchase Order">
                 <group col='10' colspan='4'>
                    <filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" separator="1" help="Purchase order which are in draft state"/>
                    <filter icon="terp-camera_test" name="confirmed" string="To Approve" domain="[('state','in',('wait','confirmed'))]" separator="1" help="Purchase order to be approved"/>
                    <filter icon="terp-check" name="approved" string="Approved" domain="[('state','in',('approved','done'))]" separator="1" help="Approved purchase order"/>
                    <separator orientation="vertical"/>
                    <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" separator="1" help="Purchase order which are in the exception state"/>
                    <separator orientation="vertical"/>
                    <filter icon="terp-gtk-go-back-rtl" string="To be Invoiced" domain="[('invoiced','=',1)]" separator="1" help="Purchase order to be invoiced"/>
                    <separator orientation="vertical"/>
                    <field name="name" select="1" string="Reference"/>
                    <field name="partner_id" select="1"/>
                    <field name="product_id" select="1"/>
                    <field name="create_uid" select="1"/>
                </group>
                <newline/>
                  <group expand="0" string="Group By..." colspan="4" col="10" groups="base.group_extended">
                    <filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
                     <separator orientation="vertical"/>
                    <filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
                    <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
                     <separator orientation="vertical"/>
                    <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
                    <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/>
                    
                </group>
              </search>
            </field>
        </record>
        <record id="purchase_order_tree" model="ir.ui.view">
            <field name="name">purchase.order.tree</field>
            <field name="model">purchase.order</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree colors="grey:state in ('approved','done');blue:state in ('wait','confirmed');red:state in ('except_invoice','except_picking')" string="Purchase Order">
                    <field name="name" string="Reference"/>
                    <field name="date_order" string="Order Date"/>
                    <field name="partner_id"/>
                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                    <field name="location_id"/>
                    <field name="minimum_planned_date"/>
                    <field name="origin"/>
                    <field name="invoiced_rate" widget="progressbar"/>
                    <field name="shipped_rate" widget="progressbar"/>
                    <field name="amount_untaxed" sum="Total Untaxed amount"/>
                    <field name="amount_total" sum="Total amount"/>
                    <field name="state"/>
                </tree>
            </field>
        </record>

        <record id="purchase_rfq" model="ir.actions.act_window">
            <field name="name">Requests for Quotation</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">purchase.order</field>
            <field name="view_type">form</field>
            <field name="context">{'search_default_draft': 1,'search_default_create_uid':uid}</field>
            <field name="view_mode">tree,form,graph,calendar</field>
            <field name="search_view_id" ref="view_purchase_order_filter"/>
            <field name="help">With the Requests for quotation menu you can create new quotations, review existing one and confirm them to order once the supplier offer is approved.</field>
        </record>
        <menuitem action="purchase_rfq" id="menu_purchase_rfq" parent="menu_procurement_management"
                sequence="6" groups="group_purchase_manager,group_purchase_user"/>

        <record id="purchase_form_action" model="ir.actions.act_window">
            <field name="name">Purchase Orders</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">purchase.order</field>
            <field name="view_mode">tree,form,graph,calendar</field>
            <field name="context">{'search_default_approved': 1,'search_default_create_uid':uid}</field>
            <field name="search_view_id" ref="view_purchase_order_filter"/>
            <field name="help">From the Purchase Orders menu, you can create directly new orders and consult the list of your orders in their various state.</field>
        </record>
        <menuitem action="purchase_form_action" id="menu_purchase_form_action" parent="menu_procurement_management" />


        <record id="purchase_order_line_form" model="ir.ui.view">
            <field name="name">purchase.order.line.form</field>
            <field name="model">purchase.order.line</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
                <form string="Purchase Order Line">
                    <notebook colspan="4">
                        <page string="Order Line">
                            <field colspan="4" context="partner_id=parent.partner_id,quantity=product_qty,pricelist=parent.pricelist_id,uom=product_uom,warehouse=parent.warehouse_id" name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order,parent.fiscal_position,date_planned,name,price_unit,notes)"/>
                            <field context="partner_id=parent.partner_id,quantity=product_qty,pricelist=parent.pricelist_id,uom=product_uom,warehouse=parent.warehouse_id" name="product_qty" on_change="product_id_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id,parent.date_order,parent.fiscal_position,date_planned,name,price_unit,notes)"/>
                            <field name="product_uom" on_change="product_uom_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order,parent.fiscal_position)"/>
                            <field colspan="4" name="name"/>
                            <field name="date_planned" widget="date"/>
                            <field name="price_unit"/>
                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                            <field name="account_analytic_id" colspan="4" groups="base.group_extended" domain="[('parent_id','!=',False)]" />
                            <group colspan="4" col="4" groups="base.group_extended">
                                <separator colspan="4" string="Taxes"/>
                                <field colspan="4" nolabel="1" name="taxes_id"
                                    domain="[('parent_id','=',False),('type_tax_use','!=','sale')]"/>
                            </group>
                        </page>
                        <page string="Invoicing" groups="base.group_extended">
                            <separator colspan="4" string="Manual Invoices"/>
                            <field name="invoiced"/>
                            <newline/>
                            <field colspan="4" name="invoice_lines" nolabel="1" widget="many2many"/>
                        </page>
           				<page string="Notes">
                            <field colspan="4" name="notes" nolabel="1"/>
                        </page>
                        <page string="History" groups="base.group_extended">
                               <separator colspan="4" string="Stock Moves"/>
                               <field colspan="4" name="move_ids" nolabel="1" widget="many2many"/>
                        </page>                        
                    </notebook>
                </form>
            </field>
        </record>

        <record id="purchase_order_line_tree" model="ir.ui.view">
            <field name="name">purchase.order.line.tree</field>
            <field name="model">purchase.order.line</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree colors="red:date_planned&lt;=current_date;black:date_planned&gt;current_date" string="Purchase Order Lines">
                    <field name="order_id"/>
                    <field name="name"/>
                    <field name="date_planned" widget="date" width="135"/>
                    <field name="product_id"/>
                    <field name="product_qty"/>
                    <field name="product_uom"/>
                    <field name="price_unit"/>
                    <field name="price_subtotal"/>
                    <field name="state" invisible="1"/>
                    <field name="invoiced" invisible="1"/>
                </tree>
            </field>
        </record>
        <record id="purchase_order_line_form2" model="ir.ui.view">
            <field name="name">purchase.order.line.form2</field>
            <field name="model">purchase.order.line</field>
            <field name="type">form</field>
            <field name="priority" eval="20"/>
            <field name="arch" type="xml">
                <form string="Purchase Order Line">
                    <notebook colspan="4">
                        <page string="Order Line">
                           	<separator colspan="4" string="General Information"/>
                         	<field name="order_id"/>
                            <field name="product_id" readonly="1" />
                            <field name="product_qty" readonly="1" />
                            <field name="product_uom" readonly="1"/>
                            <field colspan="4" name="name"/>
                            <field name="date_planned" widget="date"  readonly="1"/>
                            <field name="price_unit"/>
                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                            <field name="account_analytic_id" colspan="4" groups="base.group_extended" domain="[('parent_id','!=',False)]"/>
                            <group colspan="4" col="4" groups="base.group_extended">
                                <separator colspan="4" string="Taxes"/>
                                <field colspan="4" nolabel="1" name="taxes_id"
                                    domain="[('parent_id','=',False),('type_tax_use','!=','sale')]"/>
                            </group>
                        </page>
                        <page string="Invoicing" groups="base.group_extended">
                            <separator colspan="4" string="Manual Invoices"/>
                            <field name="invoiced"/>
                            <newline/>
                            <field colspan="4" name="invoice_lines" nolabel="1" widget="many2many"/>
                        </page>
         				<page string="Notes">
                            <field colspan="4" name="notes" nolabel="1"/>
                        </page>
                        <page string="History" groups="base.group_extended">
                               <separator colspan="4" string="Stock Moves"/>
                               <field colspan="4" name="move_ids" nolabel="1" widget="many2many"/>
                        </page>                        
                    </notebook>
                </form>
            </field>
        </record>
          <record id="purchase_order_line_search" model="ir.ui.view">
            <field name="name">purchase.order.line.search</field>
            <field name="model">purchase.order.line</field>
            <field name="type">search</field>
            <field name="arch" type="xml">
                <search string="Search Purchase Order">
                		<group>
                        <field name="order_id"/>
                        <field name="product_id"/>
                        </group>
                        <newline/>
                        <group expand="0" string="Group By...">
                        <filter string="Product" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by' : 'product_id'}" />
                        <filter icon="terp-gtk-jump-to-rtl" string="Order Reference" domain="[]" context="{'group_by' :'order_id'}"/>
                         <separator orientation="vertical"/>
                        <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" />
                        </group>
               </search>
            </field>
        </record>

        <act_window
            context="{'partner_id': active_id}"
            domain="[('partner_id', '=', active_id)]"
            id="act_res_partner_2_purchase_order"
            name="Purchase orders"
            res_model="purchase.order"
            src_model="res.partner"/>

        <act_window
            domain="[('product_id','=',active_id)]"
            id="action_purchase_line_product_tree"
            name="Product purchases"
            res_model="purchase.order.line"
            src_model="product.product"
            groups="base.group_extended"/>


        <record id="purchase_line_form_action2" model="ir.actions.act_window">
            <field name="name">Purchase Lines Not Invoiced</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">purchase.order.line</field>
            <field name="domain">[('state','in',('confirmed','done')), ('invoiced','=',False)]</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
             <field name="search_view_id" ref="purchase_order_line_search"/>
        </record>
        <record id="purchase_line_form_action_tree2" model="ir.actions.act_window.view">
            <field eval="1" name="sequence"/>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="purchase_order_line_tree"/>
            <field name="act_window_id" ref="purchase_line_form_action2"/>
        </record>
        <record id="purchase_line_form_action_form2" model="ir.actions.act_window.view">
            <field eval="2" name="sequence"/>
            <field name="view_mode">form</field>
            <field name="view_id" ref="purchase_order_line_form2"/>
            <field name="act_window_id" ref="purchase_line_form_action2"/>
        </record>
        <menuitem
            action="purchase_line_form_action2"
            id="menu_purchase_line_order_draft"
            groups="base.group_extended"
            parent="menu_procurement_management_invoice"
            sequence="12"/>

        <!--
            Procurements
        -->

        <record id="view_procurement_form_inherit" model="ir.ui.view">
            <field name="name">procurement.order.form.inherit</field>
            <field name="model">procurement.order</field>
            <field name="inherit_id" ref="procurement.procurement_form_view"/>
            <field name="type">form</field>
            <field name="arch" type="xml">
                <xpath expr="/form/notebook/page/field[@name='close_move']" position="before">
                    <field name="purchase_id"/>
                </xpath>
            </field>
        </record>

    </data>
</openerp>
