[IMP] purchase requisition

bzr revid: fp@tinyerp.com-20100409074707-h9huh6gi75jobmod
This commit is contained in:
Fabien Pinckaers 2010-04-09 09:47:07 +02:00
parent 560b45f094
commit 3e713d3aa9
3 changed files with 20 additions and 12 deletions

View File

@ -895,9 +895,6 @@
<field name="context">{}</field>
</record>
<menuitem action="mrp_procurement_action3" id="menu_procurement_requisitions" parent="purchase.menu_procurement_management"
sequence="5" />
<record id="mrp_procurement_action5" model="ir.actions.act_window">
<field name="name">Procurement Exceptions</field>
<field name="type">ir.actions.act_window</field>

View File

@ -30,18 +30,20 @@ class purchase_requisition(osv.osv):
_description="Purchase requisition"
_columns = {
'name': fields.char('Requisition Reference', size=32,required=True),
'date_start': fields.datetime('Date Start'),
'date_end': fields.datetime('Date End'),
'origin': fields.char('Origin', size=32),
'date_start': fields.datetime('Requisition Date'),
'date_end': fields.datetime('Requisition Deadline'),
'user_id': fields.many2one('res.users', 'Responsible'),
'exclusive': fields.boolean('Exclusive', help="If the requisition is exclusive, it will cancel all purchase orders when you confirm one of them"),
'exclusive': fields.selection([('exclusive','Purchase Tender (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', help="If the requisition is exclusive, it will cancel all purchase orders when you confirm one of them", required=True),
'description': fields.text('Description'),
'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'),
'line_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase'),
'state': fields.selection([('draft','Draft'),('open','Open'),('close','Close')], 'State', required=True)
'state': fields.selection([('draft','Draft'),('open','Open'),('cancel','Cancelled'),('close','Close')], 'State', required=True)
}
_defaults = {
'date_start': lambda *args: time.strftime('%Y-%m-%d %H:%M:%S'),
'state': lambda *args: 'open',
'exclusive': lambda *args: 'multiple',
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'purchase.order.requisition'),
}
purchase_requisition()
@ -67,7 +69,7 @@ class purchase_order(osv.osv):
def wkf_confirm_order(self, cr, uid, ids, context={}):
res = super(purchase_order, self).wkf_confirm_order(cr, uid, ids, context)
for po in self.browse(cr, uid, ids, context):
if po.requisition_id and po.requisition_id.exclusive:
if po.requisition_id and (po.requisition_id.exclusive=='exclusive'):
for order in po.requisition_id.purchase_ids:
if order.id<>po.id:
wf_service = netsvc.LocalService("workflow")
@ -97,6 +99,8 @@ class mrp_procurement(osv.osv):
if procurement.product_id.purchase_requisition:
self.pool.get('purchase.requisition').create(cr, uid, {
'name': procurement.name,
'origin': procurement.name,
'date_end': procurement.date_planned,
'lines_ids': [(0,0,{
'product_id': procurement.product_id.id,
'product_uom_id': procurement.product_uom.id,
@ -105,4 +109,5 @@ class mrp_procurement(osv.osv):
})],
'purchase_ids': [(6,0,[po_id])]
})
return res
mrp_procurement()

View File

@ -32,10 +32,14 @@
<field name="model">purchase.requisition</field>
<field name="arch" type="xml">
<form string="Purchase Requisition">
<field name="name" select="1"/>
<field name="user_id" select="1"/>
<field name="date_start"/>
<field name="date_end"/>
<group colspan="4" col="6">
<field name="name" select="1"/>
<field name="user_id" select="1"/>
<field name="exclusive" select="1"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="origin"/>
</group>
<notebook colspan="4">
<page string="Products">
<field name="line_ids" colspan="4" nolabel="1">
@ -72,6 +76,7 @@
<field name="user_id"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="origin"/>
<field name="state"/>
</tree>
</field>
@ -85,6 +90,7 @@
<menuitem
id="menu_purchase_requisition_pro_mgt"
sequence="0"
parent="purchase.menu_procurement_management"
action="action_purchase_requisition"/>