--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-23 15:40
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import mezzanine.core.fields
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('shop', '0008_auto_20160907_1726'),
+ ('organization-pages', '0002_auto_20160914_1838'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='PageProductBlock',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='product_blocks', to='organization-pages.CustomPage', verbose_name='page')),
+ ],
+ options={
+ 'verbose_name': 'product block',
+ 'verbose_name_plural': 'product blocks',
+ },
+ ),
+ migrations.CreateModel(
+ name='ProductBlock',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=1024, verbose_name='title')),
+ ('title_fr', models.CharField(max_length=1024, null=True, verbose_name='title')),
+ ('title_en', models.CharField(max_length=1024, null=True, verbose_name='title')),
+ ('description', models.TextField(blank=True, verbose_name='description')),
+ ('style', models.CharField(choices=[('square', 'square'), ('circle', 'circle')], max_length=16, verbose_name='style')),
+ ],
+ options={
+ 'verbose_name': 'product block',
+ 'verbose_name_plural': 'product blocks',
+ },
+ ),
+ migrations.CreateModel(
+ name='ProductBlockProduct',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('_order', mezzanine.core.fields.OrderField(null=True, verbose_name='Order')),
+ ('product', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blocks', to='shop.Product', verbose_name='product')),
+ ('product_block', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='products', to='organization-shop.ProductBlock', verbose_name='product block')),
+ ],
+ options={
+ 'verbose_name': 'product',
+ 'verbose_name_plural': 'products',
+ 'ordering': ('_order',),
+ },
+ ),
+ migrations.AddField(
+ model_name='pageproductblock',
+ name='product_block',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='pages', to='organization-shop.ProductBlock', verbose_name='product block'),
+ ),
+ ]
from django.utils.translation import ugettext_lazy as _
from mezzanine.core.models import RichText, Displayable, Slugged, Orderable
+from cartridge.shop.models import Product
from organization.core.models import *
-from organization.pages.models import *
+
+
+PRODUCT_LIST_STYLE_CHOICES = [
+ ('square', _('square')),
+ ('circle', _('circle')),
+]
+
+
+class ProductBlock(Titled):
+
+ style = models.CharField(_('style'), max_length=16, choices=PRODUCT_LIST_STYLE_CHOICES)
+
+ class Meta:
+ verbose_name = _("product block")
+ verbose_name_plural = _("product blocks")
+
+ def __str__(self):
+ return self.title
+
+
+class ProductBlockProduct(Orderable):
+
+ product_block = models.ForeignKey(ProductBlock, verbose_name=_('product block'), related_name='products', blank=True, null=True, on_delete=models.SET_NULL)
+ product = models.ForeignKey(Product, verbose_name=_('product'), related_name='blocks', blank=True, null=True, on_delete=models.SET_NULL)
+
+ class Meta:
+ verbose_name = _("product")
+ verbose_name_plural = _("products")
+
+
+
+class PageProductBlock(models.Model):
+
+ page = models.ForeignKey('organization-pages.CustomPage', verbose_name=_('page'), related_name='product_blocks', blank=True, null=True, on_delete=models.SET_NULL)
+ product_block = models.ForeignKey('organization-shop.ProductBlock', verbose_name=_('product block'), related_name='pages', blank=True, null=True, on_delete=models.SET_NULL)
+
+ class Meta:
+ verbose_name = _("product block")
+ verbose_name_plural = _("product blocks")