diff --git a/src/core/migrations/0011_alter_productvariant_image.py b/src/core/migrations/0011_alter_productvariant_image.py new file mode 100644 index 0000000..fbc5764 --- /dev/null +++ b/src/core/migrations/0011_alter_productvariant_image.py @@ -0,0 +1,19 @@ +# Generated by Django 4.0.2 on 2022-11-09 00:38 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0010_alter_productvariant_sku'), + ] + + operations = [ + migrations.AlterField( + model_name='productvariant', + name='image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='core.productphoto'), + ), + ] diff --git a/src/core/models.py b/src/core/models.py index 7f8c009..d89b653 100644 --- a/src/core/models.py +++ b/src/core/models.py @@ -161,6 +161,7 @@ class ProductVariant(models.Model): ProductPhoto, on_delete=models.SET_NULL, related_name='+', + blank=True, null=True ) name = models.CharField(max_length=255) diff --git a/src/dashboard/forms.py b/src/dashboard/forms.py index b43e9d0..4b8345c 100644 --- a/src/dashboard/forms.py +++ b/src/dashboard/forms.py @@ -25,6 +25,7 @@ class ProductVariantUpdateForm(forms.ModelForm): 'weight', 'track_inventory', 'stock', + 'sorting', 'image' ] diff --git a/src/storefront/payments.py b/src/storefront/payments.py index c55bdf8..38e2e62 100644 --- a/src/storefront/payments.py +++ b/src/storefront/payments.py @@ -93,15 +93,17 @@ class CreateOrder(PayPalClient): processed_items = [ { # Shows within upper-right dropdown during payment approval - "name": str(item["variant"]), + "name": f"{item['variant']} " + "; ".join( + f"{key}: {value}" for key, value in item["options"].items() + ), # Item details will also be in the completed paypal.com # transaction view "description": item["variant"].product.subtitle, "unit_amount": { "currency_code": settings.DEFAULT_CURRENCY, - "value": f'{item["variant"].price}', + "value": f"{item['variant'].price}", }, - "quantity": f'{item["quantity"]}', + "quantity": f"{item['quantity']}", } for item in params["items"] ] diff --git a/src/storefront/views.py b/src/storefront/views.py index 60f951a..26aaab4 100644 --- a/src/storefront/views.py +++ b/src/storefront/views.py @@ -216,7 +216,7 @@ class ProductDetailView(FormMixin, DetailView): track_inventory=True, stock__gt=0 ) - ).order_by('name') + ).order_by('sorting', 'name') options = ProductOption.objects.filter(products__pk=self.object.pk) if form_class is None: form_class = self.get_form_class()