ob-dj-store 0.0.20.2__py3-none-any.whl → 0.0.20.4__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.
- ob_dj_store/apis/stores/filters.py +5 -19
- ob_dj_store/apis/stores/rest/serializers/serializers.py +20 -34
- ob_dj_store/apis/stores/views.py +74 -226
- ob_dj_store/apis/tap/views.py +2 -6
- ob_dj_store/core/stores/admin.py +3 -21
- ob_dj_store/core/stores/admin_inlines.py +2 -7
- ob_dj_store/core/stores/gateway/tap/admin.py +1 -3
- ob_dj_store/core/stores/gateway/tap/managers.py +1 -6
- ob_dj_store/core/stores/gateway/tap/migrations/0001_initial.py +1 -3
- ob_dj_store/core/stores/gateway/tap/models.py +3 -12
- ob_dj_store/core/stores/gateway/tap/utils.py +2 -7
- ob_dj_store/core/stores/managers.py +1 -3
- ob_dj_store/core/stores/migrations/0001_initial.py +1 -4
- ob_dj_store/core/stores/migrations/0005_auto_20220425_2119.py +2 -5
- ob_dj_store/core/stores/migrations/0005_auto_20220427_1729.py +1 -2
- ob_dj_store/core/stores/migrations/0006_auto_20220428_0100.py +2 -8
- ob_dj_store/core/stores/migrations/0007_cart_cartitem_order_orderitem.py +2 -8
- ob_dj_store/core/stores/migrations/0010_auto_20220509_1633.py +1 -4
- ob_dj_store/core/stores/migrations/0012_auto_20220514_0633.py +1 -4
- ob_dj_store/core/stores/migrations/0013_auto_20220518_1539.py +1 -4
- ob_dj_store/core/stores/migrations/0014_auto_20220519_0018.py +3 -12
- ob_dj_store/core/stores/migrations/0017_auto_20220524_0912.py +3 -10
- ob_dj_store/core/stores/migrations/0018_auto_20220524_1613.py +1 -3
- ob_dj_store/core/stores/migrations/0021_auto_20220531_1849.py +1 -4
- ob_dj_store/core/stores/migrations/0026_auto_20220630_1913.py +8 -32
- ob_dj_store/core/stores/migrations/0031_auto_20220811_1733.py +1 -4
- ob_dj_store/core/stores/migrations/0033_auto_20220815_0133.py +2 -8
- ob_dj_store/core/stores/migrations/0039_auto_20220831_1521.py +1 -4
- ob_dj_store/core/stores/migrations/0044_remove_productvariant_has_inventory.py +1 -4
- ob_dj_store/core/stores/migrations/0049_auto_20221029_1524.py +2 -8
- ob_dj_store/core/stores/migrations/0050_favoriteextra.py +1 -3
- ob_dj_store/core/stores/migrations/0052_auto_20221129_1732.py +2 -8
- ob_dj_store/core/stores/migrations/0059_auto_20230217_2006.py +2 -8
- ob_dj_store/core/stores/migrations/0062_auto_20230226_2005.py +2 -6
- ob_dj_store/core/stores/migrations/0064_auto_20230228_1814.py +1 -2
- ob_dj_store/core/stores/migrations/0066_auto_20230304_1532.py +2 -8
- ob_dj_store/core/stores/migrations/0070_auto_20230323_1628.py +1 -4
- ob_dj_store/core/stores/migrations/0071_auto_20230328_1825.py +2 -5
- ob_dj_store/core/stores/migrations/0082_auto_20230613_1424.py +1 -4
- ob_dj_store/core/stores/migrations/0084_payment_result.py +1 -3
- ob_dj_store/core/stores/migrations/0087_auto_20230828_2138.py +1 -4
- ob_dj_store/core/stores/migrations/0097_auto_20231108_1939.py +1 -4
- ob_dj_store/core/stores/migrations/0100_remove_shippingmethod_type_arabic.py +1 -4
- ob_dj_store/core/stores/migrations/0106_alter_paymentmethod_payment_provider.py +35 -0
- ob_dj_store/core/stores/migrations/0107_auto_20250425_2059.py +29 -0
- ob_dj_store/core/stores/models/_address.py +1 -3
- ob_dj_store/core/stores/models/_cart.py +1 -3
- ob_dj_store/core/stores/models/_feedback.py +1 -3
- ob_dj_store/core/stores/models/_inventory.py +1 -2
- ob_dj_store/core/stores/models/_order.py +7 -20
- ob_dj_store/core/stores/models/_payment.py +3 -12
- ob_dj_store/core/stores/models/_product.py +5 -17
- ob_dj_store/core/stores/models/_store.py +5 -13
- ob_dj_store/core/stores/models/_wallet.py +7 -23
- ob_dj_store/core/stores/receivers.py +7 -20
- ob_dj_store/core/stores/utils.py +1 -2
- {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.4.dist-info}/METADATA +3 -2
- {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.4.dist-info}/RECORD +60 -58
- {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.4.dist-info}/WHEEL +1 -1
- {ob_dj_store-0.0.20.2.dist-info → ob_dj_store-0.0.20.4.dist-info}/top_level.txt +0 -0
    
        ob_dj_store/apis/tap/views.py
    CHANGED
    
    | @@ -28,9 +28,7 @@ class TapPaymentViewSet(mixins.RetrieveModelMixin, viewsets.GenericViewSet): | |
| 28 28 | 
             
                    operation_description="""
         | 
| 29 29 | 
             
                        gateway_tap callback
         | 
| 30 30 | 
             
                    """,
         | 
| 31 | 
            -
                    tags=[
         | 
| 32 | 
            -
                        "TAP Payment",
         | 
| 33 | 
            -
                    ],
         | 
| 31 | 
            +
                    tags=["TAP Payment",],
         | 
| 34 32 | 
             
                )
         | 
| 35 33 | 
             
                @action(detail=False, methods=["POST"], permission_classes=[permissions.AllowAny])
         | 
| 36 34 | 
             
                def callback(self, request) -> typing.Any:
         | 
| @@ -55,9 +53,7 @@ class TapPaymentViewSet(mixins.RetrieveModelMixin, viewsets.GenericViewSet): | |
| 55 53 | 
             
                    operation_description="""
         | 
| 56 54 | 
             
                        Retrieve Tap Transaction from charge id
         | 
| 57 55 | 
             
                    """,
         | 
| 58 | 
            -
                    tags=[
         | 
| 59 | 
            -
                        "TAP Payment",
         | 
| 60 | 
            -
                    ],
         | 
| 56 | 
            +
                    tags=["TAP Payment",],
         | 
| 61 57 | 
             
                )
         | 
| 62 58 | 
             
                @action(detail=False, methods=["get"], permission_classes=[permissions.AllowAny])
         | 
| 63 59 | 
             
                def get(self, request, *args, **kwargs):
         | 
    
        ob_dj_store/core/stores/admin.py
    CHANGED
    
    | @@ -112,7 +112,6 @@ class StoreAdmin(LeafletGeoAdmin): | |
| 112 112 | 
             
                                "pickup_addresses",
         | 
| 113 113 | 
             
                                "image",
         | 
| 114 114 | 
             
                                "currency",
         | 
| 115 | 
            -
                                "is_open_after_midnight",
         | 
| 116 115 | 
             
                            )
         | 
| 117 116 | 
             
                        },
         | 
| 118 117 | 
             
                    ),
         | 
| @@ -142,13 +141,7 @@ class CategoryAdmin(admin.ModelAdmin): | |
| 142 141 | 
             
                ]
         | 
| 143 142 |  | 
| 144 143 | 
             
                def get_queryset(self, request):
         | 
| 145 | 
            -
                    return (
         | 
| 146 | 
            -
                        super()
         | 
| 147 | 
            -
                        .get_queryset(request)
         | 
| 148 | 
            -
                        .prefetch_related(
         | 
| 149 | 
            -
                            "availability_hours",
         | 
| 150 | 
            -
                        )
         | 
| 151 | 
            -
                    )
         | 
| 144 | 
            +
                    return super().get_queryset(request).prefetch_related("availability_hours",)
         | 
| 152 145 |  | 
| 153 146 |  | 
| 154 147 | 
             
            class ProductVariantAdmin(ImportExportModelAdmin, admin.ModelAdmin):
         | 
| @@ -216,13 +209,7 @@ class ProductAdmin(admin.ModelAdmin): | |
| 216 209 | 
             
                    return [category.name for category in obj.category.all()]
         | 
| 217 210 |  | 
| 218 211 | 
             
                def get_queryset(self, request):
         | 
| 219 | 
            -
                    return (
         | 
| 220 | 
            -
                        super()
         | 
| 221 | 
            -
                        .get_queryset(request)
         | 
| 222 | 
            -
                        .prefetch_related(
         | 
| 223 | 
            -
                            "category",
         | 
| 224 | 
            -
                        )
         | 
| 225 | 
            -
                    )
         | 
| 212 | 
            +
                    return super().get_queryset(request).prefetch_related("category",)
         | 
| 226 213 |  | 
| 227 214 |  | 
| 228 215 | 
             
            class ProductAttributeAdmin(admin.ModelAdmin):
         | 
| @@ -387,12 +374,7 @@ class OrderAdmin(ImportExportModelAdmin, admin.ModelAdmin): | |
| 387 374 | 
             
                    queryset = (
         | 
| 388 375 | 
             
                        super()
         | 
| 389 376 | 
             
                        .get_queryset(request)
         | 
| 390 | 
            -
                        .select_related(
         | 
| 391 | 
            -
                            "shipping_method",
         | 
| 392 | 
            -
                            "payment_method",
         | 
| 393 | 
            -
                            "store",
         | 
| 394 | 
            -
                            "customer",
         | 
| 395 | 
            -
                        )
         | 
| 377 | 
            +
                        .select_related("shipping_method", "payment_method", "store", "customer",)
         | 
| 396 378 | 
             
                        .prefetch_related(
         | 
| 397 379 | 
             
                            "items",
         | 
| 398 380 | 
             
                            "items__product_variant__inventories",
         | 
| @@ -13,6 +13,7 @@ class OpeningHoursInlineAdmin(admin.TabularInline): | |
| 13 13 | 
             
                    "from_hour",
         | 
| 14 14 | 
             
                    "to_hour",
         | 
| 15 15 | 
             
                    "always_open",
         | 
| 16 | 
            +
                    "is_open_after_midnight",
         | 
| 16 17 | 
             
                ]
         | 
| 17 18 |  | 
| 18 19 | 
             
                def get_queryset(self, request):
         | 
| @@ -26,13 +27,7 @@ class AvailabilityHoursInlineAdmin(admin.TabularInline): | |
| 26 27 | 
             
                fields = ["store", "weekday", "from_hour", "to_hour"]
         | 
| 27 28 |  | 
| 28 29 | 
             
                def get_queryset(self, request):
         | 
| 29 | 
            -
                    return (
         | 
| 30 | 
            -
                        super()
         | 
| 31 | 
            -
                        .get_queryset(request)
         | 
| 32 | 
            -
                        .select_related(
         | 
| 33 | 
            -
                            "store",
         | 
| 34 | 
            -
                        )
         | 
| 35 | 
            -
                    )
         | 
| 30 | 
            +
                    return super().get_queryset(request).select_related("store",)
         | 
| 36 31 |  | 
| 37 32 |  | 
| 38 33 | 
             
            class PhoneContactInlineAdmin(admin.TabularInline):
         | 
| @@ -25,9 +25,7 @@ class TapPaymentAdmin(ImportExportModelAdmin, admin.ModelAdmin): | |
| 25 25 | 
             
                    return (
         | 
| 26 26 | 
             
                        super()
         | 
| 27 27 | 
             
                        .get_queryset(request)
         | 
| 28 | 
            -
                        .select_related(
         | 
| 29 | 
            -
                            "payment__payment_tax",
         | 
| 30 | 
            -
                        )
         | 
| 28 | 
            +
                        .select_related("payment__payment_tax",)
         | 
| 31 29 | 
             
                        .prefetch_related(
         | 
| 32 30 | 
             
                            "payment__orders__items", "payment__orders__shipping_method"
         | 
| 33 31 | 
             
                        )
         | 
| @@ -18,11 +18,6 @@ class TapPaymentManager(models.Manager): | |
| 18 18 | 
             
                    source = kwargs.pop("source")
         | 
| 19 19 | 
             
                    payment = kwargs.get("payment")
         | 
| 20 20 | 
             
                    user = kwargs.get("user")
         | 
| 21 | 
            -
                    tap_response = utils.initiate_payment(
         | 
| 22 | 
            -
                        source,
         | 
| 23 | 
            -
                        user,
         | 
| 24 | 
            -
                        payment,
         | 
| 25 | 
            -
                        payment.currency,
         | 
| 26 | 
            -
                    )
         | 
| 21 | 
            +
                    tap_response = utils.initiate_payment(source, user, payment, payment.currency,)
         | 
| 27 22 | 
             
                    kwargs = {**tap_response, **kwargs}
         | 
| 28 23 | 
             
                    return super(TapPaymentManager, self).create(**kwargs)
         | 
| @@ -86,10 +86,7 @@ class TapPayment(models.Model): | |
| 86 86 | 
             
                    auto_now_add=True,
         | 
| 87 87 | 
             
                    help_text=_("Datetime when payment was initiated"),
         | 
| 88 88 | 
             
                )
         | 
| 89 | 
            -
                updated_at = models.DateTimeField(
         | 
| 90 | 
            -
                    _("Updated at"),
         | 
| 91 | 
            -
                    auto_now=True,
         | 
| 92 | 
            -
                )
         | 
| 89 | 
            +
                updated_at = models.DateTimeField(_("Updated at"), auto_now=True,)
         | 
| 93 90 |  | 
| 94 91 | 
             
                objects = TapPaymentManager()
         | 
| 95 92 |  | 
| @@ -138,14 +135,8 @@ class TapCustomer(models.Model): | |
| 138 135 | 
             
                phone_number = PhoneNumberField(_("Phone number"), unique=True, null=True)
         | 
| 139 136 | 
             
                init_data = models.JSONField()
         | 
| 140 137 |  | 
| 141 | 
            -
                created_at = models.DateTimeField(
         | 
| 142 | 
            -
             | 
| 143 | 
            -
                    auto_now_add=True,
         | 
| 144 | 
            -
                )
         | 
| 145 | 
            -
                updated_at = models.DateTimeField(
         | 
| 146 | 
            -
                    _("Updated at"),
         | 
| 147 | 
            -
                    auto_now=True,
         | 
| 148 | 
            -
                )
         | 
| 138 | 
            +
                created_at = models.DateTimeField(_("Created at"), auto_now_add=True,)
         | 
| 139 | 
            +
                updated_at = models.DateTimeField(_("Updated at"), auto_now=True,)
         | 
| 149 140 |  | 
| 150 141 | 
             
                def __str__(self) -> str:
         | 
| 151 142 | 
             
                    return f"{self.email} | {self.customer_id}"
         | 
| @@ -75,10 +75,7 @@ def retrieve_customer_id(customer): | |
| 75 75 |  | 
| 76 76 |  | 
| 77 77 | 
             
            def initiate_payment(
         | 
| 78 | 
            -
                source: str,
         | 
| 79 | 
            -
                user: User,
         | 
| 80 | 
            -
                payment: Payment,
         | 
| 81 | 
            -
                currency_code: str,
         | 
| 78 | 
            +
                source: str, user: User, payment: Payment, currency_code: str,
         | 
| 82 79 | 
             
            ):
         | 
| 83 80 | 
             
                """Initiate payment URL and return charge_id, payment_url and response"""
         | 
| 84 81 |  | 
| @@ -106,9 +103,7 @@ def initiate_payment( | |
| 106 103 | 
             
                    "amount": "%.3f" % payment.total_payment,
         | 
| 107 104 | 
             
                    "currency": currency_code,
         | 
| 108 105 | 
             
                    "source": {"id": source},
         | 
| 109 | 
            -
                    "customer": {
         | 
| 110 | 
            -
                        "id": tap_customer.tap_customer_id,
         | 
| 111 | 
            -
                    },
         | 
| 106 | 
            +
                    "customer": {"id": tap_customer.tap_customer_id,},
         | 
| 112 107 | 
             
                    "post": {"url": callback_url},
         | 
| 113 108 | 
             
                    "redirect": {"url": redirect_url},
         | 
| 114 109 | 
             
                }
         | 
| @@ -87,9 +87,7 @@ class PaymentManager(models.Manager): | |
| 87 87 | 
             
                    ]:
         | 
| 88 88 | 
             
                        source = gateway
         | 
| 89 89 | 
             
                        TapPayment.objects.create(
         | 
| 90 | 
            -
                            source=source,
         | 
| 91 | 
            -
                            payment=instance,
         | 
| 92 | 
            -
                            user=kwargs.get("user"),
         | 
| 90 | 
            +
                            source=source, payment=instance, user=kwargs.get("user"),
         | 
| 93 91 | 
             
                        )
         | 
| 94 92 | 
             
                        return instance
         | 
| 95 93 | 
             
                    elif gateway == settings.WALLET:
         | 
| @@ -56,9 +56,6 @@ class Migration(migrations.Migration): | |
| 56 56 | 
             
                            ("created_at", models.DateTimeField(auto_now_add=True)),
         | 
| 57 57 | 
             
                            ("updated_at", models.DateTimeField(auto_now_add=True)),
         | 
| 58 58 | 
             
                        ],
         | 
| 59 | 
            -
                        options={
         | 
| 60 | 
            -
                            "verbose_name": "Store",
         | 
| 61 | 
            -
                            "verbose_name_plural": "Stores",
         | 
| 62 | 
            -
                        },
         | 
| 59 | 
            +
                        options={"verbose_name": "Store", "verbose_name_plural": "Stores",},
         | 
| 63 60 | 
             
                    ),
         | 
| 64 61 | 
             
                ]
         | 
| @@ -30,13 +30,10 @@ class Migration(migrations.Migration): | |
| 30 30 | 
             
                            ("created_at", models.DateTimeField(auto_now_add=True)),
         | 
| 31 31 | 
             
                            ("updated_at", models.DateTimeField(auto_now=True)),
         | 
| 32 32 | 
             
                        ],
         | 
| 33 | 
            -
                        options={
         | 
| 34 | 
            -
                            "verbose_name_plural": "Categories",
         | 
| 35 | 
            -
                        },
         | 
| 33 | 
            +
                        options={"verbose_name_plural": "Categories",},
         | 
| 36 34 | 
             
                        bases=(ob_dj_store.utils.model.DjangoModelCleanMixin, models.Model),
         | 
| 37 35 | 
             
                    ),
         | 
| 38 36 | 
             
                    migrations.AlterUniqueTogether(
         | 
| 39 | 
            -
                        name="openinghours",
         | 
| 40 | 
            -
                        unique_together={("weekday", "store")},
         | 
| 37 | 
            +
                        name="openinghours", unique_together={("weekday", "store")},
         | 
| 41 38 | 
             
                    ),
         | 
| 42 39 | 
             
                ]
         | 
| @@ -97,10 +97,7 @@ class Migration(migrations.Migration): | |
| 97 97 | 
             
                                ),
         | 
| 98 98 | 
             
                            ),
         | 
| 99 99 | 
             
                        ],
         | 
| 100 | 
            -
                        options={
         | 
| 101 | 
            -
                            "verbose_name": "Product",
         | 
| 102 | 
            -
                            "verbose_name_plural": "Products",
         | 
| 103 | 
            -
                        },
         | 
| 100 | 
            +
                        options={"verbose_name": "Product", "verbose_name_plural": "Products",},
         | 
| 104 101 | 
             
                        bases=(ob_dj_store.utils.model.DjangoModelCleanMixin, models.Model),
         | 
| 105 102 | 
             
                    ),
         | 
| 106 103 | 
             
                    migrations.CreateModel(
         | 
| @@ -181,10 +178,7 @@ class Migration(migrations.Migration): | |
| 181 178 | 
             
                                ),
         | 
| 182 179 | 
             
                            ),
         | 
| 183 180 | 
             
                        ],
         | 
| 184 | 
            -
                        options={
         | 
| 185 | 
            -
                            "verbose_name": "Tag",
         | 
| 186 | 
            -
                            "verbose_name_plural": "Tags",
         | 
| 187 | 
            -
                        },
         | 
| 181 | 
            +
                        options={"verbose_name": "Tag", "verbose_name_plural": "Tags",},
         | 
| 188 182 | 
             
                    ),
         | 
| 189 183 | 
             
                    migrations.CreateModel(
         | 
| 190 184 | 
             
                        name="ProductVariant",
         | 
| @@ -40,10 +40,7 @@ class Migration(migrations.Migration): | |
| 40 40 | 
             
                                ),
         | 
| 41 41 | 
             
                            ),
         | 
| 42 42 | 
             
                        ],
         | 
| 43 | 
            -
                        options={
         | 
| 44 | 
            -
                            "verbose_name": "Cart",
         | 
| 45 | 
            -
                            "verbose_name_plural": "Carts",
         | 
| 46 | 
            -
                        },
         | 
| 43 | 
            +
                        options={"verbose_name": "Cart", "verbose_name_plural": "Carts",},
         | 
| 47 44 | 
             
                    ),
         | 
| 48 45 | 
             
                    migrations.CreateModel(
         | 
| 49 46 | 
             
                        name="Order",
         | 
| @@ -155,9 +152,6 @@ class Migration(migrations.Migration): | |
| 155 152 | 
             
                                ),
         | 
| 156 153 | 
             
                            ),
         | 
| 157 154 | 
             
                        ],
         | 
| 158 | 
            -
                        options={
         | 
| 159 | 
            -
                            "verbose_name": "Cart Item",
         | 
| 160 | 
            -
                            "verbose_name_plural": "Cart Items",
         | 
| 161 | 
            -
                        },
         | 
| 155 | 
            +
                        options={"verbose_name": "Cart Item", "verbose_name_plural": "Cart Items",},
         | 
| 162 156 | 
             
                    ),
         | 
| 163 157 | 
             
                ]
         | 
| @@ -13,10 +13,7 @@ class Migration(migrations.Migration): | |
| 13 13 | 
             
                ]
         | 
| 14 14 |  | 
| 15 15 | 
             
                operations = [
         | 
| 16 | 
            -
                    migrations.RemoveField(
         | 
| 17 | 
            -
                        model_name="cart",
         | 
| 18 | 
            -
                        name="id",
         | 
| 19 | 
            -
                    ),
         | 
| 16 | 
            +
                    migrations.RemoveField(model_name="cart", name="id",),
         | 
| 20 17 | 
             
                    migrations.AlterField(
         | 
| 21 18 | 
             
                        model_name="cart",
         | 
| 22 19 | 
             
                        name="customer",
         | 
| @@ -58,10 +58,7 @@ class Migration(migrations.Migration): | |
| 58 58 | 
             
                            "verbose_name_plural": "Order Items",
         | 
| 59 59 | 
             
                        },
         | 
| 60 60 | 
             
                    ),
         | 
| 61 | 
            -
                    migrations.RemoveField(
         | 
| 62 | 
            -
                        model_name="orderitem",
         | 
| 63 | 
            -
                        name="amount",
         | 
| 64 | 
            -
                    ),
         | 
| 61 | 
            +
                    migrations.RemoveField(model_name="orderitem", name="amount",),
         | 
| 65 62 | 
             
                    migrations.AddField(
         | 
| 66 63 | 
             
                        model_name="order",
         | 
| 67 64 | 
             
                        name="shipping_address",
         | 
| @@ -61,10 +61,7 @@ class Migration(migrations.Migration): | |
| 61 61 | 
             
                            ("created_at", models.DateTimeField(auto_now_add=True)),
         | 
| 62 62 | 
             
                            ("updated_at", models.DateTimeField(auto_now=True)),
         | 
| 63 63 | 
             
                        ],
         | 
| 64 | 
            -
                        options={
         | 
| 65 | 
            -
                            "verbose_name": "address",
         | 
| 66 | 
            -
                            "verbose_name_plural": "addresses",
         | 
| 67 | 
            -
                        },
         | 
| 64 | 
            +
                        options={"verbose_name": "address", "verbose_name_plural": "addresses",},
         | 
| 68 65 | 
             
                    ),
         | 
| 69 66 | 
             
                    migrations.AddField(
         | 
| 70 67 | 
             
                        model_name="store",
         | 
| @@ -59,23 +59,14 @@ class Migration(migrations.Migration): | |
| 59 59 | 
             
                            ),
         | 
| 60 60 | 
             
                            ("is_active", models.BooleanField(default=True)),
         | 
| 61 61 | 
             
                        ],
         | 
| 62 | 
            -
                        options={
         | 
| 63 | 
            -
                            "verbose_name": "address",
         | 
| 64 | 
            -
                            "verbose_name_plural": "addresses",
         | 
| 65 | 
            -
                        },
         | 
| 62 | 
            +
                        options={"verbose_name": "address", "verbose_name_plural": "addresses",},
         | 
| 66 63 | 
             
                    ),
         | 
| 67 64 | 
             
                    migrations.AlterModelOptions(
         | 
| 68 65 | 
             
                        name="address",
         | 
| 69 66 | 
             
                        options={"verbose_name": "Address", "verbose_name_plural": "Addresses"},
         | 
| 70 67 | 
             
                    ),
         | 
| 71 | 
            -
                    migrations.RemoveField(
         | 
| 72 | 
            -
             | 
| 73 | 
            -
                        name="created_at",
         | 
| 74 | 
            -
                    ),
         | 
| 75 | 
            -
                    migrations.RemoveField(
         | 
| 76 | 
            -
                        model_name="address",
         | 
| 77 | 
            -
                        name="updated_at",
         | 
| 78 | 
            -
                    ),
         | 
| 68 | 
            +
                    migrations.RemoveField(model_name="address", name="created_at",),
         | 
| 69 | 
            +
                    migrations.RemoveField(model_name="address", name="updated_at",),
         | 
| 79 70 | 
             
                    migrations.AddField(
         | 
| 80 71 | 
             
                        model_name="order",
         | 
| 81 72 | 
             
                        name="immutable_shipping_address",
         | 
| @@ -67,17 +67,10 @@ class Migration(migrations.Migration): | |
| 67 67 | 
             
                                ),
         | 
| 68 68 | 
             
                            ),
         | 
| 69 69 | 
             
                        ],
         | 
| 70 | 
            -
                        options={
         | 
| 71 | 
            -
                            "ordering": ["-created_at"],
         | 
| 72 | 
            -
                        },
         | 
| 73 | 
            -
                    ),
         | 
| 74 | 
            -
                    migrations.RemoveField(
         | 
| 75 | 
            -
                        model_name="order",
         | 
| 76 | 
            -
                        name="payment",
         | 
| 77 | 
            -
                    ),
         | 
| 78 | 
            -
                    migrations.DeleteModel(
         | 
| 79 | 
            -
                        name="OrderPayment",
         | 
| 70 | 
            +
                        options={"ordering": ["-created_at"],},
         | 
| 80 71 | 
             
                    ),
         | 
| 72 | 
            +
                    migrations.RemoveField(model_name="order", name="payment",),
         | 
| 73 | 
            +
                    migrations.DeleteModel(name="OrderPayment",),
         | 
| 81 74 | 
             
                    migrations.AddField(
         | 
| 82 75 | 
             
                        model_name="payment",
         | 
| 83 76 | 
             
                        name="order",
         | 
| @@ -11,9 +11,7 @@ class Migration(migrations.Migration): | |
| 11 11 |  | 
| 12 12 | 
             
                operations = [
         | 
| 13 13 | 
             
                    migrations.RenameField(
         | 
| 14 | 
            -
                        model_name="orderitem",
         | 
| 15 | 
            -
                        old_name="variant",
         | 
| 16 | 
            -
                        new_name="product_variant",
         | 
| 14 | 
            +
                        model_name="orderitem", old_name="variant", new_name="product_variant",
         | 
| 17 15 | 
             
                    ),
         | 
| 18 16 | 
             
                    migrations.AddField(
         | 
| 19 17 | 
             
                        model_name="productvariant",
         | 
| @@ -10,10 +10,7 @@ class Migration(migrations.Migration): | |
| 10 10 | 
             
                ]
         | 
| 11 11 |  | 
| 12 12 | 
             
                operations = [
         | 
| 13 | 
            -
                    migrations.RemoveField(
         | 
| 14 | 
            -
                        model_name="productattribute",
         | 
| 15 | 
            -
                        name="attribute",
         | 
| 16 | 
            -
                    ),
         | 
| 13 | 
            +
                    migrations.RemoveField(model_name="productattribute", name="attribute",),
         | 
| 17 14 | 
             
                    migrations.AddField(
         | 
| 18 15 | 
             
                        model_name="attributechoice",
         | 
| 19 16 | 
             
                        name="price",
         | 
| @@ -13,38 +13,14 @@ class Migration(migrations.Migration): | |
| 13 13 | 
             
                ]
         | 
| 14 14 |  | 
| 15 15 | 
             
                operations = [
         | 
| 16 | 
            -
                    migrations.RemoveField(
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
                    ),
         | 
| 20 | 
            -
                    migrations.RemoveField(
         | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
                    ),
         | 
| 24 | 
            -
                    migrations.RemoveField(
         | 
| 25 | 
            -
                        model_name="productvariant",
         | 
| 26 | 
            -
                        name="is_active",
         | 
| 27 | 
            -
                    ),
         | 
| 28 | 
            -
                    migrations.RemoveField(
         | 
| 29 | 
            -
                        model_name="productvariant",
         | 
| 30 | 
            -
                        name="is_deliverable",
         | 
| 31 | 
            -
                    ),
         | 
| 32 | 
            -
                    migrations.RemoveField(
         | 
| 33 | 
            -
                        model_name="productvariant",
         | 
| 34 | 
            -
                        name="is_primary",
         | 
| 35 | 
            -
                    ),
         | 
| 36 | 
            -
                    migrations.RemoveField(
         | 
| 37 | 
            -
                        model_name="productvariant",
         | 
| 38 | 
            -
                        name="preparation_time",
         | 
| 39 | 
            -
                    ),
         | 
| 40 | 
            -
                    migrations.RemoveField(
         | 
| 41 | 
            -
                        model_name="productvariant",
         | 
| 42 | 
            -
                        name="price",
         | 
| 43 | 
            -
                    ),
         | 
| 44 | 
            -
                    migrations.RemoveField(
         | 
| 45 | 
            -
                        model_name="productvariant",
         | 
| 46 | 
            -
                        name="quantity",
         | 
| 47 | 
            -
                    ),
         | 
| 16 | 
            +
                    migrations.RemoveField(model_name="inventory", name="status",),
         | 
| 17 | 
            +
                    migrations.RemoveField(model_name="product", name="store",),
         | 
| 18 | 
            +
                    migrations.RemoveField(model_name="productvariant", name="is_active",),
         | 
| 19 | 
            +
                    migrations.RemoveField(model_name="productvariant", name="is_deliverable",),
         | 
| 20 | 
            +
                    migrations.RemoveField(model_name="productvariant", name="is_primary",),
         | 
| 21 | 
            +
                    migrations.RemoveField(model_name="productvariant", name="preparation_time",),
         | 
| 22 | 
            +
                    migrations.RemoveField(model_name="productvariant", name="price",),
         | 
| 23 | 
            +
                    migrations.RemoveField(model_name="productvariant", name="quantity",),
         | 
| 48 24 | 
             
                    migrations.AddField(
         | 
| 49 25 | 
             
                        model_name="cartitem",
         | 
| 50 26 | 
             
                        name="store",
         | 
| @@ -10,10 +10,7 @@ class Migration(migrations.Migration): | |
| 10 10 | 
             
                ]
         | 
| 11 11 |  | 
| 12 12 | 
             
                operations = [
         | 
| 13 | 
            -
                    migrations.RemoveField(
         | 
| 14 | 
            -
                        model_name="payment",
         | 
| 15 | 
            -
                        name="order",
         | 
| 16 | 
            -
                    ),
         | 
| 13 | 
            +
                    migrations.RemoveField(model_name="payment", name="order",),
         | 
| 17 14 | 
             
                    migrations.AddField(
         | 
| 18 15 | 
             
                        model_name="attributechoice",
         | 
| 19 16 | 
             
                        name="description",
         | 
| @@ -13,14 +13,8 @@ class Migration(migrations.Migration): | |
| 13 13 | 
             
                ]
         | 
| 14 14 |  | 
| 15 15 | 
             
                operations = [
         | 
| 16 | 
            -
                    migrations.RemoveField(
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                        name="gateway",
         | 
| 19 | 
            -
                    ),
         | 
| 20 | 
            -
                    migrations.RemoveField(
         | 
| 21 | 
            -
                        model_name="payment",
         | 
| 22 | 
            -
                        name="gateway_ref_id",
         | 
| 23 | 
            -
                    ),
         | 
| 16 | 
            +
                    migrations.RemoveField(model_name="payment", name="gateway",),
         | 
| 17 | 
            +
                    migrations.RemoveField(model_name="payment", name="gateway_ref_id",),
         | 
| 24 18 | 
             
                    migrations.AddField(
         | 
| 25 19 | 
             
                        model_name="payment",
         | 
| 26 20 | 
             
                        name="method",
         | 
| @@ -11,10 +11,7 @@ class Migration(migrations.Migration): | |
| 11 11 | 
             
                ]
         | 
| 12 12 |  | 
| 13 13 | 
             
                operations = [
         | 
| 14 | 
            -
                    migrations.RemoveField(
         | 
| 15 | 
            -
                        model_name="tax",
         | 
| 16 | 
            -
                        name="payment",
         | 
| 17 | 
            -
                    ),
         | 
| 14 | 
            +
                    migrations.RemoveField(model_name="tax", name="payment",),
         | 
| 18 15 | 
             
                    migrations.AddField(
         | 
| 19 16 | 
             
                        model_name="payment",
         | 
| 20 17 | 
             
                        name="payment_tax",
         | 
| @@ -14,14 +14,8 @@ class Migration(migrations.Migration): | |
| 14 14 | 
             
                ]
         | 
| 15 15 |  | 
| 16 16 | 
             
                operations = [
         | 
| 17 | 
            -
                    migrations.RemoveField(
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                        name="currency",
         | 
| 20 | 
            -
                    ),
         | 
| 21 | 
            -
                    migrations.RemoveField(
         | 
| 22 | 
            -
                        model_name="wallettransaction",
         | 
| 23 | 
            -
                        name="currency",
         | 
| 24 | 
            -
                    ),
         | 
| 17 | 
            +
                    migrations.RemoveField(model_name="store", name="currency",),
         | 
| 18 | 
            +
                    migrations.RemoveField(model_name="wallettransaction", name="currency",),
         | 
| 25 19 | 
             
                    migrations.AddField(
         | 
| 26 20 | 
             
                        model_name="wallet",
         | 
| 27 21 | 
             
                        name="country",
         | 
| @@ -45,9 +45,7 @@ class Migration(migrations.Migration): | |
| 45 45 | 
             
                                ),
         | 
| 46 46 | 
             
                            ),
         | 
| 47 47 | 
             
                        ],
         | 
| 48 | 
            -
                        options={
         | 
| 49 | 
            -
                            "unique_together": {("favorite", "content_type", "object_id")},
         | 
| 50 | 
            -
                        },
         | 
| 48 | 
            +
                        options={"unique_together": {("favorite", "content_type", "object_id")},},
         | 
| 51 49 | 
             
                        bases=(ob_dj_store.utils.model.DjangoModelCleanMixin, models.Model),
         | 
| 52 50 | 
             
                    ),
         | 
| 53 51 | 
             
                ]
         | 
| @@ -10,12 +10,6 @@ class Migration(migrations.Migration): | |
| 10 10 | 
             
                ]
         | 
| 11 11 |  | 
| 12 12 | 
             
                operations = [
         | 
| 13 | 
            -
                    migrations.AlterUniqueTogether(
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                        unique_together=set(),
         | 
| 16 | 
            -
                    ),
         | 
| 17 | 
            -
                    migrations.AlterUniqueTogether(
         | 
| 18 | 
            -
                        name="favoriteextra",
         | 
| 19 | 
            -
                        unique_together=set(),
         | 
| 20 | 
            -
                    ),
         | 
| 13 | 
            +
                    migrations.AlterUniqueTogether(name="favorite", unique_together=set(),),
         | 
| 14 | 
            +
                    migrations.AlterUniqueTogether(name="favoriteextra", unique_together=set(),),
         | 
| 21 15 | 
             
                ]
         | 
| @@ -10,14 +10,8 @@ class Migration(migrations.Migration): | |
| 10 10 | 
             
                ]
         | 
| 11 11 |  | 
| 12 12 | 
             
                operations = [
         | 
| 13 | 
            -
                    migrations.RemoveField(
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                        name="image_thumbnail",
         | 
| 16 | 
            -
                    ),
         | 
| 17 | 
            -
                    migrations.RemoveField(
         | 
| 18 | 
            -
                        model_name="productmedia",
         | 
| 19 | 
            -
                        name="image_thumbnail",
         | 
| 20 | 
            -
                    ),
         | 
| 13 | 
            +
                    migrations.RemoveField(model_name="category", name="image_thumbnail",),
         | 
| 14 | 
            +
                    migrations.RemoveField(model_name="productmedia", name="image_thumbnail",),
         | 
| 21 15 | 
             
                    migrations.AddField(
         | 
| 22 16 | 
             
                        model_name="category",
         | 
| 23 17 | 
             
                        name="image_thumbnail_medium",
         | 
| @@ -33,11 +33,7 @@ class Migration(migrations.Migration): | |
| 33 33 | 
             
                        ),
         | 
| 34 34 | 
             
                    ),
         | 
| 35 35 | 
             
                    migrations.AlterUniqueTogether(
         | 
| 36 | 
            -
                        name="wallet",
         | 
| 37 | 
            -
                        unique_together={("user", "currency")},
         | 
| 38 | 
            -
                    ),
         | 
| 39 | 
            -
                    migrations.RemoveField(
         | 
| 40 | 
            -
                        model_name="wallet",
         | 
| 41 | 
            -
                        name="country",
         | 
| 36 | 
            +
                        name="wallet", unique_together={("user", "currency")},
         | 
| 42 37 | 
             
                    ),
         | 
| 38 | 
            +
                    migrations.RemoveField(model_name="wallet", name="country",),
         | 
| 43 39 | 
             
                ]
         | 
| @@ -18,7 +18,6 @@ class Migration(migrations.Migration): | |
| 18 18 | 
             
                        field=models.CharField(blank=True, max_length=200, null=True),
         | 
| 19 19 | 
             
                    ),
         | 
| 20 20 | 
             
                    migrations.AlterUniqueTogether(
         | 
| 21 | 
            -
                        name="favorite",
         | 
| 22 | 
            -
                        unique_together={("name", "user")},
         | 
| 21 | 
            +
                        name="favorite", unique_together={("name", "user")},
         | 
| 23 22 | 
             
                    ),
         | 
| 24 23 | 
             
                ]
         | 
| @@ -42,14 +42,8 @@ class Migration(migrations.Migration): | |
| 42 42 | 
             
                        ],
         | 
| 43 43 | 
             
                        bases=(ob_dj_store.utils.model.DjangoModelCleanMixin, models.Model),
         | 
| 44 44 | 
             
                    ),
         | 
| 45 | 
            -
                    migrations.RemoveField(
         | 
| 46 | 
            -
             | 
| 47 | 
            -
                        name="image",
         | 
| 48 | 
            -
                    ),
         | 
| 49 | 
            -
                    migrations.RemoveField(
         | 
| 50 | 
            -
                        model_name="wallet",
         | 
| 51 | 
            -
                        name="image_thumbnail_medium",
         | 
| 52 | 
            -
                    ),
         | 
| 45 | 
            +
                    migrations.RemoveField(model_name="wallet", name="image",),
         | 
| 46 | 
            +
                    migrations.RemoveField(model_name="wallet", name="image_thumbnail_medium",),
         | 
| 53 47 | 
             
                    migrations.AddField(
         | 
| 54 48 | 
             
                        model_name="wallet",
         | 
| 55 49 | 
             
                        name="media_image",
         | 
| @@ -18,8 +18,5 @@ class Migration(migrations.Migration): | |
| 18 18 | 
             
                            default="KW", help_text="The address country.", max_length=2
         | 
| 19 19 | 
             
                        ),
         | 
| 20 20 | 
             
                    ),
         | 
| 21 | 
            -
                    migrations.AlterUniqueTogether(
         | 
| 22 | 
            -
                        name="tax",
         | 
| 23 | 
            -
                        unique_together={("country",)},
         | 
| 24 | 
            -
                    ),
         | 
| 21 | 
            +
                    migrations.AlterUniqueTogether(name="tax", unique_together={("country",)},),
         | 
| 25 22 | 
             
                ]
         | 
| @@ -14,9 +14,7 @@ class Migration(migrations.Migration): | |
| 14 14 |  | 
| 15 15 | 
             
                operations = [
         | 
| 16 16 | 
             
                    migrations.RenameField(
         | 
| 17 | 
            -
                        model_name="orderitem",
         | 
| 18 | 
            -
                        old_name="extra_infos",
         | 
| 19 | 
            -
                        new_name="init_data",
         | 
| 17 | 
            +
                        model_name="orderitem", old_name="extra_infos", new_name="init_data",
         | 
| 20 18 | 
             
                    ),
         | 
| 21 19 | 
             
                    migrations.AddField(
         | 
| 22 20 | 
             
                        model_name="order",
         | 
| @@ -43,7 +41,6 @@ class Migration(migrations.Migration): | |
| 43 41 | 
             
                        ),
         | 
| 44 42 | 
             
                    ),
         | 
| 45 43 | 
             
                    migrations.AlterUniqueTogether(
         | 
| 46 | 
            -
                        name="orderhistory",
         | 
| 47 | 
            -
                        unique_together={("order", "status")},
         | 
| 44 | 
            +
                        name="orderhistory", unique_together={("order", "status")},
         | 
| 48 45 | 
             
                    ),
         | 
| 49 46 | 
             
                ]
         |