ob-dj-store 0.0.19.9__tar.gz → 0.0.20__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.
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/PKG-INFO +1 -1
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/stores/rest/serializers/serializers.py +17 -3
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_cart.py +8 -2
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store.egg-info/PKG-INFO +1 -1
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.github/dependabot.yml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.github/workflows/docs.yml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.github/workflows/pre-release.yml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.github/workflows/release.yml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.github/workflows/test-build.yml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.gitignore +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.isort.cfg +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/.pre-commit-config.yaml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/Dockerfile +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/MANIFEST.in +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/Makefile +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/Pipfile +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/Pipfile.lock +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/README.md +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/config/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/config/settings.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/config/urls.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/config/wsgi.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docker-compose.env +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docker-compose.yml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/Makefile +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/make.bat +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/source/admin.rst +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/source/conf.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/source/index.rst +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/source/installation.rst +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/source/models.rst +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/docs/source/rest_endpoints.rst +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/fixtures/initial_users.yaml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/fixtures/stores.yaml +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/manage.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/stores/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/stores/filters.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/stores/urls.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/stores/views.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/tap/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/tap/serializers.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/tap/urls.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/tap/views.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/admin.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/admin_inlines.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/apps.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/admin.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/apps.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/managers.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0001_initial.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0002_auto_20220815_1610.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0003_auto_20220818_1938.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0004_tapcustomer.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0005_alter_tappayment_payment_url.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0006_alter_tappayment_source.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/0007_alter_tappayment_source.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/migrations/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/models.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/gateway/tap/utils.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/managers.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0001_initial.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0002_auto_20220422_0205.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0003_openinghours.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0004_auto_20220422_2326.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0005_auto_20220425_2119.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0005_auto_20220427_1729.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0006_auto_20220428_0100.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0007_cart_cartitem_order_orderitem.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0008_order_status.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0009_auto_20220508_2142.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0010_auto_20220509_1633.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0011_favorite.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0012_auto_20220514_0633.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0013_auto_20220518_1539.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0014_auto_20220519_0018.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0015_inventory_inventoryoperations.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0016_productvariant_preparation_time.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0017_auto_20220524_0912.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0018_auto_20220524_1613.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0019_product_is_featured.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0020_orderhistory.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0021_auto_20220531_1849.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0022_order_pickup_time.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0023_feedback_feedbackattribute_feedbackconfig.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0024_auto_20220609_1552.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0025_productvariant_is_primary.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0026_auto_20220630_1913.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0027_auto_20220713_1759.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0028_phonecontact.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0029_auto_20220726_1750.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0030_category_parent.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0031_auto_20220811_1733.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0032_auto_20220812_1951.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0033_auto_20220815_0133.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0034_auto_20220815_1528.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0035_auto_20220818_1938.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0036_productattribute_is_mandatory.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0037_auto_20220825_1736.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0038_cartitem_extra_infos.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0039_auto_20220831_1521.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0040_auto_20220902_1806.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0041_auto_20220912_1506.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0042_wallet_wallettransaction.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0043_auto_20220919_1854.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0044_remove_productvariant_has_inventory.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0045_shippingmethod_type.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0046_auto_20221014_1720.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0047_auto_20221018_1433.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0048_auto_20221026_1933.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0049_auto_20221029_1524.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0050_favoriteextra.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0051_order_car_id.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0052_auto_20221129_1732.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0053_inventory_plu.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0054_auto_20221230_1501.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0055_store_image.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0056_auto_20230213_2224.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0057_auto_20230214_1724.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0058_attributechoice_is_default.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0059_auto_20230217_2006.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0060_alter_orderitem_product_variant.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0061_auto_20230223_1435.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0062_auto_20230226_2005.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0063_alter_store_payment_methods.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0064_auto_20230228_1814.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0065_auto_20230228_1932.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0066_auto_20230304_1532.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0067_auto_20230309_2014.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0068_auto_20230309_2251.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0069_alter_cartitem_options.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0070_auto_20230323_1628.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0071_auto_20230328_1825.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0072_alter_order_extra_infos.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0073_wallettransaction_is_cashback.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0074_productvariant_label.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0075_auto_20230419_0259.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0076_auto_20230421_1343.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0077_auto_20230502_2005.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0078_auto_20230503_1259.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0079_auto_20230504_1919.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0080_productvariant_description.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0081_storeattributechoice.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0082_auto_20230613_1424.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0083_productvariant_is_special.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0084_payment_result.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0085_auto_20230726_1528.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0086_wallet_is_active.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0087_auto_20230828_2138.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0088_alter_paymentmethod_payment_provider.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0089_discount_partner_partnerauthinfo_partneremaildomain_partnerotpauth.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0090_auto_20231006_1356.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0091_auto_20231010_1740.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0092_auto_20231012_1339.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0093_auto_20231017_2033.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0094_countrypaymentmethod.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0095_auto_20231101_1531.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0096_discount_discount_pos_id.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0097_auto_20231108_1939.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0098_alter_discount_discount_rate.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0099_alter_product_name_arabic.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0100_remove_shippingmethod_type_arabic.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0101_store_is_digital.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0102_partner_name_arabic.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0103_alter_paymentmethod_payment_provider.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0104_wallettransaction_is_redeemed.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0105_store_is_open_after_midnight.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_address.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_favorite.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_feedback.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_inventory.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_order.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_partner.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_payment.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_product.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_store.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/models/_wallet.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/receivers.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/settings_validation.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/utils.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/utils/__init__.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/utils/helpers.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/utils/model.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/utils/utils.py +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store.egg-info/SOURCES.txt +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store.egg-info/dependency_links.txt +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store.egg-info/requires.txt +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store.egg-info/top_level.txt +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/pytest.ini +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/setup.cfg +0 -0
- {ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/setup.py +0 -0
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/apis/stores/rest/serializers/serializers.py
RENAMED
@@ -396,7 +396,7 @@ class OrderSerializer(serializers.ModelSerializer):
|
|
396
396
|
|
397
397
|
def _validate_pickup_time(self, store, pickup_time):
|
398
398
|
# validate that the pickup_time is always in the future
|
399
|
-
|
399
|
+
|
400
400
|
if pickup_time < localtime(now()):
|
401
401
|
raise serializers.ValidationError(_("Pickup time must be in the future"))
|
402
402
|
pickup_time_time = pickup_time.time()
|
@@ -440,6 +440,7 @@ class OrderSerializer(serializers.ModelSerializer):
|
|
440
440
|
attrs["extra_infos"] = {}
|
441
441
|
stores = Store.objects.filter(store_items__cart=user.cart).distinct()
|
442
442
|
gift_details = attrs["extra_infos"].get("gift_details", None)
|
443
|
+
unavailable_items = []
|
443
444
|
if gift_details:
|
444
445
|
self._validate_digital_product(gift_details, attrs)
|
445
446
|
currency = gift_details["currency"]
|
@@ -451,7 +452,14 @@ class OrderSerializer(serializers.ModelSerializer):
|
|
451
452
|
if len(stores) > 1:
|
452
453
|
raise ValidationError(_("You cannot order from different stores"))
|
453
454
|
for item in user.cart.items.all():
|
454
|
-
if
|
455
|
+
if item.inventory:
|
456
|
+
if (
|
457
|
+
not item.inventory.is_uncountable
|
458
|
+
and not item.inventory.quantity
|
459
|
+
or item.inventory.quantity == 0
|
460
|
+
):
|
461
|
+
unavailable_items.append(item)
|
462
|
+
elif not item.inventory:
|
455
463
|
if language and item.product_variant.product.name_arabic:
|
456
464
|
product_name = item.product_variant.product.name_arabic
|
457
465
|
else:
|
@@ -461,8 +469,14 @@ class OrderSerializer(serializers.ModelSerializer):
|
|
461
469
|
message = (
|
462
470
|
f"{product_name} {variant_name} doesn't exist on this store"
|
463
471
|
)
|
472
|
+
unavailable_items.append(item)
|
464
473
|
raise ValidationError(_(message))
|
465
|
-
|
474
|
+
if unavailable_items:
|
475
|
+
raise ValidationError(
|
476
|
+
_(
|
477
|
+
"The cart has items that are not available in the selected store"
|
478
|
+
)
|
479
|
+
)
|
466
480
|
if "shipping_method" in attrs:
|
467
481
|
if (
|
468
482
|
attrs["shipping_method"].type
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import logging
|
1
2
|
from decimal import Decimal
|
2
3
|
|
3
4
|
from django.contrib.auth import get_user_model
|
@@ -10,6 +11,8 @@ from ob_dj_store.core.stores.managers import CartItemManager, CartManager
|
|
10
11
|
from ob_dj_store.core.stores.models._partner import PartnerAuthInfo
|
11
12
|
from ob_dj_store.core.stores.utils import round_up_tie
|
12
13
|
|
14
|
+
logger = logging.getLogger(__name__)
|
15
|
+
|
13
16
|
|
14
17
|
class Cart(models.Model):
|
15
18
|
customer = models.OneToOneField(
|
@@ -48,8 +51,11 @@ class Cart(models.Model):
|
|
48
51
|
def total_price(self) -> Decimal:
|
49
52
|
total_price = Decimal(0)
|
50
53
|
for item in self.items.all():
|
51
|
-
|
52
|
-
|
54
|
+
try:
|
55
|
+
if item.inventory.quantity and item.inventory.quantity > 0:
|
56
|
+
total_price += item.total_price
|
57
|
+
except AttributeError:
|
58
|
+
logger.error(f"Item {item} has no inventory")
|
53
59
|
return total_price
|
54
60
|
|
55
61
|
@property
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0001_initial.py
RENAMED
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0003_openinghours.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0008_order_status.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0011_favorite.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0020_orderhistory.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0028_phonecontact.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0050_favoriteextra.py
RENAMED
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0051_order_car_id.py
RENAMED
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0053_inventory_plu.py
RENAMED
File without changes
|
File without changes
|
{ob_dj_store-0.0.19.9 → ob_dj_store-0.0.20}/ob_dj_store/core/stores/migrations/0055_store_image.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|