832 lines
44 KiB
XML
832 lines
44 KiB
XML
<?xml version="1.0"?>
|
|
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
this repository contains the full copyright notices and license terms. -->
|
|
<tryton>
|
|
<data>
|
|
<menuitem name="Purchase Management" id="menu_purchase" sequence="4"/>
|
|
<record model="res.group" id="group_purchase">
|
|
<field name="name">Purchase</field>
|
|
</record>
|
|
<record model="res.user" id="res.user_admin">
|
|
<field name="groups" eval="[('add', ref('group_purchase'))]"/>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="purchase_view_form">
|
|
<field name="model">purchase.purchase</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<form string="Purchase" col="6">
|
|
<label name="party"/>
|
|
<field name="party"/>
|
|
<label name="invoice_address"/>
|
|
<field name="invoice_address"/>
|
|
<newline/>
|
|
<label name="description"/>
|
|
<field name="description" colspan="3"/>
|
|
<label name="reference"/>
|
|
<field name="reference"/>
|
|
<notebook colspan="6">
|
|
<page string="Purchase">
|
|
<label name="purchase_date"/>
|
|
<field name="purchase_date"/>
|
|
<label name="payment_term"/>
|
|
<field name="payment_term"/>
|
|
<label name="warehouse"/>
|
|
<field name="warehouse"/>
|
|
<label name="currency"/>
|
|
<field name="currency"/>
|
|
<field name="lines" colspan="4">
|
|
<tree string="Lines" sequence="sequence" fill="1">
|
|
<field name="type"/>
|
|
<field name="product"/>
|
|
<field name="description"/>
|
|
<field name="quantity"/>
|
|
<field name="unit"/>
|
|
<field name="unit_price"/>
|
|
<field name="taxes"/>
|
|
<field name="amount"/>
|
|
<field name="sequence" tree_invisible="1"/>
|
|
<field name="unit_digits" tree_invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
<group col="2" colspan="2">
|
|
<label name="invoice_state"/>
|
|
<field name="invoice_state"/>
|
|
<label name="packing_state"/>
|
|
<field name="packing_state"/>
|
|
</group>
|
|
<group col="2" colspan="2">
|
|
<label name="untaxed_amount"/>
|
|
<field name="untaxed_amount"/>
|
|
<label name="tax_amount"/>
|
|
<field name="tax_amount"/>
|
|
<label name="total_amount"/>
|
|
<field name="total_amount"/>
|
|
<label name="state"/>
|
|
<field name="state"/>
|
|
<group col="6" colspan="2">
|
|
<button name="cancel" string="Cancel"
|
|
states="{'invisible': '''not ((state in ('draft', 'quotation')) or (invoice_state == 'exception') or (packing_state == 'exception')) ''', 'readonly': '''%(group_purchase)d not in groups'''}"
|
|
icon="tryton-cancel"/>
|
|
<button name="draft" string="Draft"
|
|
states="{'invisible': '''state != 'quotation' ''', 'readonly': '''%(group_purchase)d not in groups'''}"
|
|
icon="tryton-go-previous"/>
|
|
<button name="quotation" string="Quotation"
|
|
states="{'invisible': '''state != 'draft' ''', 'readonly': '''%(group_purchase)d not in groups'''}"
|
|
icon="tryton-go-next"/>
|
|
<button name="invoice_ok" string="Ignore Invoice Exception"
|
|
states="{'invisible': '''invoice_state != 'exception' or state == 'cancel' ''', 'readonly': '''%(group_purchase)d not in groups'''}"
|
|
icon="tryton-go-next"/>
|
|
<button name="packing_ok" string="Ignore Packing Exception"
|
|
states="{'invisible': '''packing_state != 'exception' or state == 'cancel' ''', 'readonly': '''%(group_purchase)d not in groups'''}"
|
|
icon="tryton-go-next"/>
|
|
<button name="confirm" string="Confirm"
|
|
states="{'invisible': '''state != 'quotation' ''', 'readonly': '''%(group_purchase)d not in groups'''}"
|
|
icon="tryton-ok"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
<page string="Other Info">
|
|
<label name="company"/>
|
|
<field name="company"/>
|
|
<label name="invoice_method"/>
|
|
<field name="invoice_method"/>
|
|
<separator name="comment" colspan="4"/>
|
|
<field name="comment" colspan="4" spell="party_lang"/>
|
|
</page>
|
|
<page string="Invoices">
|
|
<field name="invoices" colspan="4" widget="one2many"/>
|
|
</page>
|
|
<page string="Packings">
|
|
<field name="moves" colspan="4" widget="one2many"/>
|
|
<field name="packings" colspan="4" widget="one2many"/>
|
|
</page>
|
|
</notebook>
|
|
<field name="currency_digits" invisible="1"/>
|
|
<field name="party_lang" invisible="1"/>
|
|
</form>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
<record model="ir.ui.view" id="purchase_view_tree">
|
|
<field name="model">purchase.purchase</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<tree string="Purchases">
|
|
<field name="reference" select="1"/>
|
|
<field name="purchase_date" select="1"/>
|
|
<field name="party" select="1"/>
|
|
<field name="warehouse"/>
|
|
<field name="currency" select="2"/>
|
|
<field name="untaxed_amount" select="2"/>
|
|
<field name="total_amount" select="2"/>
|
|
<field name="state" select="2"/>
|
|
<field name="invoice_state" select="2"/>
|
|
<field name="packing_state" select="2"/>
|
|
<field name="description" select="2"/>
|
|
<field name="currency_digits" tree_invisible="1"/>
|
|
</tree>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.action.act_window" id="act_purchase_form">
|
|
<field name="name">Purchases</field>
|
|
<field name="res_model">purchase.purchase</field>
|
|
<field name="view_type">form</field>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_view1">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view" ref="purchase_view_tree"/>
|
|
<field name="act_window" ref="act_purchase_form"/>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_view2">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view" ref="purchase_view_form"/>
|
|
<field name="act_window" ref="act_purchase_form"/>
|
|
</record>
|
|
<menuitem parent="menu_purchase" action="act_purchase_form"
|
|
id="menu_purchase_form"/>
|
|
|
|
<record model="ir.action.act_window" id="act_purchase_form_draft">
|
|
<field name="name">Draft Purchases</field>
|
|
<field name="res_model">purchase.purchase</field>
|
|
<field name="view_type">form</field>
|
|
<field name="domain">[('state', '=', 'draft')]</field>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_draft_view1">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view" ref="purchase_view_tree"/>
|
|
<field name="act_window" ref="act_purchase_form_draft"/>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_draft_view2">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view" ref="purchase_view_form"/>
|
|
<field name="act_window" ref="act_purchase_form_draft"/>
|
|
</record>
|
|
<menuitem parent="menu_purchase_form" action="act_purchase_form_draft"
|
|
id="menu_purchase_form_draft"/>
|
|
|
|
<record model="ir.action.act_window" id="act_purchase_form_quotation">
|
|
<field name="name">Purchases in Quotation</field>
|
|
<field name="res_model">purchase.purchase</field>
|
|
<field name="view_type">form</field>
|
|
<field name="domain">[('state', '=', 'quotation')]</field>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_quotation_view1">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view" ref="purchase_view_tree"/>
|
|
<field name="act_window" ref="act_purchase_form_quotation"/>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_quotation_view2">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view" ref="purchase_view_form"/>
|
|
<field name="act_window" ref="act_purchase_form_quotation"/>
|
|
</record>
|
|
<menuitem parent="menu_purchase_form" action="act_purchase_form_quotation"
|
|
id="menu_purchase_form_quotation"/>
|
|
|
|
<record model="ir.action.act_window" id="act_purchase_form_confirmed">
|
|
<field name="name">Confirmed Purchases</field>
|
|
<field name="res_model">purchase.purchase</field>
|
|
<field name="view_type">form</field>
|
|
<field name="domain">[('state', '=', 'confirmed')]</field>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_confirmed_view1">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view" ref="purchase_view_tree"/>
|
|
<field name="act_window" ref="act_purchase_form_confirmed"/>
|
|
</record>
|
|
<record model="ir.action.act_window.view" id="act_purchase_form_confirmed_view2">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view" ref="purchase_view_form"/>
|
|
<field name="act_window" ref="act_purchase_form_confirmed"/>
|
|
</record>
|
|
<menuitem parent="menu_purchase_form" action="act_purchase_form_confirmed"
|
|
id="menu_purchase_form_confirmed"/>
|
|
|
|
<record model="ir.model.access" id="access_purchase">
|
|
<field name="model" search="[('model', '=', 'purchase.purchase')]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="False"/>
|
|
<field name="perm_create" eval="False"/>
|
|
<field name="perm_delete" eval="False"/>
|
|
</record>
|
|
<record model="ir.model.access" id="access_purchase_purchase">
|
|
<field name="model" search="[('model', '=', 'purchase.purchase')]"/>
|
|
<field name="group" ref="group_purchase"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_delete" eval="True"/>
|
|
</record>
|
|
<record model="ir.sequence.type" id="sequence_type_purchase">
|
|
<field name="name">Purchase</field>
|
|
<field name="code">purchase.purchase</field>
|
|
</record>
|
|
<record model="ir.sequence" id="sequence_purchase">
|
|
<field name="name">Purchase</field>
|
|
<field name="code">purchase.purchase</field>
|
|
</record>
|
|
<record model="workflow" id="purchase_workflow">
|
|
<field name="name">Purchase workflow</field>
|
|
<field name="osv">purchase.purchase</field>
|
|
<field name="on_create" eval="True"/>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_draft">
|
|
<field name="name">Draft</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'state': 'draft'})</field>
|
|
<field name="flow_start" eval="True"/>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_quotation">
|
|
<field name="name">Quotation</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">check_for_quotation() set_reference() write({'state': 'quotation'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_confirmed">
|
|
<field name="name">Confirmed</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="split_mode">AND</field>
|
|
<field name="kind">function</field>
|
|
<field name="action">set_purchase_date() write({'state': 'confirmed'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_method">
|
|
<field name="name">Invoice Method</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="split_mode">OR</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_purchase">
|
|
<field name="name">Invoice</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">create_invoice()</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_waiting_invoice_purchase">
|
|
<field name="name">Waiting Invoice</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'invoice_state': 'waiting'}) ignore_invoice_exception()</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_purchase_exception">
|
|
<field name="name">Invoice Exception</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'invoice_state': 'exception'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_done">
|
|
<field name="name">Invoice Done</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'invoice_state': 'paid'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_method_done">
|
|
<field name="name">Invoice Method Done</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_packing">
|
|
<field name="name">Packing</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">create_move()</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_waiting_packing">
|
|
<field name="name">Waiting Packing</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'packing_state': 'waiting'}) ignore_packing_exception() create_move()</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_packing_exception">
|
|
<field name="name">Packing Exception</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'packing_state': 'exception'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_packing_method">
|
|
<field name="name">Invoice Packing Method</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="split_mode">OR</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_packing">
|
|
<field name="name">Invoice Packing</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">create_invoice() write({'invoice_state': 'waiting'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_waiting_invoice_packing">
|
|
<field name="name">Waiting Invoice Packing</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'invoice_state': 'waiting', 'packing_state': 'received'}) ignore_invoice_exception()</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_packing_exception">
|
|
<field name="name">Invoice Packing Exception</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="action">write({'invoice_state': 'exception'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_packing_done">
|
|
<field name="name">Invoice Packing Done</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'invoice_state': 'paid'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_invoice_packing_method_done">
|
|
<field name="name">Invoice Packing Method Done</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'packing_state': 'received'})</field>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_done">
|
|
<field name="name">Done</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="join_mode">AND</field>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'state': 'done'})</field>
|
|
<field name="flow_stop" eval="True"/>
|
|
</record>
|
|
<record model="workflow.activity" id="purchase_activity_cancel">
|
|
<field name="name">Cancel</field>
|
|
<field name="workflow" ref="purchase_workflow"/>
|
|
<field name="kind">function</field>
|
|
<field name="action">write({'state': 'cancel'})</field>
|
|
<field name="flow_stop" eval="True"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_draft_quotation">
|
|
<field name="act_from" ref="purchase_activity_draft"/>
|
|
<field name="act_to" ref="purchase_activity_quotation"/>
|
|
<field name="signal">quotation</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_draft_cancel">
|
|
<field name="act_from" ref="purchase_activity_draft"/>
|
|
<field name="act_to" ref="purchase_activity_cancel"/>
|
|
<field name="signal">cancel</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_quotation_draft">
|
|
<field name="act_from" ref="purchase_activity_quotation"/>
|
|
<field name="act_to" ref="purchase_activity_draft"/>
|
|
<field name="signal">draft</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_quotation_confirmed">
|
|
<field name="act_from" ref="purchase_activity_quotation"/>
|
|
<field name="act_to" ref="purchase_activity_confirmed"/>
|
|
<field name="signal">confirm</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_quotation_cancel">
|
|
<field name="act_from" ref="purchase_activity_quotation"/>
|
|
<field name="act_to" ref="purchase_activity_cancel"/>
|
|
<field name="signal">cancel</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_confirmed_invoice_method">
|
|
<field name="act_from" ref="purchase_activity_confirmed"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_method"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_method_invoice_purchase">
|
|
<field name="act_from" ref="purchase_activity_invoice_method"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_purchase"/>
|
|
<field name="condition">invoice_method == 'order'</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_method_invoice_done">
|
|
<field name="act_from" ref="purchase_activity_invoice_method"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_method_done"/>
|
|
<field name="condition">invoice_method != 'order'</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_purchase_waiting_invoice_purchase">
|
|
<field name="act_from" ref="purchase_activity_invoice_purchase"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_invoice_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_invoice_purchase_invoice_purchase_exception">
|
|
<field name="act_from" ref="purchase_activity_waiting_invoice_purchase"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_purchase_exception"/>
|
|
<field name="trigger_model">account.invoice</field>
|
|
<field name="trigger_expr_id">[x.id for x in invoices]</field>
|
|
<field name="condition">invoice_exception</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_purchase_exception_invoice_purchase">
|
|
<field name="act_from" ref="purchase_activity_invoice_purchase_exception"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_invoice_purchase"/>
|
|
<field name="signal">invoice_ok</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_purchase_exception_cancel">
|
|
<field name="act_from" ref="purchase_activity_invoice_purchase_exception"/>
|
|
<field name="act_to" ref="purchase_activity_cancel"/>
|
|
<field name="signal">cancel</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_invoice_purchase_invoice_done">
|
|
<field name="act_from" ref="purchase_activity_waiting_invoice_purchase"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_done"/>
|
|
<field name="trigger_model">account.invoice</field>
|
|
<field name="trigger_expr_id">[x.id for x in invoices]</field>
|
|
<field name="condition">invoice_paid</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_done_invoice_method_done">
|
|
<field name="act_from" ref="purchase_activity_invoice_done"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_method_done"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_method_done_done">
|
|
<field name="act_from" ref="purchase_activity_invoice_method_done"/>
|
|
<field name="act_to" ref="purchase_activity_done"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_confirmed_packing">
|
|
<field name="act_from" ref="purchase_activity_confirmed"/>
|
|
<field name="act_to" ref="purchase_activity_packing"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_packing_waiting_packing">
|
|
<field name="act_from" ref="purchase_activity_packing"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_packing"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_packing_packing_exception">
|
|
<field name="act_from" ref="purchase_activity_waiting_packing"/>
|
|
<field name="act_to" ref="purchase_activity_packing_exception"/>
|
|
<field name="signal">packing_update</field>
|
|
<field name="condition">packing_exception</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_packing_exception_cancel">
|
|
<field name="act_from" ref="purchase_activity_packing_exception"/>
|
|
<field name="act_to" ref="purchase_activity_cancel"/>
|
|
<field name="signal">cancel</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_packing_exception_waiting_packing">
|
|
<field name="act_from" ref="purchase_activity_packing_exception"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_packing"/>
|
|
<field name="signal">packing_ok</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_packing_invoice_packing_method">
|
|
<field name="act_from" ref="purchase_activity_waiting_packing"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing_method"/>
|
|
<field name="signal">packing_update</field>
|
|
<field name="condition">not packing_exception</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_packing_invoice_packing_method2">
|
|
<field name="act_from" ref="purchase_activity_waiting_packing"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing_method"/>
|
|
<field name="condition">packing_done</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_method_invoice_packing">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_method"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing"/>
|
|
<field name="condition">invoice_method == 'packing'</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_method_invoice_packing_method_done">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_method"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing_method_done"/>
|
|
<field name="condition">invoice_method != 'packing' and packing_done</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_method_waiting_packing">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_method"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_packing"/>
|
|
<field name="condition">invoice_method != 'packing' and not packing_done</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_waiting_packing">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_packing"/>
|
|
<field name="condition">not packing_done</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_waiting_invoice_packing">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_invoice_packing"/>
|
|
<field name="condition">packing_done</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_invoice_packing_invoice_packing_exception">
|
|
<field name="act_from" ref="purchase_activity_waiting_invoice_packing"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing_exception"/>
|
|
<field name="trigger_model">account.invoice</field>
|
|
<field name="trigger_expr_id">[x.id for x in invoices]</field>
|
|
<field name="condition">invoice_exception</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_exception_cancel">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_exception"/>
|
|
<field name="act_to" ref="purchase_activity_cancel"/>
|
|
<field name="signal">cancel</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_exception_waiting_invoice_packing">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_exception"/>
|
|
<field name="act_to" ref="purchase_activity_waiting_invoice_packing"/>
|
|
<field name="signal">invoice_ok</field>
|
|
<field name="group" ref="group_purchase"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_waiting_invoice_packing_invoice_packing_done">
|
|
<field name="act_from" ref="purchase_activity_waiting_invoice_packing"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing_done"/>
|
|
<field name="trigger_model">account.invoice</field>
|
|
<field name="trigger_expr_id">[x.id for x in invoices]</field>
|
|
<field name="condition">invoice_paid</field>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_done_invoice_packing_method_done">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_done"/>
|
|
<field name="act_to" ref="purchase_activity_invoice_packing_method_done"/>
|
|
</record>
|
|
<record model="workflow.transition" id="purchase_transition_invoice_packing_done_done">
|
|
<field name="act_from" ref="purchase_activity_invoice_packing_method_done"/>
|
|
<field name="act_to" ref="purchase_activity_done"/>
|
|
</record>
|
|
|
|
<record model="ir.action.report" id="report_purchase">
|
|
<field name="name">Purchase</field>
|
|
<field name="model">purchase.purchase</field>
|
|
<field name="report_name">purchase.purchase</field>
|
|
<field name="report">purchase/purchase.odt</field>
|
|
<field name="style">company/header_A4.odt</field>
|
|
</record>
|
|
<record model="ir.action.keyword" id="report_purchase_keyword">
|
|
<field name="keyword">form_print</field>
|
|
<field name="model">purchase.purchase,0</field>
|
|
<field name="action" ref="report_purchase"/>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="purchase_line_view_form">
|
|
<field name="model">purchase.line</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<form string="Purchase Line" cursor="product">
|
|
<label name="purchase"/>
|
|
<field name="purchase" colspan="3"/>
|
|
<label name="type"/>
|
|
<field name="type"/>
|
|
<label name="sequence"/>
|
|
<field name="sequence"/>
|
|
<label name="product"/>
|
|
<field name="product">
|
|
<tree string="Products">
|
|
<field name="name" select="1"/>
|
|
<field name="code" select="1"/>
|
|
<field name="list_price_uom" select="2"/>
|
|
<field name="cost_price_uom" select="2"/>
|
|
<field name="quantity" select="2"/>
|
|
<field name="forecast_quantity" select="2"/>
|
|
<field name="default_uom" select="2"/>
|
|
<field name="active" select="2"/>
|
|
</tree>
|
|
</field>
|
|
<newline/>
|
|
<label name="description"/>
|
|
<field name="description" colspan="3"/>
|
|
<label name="quantity"/>
|
|
<field name="quantity"/>
|
|
<label name="unit"/>
|
|
<field name="unit"/>
|
|
<label name="unit_price"/>
|
|
<field name="unit_price"/>
|
|
<label name="amount"/>
|
|
<field name="amount"/>
|
|
<separator name="taxes" colspan="4"/>
|
|
<field name="taxes" colspan="4"/>
|
|
<separator name="comment" colspan="4"/>
|
|
<field name="comment" colspan="4" spell="_parent_purchase.party_lang"/>
|
|
<field name="unit_digits" invisible="1" colspan="4"/>
|
|
</form>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="purchase_line_view_tree">
|
|
<field name="model">purchase.line</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<tree string="Purchase Lines">
|
|
<field name="purchase" select="1"/>
|
|
<field name="type" select="1"/>
|
|
<field name="product" select="1"/>
|
|
<field name="description" select="1"/>
|
|
<field name="quantity" select="1"/>
|
|
<field name="unit" select="2"/>
|
|
<field name="unit_price" select="2"/>
|
|
<field name="taxes"/>
|
|
<field name="amount"/>
|
|
<field name="unit_digits" tree_invisible="1"/>
|
|
</tree>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
<record model="ir.model.access" id="access_purchase_line">
|
|
<field name="model" search="[('model', '=', 'purchase.line')]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_delete" eval="True"/>
|
|
</record>
|
|
<record model="ir.model.access" id="access_purchase_line_purchase">
|
|
<field name="model" search="[('model', '=', 'purchase.line')]"/>
|
|
<field name="group" ref="group_purchase"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_delete" eval="True"/>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="product_supplier_view_form">
|
|
<field name="model">purchase.product_supplier</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<form string="Product Supplier">
|
|
<label name="product"/>
|
|
<field name="product" colspan="4"/>
|
|
<label name="party"/>
|
|
<field name="party"/>
|
|
<label name="sequence"/>
|
|
<field name="sequence"/>
|
|
<label name="name"/>
|
|
<field name="name"/>
|
|
<label name="code"/>
|
|
<field name="code"/>
|
|
<label name="delivery_time"/>
|
|
<field name="delivery_time"/>
|
|
<field name="prices" colspan="4"/>
|
|
</form>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
<record model="ir.ui.view" id="product_supplier_view_tree">
|
|
<field name="model">purchase.product_supplier</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<tree string="Product Suppliers">
|
|
<field name="product" select="1"/>
|
|
<field name="party" select="1"/>
|
|
<field name="name" select="1"/>
|
|
<field name="code" select="1"/>
|
|
<field name="sequence" select="2"/>
|
|
</tree>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
<record model="ir.rule.group" id="rule_group_product_supplier">
|
|
<field name="model" search="[('model', '=', 'purchase.product_supplier')]"/>
|
|
<field name="global_p" eval="True"/>
|
|
</record>
|
|
<record model="ir.rule" id="rule_product_supplier">
|
|
<field name="field" search="[('name', '=', 'company'), ('model.model', '=', 'purchase.product_supplier')]"/>
|
|
<field name="operator">=</field>
|
|
<field name="operand">User/Current Company</field>
|
|
<field name="rule_group" ref="rule_group_product_supplier"/>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="product_supplier_price_view_form">
|
|
<field name="model">purchase.product_supplier.price</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<form string="Product Supplier Price" col="6">
|
|
<label name="product_supplier"/>
|
|
<field name="product_supplier" colspan="5"/>
|
|
<label name="quantity"/>
|
|
<field name="quantity"/>
|
|
<label name="unit_price"/>
|
|
<field name="unit_price"/>
|
|
</form>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
<record model="ir.ui.view" id="product_supplier_price_view_tree">
|
|
<field name="model">purchase.product_supplier.price</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<tree string="Product Supplier Prices">
|
|
<field name="product_supplier"/>
|
|
<field name="quantity"/>
|
|
<field name="unit_price"/>
|
|
</tree>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="product_view_form">
|
|
<field name="model">product.product</field>
|
|
<field name="inherit" ref="product.product_view_form"/>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<data>
|
|
<xpath expr="/form/notebook/page/separator[@name="description"]"
|
|
position="before">
|
|
<label name="purchasable"/>
|
|
<field name="purchasable"/>
|
|
</xpath>
|
|
<xpath expr="/form/notebook/page[@string="General"]"
|
|
position="after">
|
|
<page string="Suppliers"
|
|
states="{'invisible': '''not purchasable'''}">
|
|
<label name="purchasable"/>
|
|
<field name="purchasable"/>
|
|
<label name="purchase_uom"/>
|
|
<field name="purchase_uom"/>
|
|
<field name="product_suppliers" colspan="4">
|
|
<tree string="Product Suppliers" sequence="sequence">
|
|
<field name="party"/>
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="sequence" tree_invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
</xpath>
|
|
</data>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
<record model="ir.ui.view" id="product_view_tree">
|
|
<field name="model">product.product</field>
|
|
<field name="inherit" ref="product.product_view_tree"/>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<data>
|
|
<xpath expr="/tree/field[@name="default_uom"]"
|
|
position="after">
|
|
<field name="purchasable" select="2"/>
|
|
</xpath>
|
|
</data>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="packing_in_view_form">
|
|
<field name="model">stock.packing.in</field>
|
|
<field name="inherit" ref="stock.packing_in_view_form"/>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<data>
|
|
<xpath expr="/form/notebook/page/field[@name="incoming_moves"]/tree/field[@name="uom"]"
|
|
position="after">
|
|
<field name="purchase" select="1"/>
|
|
</xpath>
|
|
</data>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="move_view_form">
|
|
<field name="model">stock.move</field>
|
|
<field name="inherit" ref="stock.move_view_form"/>
|
|
<field name="arch" type="xml">
|
|
<![CDATA[
|
|
<data>
|
|
<xpath expr="/form/field[@name="uom"]"
|
|
position="after">
|
|
<label name="purchase_quantity"/>
|
|
<field name="purchase_quantity"/>
|
|
<label name="purchase_unit"/>
|
|
<field name="purchase_unit"/>
|
|
</xpath>
|
|
<xpath expr="/form/field[@name="currency"]"
|
|
position="after">
|
|
<label name="purchase_unit_price"/>
|
|
<field name="purchase_unit_price"/>
|
|
<label name="purchase_currency"/>
|
|
<field name="purchase_currency"/>
|
|
</xpath>
|
|
<xpath expr="/form/field[@name="effective_date"]"
|
|
position="after">
|
|
<label name="purchase"/>
|
|
<field name="purchase"/>
|
|
<newline/>
|
|
</xpath>
|
|
<xpath expr="/form/field[@name="unit_digits"]"
|
|
position="after">
|
|
<field name="purchase_unit_digits" invisible="1" colspan="4"/>
|
|
</xpath>
|
|
</data>
|
|
]]>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.action.wizard" id="act_open_supplier">
|
|
<field name="name">Suppliers</field>
|
|
<field name="wiz_name">purchase.open_supplier</field>
|
|
</record>
|
|
<menuitem name="Suppliers"
|
|
parent="party.menu_party_form"
|
|
action="act_open_supplier"
|
|
icon="tryton-list"
|
|
id="menu_supplier"/>
|
|
|
|
<record model="ir.rule.group" id="rule_group_purchase">
|
|
<field name="model" search="[('model', '=', 'purchase.purchase')]"/>
|
|
<field name="global_p" eval="True"/>
|
|
</record>
|
|
<record model="ir.rule" id="rule_purchase1">
|
|
<field name="field" search="[('name', '=', 'company'), ('model.model', '=', 'purchase.purchase')]"/>
|
|
<field name="operator">=</field>
|
|
<field name="operand">User/Current Company</field>
|
|
<field name="rule_group" ref="rule_group_purchase"/>
|
|
</record>
|
|
|
|
</data>
|
|
</tryton>
|