From cc9b5bb21b54f22236eb16294960acbda03550ae Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 22 Nov 2017 12:36:36 +0300 Subject: [PATCH] threads update --- .../commands/add_users_in_groups.py | 2 +- access/migrations/0001_initial.py | 10 +-- ...018_1437.py => 0002_auto_20171122_1124.py} | 6 +- access/migrations/0003_auto_20171019_1149.py | 20 ----- access/migrations/0004_auto_20171019_1150.py | 20 ----- access/migrations/0005_auto_20171019_1241.py | 20 ----- access/migrations/0006_auto_20171019_1243.py | 20 ----- access/migrations/0007_auto_20171106_1808.py | 19 ---- access/migrations/0008_auto_20171117_1113.py | 20 ----- access/migrations/0009_auto_20171119_1736.py | 20 ----- access/migrations/0010_teacher.py | 29 ------- access/migrations/0011_delete_teacher.py | 18 ---- access/models.py | 4 +- courses/migrations/0001_initial.py | 36 ++++++-- courses/migrations/0002_auto_20171019_1149.py | 20 ----- courses/migrations/0003_auto_20171023_1037.py | 37 -------- courses/migrations/0004_auto_20171103_1409.py | 20 ----- courses/migrations/0005_auto_20171103_1540.py | 20 ----- courses/migrations/0006_auto_20171103_1623.py | 30 ------- courses/migrations/0007_auto_20171103_1627.py | 30 ------- csv/load_bills.py | 12 +++ finance/migrations/0001_initial.py | 46 ++++------ finance/migrations/0002_auto_20171023_1037.py | 87 ------------------- ...115_1053.py => 0002_invoice_yandex_pay.py} | 7 +- finance/migrations/0003_auto_20171106_1723.py | 25 ------ finance/migrations/0004_auto_20171106_1723.py | 25 ------ finance/migrations/0005_invoice_is_open.py | 20 ----- .../migrations/0006_remove_invoice_out_id.py | 19 ---- finance/migrations/0007_auto_20171108_1433.py | 20 ----- finance/migrations/0008_auto_20171108_1435.py | 20 ----- finance/migrations/0009_auto_20171108_1930.py | 20 ----- finance/migrations/0010_auto_20171109_1140.py | 22 ----- finance/migrations/0011_invoice_yandex_pay.py | 21 ----- finance/migrations/0012_auto_20171110_1302.py | 20 ----- finance/migrations/0014_invoice_date.py | 22 ----- finance/views.py | 2 +- journals/migrations/0001_initial.py | 18 ++-- journals/migrations/0002_thread_groups.py | 21 ----- .../migrations/0003_auto_20171023_1208.py | 37 -------- .../migrations/0004_auto_20171023_1234.py | 20 ----- .../migrations/0005_auto_20171024_1352.py | 20 ----- .../migrations/0006_auto_20171031_1405.py | 34 -------- journals/migrations/0007_journal_files.py | 21 ----- .../0008_remove_journal_children.py | 19 ---- .../migrations/0009_auto_20171110_1302.py | 20 ----- .../migrations/0010_auto_20171110_1646.py | 25 ------ .../migrations/0011_auto_20171114_1652.py | 20 ----- library/migrations/0001_initial.py | 13 +-- .../0002_remove_article_all_views.py | 19 ---- library/migrations/0003_auto_20171024_1915.py | 51 ----------- storage/migrations/0001_initial.py | 3 +- storage/migrations/0002_storage_name.py | 20 ----- 52 files changed, 94 insertions(+), 1056 deletions(-) rename access/migrations/{0002_auto_20171018_1437.py => 0002_auto_20171122_1124.py} (93%) delete mode 100644 access/migrations/0003_auto_20171019_1149.py delete mode 100644 access/migrations/0004_auto_20171019_1150.py delete mode 100644 access/migrations/0005_auto_20171019_1241.py delete mode 100644 access/migrations/0006_auto_20171019_1243.py delete mode 100644 access/migrations/0007_auto_20171106_1808.py delete mode 100644 access/migrations/0008_auto_20171117_1113.py delete mode 100644 access/migrations/0009_auto_20171119_1736.py delete mode 100644 access/migrations/0010_teacher.py delete mode 100644 access/migrations/0011_delete_teacher.py delete mode 100644 courses/migrations/0002_auto_20171019_1149.py delete mode 100644 courses/migrations/0003_auto_20171023_1037.py delete mode 100644 courses/migrations/0004_auto_20171103_1409.py delete mode 100644 courses/migrations/0005_auto_20171103_1540.py delete mode 100644 courses/migrations/0006_auto_20171103_1623.py delete mode 100644 courses/migrations/0007_auto_20171103_1627.py delete mode 100644 finance/migrations/0002_auto_20171023_1037.py rename finance/migrations/{0013_auto_20171115_1053.py => 0002_invoice_yandex_pay.py} (73%) delete mode 100644 finance/migrations/0003_auto_20171106_1723.py delete mode 100644 finance/migrations/0004_auto_20171106_1723.py delete mode 100644 finance/migrations/0005_invoice_is_open.py delete mode 100644 finance/migrations/0006_remove_invoice_out_id.py delete mode 100644 finance/migrations/0007_auto_20171108_1433.py delete mode 100644 finance/migrations/0008_auto_20171108_1435.py delete mode 100644 finance/migrations/0009_auto_20171108_1930.py delete mode 100644 finance/migrations/0010_auto_20171109_1140.py delete mode 100644 finance/migrations/0011_invoice_yandex_pay.py delete mode 100644 finance/migrations/0012_auto_20171110_1302.py delete mode 100644 finance/migrations/0014_invoice_date.py delete mode 100644 journals/migrations/0002_thread_groups.py delete mode 100644 journals/migrations/0003_auto_20171023_1208.py delete mode 100644 journals/migrations/0004_auto_20171023_1234.py delete mode 100644 journals/migrations/0005_auto_20171024_1352.py delete mode 100644 journals/migrations/0006_auto_20171031_1405.py delete mode 100644 journals/migrations/0007_journal_files.py delete mode 100644 journals/migrations/0008_remove_journal_children.py delete mode 100644 journals/migrations/0009_auto_20171110_1302.py delete mode 100644 journals/migrations/0010_auto_20171110_1646.py delete mode 100644 journals/migrations/0011_auto_20171114_1652.py delete mode 100644 library/migrations/0002_remove_article_all_views.py delete mode 100644 library/migrations/0003_auto_20171024_1915.py delete mode 100644 storage/migrations/0002_storage_name.py diff --git a/access/management/commands/add_users_in_groups.py b/access/management/commands/add_users_in_groups.py index 830ba01..ca217bb 100644 --- a/access/management/commands/add_users_in_groups.py +++ b/access/management/commands/add_users_in_groups.py @@ -35,7 +35,7 @@ class Command(BaseCommand): if name == "admin": user.is_superuser = True user.is_staff = True - if name != "students": + if name != "students" or name != "teachers": user.is_staff = True user.save() except get_user_model().DoesNotExist: diff --git a/access/migrations/0001_initial.py b/access/migrations/0001_initial.py index 1f20885..3a4f440 100644 --- a/access/migrations/0001_initial.py +++ b/access/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:24 from __future__ import unicode_literals import access.models @@ -30,8 +30,8 @@ class Migration(migrations.Migration): ('is_blocked', models.BooleanField(default=False, help_text='Определяет заблокирован ли пользователь. Поставьте флаг, если знаете, что это нехороший человек.', verbose_name='заблочен')), ], options={ - 'verbose_name': 'user', - 'verbose_name_plural': 'users', + 'verbose_name': 'Пользователь', + 'verbose_name_plural': 'Пользователи', }, managers=[ ('objects', access.models.CustomUserManager()), @@ -43,8 +43,8 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('b_day', models.DateField(blank=True, null=True)), ('city', models.CharField(blank=True, max_length=63, null=True)), - ('gender', models.SmallIntegerField(choices=[(2, 'female'), (1, 'male'), (0, 'undefined')], default=0)), - ('photo', models.ImageField(blank=True, default='user/photo/default_avatar.png', null=True, upload_to='user/photo/')), + ('gender', models.SmallIntegerField(choices=[(0, 'undefined'), (1, 'male'), (2, 'female')], default=0)), + ('photo', models.ImageField(blank=True, default='/static/default/access/default.png', null=True, upload_to='user/photo/')), ('phone', models.CharField(blank=True, max_length=15, null=True)), ], options={ diff --git a/access/migrations/0002_auto_20171018_1437.py b/access/migrations/0002_auto_20171122_1124.py similarity index 93% rename from access/migrations/0002_auto_20171018_1437.py rename to access/migrations/0002_auto_20171122_1124.py index 0dde273..b68a762 100644 --- a/access/migrations/0002_auto_20171018_1437.py +++ b/access/migrations/0002_auto_20171122_1124.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:24 from __future__ import unicode_literals from django.conf import settings @@ -63,4 +63,8 @@ class Migration(migrations.Migration): 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'), ), + migrations.AlterUniqueTogether( + name='progress', + unique_together=set([('user', 'course')]), + ), ] diff --git a/access/migrations/0003_auto_20171019_1149.py b/access/migrations/0003_auto_20171019_1149.py deleted file mode 100644 index ee6ab96..0000000 --- a/access/migrations/0003_auto_20171019_1149.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-19 11:49 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0002_auto_20171018_1437'), - ] - - operations = [ - migrations.AlterField( - model_name='account', - name='gender', - field=models.SmallIntegerField(choices=[(1, 'male'), (2, 'female'), (0, 'undefined')], default=0), - ), - ] diff --git a/access/migrations/0004_auto_20171019_1150.py b/access/migrations/0004_auto_20171019_1150.py deleted file mode 100644 index 0612a9e..0000000 --- a/access/migrations/0004_auto_20171019_1150.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-19 11:50 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0003_auto_20171019_1149'), - ] - - operations = [ - migrations.AlterField( - model_name='account', - name='gender', - field=models.SmallIntegerField(choices=[(0, 'undefined'), (1, 'male'), (2, 'female')], default=0), - ), - ] diff --git a/access/migrations/0005_auto_20171019_1241.py b/access/migrations/0005_auto_20171019_1241.py deleted file mode 100644 index c962a23..0000000 --- a/access/migrations/0005_auto_20171019_1241.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-19 12:41 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0004_auto_20171019_1150'), - ] - - operations = [ - migrations.AlterField( - model_name='account', - name='gender', - field=models.SmallIntegerField(choices=[(1, 'male'), (0, 'undefined'), (2, 'female')], default=0), - ), - ] diff --git a/access/migrations/0006_auto_20171019_1243.py b/access/migrations/0006_auto_20171019_1243.py deleted file mode 100644 index 92d2c1d..0000000 --- a/access/migrations/0006_auto_20171019_1243.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-19 12:43 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0005_auto_20171019_1241'), - ] - - operations = [ - migrations.AlterField( - model_name='account', - name='gender', - field=models.SmallIntegerField(choices=[(0, 'undefined'), (1, 'male'), (2, 'female')], default=0), - ), - ] diff --git a/access/migrations/0007_auto_20171106_1808.py b/access/migrations/0007_auto_20171106_1808.py deleted file mode 100644 index 73c0d87..0000000 --- a/access/migrations/0007_auto_20171106_1808.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-06 18:08 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0006_auto_20171019_1243'), - ] - - operations = [ - migrations.AlterModelOptions( - name='user', - options={'verbose_name': 'Пользователь', 'verbose_name_plural': 'Пользователи'}, - ), - ] diff --git a/access/migrations/0008_auto_20171117_1113.py b/access/migrations/0008_auto_20171117_1113.py deleted file mode 100644 index 62ba563..0000000 --- a/access/migrations/0008_auto_20171117_1113.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-17 11:13 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0007_auto_20171103_1627'), - ('access', '0007_auto_20171106_1808'), - ] - - operations = [ - migrations.AlterUniqueTogether( - name='progress', - unique_together=set([('user', 'course')]), - ), - ] diff --git a/access/migrations/0009_auto_20171119_1736.py b/access/migrations/0009_auto_20171119_1736.py deleted file mode 100644 index 5ac943a..0000000 --- a/access/migrations/0009_auto_20171119_1736.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-19 17:36 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0008_auto_20171117_1113'), - ] - - operations = [ - migrations.AlterField( - model_name='account', - name='photo', - field=models.ImageField(blank=True, default='/static/default/access/default.png', null=True, upload_to='user/photo/'), - ), - ] diff --git a/access/migrations/0010_teacher.py b/access/migrations/0010_teacher.py deleted file mode 100644 index cff8448..0000000 --- a/access/migrations/0010_teacher.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-20 12:34 -from __future__ import unicode_literals - -import access.models -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0009_auto_20171119_1736'), - ] - - operations = [ - migrations.CreateModel( - name='Teacher', - fields=[ - ], - options={ - 'proxy': True, - 'indexes': [], - }, - bases=('access.user',), - managers=[ - ('objects', access.models.CustomUserManager()), - ], - ), - ] diff --git a/access/migrations/0011_delete_teacher.py b/access/migrations/0011_delete_teacher.py deleted file mode 100644 index 6467113..0000000 --- a/access/migrations/0011_delete_teacher.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-20 12:37 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0010_teacher'), - ] - - operations = [ - migrations.DeleteModel( - name='Teacher', - ), - ] diff --git a/access/models.py b/access/models.py index 477e332..765a8bd 100755 --- a/access/models.py +++ b/access/models.py @@ -86,12 +86,14 @@ class CustomUserManager(BaseUserManager): user = self.model(email=email, is_staff=is_staff, is_active=is_active, first_name=first_name, is_superuser=is_superuser, date_joined=date_joined, last_login=last_login, **extra_fields) - Thread.objects.create( + thread = Thread.objects.create( key="""user_%s""" % user.id, text="""Приватный тред пользователя %s""" % user.email, is_recurse=True, ) + thread.subscribers.add(user) + if not password: password = ''.join(random.choice(string.ascii_letters) for x in range(8)) diff --git a/courses/migrations/0001_initial.py b/courses/migrations/0001_initial.py index fe95121..b713111 100644 --- a/courses/migrations/0001_initial.py +++ b/courses/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:24 from __future__ import unicode_literals from django.conf import settings @@ -12,9 +12,9 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('contenttypes', '0002_remove_content_type_name'), ('storage', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('contenttypes', '0002_remove_content_type_name'), ] operations = [ @@ -40,9 +40,9 @@ class Migration(migrations.Migration): ('public', models.BooleanField(default=False, verbose_name='Опубликовать')), ('title', models.CharField(max_length=255, verbose_name='Заголовок')), ('description', models.TextField(blank=True, verbose_name='Описание')), - ('image', models.ImageField(blank=True, upload_to='course', verbose_name='Изображение')), - ('big_image', models.ImageField(blank=True, upload_to='course', verbose_name='Большое изображение')), - ('big_mobile_image', models.ImageField(blank=True, help_text='Большая картинка для мобильной версии', null=True, upload_to='course', verbose_name='Под мобилку')), + ('image', models.URLField(blank=True, max_length=255, verbose_name='Изображение')), + ('big_image', models.URLField(blank=True, max_length=255, verbose_name='Большое изображение')), + ('big_mobile_image', models.URLField(blank=True, help_text='Большая картинка для мобильной версии', max_length=255, null=True, verbose_name='Под мобилку')), ('mentors', models.ManyToManyField(blank=True, related_name='course_mentors', to=settings.AUTH_USER_MODEL, verbose_name='Кураторы')), ('teachers', models.ManyToManyField(related_name='course_teachers', to=settings.AUTH_USER_MODEL, verbose_name='Преподаватели')), ], @@ -65,14 +65,24 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('icon', models.ImageField(upload_to='diplomas', verbose_name='Иконка')), - ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Диплом', 'verbose_name_plural': 'Дипломы', }, ), + migrations.CreateModel( + name='DiplomaGen', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('template', models.URLField(verbose_name='Путь до шаблона')), + ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course')), + ], + options={ + 'verbose_name': 'Генератор дипломов', + 'verbose_name_plural': 'Генераторы дипловов', + }, + ), migrations.CreateModel( name='SkillJ', fields=[ @@ -116,7 +126,7 @@ class Migration(migrations.Migration): name='Tutorial', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('on_comment', models.BooleanField(default=True, verbose_name='Комментарии')), + ('on_comment', models.BooleanField(default=False, verbose_name='Комментарии')), ('video', models.TextField(blank=True, default='', verbose_name='Код видео')), ('materials', models.ManyToManyField(blank=True, to='storage.Storage', verbose_name='Материалы урока')), ], @@ -144,6 +154,16 @@ class Migration(migrations.Migration): name='skill', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Skills', verbose_name='Навык'), ), + migrations.AddField( + model_name='diploma', + name='template', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.DiplomaGen', verbose_name='Использовать шаблон'), + ), + migrations.AddField( + model_name='diploma', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), migrations.AddField( model_name='achievements', name='course', diff --git a/courses/migrations/0002_auto_20171019_1149.py b/courses/migrations/0002_auto_20171019_1149.py deleted file mode 100644 index 43fa6c5..0000000 --- a/courses/migrations/0002_auto_20171019_1149.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-19 11:49 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='tutorial', - name='on_comment', - field=models.BooleanField(default=False, verbose_name='Комментарии'), - ), - ] diff --git a/courses/migrations/0003_auto_20171023_1037.py b/courses/migrations/0003_auto_20171023_1037.py deleted file mode 100644 index cf10a12..0000000 --- a/courses/migrations/0003_auto_20171023_1037.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-23 10:37 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0002_auto_20171019_1149'), - ] - - operations = [ - migrations.CreateModel( - name='DiplomaGen', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('template', models.URLField(verbose_name='Путь до шаблона')), - ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course')), - ], - options={ - 'verbose_name': 'Генератор дипломов', - 'verbose_name_plural': 'Генераторы дипловов', - }, - ), - migrations.RemoveField( - model_name='diploma', - name='course', - ), - migrations.AddField( - model_name='diploma', - name='template', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.DiplomaGen', verbose_name='Использовать шаблон'), - ), - ] diff --git a/courses/migrations/0004_auto_20171103_1409.py b/courses/migrations/0004_auto_20171103_1409.py deleted file mode 100644 index eba173c..0000000 --- a/courses/migrations/0004_auto_20171103_1409.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-03 14:09 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0003_auto_20171023_1037'), - ] - - operations = [ - migrations.AlterField( - model_name='course', - name='slug', - field=models.SlugField(blank=True, default='', max_length=255, unique=True), - ), - ] diff --git a/courses/migrations/0005_auto_20171103_1540.py b/courses/migrations/0005_auto_20171103_1540.py deleted file mode 100644 index 36ed94b..0000000 --- a/courses/migrations/0005_auto_20171103_1540.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-03 15:40 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0004_auto_20171103_1409'), - ] - - operations = [ - migrations.AlterField( - model_name='course', - name='slug', - field=models.SlugField(blank=True, default='', editable=False, max_length=255, unique=True), - ), - ] diff --git a/courses/migrations/0006_auto_20171103_1623.py b/courses/migrations/0006_auto_20171103_1623.py deleted file mode 100644 index 366a684..0000000 --- a/courses/migrations/0006_auto_20171103_1623.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-03 16:23 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0005_auto_20171103_1540'), - ] - - operations = [ - migrations.AlterField( - model_name='course', - name='big_image', - field=models.ImageField(blank=True, max_length=255, upload_to='course', verbose_name='Большое изображение'), - ), - migrations.AlterField( - model_name='course', - name='big_mobile_image', - field=models.ImageField(blank=True, help_text='Большая картинка для мобильной версии', max_length=255, null=True, upload_to='course', verbose_name='Под мобилку'), - ), - migrations.AlterField( - model_name='course', - name='image', - field=models.ImageField(blank=True, max_length=255, upload_to='course', verbose_name='Изображение'), - ), - ] diff --git a/courses/migrations/0007_auto_20171103_1627.py b/courses/migrations/0007_auto_20171103_1627.py deleted file mode 100644 index 90bd4b4..0000000 --- a/courses/migrations/0007_auto_20171103_1627.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-03 16:27 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0006_auto_20171103_1623'), - ] - - operations = [ - migrations.AlterField( - model_name='course', - name='big_image', - field=models.URLField(blank=True, max_length=255, verbose_name='Большое изображение'), - ), - migrations.AlterField( - model_name='course', - name='big_mobile_image', - field=models.URLField(blank=True, help_text='Большая картинка для мобильной версии', max_length=255, null=True, verbose_name='Под мобилку'), - ), - migrations.AlterField( - model_name='course', - name='image', - field=models.URLField(blank=True, max_length=255, verbose_name='Изображение'), - ), - ] diff --git a/csv/load_bills.py b/csv/load_bills.py index 847170c..dc4c755 100644 --- a/csv/load_bills.py +++ b/csv/load_bills.py @@ -7,6 +7,7 @@ sys.path.append("../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() +from yandex_money.models import Payment from finance.models import Bill, Invoice from courses.models import Course @@ -50,6 +51,17 @@ if __name__ == '__main__': real_price = None inv = Invoice.objects.create(bill=bill, method=method, price=price, real_price=real_price, **row) + + if method == 'Y': + yandex_pay, _is_create = Payment.objects.get_or_create( + order_amount=price, + order_number=inv.id, + customer_number=bill.user.id, + user=bill.user, + cps_email=bill.user.email, + ) + inv.yandex_pay = yandex_pay + inv.date = row['date'] inv.save() diff --git a/finance/migrations/0001_initial.py b/finance/migrations/0001_initial.py index c5baa5c..2e38594 100644 --- a/finance/migrations/0001_initial.py +++ b/finance/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:33 from __future__ import unicode_literals from django.conf import settings @@ -21,16 +21,11 @@ class Migration(migrations.Migration): name='Bill', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('status', models.CharField(choices=[('W', 'Ожидание согласия'), ('P', 'На оплате'), ('F', 'Оплачен'), ('C', 'Отклонен'), ('H', 'Сгорел')], default='W', max_length=1, verbose_name='Статус')), - ('bill_method', models.CharField(choices=[('C', 'Наличные'), ('H', 'JustClick'), ('A', 'Альфа-Банк'), ('S', 'SimplePay'), ('Y', 'YandexKassa')], default='Y', max_length=2, verbose_name='Способ оплаты')), - ('price', models.CharField(blank=True, max_length=255, null=True, verbose_name='Сумма')), - ('real_price', models.CharField(blank=True, help_text='Сумма, минус комиссия', max_length=255, null=True, verbose_name='Полученная сумма')), - ('inside_data', models.TextField(blank=True, default='', editable=False, verbose_name='Данные проверки')), - ('key', models.CharField(blank=True, default='', editable=False, max_length=255, verbose_name='Ключ платежа')), - ('out_id', models.CharField(blank=True, default='', editable=False, max_length=100, verbose_name='ID внешнего заказа')), ('comment', models.TextField(blank=True, editable=False, help_text='Будет показано пользователю', verbose_name='Комментарий продавца')), ('description', models.TextField(default='', verbose_name='Внутренняя заметка')), + ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Курс')), ('opener', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Ответственный сотрудник')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bill_user', to=settings.AUTH_USER_MODEL, verbose_name='Плательщик')), ], options={ 'verbose_name': 'Счет', @@ -38,31 +33,26 @@ class Migration(migrations.Migration): }, ), migrations.CreateModel( - name='Price', + name='Invoice', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('public', models.BooleanField(default=False, verbose_name='Опубликовать')), - ('title', models.CharField(help_text='Будет показано пользователям', max_length=255, verbose_name='Услуга')), - ('cost', models.IntegerField(verbose_name='Цена')), - ('description', models.TextField(help_text='Будет показано менеджерам', verbose_name='Описание')), - ('by_time', models.IntegerField(blank=True, null=True, verbose_name='Дней доступа')), - ('course', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Курс')), - ('vertexes', models.ManyToManyField(to='courses.Vertex', verbose_name='Список всех узлов')), + ('status', models.CharField(choices=[('W', 'Ожидание согласия'), ('P', 'На оплате'), ('F', 'Оплачен'), ('C', 'Отклонен')], default='W', max_length=1, verbose_name='Статус')), + ('price', models.IntegerField(blank=True, null=True, verbose_name='Сумма')), + ('real_price', models.IntegerField(blank=True, help_text='Сумма, минус комиссия', null=True, verbose_name='Полученная сумма')), + ('method', models.CharField(choices=[('C', 'Наличные'), ('H', 'JustClick'), ('A', 'Альфа-Банк'), ('S', 'SimplePay'), ('Y', 'YandexKassa')], default='Y', max_length=2, verbose_name='Способ оплаты')), + ('key', models.CharField(blank=True, max_length=255, null=True, verbose_name='Ключ платежа')), + ('comment', models.TextField(blank=True, editable=False, help_text='Будет показано пользователю', verbose_name='Комментарий продавца')), + ('is_open', models.BooleanField(default=True, verbose_name='Открывает ли платёж курс')), + ('date', models.DateTimeField(auto_now_add=True)), + ('bill', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='finance.Bill', verbose_name='Связный счёт')), ], options={ - 'verbose_name': 'Услуга', - 'verbose_name_plural': 'Услуги', - 'ordering': ['-id'], + 'verbose_name': 'Платёж', + 'verbose_name_plural': 'Платежи', }, ), - migrations.AddField( - model_name='bill', - name='service', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='finance.Price', verbose_name='Оплачиваемая услуга'), - ), - migrations.AddField( - model_name='bill', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bill_user', to=settings.AUTH_USER_MODEL, verbose_name='Плательщик'), + migrations.AlterUniqueTogether( + name='bill', + unique_together=set([('course', 'opener', 'user')]), ), ] diff --git a/finance/migrations/0002_auto_20171023_1037.py b/finance/migrations/0002_auto_20171023_1037.py deleted file mode 100644 index 24b7d80..0000000 --- a/finance/migrations/0002_auto_20171023_1037.py +++ /dev/null @@ -1,87 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-23 10:37 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0003_auto_20171023_1037'), - ('finance', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Invoice', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('status', models.CharField(choices=[('W', 'Ожидание согласия'), ('P', 'На оплате'), ('F', 'Оплачен'), ('C', 'Отклонен'), ('H', 'Сгорел')], default='W', max_length=1, verbose_name='Статус')), - ('price', models.CharField(blank=True, max_length=255, null=True, verbose_name='Сумма')), - ('real_price', models.CharField(blank=True, help_text='Сумма, минус комиссия', max_length=255, null=True, verbose_name='Полученная сумма')), - ('bill_method', models.CharField(choices=[('C', 'Наличные'), ('H', 'JustClick'), ('A', 'Альфа-Банк'), ('S', 'SimplePay'), ('Y', 'YandexKassa')], default='Y', max_length=2, verbose_name='Способ оплаты')), - ('key', models.CharField(blank=True, default='', editable=False, max_length=255, verbose_name='Ключ платежа')), - ('out_id', models.CharField(blank=True, default='', editable=False, max_length=100, verbose_name='ID внешнего заказа')), - ('comment', models.TextField(blank=True, editable=False, help_text='Будет показано пользователю', verbose_name='Комментарий продавца')), - ], - options={ - 'verbose_name': 'Платёж', - 'verbose_name_plural': 'Платежи', - }, - ), - migrations.RemoveField( - model_name='price', - name='course', - ), - migrations.RemoveField( - model_name='price', - name='vertexes', - ), - migrations.RemoveField( - model_name='bill', - name='bill_method', - ), - migrations.RemoveField( - model_name='bill', - name='inside_data', - ), - migrations.RemoveField( - model_name='bill', - name='key', - ), - migrations.RemoveField( - model_name='bill', - name='out_id', - ), - migrations.RemoveField( - model_name='bill', - name='price', - ), - migrations.RemoveField( - model_name='bill', - name='real_price', - ), - migrations.RemoveField( - model_name='bill', - name='service', - ), - migrations.RemoveField( - model_name='bill', - name='status', - ), - migrations.AddField( - model_name='bill', - name='course', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Курс'), - ), - migrations.DeleteModel( - name='Price', - ), - migrations.AddField( - model_name='invoice', - name='bill', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='finance.Bill', verbose_name='Связный счёт'), - ), - ] diff --git a/finance/migrations/0013_auto_20171115_1053.py b/finance/migrations/0002_invoice_yandex_pay.py similarity index 73% rename from finance/migrations/0013_auto_20171115_1053.py rename to finance/migrations/0002_invoice_yandex_pay.py index 5dac866..c0af7b6 100644 --- a/finance/migrations/0013_auto_20171115_1053.py +++ b/finance/migrations/0002_invoice_yandex_pay.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-15 10:53 +# Generated by Django 1.11.6 on 2017-11-22 11:33 from __future__ import unicode_literals from django.db import migrations, models @@ -9,11 +9,12 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('finance', '0012_auto_20171110_1302'), + ('yandex_money', '0001_initial'), + ('finance', '0001_initial'), ] operations = [ - migrations.AlterField( + migrations.AddField( model_name='invoice', name='yandex_pay', field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='yandex_money.Payment'), diff --git a/finance/migrations/0003_auto_20171106_1723.py b/finance/migrations/0003_auto_20171106_1723.py deleted file mode 100644 index 23e0268..0000000 --- a/finance/migrations/0003_auto_20171106_1723.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-06 17:23 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0002_auto_20171023_1037'), - ] - - operations = [ - migrations.AlterField( - model_name='invoice', - name='price', - field=models.IntegerField(blank=True, max_length=255, null=True, verbose_name='Сумма'), - ), - migrations.AlterField( - model_name='invoice', - name='real_price', - field=models.IntegerField(blank=True, help_text='Сумма, минус комиссия', max_length=255, null=True, verbose_name='Полученная сумма'), - ), - ] diff --git a/finance/migrations/0004_auto_20171106_1723.py b/finance/migrations/0004_auto_20171106_1723.py deleted file mode 100644 index 378a4fb..0000000 --- a/finance/migrations/0004_auto_20171106_1723.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-06 17:23 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0003_auto_20171106_1723'), - ] - - operations = [ - migrations.AlterField( - model_name='invoice', - name='price', - field=models.IntegerField(blank=True, null=True, verbose_name='Сумма'), - ), - migrations.AlterField( - model_name='invoice', - name='real_price', - field=models.IntegerField(blank=True, help_text='Сумма, минус комиссия', null=True, verbose_name='Полученная сумма'), - ), - ] diff --git a/finance/migrations/0005_invoice_is_open.py b/finance/migrations/0005_invoice_is_open.py deleted file mode 100644 index a647af8..0000000 --- a/finance/migrations/0005_invoice_is_open.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-07 11:04 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0004_auto_20171106_1723'), - ] - - operations = [ - migrations.AddField( - model_name='invoice', - name='is_open', - field=models.BooleanField(default=True, verbose_name='Открывает ли платёж курс'), - ), - ] diff --git a/finance/migrations/0006_remove_invoice_out_id.py b/finance/migrations/0006_remove_invoice_out_id.py deleted file mode 100644 index f78276e..0000000 --- a/finance/migrations/0006_remove_invoice_out_id.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-07 13:41 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0005_invoice_is_open'), - ] - - operations = [ - migrations.RemoveField( - model_name='invoice', - name='out_id', - ), - ] diff --git a/finance/migrations/0007_auto_20171108_1433.py b/finance/migrations/0007_auto_20171108_1433.py deleted file mode 100644 index 0b57dd7..0000000 --- a/finance/migrations/0007_auto_20171108_1433.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-08 14:33 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0006_remove_invoice_out_id'), - ] - - operations = [ - migrations.RenameField( - model_name='invoice', - old_name='bill_method', - new_name='method', - ), - ] diff --git a/finance/migrations/0008_auto_20171108_1435.py b/finance/migrations/0008_auto_20171108_1435.py deleted file mode 100644 index 86c70d4..0000000 --- a/finance/migrations/0008_auto_20171108_1435.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-08 14:35 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0007_auto_20171108_1433'), - ] - - operations = [ - migrations.AlterField( - model_name='invoice', - name='key', - field=models.CharField(blank=True, default='', max_length=255, verbose_name='Ключ платежа'), - ), - ] diff --git a/finance/migrations/0009_auto_20171108_1930.py b/finance/migrations/0009_auto_20171108_1930.py deleted file mode 100644 index f6eb227..0000000 --- a/finance/migrations/0009_auto_20171108_1930.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-08 19:30 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0008_auto_20171108_1435'), - ] - - operations = [ - migrations.AlterField( - model_name='invoice', - name='key', - field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Ключ платежа'), - ), - ] diff --git a/finance/migrations/0010_auto_20171109_1140.py b/finance/migrations/0010_auto_20171109_1140.py deleted file mode 100644 index b6c8c55..0000000 --- a/finance/migrations/0010_auto_20171109_1140.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-09 11:40 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('courses', '0007_auto_20171103_1627'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('finance', '0009_auto_20171108_1930'), - ] - - operations = [ - migrations.AlterUniqueTogether( - name='bill', - unique_together=set([('course', 'opener', 'user')]), - ), - ] diff --git a/finance/migrations/0011_invoice_yandex_pay.py b/finance/migrations/0011_invoice_yandex_pay.py deleted file mode 100644 index 2b1b96e..0000000 --- a/finance/migrations/0011_invoice_yandex_pay.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-09 15:37 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0010_auto_20171109_1140'), - ] - - operations = [ - migrations.AddField( - model_name='invoice', - name='yandex_pay', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='yandex_money.Payment'), - ), - ] diff --git a/finance/migrations/0012_auto_20171110_1302.py b/finance/migrations/0012_auto_20171110_1302.py deleted file mode 100644 index 5451f04..0000000 --- a/finance/migrations/0012_auto_20171110_1302.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-10 13:02 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0011_invoice_yandex_pay'), - ] - - operations = [ - migrations.AlterField( - model_name='invoice', - name='status', - field=models.CharField(choices=[('W', 'Ожидание согласия'), ('P', 'На оплате'), ('F', 'Оплачен'), ('C', 'Отклонен')], default='W', max_length=1, verbose_name='Статус'), - ), - ] diff --git a/finance/migrations/0014_invoice_date.py b/finance/migrations/0014_invoice_date.py deleted file mode 100644 index d815608..0000000 --- a/finance/migrations/0014_invoice_date.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-16 12:25 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('finance', '0013_auto_20171115_1053'), - ] - - operations = [ - migrations.AddField( - model_name='invoice', - name='date', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), - preserve_default=False, - ), - ] diff --git a/finance/views.py b/finance/views.py index 637bb9d..963a32e 100644 --- a/finance/views.py +++ b/finance/views.py @@ -49,7 +49,7 @@ class BillListView(APIView): i['bill'] = bill_obj i['yandex_pay'] = None invoice, _is_create = Invoice.objects.update_or_create(**i) - if i['method'] == 'Y' and i['status'] == 'P': + if i['method'] == 'Y': yandex_pay, _is_create = Payment.objects.get_or_create( order_amount=i['price'], order_number=invoice.id, diff --git a/journals/migrations/0001_initial.py b/journals/migrations/0001_initial.py index f0a0af6..e395986 100644 --- a/journals/migrations/0001_initial.py +++ b/journals/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:24 from __future__ import unicode_literals from django.conf import settings @@ -12,8 +12,10 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('contenttypes', '0002_remove_content_type_name'), + ('storage', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('contenttypes', '0002_remove_content_type_name'), + ('auth', '0008_alter_user_username_max_length'), ] operations = [ @@ -23,22 +25,24 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('extra_data', models.TextField(blank=True, null=True)), ('object_id', models.PositiveIntegerField()), - ('action_type', models.SmallIntegerField(choices=[(0, 'try'), (1, 'yes'), (2, 'no'), (3, 'favorite'), (4, 'watch'), (5, 'start'), (6, 'end'), (7, 'create'), (8, 'update'), (9, 'delete')])), - ('date', models.DateTimeField(auto_now=True)), + ('action_type', models.CharField(choices=[('try', 'попытался сдать'), ('yes', 'одобрил'), ('no', 'отклонил'), ('favorite', 'добавил в избранное'), ('watch', 'просмотрел'), ('like', 'лайкнул'), ('dislike', 'дизлайкнул'), ('comment', 'оставил комментарий'), ('start', 'начал прохождение'), ('end', 'закончил прохождение'), ('create', 'создал'), ('update', 'обновил'), ('delete', 'удалил')], max_length=31)), + ('date', models.DateTimeField(auto_now_add=True)), ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), + ('files', models.ManyToManyField(blank=True, to='storage.Storage')), ], ), migrations.CreateModel( name='Thread', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('key', models.CharField(max_length=200)), + ('key', models.CharField(editable=False, max_length=200, unique=True)), ('text', models.TextField(default='', verbose_name='Описание треда')), ('is_staff', models.BooleanField(default=False, verbose_name='Админская ли табличка')), - ('recurse_step', models.SmallIntegerField(default=0, verbose_name='Поле аптимизации поиска')), + ('is_recurse', models.BooleanField(default=False, verbose_name='Поле аптимизации поиска')), ('check_subscribe', models.BooleanField(default=True, verbose_name='Проверять ли подписки')), ('x', models.SmallIntegerField(default=300)), ('y', models.SmallIntegerField(default=300)), + ('groups', models.ManyToManyField(blank=True, to='auth.Group', verbose_name='Группы подписчиков')), ('parent', models.ManyToManyField(blank=True, to='journals.Thread')), ('subscribers', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Подписчики')), ], @@ -51,6 +55,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='journal', name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Инициатор действия'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Инициатор действия или тот, на ком действие инициируется'), ), ] diff --git a/journals/migrations/0002_thread_groups.py b/journals/migrations/0002_thread_groups.py deleted file mode 100644 index 052e0ec..0000000 --- a/journals/migrations/0002_thread_groups.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-19 11:49 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('auth', '0008_alter_user_username_max_length'), - ('journals', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='thread', - name='groups', - field=models.ManyToManyField(blank=True, to='auth.Group', verbose_name='Подписчики'), - ), - ] diff --git a/journals/migrations/0003_auto_20171023_1208.py b/journals/migrations/0003_auto_20171023_1208.py deleted file mode 100644 index ca612c5..0000000 --- a/journals/migrations/0003_auto_20171023_1208.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-23 12:08 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0002_thread_groups'), - ] - - operations = [ - migrations.AlterField( - model_name='journal', - name='action_type', - field=models.SmallIntegerField(choices=[(0, 'try'), (1, 'yes'), (2, 'no'), (3, 'favorite'), (4, 'watch'), (5, 'start'), (6, 'end'), (7, 'create'), (8, 'update'), (9, 'delete'), (10, 'send_mail')]), - ), - migrations.AlterField( - model_name='journal', - name='object_id', - field=models.CharField(max_length=255), - ), - migrations.AlterField( - model_name='journal', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Инициатор действия или тот, на ком действие инициируется'), - ), - migrations.AlterField( - model_name='thread', - name='groups', - field=models.ManyToManyField(blank=True, to='auth.Group', verbose_name='Группы подписчиков'), - ), - ] diff --git a/journals/migrations/0004_auto_20171023_1234.py b/journals/migrations/0004_auto_20171023_1234.py deleted file mode 100644 index 5dea8cf..0000000 --- a/journals/migrations/0004_auto_20171023_1234.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-23 12:34 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0003_auto_20171023_1208'), - ] - - operations = [ - migrations.AlterField( - model_name='journal', - name='object_id', - field=models.PositiveIntegerField(), - ), - ] diff --git a/journals/migrations/0005_auto_20171024_1352.py b/journals/migrations/0005_auto_20171024_1352.py deleted file mode 100644 index dbe9d72..0000000 --- a/journals/migrations/0005_auto_20171024_1352.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-24 13:52 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0004_auto_20171023_1234'), - ] - - operations = [ - migrations.AlterField( - model_name='journal', - name='action_type', - field=models.SmallIntegerField(choices=[(0, 'try'), (1, 'yes'), (2, 'no'), (3, 'favorite'), (4, 'watch'), (5, 'start'), (6, 'end'), (7, 'create'), (8, 'update'), (9, 'delete')]), - ), - ] diff --git a/journals/migrations/0006_auto_20171031_1405.py b/journals/migrations/0006_auto_20171031_1405.py deleted file mode 100644 index 2160d51..0000000 --- a/journals/migrations/0006_auto_20171031_1405.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-31 14:05 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0005_auto_20171024_1352'), - ] - - operations = [ - migrations.RemoveField( - model_name='thread', - name='recurse_step', - ), - migrations.AddField( - model_name='journal', - name='children', - field=models.ManyToManyField(blank=True, to='journals.Journal'), - ), - migrations.AddField( - model_name='thread', - name='is_recurse', - field=models.BooleanField(default=False, verbose_name='Поле аптимизации поиска'), - ), - migrations.AlterField( - model_name='journal', - name='action_type', - field=models.SmallIntegerField(choices=[(0, 'try'), (1, 'yes'), (2, 'no'), (3, 'favorite'), (4, 'watch'), (5, 'like'), (6, 'dislike'), (7, 'comment'), (8, 'start'), (9, 'end'), (10, 'create'), (11, 'update'), (12, 'delete')]), - ), - ] diff --git a/journals/migrations/0007_journal_files.py b/journals/migrations/0007_journal_files.py deleted file mode 100644 index 44a859e..0000000 --- a/journals/migrations/0007_journal_files.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-06 18:08 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('storage', '0001_initial'), - ('journals', '0006_auto_20171031_1405'), - ] - - operations = [ - migrations.AddField( - model_name='journal', - name='files', - field=models.ManyToManyField(blank=True, to='storage.Storage'), - ), - ] diff --git a/journals/migrations/0008_remove_journal_children.py b/journals/migrations/0008_remove_journal_children.py deleted file mode 100644 index 223b826..0000000 --- a/journals/migrations/0008_remove_journal_children.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-06 18:13 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0007_journal_files'), - ] - - operations = [ - migrations.RemoveField( - model_name='journal', - name='children', - ), - ] diff --git a/journals/migrations/0009_auto_20171110_1302.py b/journals/migrations/0009_auto_20171110_1302.py deleted file mode 100644 index 73074ce..0000000 --- a/journals/migrations/0009_auto_20171110_1302.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-10 13:02 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0008_remove_journal_children'), - ] - - operations = [ - migrations.AlterField( - model_name='thread', - name='key', - field=models.CharField(max_length=200, unique=True), - ), - ] diff --git a/journals/migrations/0010_auto_20171110_1646.py b/journals/migrations/0010_auto_20171110_1646.py deleted file mode 100644 index 8ee3d53..0000000 --- a/journals/migrations/0010_auto_20171110_1646.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-10 16:46 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0009_auto_20171110_1302'), - ] - - operations = [ - migrations.AlterField( - model_name='journal', - name='action_type', - field=models.CharField(choices=[('try', 'попытался сдать'), ('yes', 'одобрил'), ('no', 'отклонил'), ('favorite', 'добавил в избранное'), ('watch', 'просмотрел'), ('like', 'лайкнул'), ('dislike', 'дизлайкнул'), ('comment', 'оставил комментарий'), ('start', 'начал прохождение'), ('end', 'закончил прохождение'), ('create', 'создал'), ('update', 'обновил'), ('delete', 'удалил')], max_length=31), - ), - migrations.AlterField( - model_name='thread', - name='key', - field=models.CharField(editable=False, max_length=200, unique=True), - ), - ] diff --git a/journals/migrations/0011_auto_20171114_1652.py b/journals/migrations/0011_auto_20171114_1652.py deleted file mode 100644 index b2f1ef3..0000000 --- a/journals/migrations/0011_auto_20171114_1652.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-14 16:52 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('journals', '0010_auto_20171110_1646'), - ] - - operations = [ - migrations.AlterField( - model_name='journal', - name='date', - field=models.DateTimeField(auto_now_add=True), - ), - ] diff --git a/library/migrations/0001_initial.py b/library/migrations/0001_initial.py index bae4641..0d11fae 100644 --- a/library/migrations/0001_initial.py +++ b/library/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:24 from __future__ import unicode_literals import datetime @@ -21,17 +21,12 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('public', models.BooleanField(default=True, verbose_name='Опубликовать')), ('slug', models.SlugField(blank=True, default='', editable=False, max_length=255, unique=True)), - ('head_title', models.CharField(blank=True, max_length=255, null=True, verbose_name='Заголовок для соц сетей')), - ('head_description', models.CharField(blank=True, max_length=255, null=True, verbose_name='Описание в заголовке для соц сетей')), + ('description', models.CharField(blank=True, max_length=255, null=True, verbose_name='Описание в заголовке для соц сетей')), ('head_image', models.ImageField(blank=True, null=True, upload_to='library', verbose_name='Картинка для соц сетей')), ('title', models.CharField(max_length=255, verbose_name='Заголовок')), - ('preview', models.TextField(blank=True, default='', verbose_name='Превьюшка')), - ('preview_img', models.ImageField(blank=True, null=True, upload_to='library', verbose_name='Превьюшка заливки')), - ('page', models.TextField(verbose_name='PAGE')), - ('css', models.TextField(blank=True, default='', help_text='Можно добавлять все, но только исправить http на https', verbose_name='CSS')), - ('js', models.TextField(blank=True, default='', help_text='Удалить bootstrap, jquery и заменить http на https', verbose_name='JS')), + ('image', models.ImageField(blank=True, null=True, upload_to='library', verbose_name='Превьюшка заливки')), ('date', models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Дата публикации')), - ('all_views', models.IntegerField(blank=True, default=0, verbose_name='Всего просмотров')), + ('url', models.URLField(verbose_name='url страницы')), ], options={ 'verbose_name': 'Статья', diff --git a/library/migrations/0002_remove_article_all_views.py b/library/migrations/0002_remove_article_all_views.py deleted file mode 100644 index c0272c3..0000000 --- a/library/migrations/0002_remove_article_all_views.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-24 13:52 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('library', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='article', - name='all_views', - ), - ] diff --git a/library/migrations/0003_auto_20171024_1915.py b/library/migrations/0003_auto_20171024_1915.py deleted file mode 100644 index fbf5123..0000000 --- a/library/migrations/0003_auto_20171024_1915.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-24 19:15 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('library', '0002_remove_article_all_views'), - ] - - operations = [ - migrations.RenameField( - model_name='article', - old_name='head_description', - new_name='description', - ), - migrations.RenameField( - model_name='article', - old_name='preview_img', - new_name='image', - ), - migrations.RemoveField( - model_name='article', - name='css', - ), - migrations.RemoveField( - model_name='article', - name='head_title', - ), - migrations.RemoveField( - model_name='article', - name='js', - ), - migrations.RemoveField( - model_name='article', - name='page', - ), - migrations.RemoveField( - model_name='article', - name='preview', - ), - migrations.AddField( - model_name='article', - name='url', - field=models.URLField(default='', verbose_name='url страницы'), - preserve_default=False, - ), - ] diff --git a/storage/migrations/0001_initial.py b/storage/migrations/0001_initial.py index 9a67f17..def8c38 100644 --- a/storage/migrations/0001_initial.py +++ b/storage/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-18 14:37 +# Generated by Django 1.11.6 on 2017-11-22 11:24 from __future__ import unicode_literals from django.db import migrations, models @@ -18,6 +18,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('original', models.FileField(upload_to='files', verbose_name='Файл')), + ('name', models.CharField(blank=True, max_length=63, null=True, verbose_name='Видимое имя файла')), ], options={ 'verbose_name': 'Файл', diff --git a/storage/migrations/0002_storage_name.py b/storage/migrations/0002_storage_name.py deleted file mode 100644 index 83fc49a..0000000 --- a/storage/migrations/0002_storage_name.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-11-07 11:11 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('storage', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='storage', - name='name', - field=models.CharField(blank=True, max_length=63, null=True, verbose_name='Видимое имя файла'), - ), - ]