Beispiel #1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)]

    operations = [
        migrations.CreateModel(
            name="GiftCard",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("code",
                 models.CharField(db_index=True, max_length=16, unique=True)),
                ("created", models.DateTimeField(auto_now_add=True)),
                ("start_date", models.DateField(default=datetime.date.today)),
                ("end_date", models.DateField(blank=True, null=True)),
                ("last_used_on", models.DateTimeField(blank=True, null=True)),
                ("is_active", models.BooleanField(default=True)),
                (
                    "initial_balance",
                    django_prices.models.MoneyField(currency="USD",
                                                    decimal_places=2,
                                                    max_digits=12),
                ),
                (
                    "current_balance",
                    django_prices.models.MoneyField(currency="USD",
                                                    decimal_places=2,
                                                    max_digits=12),
                ),
                (
                    "user",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="gift_cards",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "permissions": (("manage_gift_card", "Manage gift cards."), )
            },
        )
    ]
Beispiel #2
0
class Migration(migrations.Migration):

    dependencies = [("product", "0043_auto_20171207_0839")]

    operations = [
        migrations.AlterField(
            model_name="attributechoicevalue",
            name="color",
            field=models.CharField(
                blank=True,
                max_length=7,
                validators=[
                    django.core.validators.RegexValidator(
                        "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$")
                ],
            ),
        ),
        migrations.AlterField(
            model_name="attributechoicevalue",
            name="name",
            field=models.CharField(max_length=100),
        ),
        migrations.AlterField(
            model_name="category",
            name="description",
            field=models.TextField(blank=True),
        ),
        migrations.AlterField(
            model_name="category",
            name="is_hidden",
            field=models.BooleanField(default=False),
        ),
        migrations.AlterField(model_name="category",
                              name="name",
                              field=models.CharField(max_length=128)),
        migrations.AlterField(
            model_name="category",
            name="parent",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="children",
                to="product.Category",
            ),
        ),
        migrations.AlterField(model_name="category",
                              name="slug",
                              field=models.SlugField()),
        migrations.AlterField(
            model_name="product",
            name="attributes",
            field=django.contrib.postgres.fields.hstore.HStoreField(
                default={}),
        ),
        migrations.AlterField(
            model_name="product",
            name="available_on",
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AlterField(
            model_name="product",
            name="categories",
            field=models.ManyToManyField(related_name="products",
                                         to="product.Category"),
        ),
        migrations.AlterField(model_name="product",
                              name="description",
                              field=models.TextField()),
        migrations.AlterField(
            model_name="product",
            name="is_featured",
            field=models.BooleanField(default=False),
        ),
        migrations.AlterField(
            model_name="product",
            name="is_published",
            field=models.BooleanField(default=True),
        ),
        migrations.AlterField(model_name="product",
                              name="name",
                              field=models.CharField(max_length=128)),
        migrations.AlterField(
            model_name="product",
            name="price",
            field=django_prices.models.MoneyField(
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12),
        ),
        migrations.AlterField(
            model_name="product",
            name="product_class",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="products",
                to="product.ProductClass",
            ),
        ),
        migrations.AlterField(
            model_name="product",
            name="updated_at",
            field=models.DateTimeField(auto_now=True, null=True),
        ),
        migrations.AlterField(
            model_name="productattribute",
            name="name",
            field=models.CharField(max_length=100),
        ),
        migrations.AlterField(
            model_name="productattribute",
            name="slug",
            field=models.SlugField(unique=True),
        ),
        migrations.AlterField(
            model_name="productclass",
            name="has_variants",
            field=models.BooleanField(default=True),
        ),
        migrations.AlterField(
            model_name="productclass",
            name="is_shipping_required",
            field=models.BooleanField(default=False),
        ),
        migrations.AlterField(
            model_name="productclass",
            name="name",
            field=models.CharField(max_length=128),
        ),
        migrations.AlterField(
            model_name="productclass",
            name="product_attributes",
            field=models.ManyToManyField(blank=True,
                                         related_name="products_class",
                                         to="product.ProductAttribute"),
        ),
        migrations.AlterField(
            model_name="productclass",
            name="variant_attributes",
            field=models.ManyToManyField(
                blank=True,
                related_name="product_variants_class",
                to="product.ProductAttribute",
            ),
        ),
        migrations.AlterField(
            model_name="productimage",
            name="alt",
            field=models.CharField(blank=True, max_length=128),
        ),
        migrations.AlterField(
            model_name="productimage",
            name="image",
            field=versatileimagefield.fields.VersatileImageField(
                upload_to="products"),
        ),
        migrations.AlterField(
            model_name="productimage",
            name="order",
            field=models.PositiveIntegerField(editable=False),
        ),
        migrations.AlterField(
            model_name="productimage",
            name="ppoi",
            field=versatileimagefield.fields.PPOIField(default="0.5x0.5",
                                                       editable=False,
                                                       max_length=20),
        ),
        migrations.AlterField(
            model_name="productimage",
            name="product",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="images",
                to="product.Product",
            ),
        ),
        migrations.AlterField(
            model_name="productvariant",
            name="attributes",
            field=django.contrib.postgres.fields.hstore.HStoreField(
                default={}),
        ),
        migrations.AlterField(
            model_name="productvariant",
            name="images",
            field=models.ManyToManyField(through="product.VariantImage",
                                         to="product.ProductImage"),
        ),
        migrations.AlterField(
            model_name="productvariant",
            name="name",
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AlterField(
            model_name="productvariant",
            name="price_override",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="productvariant",
            name="sku",
            field=models.CharField(max_length=32, unique=True),
        ),
        migrations.AlterField(
            model_name="stock",
            name="cost_price",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="stock",
            name="quantity",
            field=models.IntegerField(
                default=Decimal("1"),
                validators=[django.core.validators.MinValueValidator(0)],
            ),
        ),
        migrations.AlterField(
            model_name="stock",
            name="quantity_allocated",
            field=models.IntegerField(
                default=Decimal("0"),
                validators=[django.core.validators.MinValueValidator(0)],
            ),
        ),
        migrations.AlterField(
            model_name="stock",
            name="variant",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="stock",
                to="product.ProductVariant",
            ),
        ),
        migrations.AlterField(
            model_name="stocklocation",
            name="name",
            field=models.CharField(max_length=100),
        ),
        migrations.AlterField(
            model_name="variantimage",
            name="image",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="variant_images",
                to="product.ProductImage",
            ),
        ),
        migrations.AlterField(
            model_name="variantimage",
            name="variant",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="variant_images",
                to="product.ProductVariant",
            ),
        ),
    ]
Beispiel #3
0
class Migration(migrations.Migration):

    dependencies = [("order", "0026_auto_20171218_0428")]

    operations = [
        migrations.AlterField(
            model_name="deliverygroup",
            name="last_updated",
            field=models.DateTimeField(auto_now=True, null=True),
        ),
        migrations.AlterField(
            model_name="deliverygroup",
            name="shipping_method_name",
            field=models.CharField(blank=True,
                                   default=None,
                                   editable=False,
                                   max_length=255,
                                   null=True),
        ),
        migrations.AlterField(
            model_name="deliverygroup",
            name="status",
            field=models.CharField(
                choices=[
                    ("new", "Processing"),
                    ("cancelled", "Cancelled"),
                    ("shipped", "Shipped"),
                ],
                default="new",
                max_length=32,
            ),
        ),
        migrations.AlterField(
            model_name="deliverygroup",
            name="tracking_number",
            field=models.CharField(blank=True, default="", max_length=255),
        ),
        migrations.AlterField(
            model_name="order",
            name="billing_address",
            field=models.ForeignKey(
                editable=False,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="+",
                to="account.Address",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="created",
            field=models.DateTimeField(default=django.utils.timezone.now,
                                       editable=False),
        ),
        migrations.AlterField(
            model_name="order",
            name="discount_amount",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="discount_name",
            field=models.CharField(blank=True, default="", max_length=255),
        ),
        migrations.AlterField(
            model_name="order",
            name="last_status_change",
            field=models.DateTimeField(default=django.utils.timezone.now,
                                       editable=False),
        ),
        migrations.AlterField(
            model_name="order",
            name="shipping_address",
            field=models.ForeignKey(
                editable=False,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="+",
                to="account.Address",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="shipping_price",
            field=django_prices.models.MoneyField(
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=4,
                default=0,
                editable=False,
                max_digits=12,
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="token",
            field=models.CharField(max_length=36, unique=True),
        ),
        migrations.AlterField(
            model_name="order",
            name="total_net",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="total_tax",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="tracking_client_id",
            field=models.CharField(blank=True, editable=False, max_length=36),
        ),
        migrations.AlterField(
            model_name="order",
            name="user",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="orders",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="user_email",
            field=models.EmailField(blank=True,
                                    default="",
                                    editable=False,
                                    max_length=254),
        ),
        migrations.AlterField(
            model_name="order",
            name="voucher",
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="+",
                to="discount.Voucher",
            ),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="comment",
            field=models.CharField(blank=True, default="", max_length=100),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="date",
            field=models.DateTimeField(default=django.utils.timezone.now,
                                       editable=False),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="order",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="history",
                to="order.Order",
            ),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="status",
            field=models.CharField(choices=[("open", "Open"),
                                            ("closed", "Closed")],
                                   max_length=32),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="user",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="delivery_group",
            field=models.ForeignKey(
                editable=False,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="lines",
                to="order.DeliveryGroup",
            ),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="product",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="+",
                to="product.Product",
            ),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="product_name",
            field=models.CharField(max_length=128),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="product_sku",
            field=models.CharField(max_length=32),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="quantity",
            field=models.IntegerField(validators=[
                django.core.validators.MinValueValidator(0),
                django.core.validators.MaxValueValidator(999),
            ]),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="stock",
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to="product.Stock",
            ),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="stock_location",
            field=models.CharField(default="", max_length=100),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="unit_price_gross",
            field=models.DecimalField(decimal_places=4, max_digits=12),
        ),
        migrations.AlterField(
            model_name="orderline",
            name="unit_price_net",
            field=models.DecimalField(decimal_places=4, max_digits=12),
        ),
        migrations.AlterField(
            model_name="ordernote",
            name="content",
            field=models.CharField(max_length=250),
        ),
        migrations.AlterField(
            model_name="payment",
            name="order",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.PROTECT,
                related_name="payments",
                to="order.Order",
            ),
        ),
    ]
Beispiel #4
0
class Migration(migrations.Migration):

    dependencies = [
        ("product", "0012_auto_20160218_0812"),
        ("discount", "0003_auto_20160207_0534"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    replaces = [("cart", "0001_initial")]

    operations = [
        migrations.CreateModel(
            name="Cart",
            fields=[
                (
                    "status",
                    models.CharField(
                        default="open",
                        max_length=32,
                        verbose_name="order status",
                        choices=[
                            ("open", "Open - currently active"),
                            ("payment", "Waiting for payment"),
                            ("saved",
                             "Saved - for items to be purchased later"),
                            ("ordered",
                             "Submitted - has been ordered at the checkout"),
                            ("checkout",
                             "Checkout - basket is processed in checkout"),
                            ("canceled",
                             "Canceled - basket was canceled by user"),
                        ],
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(auto_now_add=True,
                                         verbose_name="created"),
                ),
                (
                    "last_status_change",
                    models.DateTimeField(auto_now_add=True,
                                         verbose_name="last status change"),
                ),
                ("email",
                 models.EmailField(max_length=254, null=True, blank=True)),
                (
                    "token",
                    models.UUIDField(
                        primary_key=True,
                        default=uuid.uuid4,
                        serialize=False,
                        editable=False,
                        verbose_name="token",
                    ),
                ),
                ("checkout_data", models.TextField(null=True, editable=False)),
                (
                    "total",
                    django_prices.models.MoneyField(
                        default=0,
                        currency=settings.DEFAULT_CURRENCY,
                        max_digits=12,
                        decimal_places=2,
                    ),
                ),
                ("quantity", models.PositiveIntegerField(default=0)),
                (
                    "user",
                    models.ForeignKey(
                        related_name="carts",
                        verbose_name="user",
                        blank=True,
                        to=settings.AUTH_USER_MODEL,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "voucher",
                    models.ForeignKey(
                        related_name="+",
                        on_delete=django.db.models.deletion.SET_NULL,
                        to="discount.Voucher",
                        null=True,
                    ),
                ),
            ],
            options={
                "db_table": "cart_cart",
                "ordering": ("-last_status_change", )
            },
        ),
        migrations.CreateModel(
            name="CartLine",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                (
                    "quantity",
                    models.PositiveIntegerField(
                        verbose_name="quantity",
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(999),
                        ],
                    ),
                ),
                ("data", models.TextField(default="{}", blank=True)),
                (
                    "cart",
                    models.ForeignKey(
                        related_name="lines",
                        to="checkout.Cart",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "product",
                    models.ForeignKey(
                        related_name="+",
                        verbose_name="product",
                        to="product.ProductVariant",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
            ],
            options={"db_table": "cart_cartline"},
        ),
        migrations.AlterUniqueTogether(name="cartline",
                                       unique_together=set([("cart", "product",
                                                             "data")])),
    ]
class Migration(migrations.Migration):

    dependencies = [("checkout", "0004_auto_20171129_1004")]

    replaces = [("cart", "0005_auto_20180108_0814")]

    operations = [
        migrations.AlterField(
            model_name="cart",
            name="checkout_data",
            field=fields.JSONField(editable=False, null=True),
        ),
        migrations.AlterField(
            model_name="cart",
            name="created",
            field=models.DateTimeField(auto_now_add=True),
        ),
        migrations.AlterField(
            model_name="cart",
            name="email",
            field=models.EmailField(blank=True, max_length=254, null=True),
        ),
        migrations.AlterField(
            model_name="cart",
            name="last_status_change",
            field=models.DateTimeField(auto_now_add=True),
        ),
        migrations.AlterField(
            model_name="cart",
            name="quantity",
            field=models.PositiveIntegerField(default=0),
        ),
        migrations.AlterField(
            model_name="cart",
            name="status",
            field=models.CharField(
                choices=[
                    ("open", "Open - currently active"),
                    ("payment", "Waiting for payment"),
                    ("saved", "Saved - for items to be purchased later"),
                    ("ordered", "Submitted - an order was placed"),
                    ("checkout", "Checkout - processed in checkout"),
                    ("canceled", "Canceled - canceled by user"),
                ],
                default="open",
                max_length=32,
            ),
        ),
        migrations.AlterField(
            model_name="cart",
            name="token",
            field=models.UUIDField(default=uuid.uuid4,
                                   editable=False,
                                   primary_key=True,
                                   serialize=False),
        ),
        migrations.AlterField(
            model_name="cart",
            name="total",
            field=django_prices.models.MoneyField(
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                default=0,
                max_digits=12,
            ),
        ),
        migrations.AlterField(
            model_name="cart",
            name="user",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="carts",
                to=settings.AUTH_USER_MODEL,
            ),
        ),
        migrations.AlterField(
            model_name="cart",
            name="voucher",
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="+",
                to="discount.Voucher",
            ),
        ),
        migrations.AlterField(
            model_name="cartline",
            name="cart",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="lines",
                to="checkout.Cart",
            ),
        ),
        migrations.AlterField(
            model_name="cartline",
            name="data",
            field=fields.JSONField(blank=True, default=dict),
        ),
        migrations.AlterField(
            model_name="cartline",
            name="quantity",
            field=models.PositiveIntegerField(validators=[
                django.core.validators.MinValueValidator(0),
                django.core.validators.MaxValueValidator(999),
            ]),
        ),
        migrations.AlterField(
            model_name="cartline",
            name="variant",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="+",
                to="product.ProductVariant",
            ),
        ),
    ]
Beispiel #6
0
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("product", "0001_initial"),
        ("account", "__first__"),
    ]

    operations = [
        migrations.CreateModel(
            name="DeliveryGroup",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        default="new",
                        max_length=32,
                        verbose_name="delivery status",
                        choices=[
                            ("new", "Processing"),
                            ("cancelled", "Cancelled"),
                            ("shipped", "Shipped"),
                        ],
                    ),
                ),
                (
                    "shipping_required",
                    models.BooleanField(default=True,
                                        verbose_name="shipping required"),
                ),
                (
                    "shipping_price",
                    django_prices.models.MoneyField(
                        decimal_places=4,
                        default=0,
                        editable=False,
                        currency=b"USD",
                        max_digits=12,
                        verbose_name="shipping price",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Order",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        default="new",
                        max_length=32,
                        verbose_name="order status",
                        choices=[
                            ("new", "Processing"),
                            ("cancelled", "Cancelled"),
                            ("payment-pending", "Waiting for payment"),
                            ("fully-paid", "Fully paid"),
                            ("shipped", "Shipped"),
                        ],
                    ),
                ),
                (
                    "created",
                    models.DateTimeField(
                        default=django.utils.timezone.now,
                        verbose_name="created",
                        editable=False,
                    ),
                ),
                (
                    "last_status_change",
                    models.DateTimeField(
                        default=django.utils.timezone.now,
                        verbose_name="last status change",
                        editable=False,
                    ),
                ),
                (
                    "tracking_client_id",
                    models.CharField(max_length=36, editable=False,
                                     blank=True),
                ),
                (
                    "shipping_method",
                    models.CharField(max_length=255,
                                     verbose_name="Delivery method",
                                     blank=True),
                ),
                (
                    "anonymous_user_email",
                    models.EmailField(default="",
                                      max_length=254,
                                      editable=False,
                                      blank=True),
                ),
                (
                    "token",
                    models.CharField(unique=True,
                                     max_length=36,
                                     verbose_name="token"),
                ),
                (
                    "billing_address",
                    models.ForeignKey(
                        related_name="+",
                        editable=False,
                        to="account.Address",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "shipping_address",
                    models.ForeignKey(
                        related_name="+",
                        editable=False,
                        to="account.Address",
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        related_name="orders",
                        verbose_name="user",
                        blank=True,
                        to=settings.AUTH_USER_MODEL,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
            ],
            options={"ordering": ("-last_status_change", )},
        ),
        migrations.CreateModel(
            name="OrderedItem",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                (
                    "product_name",
                    models.CharField(max_length=128,
                                     verbose_name="product name"),
                ),
                ("product_sku",
                 models.CharField(max_length=32, verbose_name="sku")),
                (
                    "quantity",
                    models.IntegerField(
                        verbose_name="quantity",
                        validators=[
                            django.core.validators.MinValueValidator(0),
                            django.core.validators.MaxValueValidator(999),
                        ],
                    ),
                ),
                (
                    "unit_price_net",
                    models.DecimalField(verbose_name="unit price (net)",
                                        max_digits=12,
                                        decimal_places=4),
                ),
                (
                    "unit_price_gross",
                    models.DecimalField(
                        verbose_name="unit price (gross)",
                        max_digits=12,
                        decimal_places=4,
                    ),
                ),
                (
                    "delivery_group",
                    models.ForeignKey(
                        related_name="items",
                        editable=False,
                        to="order.DeliveryGroup",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "product",
                    models.ForeignKey(
                        related_name="+",
                        on_delete=django.db.models.deletion.SET_NULL,
                        verbose_name="product",
                        blank=True,
                        to="product.Product",
                        null=True,
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="OrderHistoryEntry",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                (
                    "date",
                    models.DateTimeField(
                        default=django.utils.timezone.now,
                        verbose_name="last history change",
                        editable=False,
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        max_length=32,
                        verbose_name="order status",
                        choices=[
                            ("new", "Processing"),
                            ("cancelled", "Cancelled"),
                            ("payment-pending", "Waiting for payment"),
                            ("fully-paid", "Fully paid"),
                            ("shipped", "Shipped"),
                        ],
                    ),
                ),
                ("comment",
                 models.CharField(default="", max_length=100, blank=True)),
                (
                    "order",
                    models.ForeignKey(
                        related_name="history",
                        to="order.Order",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        blank=True,
                        to=settings.AUTH_USER_MODEL,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
            ],
            options={"ordering": ["date"]},
        ),
        migrations.CreateModel(
            name="OrderNote",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                ("date", models.DateTimeField(auto_now_add=True)),
                ("content", models.CharField(max_length=250)),
                (
                    "order",
                    models.ForeignKey(
                        related_name="notes",
                        to="order.Order",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        to=settings.AUTH_USER_MODEL,
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Payment",
            fields=[
                (
                    "id",
                    models.AutoField(
                        verbose_name="ID",
                        serialize=False,
                        auto_created=True,
                        primary_key=True,
                    ),
                ),
                ("variant", models.CharField(max_length=255)),
                (
                    "status",
                    models.CharField(
                        default="waiting",
                        max_length=10,
                        choices=[
                            ("waiting", "Waiting for confirmation"),
                            ("preauth", "Pre-authorized"),
                            ("confirmed", "Confirmed"),
                            ("rejected", "Rejected"),
                            ("refunded", "Refunded"),
                            ("error", "Error"),
                            ("input", "Input"),
                        ],
                    ),
                ),
                (
                    "fraud_status",
                    models.CharField(
                        default="unknown",
                        max_length=10,
                        verbose_name="fraud check",
                        choices=[
                            ("unknown", "Unknown"),
                            ("accept", "Passed"),
                            ("reject", "Rejected"),
                            ("review", "Review"),
                        ],
                    ),
                ),
                ("fraud_message", models.TextField(default="", blank=True)),
                ("created", models.DateTimeField(auto_now_add=True)),
                ("modified", models.DateTimeField(auto_now=True)),
                ("transaction_id", models.CharField(max_length=255,
                                                    blank=True)),
                ("currency", models.CharField(max_length=10)),
                (
                    "total",
                    models.DecimalField(default="0.0",
                                        max_digits=9,
                                        decimal_places=2),
                ),
                (
                    "delivery",
                    models.DecimalField(default="0.0",
                                        max_digits=9,
                                        decimal_places=2),
                ),
                (
                    "tax",
                    models.DecimalField(default="0.0",
                                        max_digits=9,
                                        decimal_places=2),
                ),
                ("description", models.TextField(default="", blank=True)),
                ("billing_first_name",
                 models.CharField(max_length=256, blank=True)),
                ("billing_last_name",
                 models.CharField(max_length=256, blank=True)),
                ("billing_address_1",
                 models.CharField(max_length=256, blank=True)),
                ("billing_address_2",
                 models.CharField(max_length=256, blank=True)),
                ("billing_city", models.CharField(max_length=256, blank=True)),
                ("billing_postcode",
                 models.CharField(max_length=256, blank=True)),
                ("billing_country_code",
                 models.CharField(max_length=2, blank=True)),
                ("billing_country_area",
                 models.CharField(max_length=256, blank=True)),
                ("billing_email", models.EmailField(max_length=254,
                                                    blank=True)),
                ("customer_ip_address", models.IPAddressField(blank=True)),
                ("extra_data", models.TextField(default="", blank=True)),
                ("message", models.TextField(default="", blank=True)),
                ("token",
                 models.CharField(default="", max_length=36, blank=True)),
                (
                    "captured_amount",
                    models.DecimalField(default="0.0",
                                        max_digits=9,
                                        decimal_places=2),
                ),
                (
                    "order",
                    models.ForeignKey(
                        related_name="payments",
                        to="order.Order",
                        on_delete=django.db.models.deletion.CASCADE,
                    ),
                ),
            ],
            options={"abstract": False},
        ),
        migrations.AddField(
            model_name="deliverygroup",
            name="order",
            field=models.ForeignKey(
                related_name="groups",
                editable=False,
                to="order.Order",
                on_delete=django.db.models.deletion.CASCADE,
            ),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [("order", "0014_auto_20161028_0955")]

    operations = [
        migrations.AlterModelOptions(
            name="deliverygroup",
            options={
                "verbose_name": "Delivery Group",
                "verbose_name_plural": "Delivery Groups",
            },
        ),
        migrations.AlterModelOptions(
            name="order",
            options={
                "ordering": ("-last_status_change",),
                "verbose_name": "Order",
                "verbose_name_plural": "Orders",
            },
        ),
        migrations.AlterModelOptions(
            name="ordereditem",
            options={
                "verbose_name": "Ordered item",
                "verbose_name_plural": "Ordered items",
            },
        ),
        migrations.AlterModelOptions(
            name="orderhistoryentry",
            options={
                "ordering": ("date",),
                "verbose_name": "Order history entry",
                "verbose_name_plural": "Order history entries",
            },
        ),
        migrations.AlterModelOptions(
            name="ordernote",
            options={
                "verbose_name": "Order note",
                "verbose_name_plural": "Order notes",
            },
        ),
        migrations.AlterModelOptions(
            name="payment",
            options={
                "ordering": ("-pk",),
                "verbose_name": "Payment",
                "verbose_name_plural": "Payments",
            },
        ),
        migrations.AlterField(
            model_name="deliverygroup",
            name="last_updated",
            field=models.DateTimeField(
                auto_now=True, null=True, verbose_name="last updated"
            ),
        ),
        migrations.AlterField(
            model_name="deliverygroup",
            name="shipping_method_name",
            field=models.CharField(
                blank=True,
                default=None,
                editable=False,
                max_length=255,
                null=True,
                verbose_name="shipping method name",
            ),
        ),
        migrations.AlterField(
            model_name="deliverygroup",
            name="tracking_number",
            field=models.CharField(
                blank=True, default="", max_length=255, verbose_name="tracking number"
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="billing_address",
            field=models.ForeignKey(
                editable=False,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="+",
                to="account.Address",
                verbose_name="billing address",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="discount_amount",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
                verbose_name="discount amount",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="discount_name",
            field=models.CharField(
                blank=True, default="", max_length=255, verbose_name="discount name"
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="shipping_address",
            field=models.ForeignKey(
                editable=False,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="+",
                to="account.Address",
                verbose_name="shipping address",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="total_net",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
                verbose_name="total net",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="total_tax",
            field=django_prices.models.MoneyField(
                blank=True,
                currency=settings.DEFAULT_CURRENCY,
                decimal_places=2,
                max_digits=12,
                null=True,
                verbose_name="total tax",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="tracking_client_id",
            field=models.CharField(
                blank=True,
                editable=False,
                max_length=36,
                verbose_name="tracking client id",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="user_email",
            field=models.EmailField(
                blank=True,
                default="",
                editable=False,
                max_length=254,
                verbose_name="user email",
            ),
        ),
        migrations.AlterField(
            model_name="order",
            name="voucher",
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="+",
                to="discount.Voucher",
                verbose_name="voucher",
            ),
        ),
        migrations.AlterField(
            model_name="ordereditem",
            name="delivery_group",
            field=models.ForeignKey(
                editable=False,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="items",
                to="order.DeliveryGroup",
                verbose_name="delivery group",
            ),
        ),
        migrations.AlterField(
            model_name="ordereditem",
            name="stock",
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to="product.Stock",
                verbose_name="stock",
            ),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="comment",
            field=models.CharField(
                blank=True, default="", max_length=100, verbose_name="comment"
            ),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="order",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="history",
                to="order.Order",
                verbose_name="order",
            ),
        ),
        migrations.AlterField(
            model_name="orderhistoryentry",
            name="user",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL,
                verbose_name="user",
            ),
        ),
        migrations.AlterField(
            model_name="payment",
            name="order",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="payments",
                to="order.Order",
                verbose_name="order",
            ),
        ),
    ]