add folders for migrations

remotes/origin/ESHOP_refactor_products_app
FUNNYDMAN 7 years ago
parent a2bfb481ae
commit ecd92b31d5
  1. 3
      .gitignore
  2. 110
      accounts_ext/migrations/0001_initial.py
  3. 0
      accounts_ext/migrations/__init__.py
  4. 93
      blog_ext/migrations/0001_initial.py
  5. 0
      blog_ext/migrations/__init__.py
  6. 0
      cabinet/migrations/__init__.py
  7. 195
      cart/migrations/0001_initial.py
  8. 0
      cart/migrations/__init__.py
  9. 33
      contact_us/migrations/0001_initial.py
  10. 0
      contact_us/migrations/__init__.py
  11. 60
      core/migrations/0001_initial.py
  12. 0
      core/migrations/__init__.py
  13. 44
      flatpages_ext/migrations/0001_initial.py
  14. 0
      flatpages_ext/migrations/__init__.py
  15. 0
      index/migrations/__init__.py
  16. 2
      index/urls.py
  17. 124
      products/migrations/0001_initial.py
  18. 0
      products/migrations/__init__.py
  19. 49
      referral/migrations/0001_initial.py
  20. 0
      referral/migrations/__init__.py
  21. 4
      static/css/build.css
  22. 2
      static/js/build-min.js
  23. 16
      static/js/build.js
  24. 0
      templates/debug_toolbar/base.html

3
.gitignore vendored

@ -33,6 +33,7 @@ __pycache__/
# Distribution / packaging
.Python
env/
venv/
build/
develop-eggs/
dist/
@ -86,7 +87,7 @@ assets/
node_modules/
package-lock.json
development.py
*/migrations/*
static/
.env

@ -0,0 +1,110 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
from django.conf import settings
import django.contrib.auth.models
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('auth', '0009_alter_user_last_name_max_length'),
('core', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='User',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('username', models.CharField(max_length=255, verbose_name='username')),
('email', models.EmailField(error_messages={'unique': 'A user with that email already exists.'}, max_length=254, unique=True, verbose_name='email')),
('confirmed_at', models.DateTimeField(blank=True, null=True, verbose_name='подвтержден в')),
],
options={
'verbose_name': 'пользователь',
'verbose_name_plural': 'пользователи',
},
),
migrations.CreateModel(
name='Company',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('company_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='компания')),
('address', models.TextField(blank=True, null=True, verbose_name='адрес')),
('inn', models.CharField(blank=True, max_length=12, null=True, verbose_name='ИНН')),
('ogrn', models.CharField(blank=True, max_length=13, null=True, verbose_name='ОГРН')),
('type', models.SmallIntegerField(blank=True, choices=[(25, 'Компания'), (50, 'Физ лицо')], default=25, null=True, verbose_name='тип')),
('city', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.City')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='username')),
],
options={
'verbose_name': 'компания',
'verbose_name_plural': 'компании',
},
),
migrations.CreateModel(
name='Profile',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('first_name', models.CharField(blank=True, max_length=100, null=True, verbose_name='first name')),
('last_name', models.CharField(blank=True, max_length=100, null=True, verbose_name='last name')),
('patronymic', models.CharField(blank=True, max_length=100, null=True, verbose_name='отчество')),
('birthday', models.DateField(blank=True, null=True, verbose_name='дата рождения')),
('phone', models.CharField(blank=True, max_length=12, null=True, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+99999999999'. Up to 12 digits allowed.", regex='^\\((+7)|8)?\\d{10}$')], verbose_name='телефон')),
('address', models.TextField(verbose_name='aдрес')),
('city', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.City', verbose_name='город')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='username')),
],
options={
'verbose_name': 'профиль',
'verbose_name_plural': 'профили',
},
),
migrations.CreateModel(
name='Group',
fields=[
],
options={
'verbose_name': 'группа',
'verbose_name_plural': 'группы',
'proxy': True,
'indexes': [],
},
bases=('auth.group',),
managers=[
('objects', django.contrib.auth.models.GroupManager()),
],
),
migrations.AddField(
model_name='user',
name='groups',
field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'),
),
migrations.AddField(
model_name='user',
name='referral_user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Реферальный пользователь'),
),
migrations.AddField(
model_name='user',
name='user_permissions',
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'),
),
]

@ -0,0 +1,93 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
import blog_ext.models
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('blog', '0001_initial'),
('pinax_images', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='ImageSet',
fields=[
('imageset_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='pinax_images.ImageSet')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
],
options={
'verbose_name': 'Коллаж',
'verbose_name_plural': 'Коллажи',
},
bases=('pinax_images.imageset', models.Model),
),
migrations.CreateModel(
name='Post',
fields=[
('post_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='blog.Post')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('preview_image', models.FileField(blank=True, null=True, upload_to=blog_ext.models.Post.upload_file_to, verbose_name='Превью изображение')),
],
options={
'verbose_name': 'Пост',
'verbose_name_plural': 'Посты',
},
bases=('blog.post', models.Model),
),
migrations.CreateModel(
name='ReviewComment',
fields=[
('reviewcomment_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='blog.ReviewComment')),
],
options={
'verbose_name': 'Комментарий',
'verbose_name_plural': 'Комментарий',
},
bases=('blog.reviewcomment',),
),
migrations.CreateModel(
name='Revision',
fields=[
('revision_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='blog.Revision')),
],
options={
'verbose_name': 'Ревизия',
'verbose_name_plural': 'Ревизии',
},
bases=('blog.revision',),
),
migrations.CreateModel(
name='Section',
fields=[
('section_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='blog.Section')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
],
options={
'verbose_name': 'Секция',
'verbose_name_plural': 'Секции',
},
bases=('blog.section', models.Model),
),
migrations.CreateModel(
name='PostImageSet',
fields=[
],
options={
'verbose_name': 'Изображение',
'verbose_name_plural': 'Изображения',
'proxy': True,
'indexes': [],
},
bases=('blog_ext.imageset',),
),
]

@ -0,0 +1,195 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
import autoslug.fields
import cart.models
import datetime
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.manager
from django.utils.timezone import utc
class Migration(migrations.Migration):
initial = True
dependencies = [
('products', '0001_initial'),
('core', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Buying',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('bonus_points', models.IntegerField(validators=[django.core.validators.MinValueValidator(0)], verbose_name='бонусы')),
('status', models.SmallIntegerField(choices=[(25, 'В корзине'), (50, 'Обрабатываеться'), (75, 'Оплаченно')], default=25, verbose_name='статус')),
('amount', models.SmallIntegerField(default=0, verbose_name='колличество')),
('total_price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='цена')),
],
options={
'verbose_name': 'Покупка',
'verbose_name_plural': 'Покупки',
},
managers=[
('active', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='Cashback',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('cashback', models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Сумма')),
('status', models.SmallIntegerField(choices=[(0, 'заработанный'), (100, 'потраченный')], default=0, verbose_name='статус')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'cashback',
'verbose_name_plural': 'cashback',
},
),
migrations.CreateModel(
name='Client',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('name', models.CharField(max_length=255, verbose_name='Название')),
('image', models.FileField(upload_to=cart.models.Client.upload_file_to, verbose_name='Изображение')),
('preview', models.FileField(upload_to=cart.models.Client.upload_file_to, verbose_name='Миниатюрка')),
],
options={
'verbose_name': 'Клиент',
'verbose_name_plural': 'Клиенты',
},
),
migrations.CreateModel(
name='Discount',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Имя')),
('image', models.FileField(blank=True, null=True, upload_to=cart.models.Discount.upload_file_to, verbose_name='Изображение')),
('code', models.CharField(blank=True, default='f09d1c83-a6f8-40b5-a980-c7e69f7f585c', max_length=50, unique=True, verbose_name='Код')),
('valid_from', models.DateTimeField(auto_now_add=True, verbose_name='Начало')),
('valid_to', models.DateTimeField(blank=True, default=datetime.datetime(2018, 11, 1, 15, 27, 27, 195955, tzinfo=utc), verbose_name='Конец')),
('value', models.IntegerField(default=0, help_text='Указываем целым числом. Пример: 30 = 30%', validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)], verbose_name='Процент')),
('active', models.BooleanField(default=True, verbose_name='Активная')),
],
options={
'verbose_name': 'Дисконт',
'verbose_name_plural': 'Дисконт',
},
),
migrations.CreateModel(
name='Offer',
fields=[
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('product', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='products.Product', verbose_name='Продукт')),
('vendor_code', models.CharField(help_text='Должен быть уникальным', max_length=255, unique=True, verbose_name='Артикул')),
('price', models.DecimalField(decimal_places=2, help_text='Цена за продукт', max_digits=10, validators=[django.core.validators.MinValueValidator(1.0)], verbose_name='цена')),
('amount', models.IntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Колличество')),
('cashback', models.DecimalField(decimal_places=2, default=0, help_text='Указаная сумма будет отображаться в выбранной валюте позиции', max_digits=6, verbose_name='Кешбек')),
('note', models.TextField(blank=True, null=True, verbose_name='Пометка')),
('account_nds', models.BooleanField(default=False, verbose_name='с учетом НДС')),
('currency', models.ForeignKey(help_text='Цена по умолчанию в рублях', on_delete=django.db.models.deletion.PROTECT, to='core.Currency', verbose_name='Валюта')),
('discount', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cart.Discount', verbose_name='Дисконт')),
],
options={
'verbose_name': 'Позиция',
'verbose_name_plural': 'Позиции',
},
),
migrations.CreateModel(
name='Order',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('order_code', models.CharField(max_length=255, verbose_name='код заказа')),
('customer_name', models.CharField(max_length=255, verbose_name='имя')),
('customer_email', models.EmailField(blank=True, default=None, max_length=254, null=True, verbose_name='email')),
('phone', models.CharField(max_length=12, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+99999999999'. Up to 12 digits allowed.", regex='^((\\+7)|8)?\\d{10}$')], verbose_name='телефон')),
('customer_address', models.TextField(verbose_name='адрес')),
('total_price', models.DecimalField(decimal_places=2, default=0, max_digits=10, verbose_name='стоимость')),
('comment', models.TextField(blank=True, default=None, null=True, verbose_name='комментарий')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (50, 'Обрабатывается'), (100, 'Оплаченно')], default=0, verbose_name='статус')),
('city', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='core.City', verbose_name='Город')),
('customer_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='пользователь')),
],
options={
'verbose_name': 'Заказ',
'verbose_name_plural': 'Заказы',
'ordering': ('-create_at',),
},
),
migrations.CreateModel(
name='SupplyTarget',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Назначение')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True)),
('status', models.PositiveSmallIntegerField(help_text='Необходимо указать числовой код статус', verbose_name='статус')),
],
options={
'verbose_name': 'Лицензия',
'verbose_name_plural': 'Лицензии',
},
),
migrations.CreateModel(
name='SupplyType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Тип')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True)),
('min_term', models.IntegerField(help_text='Минимальный срок поставки', verbose_name='от')),
('max_term', models.IntegerField(help_text='Максимальный срок поставки', verbose_name='до')),
('term_dimension', models.SmallIntegerField(choices=[(0, 'Час'), (0, 'День'), (0, 'Неделя'), (0, 'Месяц')], default=0, verbose_name='размерность')),
],
options={
'verbose_name': 'Тип поставки',
'verbose_name_plural': 'Тип поставки',
},
),
migrations.AddField(
model_name='offer',
name='supply_target',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cart.SupplyTarget', verbose_name='Лицензия'),
),
migrations.AddField(
model_name='offer',
name='supply_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cart.SupplyType', verbose_name='Поставка'),
),
migrations.AddField(
model_name='buying',
name='offer',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cart.Offer', verbose_name='позиция'),
),
migrations.AddField(
model_name='buying',
name='order',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cart.Order', verbose_name='пользователь'),
),
migrations.AddField(
model_name='buying',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='пользователь'),
),
]

@ -0,0 +1,33 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Request',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Name')),
('email', models.EmailField(max_length=254, verbose_name='Email')),
('subject', models.CharField(max_length=500, verbose_name='Subject')),
('message', models.TextField(blank=True, null=True)),
('phone', models.CharField(blank=True, max_length=12, null=True, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+99999999999'. Up to 12 digits allowed.", regex='^((\\+7)|8)?\\d{10}$')])),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (10, 'Обрабатывается'), (20, 'Обработан'), (50, 'Удаленный')], default=0, verbose_name='статус')),
],
options={
'verbose_name': 'Запрос',
'verbose_name_plural': 'Запросы',
},
),
]

@ -0,0 +1,60 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
import core.models
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Certificate',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('name', models.CharField(max_length=255, verbose_name='Название')),
('image', models.FileField(blank=True, null=True, upload_to=core.models.Certificate.upload_file_to, verbose_name='Изображение')),
('preview', models.FileField(upload_to=core.models.Certificate.upload_file_to, verbose_name='Миниатюрка')),
],
options={
'verbose_name': 'Сертификат',
'verbose_name_plural': 'Сертификаты',
},
),
migrations.CreateModel(
name='City',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='Город')),
],
options={
'verbose_name': 'Город',
'verbose_name_plural': 'Города',
},
),
migrations.CreateModel(
name='Currency',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(max_length=255, verbose_name='название')),
('code', models.CharField(max_length=64, verbose_name='код валюты')),
('sign', models.CharField(blank=True, max_length=10, null=True, verbose_name='символ валюты')),
('value', models.DecimalField(decimal_places=2, help_text='Указывается в рублях', max_digits=6, verbose_name='Курс')),
],
options={
'verbose_name': 'Валюта',
'verbose_name_plural': 'Валюта',
},
),
]

@ -0,0 +1,44 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('flatpages', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='CKFlatPage',
fields=[
('flatpage_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='flatpages.FlatPage')),
('order', models.PositiveIntegerField(default=0, verbose_name='Порядок')),
('is_visible', models.BooleanField(default=True, verbose_name='показывать?')),
('header_class', models.CharField(blank=True, max_length=255, null=True, verbose_name='Header css class')),
('description', models.CharField(blank=True, max_length=255, null=True, verbose_name='Meta описание')),
('keywords', models.CharField(blank=True, max_length=255, null=True, verbose_name='Meta теги')),
],
options={
'verbose_name': 'Простая страница',
'verbose_name_plural': 'Простые страницы',
},
bases=('flatpages.flatpage',),
),
migrations.CreateModel(
name='Subscriber',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email', models.EmailField(max_length=254, verbose_name='Email')),
('name', models.CharField(max_length=128, verbose_name='Имя')),
],
options={
'verbose_name': 'Подписчик',
'verbose_name_plural': 'Подписчики',
},
),
]

@ -2,5 +2,5 @@ from django.urls import re_path
from . import views
urlpatterns = [
re_path(r'^$', views.IndexView.as_view(), name='index')
re_path(r'', views.IndexView.as_view(), name='index')
]

@ -0,0 +1,124 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
import autoslug.fields
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import mptt.fields
import products.models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Manufacturer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(blank=True, default=None, max_length=64, null=True, verbose_name='название')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='код')),
('image', models.ImageField(blank=True, null=True, upload_to='producers', verbose_name='изображение')),
('status', models.SmallIntegerField(choices=[(0, 'Неактивный'), (25, 'Активный'), (50, 'Удаленный')], default=25, verbose_name='статус')),
],
options={
'verbose_name': 'Производитель',
'verbose_name_plural': 'Производители',
},
),
migrations.CreateModel(
name='Product',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(db_index=True, max_length=64, verbose_name='имя')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', verbose_name='slug')),
('description', models.TextField(blank=True, default=None, null=True, verbose_name='описание')),
('platform', models.CharField(blank=True, max_length=255, null=True, verbose_name='Платформа')),
('status', models.SmallIntegerField(choices=[(0, 'Неактивный'), (25, 'Активный'), (50, 'Удаленный')], default=25, verbose_name='статус')),
('lft', models.PositiveIntegerField(db_index=True, editable=False)),
('rght', models.PositiveIntegerField(db_index=True, editable=False)),
('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
('level', models.PositiveIntegerField(db_index=True, editable=False)),
('manufacturer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='products.Manufacturer', verbose_name='производитель')),
],
options={
'verbose_name': 'Продукт',
'verbose_name_plural': 'Продукты',
},
),
migrations.CreateModel(
name='ProductCategory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('name', models.CharField(blank=True, db_index=True, default=None, max_length=64, null=True, unique=True, verbose_name='название')),
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', verbose_name='код')),
('image', models.FileField(blank=True, upload_to=products.models.ProductCategory.get_file_path, verbose_name='иконка')),
('status', models.SmallIntegerField(choices=[(0, 'Неактивный'), (25, 'Активный'), (50, 'Удаленный')], default=25, verbose_name='статус')),
('lft', models.PositiveIntegerField(db_index=True, editable=False)),
('rght', models.PositiveIntegerField(db_index=True, editable=False)),
('tree_id', models.PositiveIntegerField(db_index=True, editable=False)),
('level', models.PositiveIntegerField(db_index=True, editable=False)),
('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='products.ProductCategory', verbose_name='родительская категория')),
],
options={
'verbose_name': 'Категория',
'verbose_name_plural': 'Категории',
'ordering': ('tree_id', 'level'),
},
),
migrations.CreateModel(
name='ProductImage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('filename', models.CharField(max_length=255, verbose_name='имя файла')),
('image', models.FileField(max_length=500, upload_to=products.models.ProductImage.get_file_path, verbose_name='изображение')),
('is_default', models.BooleanField(default=False, verbose_name='по умолчанию')),
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='products.Product')),
],
options={
'verbose_name': 'Изображение продукта',
'verbose_name_plural': 'Изображения продукта',
},
),
migrations.CreateModel(
name='ProductRate',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('rate', models.PositiveSmallIntegerField(default=0, verbose_name='оценка')),
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='products.Product')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Рейтинг продукта',
'verbose_name_plural': 'Рейтинг продукта',
},
),
migrations.AddField(
model_name='product',
name='parent',
field=mptt.fields.TreeForeignKey(blank=True, help_text='Категория', null=True, on_delete=django.db.models.deletion.SET_NULL, to='products.ProductCategory', verbose_name='категория'),
),
migrations.AlterUniqueTogether(
name='productcategory',
unique_together={('slug', 'parent')},
),
migrations.AddIndex(
model_name='product',
index=models.Index(fields=['id', 'slug'], name='products_pr_id_a08e3c_idx'),
),
]

@ -0,0 +1,49 @@
# Generated by Django 2.0.7 on 2018-10-25 15:27
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import referral.mixins
class Migration(migrations.Migration):
initial = True
dependencies = [
('accounts_ext', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Referral',
fields=[
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL, verbose_name='пользователь')),
('code', models.CharField(max_length=255, verbose_name='код')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=25, verbose_name='статус')),
],
options={
'verbose_name': 'Реферал',
'verbose_name_plural': 'Рефералы',
},
),
migrations.CreateModel(
name='ReferralStats',
fields=[
('create_at', models.DateTimeField(auto_now_add=True, verbose_name='создан в')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='обновлен')),
('status', models.SmallIntegerField(choices=[(0, 'Новый'), (25, 'Активный'), (50, 'Удаленный')], default=0, verbose_name='статус')),
('referral', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='referral.Referral', verbose_name='Реферал')),
('visits', models.IntegerField(default=0, verbose_name='Посищения')),
('registrations', models.IntegerField(default=0, verbose_name='Регистрации')),
('points', models.IntegerField(default=0, verbose_name='партенрские балы')),
],
options={
'verbose_name': 'Реферальная статистика',
'verbose_name_plural': 'Реферальная статистика',
},
bases=(referral.mixins.StatsFormatterMixin, models.Model),
),
]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save