소스 검색

Stock allocations now updated when an order is placed

master
David Winterbottom 14 년 전
부모
커밋
e021bdbf06
2개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 4
    0
      oscar/apps/order/utils.py
  2. 7
    0
      oscar/apps/partner/abstract_models.py

+ 4
- 0
oscar/apps/order/utils.py 파일 보기

@@ -40,6 +40,7 @@ class OrderCreator(object):
40 40
                                          total_excl_tax, order_number)
41 41
         for line in basket.all_lines():
42 42
             self._create_line_models(order, line)
43
+            self._update_stock_records(line)
43 44
         for discount in basket.discounts:
44 45
             self._create_discount_model(order, discount)
45 46
         for voucher in basket.vouchers.all():
@@ -107,6 +108,9 @@ class OrderCreator(object):
107 108
         self._create_line_price_models(order, order_line, basket_line)
108 109
         self._create_line_attributes(order, order_line, basket_line)
109 110
         
111
+    def _update_stock_records(self, line):
112
+        line.product.stockrecord.allocate(line.quantity)    
113
+        
110 114
     def _create_line_price_models(self, order, order_line, basket_line):
111 115
         u"""Creates the batch line price models"""
112 116
         breakdown = basket_line.get_price_breakdown()

+ 7
- 0
oscar/apps/partner/abstract_models.py 파일 보기

@@ -78,6 +78,13 @@ class AbstractStockRecord(models.Model):
78 78
         self.num_allocated += delta
79 79
         self.save()
80 80
         
81
+    def allocate(self, quantity):
82
+        """
83
+        Decrement an item's stock allocation.
84
+        """
85
+        self.num_allocated += quantity
86
+        self.save()
87
+        
81 88
     def set_discount_price(self, price):
82 89
         """
83 90
         A setter method for setting a new price.  

Loading…
취소
저장