diff --git a/purchase_request.py b/purchase_request.py
index ea93779ea3..cfbc152444 100644
--- a/purchase_request.py
+++ b/purchase_request.py
@@ -28,6 +28,8 @@ class PurchaseRequest(OSV):
string='Purchase')
company = fields.Many2One(
'company.company', 'Company', required=True, readonly=True)
+ origin = fields.Reference(
+ 'Origin', selection=[('stock.order_point','Order Point')], readonly=True)
state = fields.Function(
'get_state', type='selection',
selection=[("purchased", "Purchased"),
@@ -170,13 +172,19 @@ class PurchaseRequest(OSV):
request_obj = self.pool.get('purchase.request')
product_supplier_obj = self.pool.get('purchase.product_supplier')
req_ids = request_obj.search(
- cursor, user, [('purchase_line', '=', False)], context=context)
+ cursor, user,
+ [('purchase_line', '=', False),
+ ['OR', ('origin', '=', False),
+ ('origin', 'like', 'stock.order_point,%')
+ ]
+ ], context=context)
request_obj.delete(cursor, user, req_ids, context=context)
req_ids = request_obj.search(
cursor, user,
[('purchase_line.moves', '=', False),
- ('purchase_line.purchase.state', '!=', 'cancel')],
+ ('purchase_line.purchase.state', '!=', 'cancel'),
+ ('origin', 'like', 'stock.order_point,%')],
context=context
)
requests = request_obj.browse(cursor, user, req_ids, context=context)
@@ -317,6 +325,10 @@ class PurchaseRequest(OSV):
product.purchase_uom or product.default_uom,
context=context)
+ if order_point:
+ origin = 'stock.order_point,%s'%order_point.id
+ else:
+ origin = ''
return {'product': product,
'party': supplier and supplier or None,
'quantity': quantity,
@@ -326,6 +338,7 @@ class PurchaseRequest(OSV):
'stock_level': product_quantity,
'company': company,
'warehouse': location_id,
+ 'origin': origin,
}
def get_shortage(self, cursor, user, location_id, product_id, min_date,
diff --git a/purchase_request.xml b/purchase_request.xml
index 91f0ccd6ee..066d77f387 100644
--- a/purchase_request.xml
+++ b/purchase_request.xml
@@ -28,6 +28,8 @@
+
+