ob-dj-store 0.0.22__py3-none-any.whl → 0.0.22.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,25 +26,37 @@ logger = logging.getLogger(__name__)
26
26
  dispatch_uid="create_customer_cart_and_wallet_handler",
27
27
  )
28
28
  def create_customer_cart_and_wallet_handler(sender, instance, created, **kwargs):
29
- if not created:
30
- return
31
- cart = Cart(customer=instance)
32
- cart.save()
33
- wallet_media = WalletMedia.objects.filter(is_default=True)
34
- wallet_currencies = settings.WALLET_CURRENCIES
35
- country = getattr(instance, "country", None)
36
- logger.info("User country :", getattr(instance, "country", ""))
37
-
38
- if country:
39
- code = getattr(country, "code", None) or str(country)
40
-
41
- if code:
42
- currency = get_currency_by_country(code)
29
+ try:
30
+ logger.info(f"Creating cart and wallet for user {instance.id}")
31
+ if not hasattr(instance, "cart"):
32
+ cart = Cart(customer=instance)
33
+ cart.save()
34
+
35
+ wallet_media = WalletMedia.objects.filter(is_default=True)
36
+ wallet_currencies = settings.WALLET_CURRENCIES
37
+ logger.info(f"Wallet currencies: {wallet_currencies}")
38
+ # getattr(instance, "country", "") : only for bypassing ob_dj_store users
39
+ if getattr(instance, "country", "") and instance.country:
40
+ currency = get_currency_by_country(instance.country.code)
43
41
  if currency not in wallet_currencies:
44
42
  wallet_currencies = settings.US_WALLET_CURRENCIES
43
+ logger.info(f"Wallet currencies: {wallet_currencies}")
44
+
45
+ # check if wallet exists since we now run the signal on every user update
46
+ for currency in wallet_currencies:
47
+ instance.wallets.get_or_create(
48
+ currency=currency, media_image=wallet_media.first()
49
+ )
45
50
 
46
- for currency in wallet_currencies:
47
- instance.wallets.create(currency=currency, media_image=wallet_media.first())
51
+ # delete gcc wallets if exists for US based users
52
+ if getattr(instance, "country", "") and instance.country:
53
+ currency = get_currency_by_country(instance.country.code)
54
+ if currency in settings.US_WALLET_CURRENCIES:
55
+ instance.wallets.filter(
56
+ currency__in=settings.WALLET_CURRENCIES
57
+ ).delete()
58
+ except Exception:
59
+ logger.error(f"Error creating cart for user {instance.id}")
48
60
 
49
61
 
50
62
  # add receiver to ProductVariant to create inventory
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ob-dj-store
3
- Version: 0.0.22
3
+ Version: 0.0.22.2
4
4
  Summary: OBytes django application for managing ecommerce stores.
5
5
  Home-page: https://www.obytes.com/
6
6
  Author: OBytes
@@ -18,7 +18,7 @@ ob_dj_store/core/stores/admin.py,sha256=aI1t3nIeOw_Vcy2E2LNaAxMRX2GjvVrVeBaH-n4I
18
18
  ob_dj_store/core/stores/admin_inlines.py,sha256=9_35VwwRh5w8YU2CRTJ7sENUjF-D-J-o9jXhLEPpS3w,2900
19
19
  ob_dj_store/core/stores/apps.py,sha256=ZadmEER_dNcQTH617b3fAsYZJSyRw0g46Kjp4eOAsOU,498
20
20
  ob_dj_store/core/stores/managers.py,sha256=Q0PUB_LSz0bufJ0OfgHuvSC-5uAGSsDDlhitisFJqw4,10141
21
- ob_dj_store/core/stores/receivers.py,sha256=EWG04q-QnVB9BvXxWoFy_LTyYQN6UNd09HPzfyZB4LY,4216
21
+ ob_dj_store/core/stores/receivers.py,sha256=NlHgPuN5jZEWF1O1P8GOpNoYTaRB2zQaGmXCyqudAi8,5004
22
22
  ob_dj_store/core/stores/settings_validation.py,sha256=eTkRaI6CG5OEJQyI5CF-cNAcvjzXf3GwX5sR97O3v98,3977
23
23
  ob_dj_store/core/stores/utils.py,sha256=r6YdjQu5gsrZmO_qgXb21xcB50tbAI9vffN4Yp6n6iA,3427
24
24
  ob_dj_store/core/stores/gateway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -172,7 +172,7 @@ ob_dj_store/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
172
172
  ob_dj_store/utils/helpers.py,sha256=o7wgypM7mI2vZqZKkhxnTcnHJC8GMQDOuYMnRwXr6tY,2058
173
173
  ob_dj_store/utils/model.py,sha256=DV7hOhTaZL3gh9sptts2jTUFlTArKG3i7oPioq9HLFE,303
174
174
  ob_dj_store/utils/utils.py,sha256=8UVAFB56qUSjJJ5f9vnermtw638gdFy4CFRCuMbns_M,1342
175
- ob_dj_store-0.0.22.dist-info/METADATA,sha256=J2lsAp-0OA0BqNanh5AGAVQIH8HrxC8zvAuHbcDILbk,2848
176
- ob_dj_store-0.0.22.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
177
- ob_dj_store-0.0.22.dist-info/top_level.txt,sha256=CZG3G0ptTkzGnc0dFYN-ZD7YKdJBmm47bsmGwofD_lk,12
178
- ob_dj_store-0.0.22.dist-info/RECORD,,
175
+ ob_dj_store-0.0.22.2.dist-info/METADATA,sha256=QGoLBwonfeehmzz5Mx-VnKThLe0F7W6mHcd-6AV_ARM,2850
176
+ ob_dj_store-0.0.22.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
177
+ ob_dj_store-0.0.22.2.dist-info/top_level.txt,sha256=CZG3G0ptTkzGnc0dFYN-ZD7YKdJBmm47bsmGwofD_lk,12
178
+ ob_dj_store-0.0.22.2.dist-info/RECORD,,