Procházet zdrojové kódy

Count only baskets in num_basket_additions

master
Tomasz Rybarczyk před 14 roky
rodič
revize
8bf867e1fe
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3
    1
      oscar/apps/offer/receivers.py

+ 3
- 1
oscar/apps/offer/receivers.py Zobrazit soubor

2
 from django.db.models.signals import m2m_changed, post_save
2
 from django.db.models.signals import m2m_changed, post_save
3
 
3
 
4
 from oscar.core.loading import import_module
4
 from oscar.core.loading import import_module
5
+from oscar.apps.basket.models import AbstractBasket
5
 import_module('voucher.models', ['Voucher'], locals())
6
 import_module('voucher.models', ['Voucher'], locals())
6
 import_module('order.models', ['OrderDiscount'], locals())
7
 import_module('order.models', ['OrderDiscount'], locals())
7
 
8
 
8
 @receiver(m2m_changed)
9
 @receiver(m2m_changed)
9
 def receive_basket_voucher_change(sender, **kwargs):
10
 def receive_basket_voucher_change(sender, **kwargs):
10
-    if kwargs['model'] == Voucher and kwargs['action'] == 'post_add':
11
+    if (kwargs['model'] == Voucher and kwargs['action'] == 'post_add' and
12
+        isinstance(kwargs['instance'], AbstractBasket) and kwargs['pk_set']):
11
         voucher_id = list(kwargs['pk_set'])[0]
13
         voucher_id = list(kwargs['pk_set'])[0]
12
         voucher = Voucher._default_manager.get(pk=voucher_id)
14
         voucher = Voucher._default_manager.get(pk=voucher_id)
13
         voucher.num_basket_additions += 1
15
         voucher.num_basket_additions += 1

Načítá se…
Zrušit
Uložit