[MERGE] lp:~openerp-dev/openobject-addons/trunk-first_10_clicks_purchase-mdi/
bzr revid: stw@openerp.com-20120803124606-omnkdxp5ly1tpy4q
This commit is contained in:
commit
6e7a35e819
|
@ -306,7 +306,7 @@ class account_invoice(osv.osv):
|
|||
if view_type == 'form':
|
||||
if partner['supplier'] and not partner['customer']:
|
||||
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name', '=', 'account.invoice.supplier.form')])
|
||||
else:
|
||||
elif partner['customer'] and not partner['supplier']:
|
||||
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name', '=', 'account.invoice.form')])
|
||||
if view_id and isinstance(view_id, (list, tuple)):
|
||||
view_id = view_id[0]
|
||||
|
|
|
@ -24,6 +24,21 @@ from osv import fields, osv
|
|||
class res_partner(osv.osv):
|
||||
_name = 'res.partner'
|
||||
_inherit = 'res.partner'
|
||||
|
||||
def _purchase_order_count(self, cr, uid, ids, field_name, arg, context=None):
|
||||
res = {}
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
res[partner.id] = len(partner.purchase_order_ids)
|
||||
return res
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
|
||||
default.update({'purchase_order_ids': []})
|
||||
|
||||
super(res_partner, self).copy(cr, uid, id, default=default, context=context)
|
||||
|
||||
_columns = {
|
||||
'property_product_pricelist_purchase': fields.property(
|
||||
'product.pricelist',
|
||||
|
@ -33,6 +48,8 @@ class res_partner(osv.osv):
|
|||
string="Purchase Pricelist",
|
||||
view_load=True,
|
||||
help="This pricelist will be used, instead of the default one, for purchases from the current partner"),
|
||||
'purchase_order_count': fields.function(_purchase_order_count, string='# of Purchase Order', type='integer'),
|
||||
'purchase_order_ids': fields.one2many('purchase.order','partner_id','Purchase Order')
|
||||
}
|
||||
res_partner()
|
||||
|
||||
|
|
|
@ -16,6 +16,73 @@
|
|||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="act_res_partner_2_purchase_order" model="ir.actions.act_window">
|
||||
<field name="name">RFQs and Purchases</field>
|
||||
<field name="res_model">purchase.order</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="context">{'search_default_partner_id': active_id}</field>
|
||||
<field name="groups_id" eval="[(4, ref('purchase.group_purchase_user'))]"/>
|
||||
<field name="help">
|
||||
This supplier has no RFQ or Purchase Order. Click here to create a new RFQ.
|
||||
<p>
|
||||
The "Quotation" is the first step of the Purchases flow. Manage your purchases from quotation to invoice.
|
||||
<p>
|
||||
You will be able to buy products (manage receptions) as well as services (create projects).
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Partner kanban view inherited -->
|
||||
<record model="ir.ui.view" id="purchase_partner_kanban_view">
|
||||
<field name="name">res.partner.kanban.purchaseorder.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">kanban</field>
|
||||
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="mobile" position="after">
|
||||
<field name="purchase_order_count"/>
|
||||
</field>
|
||||
<xpath expr="//div[@class='oe_kanban_partner_links']" position="inside">
|
||||
<a name="%(purchase.act_res_partner_2_purchase_order)d" type="action" t-if="record.purchase_order_count.value>0">
|
||||
<t t-esc="record.purchase_order_count.value"/> Purchases
|
||||
</a>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="act_res_partner_2_supplier_invoices" model="ir.actions.act_window">
|
||||
<field name="name">Supplier Invoices</field>
|
||||
<field name="res_model">account.invoice</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="domain">[('type','=','in_invoice')]</field>
|
||||
<field name="context">{'search_default_partner_id': active_id, 'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
|
||||
<field name="help">
|
||||
Click here to create Supplier invoice.
|
||||
<p>
|
||||
You can control the invoice from your supplier according to what you purchased or received.
|
||||
<p>
|
||||
OpenERP can also generate draft invoices automatically from purchase orders or receipts.
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_view_purchase_buttons" model="ir.ui.view">
|
||||
<field name="name">res.partner.view.purchase.buttons</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button name="%(purchase.act_res_partner_2_purchase_order)d" type="action"
|
||||
string="RFQs and Purchases"
|
||||
groups="purchase.group_purchase_user"/>
|
||||
<button name="%(purchase.act_res_partner_2_supplier_invoices)d" type="action"
|
||||
string="Supplier Invoices"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -6,12 +6,10 @@
|
|||
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||
<value eval="[ref('mail.group_all_employees')]"/>
|
||||
<value>Module Purchase Management has been installed</value>
|
||||
<value>From the top menu Purchases, create purchase orders to buy
|
||||
products from your suppliers, encode supplier invoices and
|
||||
manage your payments.
|
||||
<value>You can <b>click on the top menu Purchases</b> to manage your
|
||||
suppliers, request for quotations and control supplier invoices.
|
||||
|
||||
You can also manage purchase requisitions, see the Purchase
|
||||
Settings.
|
||||
To configure your purchase application, you can add purchase's options in settings menu.
|
||||
</value>
|
||||
</function>
|
||||
|
||||
|
|
|
@ -491,14 +491,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
|
||||
id="act_res_partner_2_purchase_order"
|
||||
name="RFQs and Purchases"
|
||||
groups="purchase.group_purchase_user"
|
||||
res_model="purchase.order"
|
||||
src_model="res.partner"/>
|
||||
|
||||
<act_window
|
||||
context="{'search_default_product_id': [active_id], 'default_product_id': active_id}"
|
||||
id="action_purchase_line_product_tree"
|
||||
|
|
|
@ -75,6 +75,27 @@
|
|||
<field name="context">{'search_default_purchase_id': active_id,'default_type': 'in'}</field>
|
||||
<field name="search_view_id" ref="view_picking_in_search_picking_to_invoice"/>
|
||||
</record>
|
||||
|
||||
<record id="act_purchase_order_2_stock_picking_tree" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="stock.view_picking_in_tree"/>
|
||||
<field name="act_window_id" ref="act_purchase_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<record id="act_purchase_order_2_stock_picking_form" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="stock.view_picking_in_form"/>
|
||||
<field name="act_window_id" ref="act_purchase_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<record id="act_purchase_order_2_stock_picking_calendar" model="ir.actions.act_window.view">
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="view_mode">calendar</field>
|
||||
<field name="view_id" ref="stock.stock_picking_in_calendar"/>
|
||||
<field name="act_window_id" ref="act_purchase_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_2_stock_picking" model="ir.ui.view">
|
||||
<field name="name">Purchase Picking Inherited</field>
|
||||
|
|
|
@ -914,6 +914,20 @@
|
|||
</record>
|
||||
|
||||
<!-- Sending Products -->
|
||||
<record model="ir.ui.view" id="stock_picking_out_calendar">
|
||||
<field name="name">stock.picking.out.calendar</field>
|
||||
<field name="model">stock.picking.out</field>
|
||||
<field name="type">calendar</field>
|
||||
<field name="priority" eval="2"/>
|
||||
<field name="arch" type="xml">
|
||||
<calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id">
|
||||
<field name="origin"/>
|
||||
<field name="type"/>
|
||||
<field name="partner_id"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_picking_out_tree" model="ir.ui.view">
|
||||
<field name="name">stock.picking.out.tree</field>
|
||||
<field name="model">stock.picking</field>
|
||||
|
@ -1017,11 +1031,26 @@
|
|||
<record id="action_picking_tree_out_view2_waiting_cal" model="ir.actions.act_window.view">
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="view_mode">calendar</field>
|
||||
<field name="view_id" ref="stock_picking_out_calendar"/>
|
||||
<field name="act_window_id" ref="action_picking_tree"/>
|
||||
</record>
|
||||
<menuitem action="action_picking_tree" id="menu_action_picking_tree" parent="menu_stock_warehouse_mgmt" sequence="3"/>
|
||||
|
||||
<!-- Incomming Shipments -->
|
||||
<record model="ir.ui.view" id="stock_picking_in_calendar">
|
||||
<field name="name">stock.picking.in.calendar</field>
|
||||
<field name="model">stock.picking.in</field>
|
||||
<field name="type">calendar</field>
|
||||
<field name="priority" eval="2"/>
|
||||
<field name="arch" type="xml">
|
||||
<calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id">
|
||||
<field name="origin"/>
|
||||
<field name="type"/>
|
||||
<field name="partner_id"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_picking_in_tree" model="ir.ui.view">
|
||||
<field name="name">stock.picking.in.tree</field>
|
||||
<field name="model">stock.picking.in</field>
|
||||
|
@ -1119,6 +1148,7 @@
|
|||
<record id="action_invoice_tree5_view2_cal" model="ir.actions.act_window.view">
|
||||
<field eval="3" name="sequence"/>
|
||||
<field name="view_mode">calendar</field>
|
||||
<field name="view_id" ref="stock_picking_in_calendar"/>
|
||||
<field name="act_window_id" ref="action_picking_tree4"/>
|
||||
</record>
|
||||
<menuitem action="action_picking_tree4" id="menu_action_picking_tree4" parent="menu_stock_warehouse_mgmt" sequence="1"/>
|
||||
|
@ -1221,7 +1251,7 @@
|
|||
<field name="date" groups="base.group_no_one"/>
|
||||
</group>
|
||||
<group string="Tracability"
|
||||
groups="stock.group_tracking_lot,stock.group_production_lot">
|
||||
groups="stock.group_tracking_lot">
|
||||
<label for="tracking_id" groups="stock.group_tracking_lot"/>
|
||||
<div groups="stock.group_tracking_lot">
|
||||
<field name="tracking_id" class="oe_inline"/>
|
||||
|
|
Loading…
Reference in New Issue