purchase_requisition()
+class mail_message(osv.osv):
+ _inherit = 'mail.message'
+
+ def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, email_cc=None,
+ email_bcc=None, reply_to=False, attachments=None, message_id=False, references=False,
+ res_id=False, subtype='plain', headers=None, mail_server_id=False, auto_delete=False,
+ context=None):
+ purchase_order_obj = self.pool.get('purchase.order')
+ requisition_id = purchase_order_obj.browse(cr, uid, res_id, context=context).requisition_id.id
+ result = super(mail_message, self).schedule_with_attach(cr, uid, email_from, email_to, subject, body, model=model,res_id=res_id, context=context)
+ if requisition_id:
+ result = self.schedule_with_attach(cr, uid, email_from, email_to, subject, body, 'purchase.requisition', res_id=requisition_id, context=context)
+ return result
+
class purchase_requisition_line(osv.osv):
_name = "purchase.requisition.line"
'requisition_id' : fields.many2one('purchase.requisition','Latest Requisition')
}
def make_po(self, cr, uid, ids, context=None):
+ res = {}
sequence_obj = self.pool.get('ir.sequence')
- res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
- for proc_id, po_id in res.items():
- procurement = self.browse(cr, uid, proc_id, context=context)
- requisition_id=False
- if procurement.product_id.purchase_requisition:
- requisition_id=self.pool.get('purchase.requisition').create(cr, uid, {
- 'name': sequence_obj.get(cr, uid, 'purchase.order.requisition'),
+ requisition_obj = self.pool.get('purchase.requisition')
+ warehouse_obj = self.pool.get('stock.warehouse')
+ procurement = self.browse(cr, uid, ids, context=context)[0]
+ if procurement.product_id.purchase_requisition:
+ seq_name = sequence_obj.get(cr, uid, 'purchase.order.requisition')
+ res[procurement.id] = requisition_obj.create(cr, uid,
+ {
+ 'name': seq_name,
'origin': procurement.origin,
'date_end': procurement.date_planned,
- 'warehouse_id':procurement.purchase_id and procurement.purchase_id.warehouse_id.id,
+ 'warehouse_id':warehouse_id and warehouse_id[0] or False,
'company_id':procurement.company_id.id,
'line_ids': [(0,0,{
'product_id': procurement.product_id.id,
'product_uom_id': procurement.product_uom.id,
'product_qty': procurement.product_qty
- })],
- 'purchase_ids': [(6,0,[po_id])]
+ })],
})
- self.write(cr,uid,[proc_id],{'requisition_id':requisition_id},context=context)
+ self.write(cr,uid,[procurement.id],{'state': 'running','requisition_id': res[procurement.id]},context=context)
+ else:
+ res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
return res
procurement_order()
</group>
</form>
</field>
+ <button name="%(action_purchase_requisition_partner)d" string="Request a Quotation" type="action" icon="gtk-execute"
+ attrs="{'invisible': [('line_ids','=',False),('state', 'not in', ('in_progress'))]}" class="oe_mail_button_mouseout"/>
<separator colspan="4" string="Quotations"/>
<field name="purchase_ids" readonly="1">
<tree string="Purchase Order">
<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="location_id" groups="stock.group_locations"/>
<field name="minimum_planned_date"/>
<field name="origin"/>
<field name="state"/>
</tree>
</field>
<group colspan="4" col="4">
- <button name="%(action_purchase_requisition_partner)d" string="Request a Quotation" type="action" icon="gtk-execute"
- attrs="{'invisible': [('line_ids','=',False),('state', 'not in', ('in_progress'))]}"/>
<group cosplan="4" col="4">
<label string="" />
</group>