Add basic support for "eligible purchases" for receiving batch API

This commit is contained in:
Lance Edgar 2019-11-12 17:46:18 -06:00
parent 3514c4050e
commit a9b740dcaa
3 changed files with 64 additions and 9 deletions

View file

@ -503,15 +503,10 @@ class PurchasingBatchView(BatchMasterView):
if not mode or mode not in self.enum.PURCHASE_BATCH_MODE:
return {'error': "Unknown mode: {}".format(mode)}
purchases = self.Session.query(model.Purchase)\
.filter(model.Purchase.vendor == vendor)
if mode == self.enum.PURCHASE_BATCH_MODE_RECEIVING:
purchases = purchases.filter(model.Purchase.status == self.enum.PURCHASE_STATUS_ORDERED)\
.order_by(model.Purchase.date_ordered, model.Purchase.created)
elif mode == self.enum.PURCHASE_BATCH_MODE_COSTING:
purchases = purchases.filter(model.Purchase.status == self.enum.PURCHASE_STATUS_RECEIVED)\
.order_by(model.Purchase.date_received, model.Purchase.created)
purchases = self.handler.get_eligible_purchases(vendor, mode)
return self.get_eligible_purchases_data(purchases)
def get_eligible_purchases_data(self, purchases):
return {'purchases': [{'key': p.uuid,
'department_uuid': p.department_uuid or '',
'display': self.render_eligible_purchase(p)}