Added StoreV2 app, which should replace current store app
rodzic
f4afa2e46a
commit
2fc4a7dd4f
|
@ -539,9 +539,17 @@ class OrderDocument(models.Model):
|
|||
return pdfkit.from_string(content, False)
|
||||
|
||||
|
||||
@receiver(saved_file)
|
||||
def generate_thumbnails_async(sender, fieldfile, **kwargs):
|
||||
generate_thumbnails.delay(
|
||||
model=sender, pk=fieldfile.instance.pk,
|
||||
field=fieldfile.field.name
|
||||
)
|
||||
# Consider ordering
|
||||
class StorePage(Page):
|
||||
store = models.OneToOneField("store_api.Store", on_delete=models.CASCADE, related_name="page")
|
||||
description = wagtail_fields.RichTextField(blank=True)
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
|
||||
class AllProductsListPage(Page):
|
||||
store = models.OneToOneField("store_api.Store", on_delete=models.CASCADE, related_name="all_products_list")
|
||||
|
||||
|
||||
class GroupListPage(Page):
|
||||
store = models.ForeignKey("store_api.Store", on_delete=models.CASCADE, related_name="product_lists")
|
||||
group = models.OneToOneField("store_api.ProductGroup", on_delete=models.CASCADE, related_name="page")
|
||||
|
|
|
@ -2,6 +2,9 @@ from django.db import models
|
|||
from django.contrib.auth.models import User
|
||||
from phonenumber_field.modelfields import PhoneNumberField
|
||||
from wagtail.models import Page
|
||||
from django.dispatch import receiver
|
||||
from easy_thumbnails.signals import saved_file
|
||||
from wagtail_store.tasks import generate_thumbnails
|
||||
|
||||
|
||||
class PersonalData(models.Model):
|
||||
|
@ -28,10 +31,6 @@ class PersonalData(models.Model):
|
|||
|
||||
|
||||
class StoreUser(PersonalData, models.Model):
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
auth_user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||
|
||||
|
||||
|
@ -57,8 +56,7 @@ class ProductGroup(models.Model):
|
|||
# Products
|
||||
class Product(models.Model):
|
||||
store = models.ForeignKey(Store, on_delete=models.CASCADE)
|
||||
|
||||
|
||||
group = models.ForeignKey(ProductGroup, on_delete=models.CASCADE, blank=True, null=True)
|
||||
name = models.CharField(max_length=255)
|
||||
description = models.TextField(blank=True)
|
||||
|
||||
|
@ -83,3 +81,11 @@ class ProductVariant(models.Model):
|
|||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
@receiver(saved_file)
|
||||
def generate_thumbnails_async(sender, fieldfile, **kwargs):
|
||||
generate_thumbnails.delay(
|
||||
model=sender, pk=fieldfile.instance.pk,
|
||||
field=fieldfile.field.name
|
||||
)
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
|
@ -0,0 +1,6 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class Storev2Config(AppConfig):
|
||||
default_auto_field = "django.db.models.BigAutoField"
|
||||
name = "storev2"
|
|
@ -0,0 +1,28 @@
|
|||
from django.db import models
|
||||
from wagtail.models import Page
|
||||
from wagtail import fields as wagtail_fields
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
from store_api.models import Product
|
||||
|
||||
# Create your models here.
|
||||
|
||||
|
||||
class StorePage(Page):
|
||||
store = models.OneToOneField("store_api.Store", on_delete=models.CASCADE, related_name="page")
|
||||
description = wagtail_fields.RichTextField(blank=True)
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
|
||||
class AllProductsListPage(Page):
|
||||
store = models.OneToOneField("store_api.Store", on_delete=models.CASCADE, related_name="all_products_list")
|
||||
|
||||
def get_context(self, request):
|
||||
context = super().get_context(request)
|
||||
context["items"] = Product.objects.filter(store=self.store)
|
||||
return context
|
||||
|
||||
|
||||
class GroupListPage(Page):
|
||||
store = models.ForeignKey("store_api.Store", on_delete=models.CASCADE, related_name="product_lists")
|
||||
group = models.OneToOneField("store_api.ProductGroup", on_delete=models.CASCADE, related_name="page")
|
|
@ -0,0 +1,3 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
|
@ -0,0 +1,3 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
|
@ -39,6 +39,7 @@ SENTRY_ENVIRONMENT = os.environ.get("SENTRY_ENVIRONMENT", '')
|
|||
INSTALLED_APPS = [
|
||||
"home",
|
||||
"store",
|
||||
"store_api",
|
||||
"mailings",
|
||||
"blog",
|
||||
"search",
|
||||
|
|
Ładowanie…
Reference in New Issue