ob-dj-store 0.0.13.9__tar.gz → 0.0.13.11__tar.gz

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.
Files changed (169) hide show
  1. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/PKG-INFO +1 -1
  2. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/stores/rest/serializers/serializers.py +14 -3
  3. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/stores/views.py +14 -0
  4. ob-dj-store-0.0.13.11/ob_dj_store/core/stores/migrations/0081_storeattributechoice.py +64 -0
  5. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/__init__.py +2 -0
  6. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_product.py +28 -0
  7. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store.egg-info/PKG-INFO +1 -1
  8. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store.egg-info/SOURCES.txt +1 -0
  9. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.github/dependabot.yml +0 -0
  10. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.github/workflows/docs.yml +0 -0
  11. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.github/workflows/pre-release.yml +0 -0
  12. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.github/workflows/release.yml +0 -0
  13. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.github/workflows/test-build.yml +0 -0
  14. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.gitignore +0 -0
  15. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.isort.cfg +0 -0
  16. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/.pre-commit-config.yaml +0 -0
  17. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/Dockerfile +0 -0
  18. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/MANIFEST.in +0 -0
  19. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/Makefile +0 -0
  20. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/Pipfile +0 -0
  21. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/Pipfile.lock +0 -0
  22. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/README.md +0 -0
  23. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/config/__init__.py +0 -0
  24. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/config/settings.py +0 -0
  25. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/config/urls.py +0 -0
  26. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/config/wsgi.py +0 -0
  27. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docker-compose.env +0 -0
  28. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docker-compose.yml +0 -0
  29. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/Makefile +0 -0
  30. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/make.bat +0 -0
  31. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/source/admin.rst +0 -0
  32. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/source/conf.py +0 -0
  33. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/source/index.rst +0 -0
  34. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/source/installation.rst +0 -0
  35. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/source/models.rst +0 -0
  36. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/docs/source/rest_endpoints.rst +0 -0
  37. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/fixtures/initial_users.yaml +0 -0
  38. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/fixtures/stores.yaml +0 -0
  39. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/manage.py +0 -0
  40. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/__init__.py +0 -0
  41. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/__init__.py +0 -0
  42. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/stores/__init__.py +0 -0
  43. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/stores/filters.py +0 -0
  44. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/stores/urls.py +0 -0
  45. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/tap/__init__.py +0 -0
  46. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/tap/serializers.py +0 -0
  47. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/tap/urls.py +0 -0
  48. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/apis/tap/views.py +0 -0
  49. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/__init__.py +0 -0
  50. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/__init__.py +0 -0
  51. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/admin.py +0 -0
  52. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/admin_inlines.py +0 -0
  53. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/apps.py +0 -0
  54. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/__init__.py +0 -0
  55. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/__init__.py +0 -0
  56. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/admin.py +0 -0
  57. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/apps.py +0 -0
  58. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/managers.py +0 -0
  59. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/migrations/0001_initial.py +0 -0
  60. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/migrations/0002_auto_20220815_1610.py +0 -0
  61. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/migrations/0003_auto_20220818_1938.py +0 -0
  62. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/migrations/__init__.py +0 -0
  63. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/models.py +0 -0
  64. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/gateway/tap/utils.py +0 -0
  65. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/managers.py +0 -0
  66. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0001_initial.py +0 -0
  67. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0002_auto_20220422_0205.py +0 -0
  68. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0003_openinghours.py +0 -0
  69. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0004_auto_20220422_2326.py +0 -0
  70. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0005_auto_20220425_2119.py +0 -0
  71. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0005_auto_20220427_1729.py +0 -0
  72. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0006_auto_20220428_0100.py +0 -0
  73. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0007_cart_cartitem_order_orderitem.py +0 -0
  74. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0008_order_status.py +0 -0
  75. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0009_auto_20220508_2142.py +0 -0
  76. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0010_auto_20220509_1633.py +0 -0
  77. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0011_favorite.py +0 -0
  78. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0012_auto_20220514_0633.py +0 -0
  79. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0013_auto_20220518_1539.py +0 -0
  80. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0014_auto_20220519_0018.py +0 -0
  81. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0015_inventory_inventoryoperations.py +0 -0
  82. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0016_productvariant_preparation_time.py +0 -0
  83. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0017_auto_20220524_0912.py +0 -0
  84. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0018_auto_20220524_1613.py +0 -0
  85. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0019_product_is_featured.py +0 -0
  86. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0020_orderhistory.py +0 -0
  87. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0021_auto_20220531_1849.py +0 -0
  88. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0022_order_pickup_time.py +0 -0
  89. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0023_feedback_feedbackattribute_feedbackconfig.py +0 -0
  90. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0024_auto_20220609_1552.py +0 -0
  91. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0025_productvariant_is_primary.py +0 -0
  92. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0026_auto_20220630_1913.py +0 -0
  93. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0027_auto_20220713_1759.py +0 -0
  94. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0028_phonecontact.py +0 -0
  95. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0029_auto_20220726_1750.py +0 -0
  96. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0030_category_parent.py +0 -0
  97. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0031_auto_20220811_1733.py +0 -0
  98. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0032_auto_20220812_1951.py +0 -0
  99. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0033_auto_20220815_0133.py +0 -0
  100. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0034_auto_20220815_1528.py +0 -0
  101. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0035_auto_20220818_1938.py +0 -0
  102. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0036_productattribute_is_mandatory.py +0 -0
  103. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0037_auto_20220825_1736.py +0 -0
  104. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0038_cartitem_extra_infos.py +0 -0
  105. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0039_auto_20220831_1521.py +0 -0
  106. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0040_auto_20220902_1806.py +0 -0
  107. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0041_auto_20220912_1506.py +0 -0
  108. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0042_wallet_wallettransaction.py +0 -0
  109. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0043_auto_20220919_1854.py +0 -0
  110. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0044_remove_productvariant_has_inventory.py +0 -0
  111. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0045_shippingmethod_type.py +0 -0
  112. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0046_auto_20221014_1720.py +0 -0
  113. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0047_auto_20221018_1433.py +0 -0
  114. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0048_auto_20221026_1933.py +0 -0
  115. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0049_auto_20221029_1524.py +0 -0
  116. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0050_favoriteextra.py +0 -0
  117. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0051_order_car_id.py +0 -0
  118. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0052_auto_20221129_1732.py +0 -0
  119. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0053_inventory_plu.py +0 -0
  120. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0054_auto_20221230_1501.py +0 -0
  121. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0055_store_image.py +0 -0
  122. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0056_auto_20230213_2224.py +0 -0
  123. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0057_auto_20230214_1724.py +0 -0
  124. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0058_attributechoice_is_default.py +0 -0
  125. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0059_auto_20230217_2006.py +0 -0
  126. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0060_alter_orderitem_product_variant.py +0 -0
  127. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0061_auto_20230223_1435.py +0 -0
  128. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0062_auto_20230226_2005.py +0 -0
  129. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0063_alter_store_payment_methods.py +0 -0
  130. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0064_auto_20230228_1814.py +0 -0
  131. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0065_auto_20230228_1932.py +0 -0
  132. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0066_auto_20230304_1532.py +0 -0
  133. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0067_auto_20230309_2014.py +0 -0
  134. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0068_auto_20230309_2251.py +0 -0
  135. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0069_alter_cartitem_options.py +0 -0
  136. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0070_auto_20230323_1628.py +0 -0
  137. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0071_auto_20230328_1825.py +0 -0
  138. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0072_alter_order_extra_infos.py +0 -0
  139. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0073_wallettransaction_is_cashback.py +0 -0
  140. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0074_productvariant_label.py +0 -0
  141. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0075_auto_20230419_0259.py +0 -0
  142. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0076_auto_20230421_1343.py +0 -0
  143. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0077_auto_20230502_2005.py +0 -0
  144. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0078_auto_20230503_1259.py +0 -0
  145. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0079_auto_20230504_1919.py +0 -0
  146. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/0080_productvariant_description.py +0 -0
  147. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/migrations/__init__.py +0 -0
  148. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_address.py +0 -0
  149. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_cart.py +0 -0
  150. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_favorite.py +0 -0
  151. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_feedback.py +0 -0
  152. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_inventory.py +0 -0
  153. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_order.py +0 -0
  154. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_payment.py +0 -0
  155. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_store.py +0 -0
  156. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/models/_wallet.py +0 -0
  157. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/receivers.py +0 -0
  158. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/settings_validation.py +0 -0
  159. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/core/stores/utils.py +0 -0
  160. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/utils/__init__.py +0 -0
  161. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/utils/helpers.py +0 -0
  162. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/utils/model.py +0 -0
  163. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store/utils/utils.py +0 -0
  164. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store.egg-info/dependency_links.txt +0 -0
  165. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store.egg-info/requires.txt +0 -0
  166. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/ob_dj_store.egg-info/top_level.txt +0 -0
  167. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/pytest.ini +0 -0
  168. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/setup.cfg +0 -0
  169. {ob-dj-store-0.0.13.9 → ob-dj-store-0.0.13.11}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-dj-store
3
- Version: 0.0.13.9
3
+ Version: 0.0.13.11
4
4
  Summary: OBytes django application for managing ecommerce stores.
5
5
  Home-page: https://www.obytes.com/
6
6
  Author: OBytes
@@ -715,15 +715,26 @@ class SubCategorySerializer(serializers.ModelSerializer):
715
715
  if store_id:
716
716
  try:
717
717
  current_availability_hours = AvailabilityHours.objects.get(
718
- weekday=now().weekday() + 1,
718
+ weekday=localtime(now()).weekday() + 1,
719
719
  store=store_id,
720
720
  category=obj,
721
721
  )
722
- return (
722
+ parent_availability_hours = AvailabilityHours.objects.get(
723
+ weekday=localtime(now()).weekday() + 1,
724
+ store=store_id,
725
+ category=obj.parent,
726
+ )
727
+ is_available_sub = (
723
728
  current_availability_hours.from_hour
724
- <= now().time()
729
+ <= localtime(now()).time()
725
730
  <= current_availability_hours.to_hour
726
731
  )
732
+ is_available_parent = (
733
+ parent_availability_hours.from_hour
734
+ <= localtime(now()).time()
735
+ <= parent_availability_hours.to_hour
736
+ )
737
+ return is_available_sub and is_available_parent
727
738
  except ObjectDoesNotExist:
728
739
  pass
729
740
  return False
@@ -56,6 +56,7 @@ from ob_dj_store.apis.stores.rest.serializers.serializers import (
56
56
  )
57
57
  from ob_dj_store.core.stores.gateway.tap.utils import TapException
58
58
  from ob_dj_store.core.stores.models import (
59
+ AttributeChoice,
59
60
  Cart,
60
61
  CartItem,
61
62
  Category,
@@ -595,6 +596,19 @@ class ProductView(
595
596
  )
596
597
  ).distinct(),
597
598
  ),
599
+ Prefetch(
600
+ "product_variants__product_attributes__attribute_choices",
601
+ queryset=AttributeChoice.objects.filter(
602
+ Q(
603
+ attribute_inventory__snooze_start_date__gt=now(),
604
+ attribute_inventory__store__pk=self.kwargs["store_pk"],
605
+ )
606
+ | Q(
607
+ attribute_inventory__snooze_end_date__lt=now(),
608
+ attribute_inventory__store__pk=self.kwargs["store_pk"],
609
+ )
610
+ ).distinct(),
611
+ ),
598
612
  ).distinct()
599
613
  return qs
600
614
 
@@ -0,0 +1,64 @@
1
+ # Generated by Django 3.2.8 on 2023-05-15 11:10
2
+
3
+ import django.db.models.deletion
4
+ import django.utils.timezone
5
+ from django.db import migrations, models
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+
10
+ dependencies = [
11
+ ("stores", "0080_productvariant_description"),
12
+ ]
13
+
14
+ operations = [
15
+ migrations.CreateModel(
16
+ name="StoreAttributeChoice",
17
+ fields=[
18
+ (
19
+ "id",
20
+ models.AutoField(
21
+ auto_created=True,
22
+ primary_key=True,
23
+ serialize=False,
24
+ verbose_name="ID",
25
+ ),
26
+ ),
27
+ (
28
+ "snooze_start_date",
29
+ models.DateTimeField(
30
+ default=django.utils.timezone.now,
31
+ help_text="When snooze status should begin",
32
+ ),
33
+ ),
34
+ (
35
+ "snooze_end_date",
36
+ models.DateTimeField(
37
+ default=django.utils.timezone.now,
38
+ help_text="When snooze status should end",
39
+ ),
40
+ ),
41
+ (
42
+ "attribute",
43
+ models.ForeignKey(
44
+ on_delete=django.db.models.deletion.CASCADE,
45
+ related_name="attribute_inventory",
46
+ to="stores.attributechoice",
47
+ ),
48
+ ),
49
+ (
50
+ "store",
51
+ models.ForeignKey(
52
+ on_delete=django.db.models.deletion.CASCADE,
53
+ related_name="attribute_inventory",
54
+ to="stores.store",
55
+ ),
56
+ ),
57
+ ],
58
+ options={
59
+ "verbose_name": "Store Attribute Choice",
60
+ "verbose_name_plural": "Store Attribute Choices",
61
+ "unique_together": {("store", "attribute")},
62
+ },
63
+ ),
64
+ ]
@@ -19,6 +19,7 @@ from ob_dj_store.core.stores.models._product import (
19
19
  ProductMedia,
20
20
  ProductTag,
21
21
  ProductVariant,
22
+ StoreAttributeChoice,
22
23
  )
23
24
  from ob_dj_store.core.stores.models._store import (
24
25
  OpeningHours,
@@ -67,4 +68,5 @@ __all__ = [
67
68
  "FavoriteExtra",
68
69
  "WalletMedia",
69
70
  "AvailabilityHours",
71
+ "StoreAttributeChoice",
70
72
  ]
@@ -1,6 +1,7 @@
1
1
  from django.core.exceptions import ObjectDoesNotExist, ValidationError
2
2
  from django.core.validators import RegexValidator
3
3
  from django.db import models
4
+ from django.utils.timezone import now
4
5
  from django.utils.translation import gettext_lazy as _
5
6
 
6
7
  from ob_dj_store.core.stores.managers import (
@@ -263,6 +264,33 @@ class AttributeChoice(DjangoModelCleanMixin, models.Model):
263
264
  return f"{self.name}: Attribute Choice (PK={self.pk})"
264
265
 
265
266
 
267
+ class StoreAttributeChoice(models.Model):
268
+ store = models.ForeignKey(
269
+ Store, on_delete=models.CASCADE, related_name="attribute_inventory"
270
+ )
271
+ attribute = models.ForeignKey(
272
+ AttributeChoice, on_delete=models.CASCADE, related_name="attribute_inventory"
273
+ )
274
+ snooze_start_date = models.DateTimeField(
275
+ default=now, help_text=_("When snooze status should begin")
276
+ )
277
+ snooze_end_date = models.DateTimeField(
278
+ default=now, help_text=_("When snooze status should end")
279
+ )
280
+
281
+ class Meta:
282
+ verbose_name = _("Store Attribute Choice")
283
+ verbose_name_plural = _("Store Attribute Choices")
284
+ unique_together = (("store", "attribute"),)
285
+
286
+ def __str__(self) -> str:
287
+ return f"StoreProductAttribute(PK={self.pk})"
288
+
289
+ @property
290
+ def is_snoozed(self):
291
+ return self.snooze_start_date <= now() <= self.snooze_end_date
292
+
293
+
266
294
  class ProductAttribute(DjangoModelCleanMixin, models.Model):
267
295
  """
268
296
  ProductAttribute represent a characteristic -attribute- with is choices -attribute_choices-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-dj-store
3
- Version: 0.0.13.9
3
+ Version: 0.0.13.11
4
4
  Summary: OBytes django application for managing ecommerce stores.
5
5
  Home-page: https://www.obytes.com/
6
6
  Author: OBytes
@@ -149,6 +149,7 @@ ob_dj_store/core/stores/migrations/0077_auto_20230502_2005.py
149
149
  ob_dj_store/core/stores/migrations/0078_auto_20230503_1259.py
150
150
  ob_dj_store/core/stores/migrations/0079_auto_20230504_1919.py
151
151
  ob_dj_store/core/stores/migrations/0080_productvariant_description.py
152
+ ob_dj_store/core/stores/migrations/0081_storeattributechoice.py
152
153
  ob_dj_store/core/stores/migrations/__init__.py
153
154
  ob_dj_store/core/stores/models/__init__.py
154
155
  ob_dj_store/core/stores/models/_address.py
File without changes
File without changes
File without changes