threads update

feature/fix_generate_pass
Andrey 8 years ago
parent ed9c771663
commit cc9b5bb21b
  1. 2
      access/management/commands/add_users_in_groups.py
  2. 10
      access/migrations/0001_initial.py
  3. 6
      access/migrations/0002_auto_20171122_1124.py
  4. 20
      access/migrations/0003_auto_20171019_1149.py
  5. 20
      access/migrations/0004_auto_20171019_1150.py
  6. 20
      access/migrations/0005_auto_20171019_1241.py
  7. 20
      access/migrations/0006_auto_20171019_1243.py
  8. 19
      access/migrations/0007_auto_20171106_1808.py
  9. 20
      access/migrations/0008_auto_20171117_1113.py
  10. 20
      access/migrations/0009_auto_20171119_1736.py
  11. 29
      access/migrations/0010_teacher.py
  12. 18
      access/migrations/0011_delete_teacher.py
  13. 4
      access/models.py
  14. 36
      courses/migrations/0001_initial.py
  15. 20
      courses/migrations/0002_auto_20171019_1149.py
  16. 37
      courses/migrations/0003_auto_20171023_1037.py
  17. 20
      courses/migrations/0004_auto_20171103_1409.py
  18. 20
      courses/migrations/0005_auto_20171103_1540.py
  19. 30
      courses/migrations/0006_auto_20171103_1623.py
  20. 30
      courses/migrations/0007_auto_20171103_1627.py
  21. 12
      csv/load_bills.py
  22. 46
      finance/migrations/0001_initial.py
  23. 87
      finance/migrations/0002_auto_20171023_1037.py
  24. 7
      finance/migrations/0002_invoice_yandex_pay.py
  25. 25
      finance/migrations/0003_auto_20171106_1723.py
  26. 25
      finance/migrations/0004_auto_20171106_1723.py
  27. 20
      finance/migrations/0005_invoice_is_open.py
  28. 19
      finance/migrations/0006_remove_invoice_out_id.py
  29. 20
      finance/migrations/0007_auto_20171108_1433.py
  30. 20
      finance/migrations/0008_auto_20171108_1435.py
  31. 20
      finance/migrations/0009_auto_20171108_1930.py
  32. 22
      finance/migrations/0010_auto_20171109_1140.py
  33. 21
      finance/migrations/0011_invoice_yandex_pay.py
  34. 20
      finance/migrations/0012_auto_20171110_1302.py
  35. 22
      finance/migrations/0014_invoice_date.py
  36. 2
      finance/views.py
  37. 18
      journals/migrations/0001_initial.py
  38. 21
      journals/migrations/0002_thread_groups.py
  39. 37
      journals/migrations/0003_auto_20171023_1208.py
  40. 20
      journals/migrations/0004_auto_20171023_1234.py
  41. 20
      journals/migrations/0005_auto_20171024_1352.py
  42. 34
      journals/migrations/0006_auto_20171031_1405.py
  43. 21
      journals/migrations/0007_journal_files.py
  44. 19
      journals/migrations/0008_remove_journal_children.py
  45. 20
      journals/migrations/0009_auto_20171110_1302.py
  46. 25
      journals/migrations/0010_auto_20171110_1646.py
  47. 20
      journals/migrations/0011_auto_20171114_1652.py
  48. 13
      library/migrations/0001_initial.py
  49. 19
      library/migrations/0002_remove_article_all_views.py
  50. 51
      library/migrations/0003_auto_20171024_1915.py
  51. 3
      storage/migrations/0001_initial.py
  52. 20
      storage/migrations/0002_storage_name.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:

@ -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={

@ -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')]),
),
]

@ -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),
),
]

@ -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),
),
]

@ -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),
),
]

@ -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),
),
]

@ -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': 'Пользователи'},
),
]

@ -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')]),
),
]

@ -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/'),
),
]

@ -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()),
],
),
]

@ -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',
),
]

@ -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))

@ -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',

@ -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='Комментарии'),
),
]

@ -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='Использовать шаблон'),
),
]

@ -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),
),
]

@ -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),
),
]

@ -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='Изображение'),
),
]

@ -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='Изображение'),
),
]

@ -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()

@ -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')]),
),
]

@ -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='Связный счёт'),
),
]

@ -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'),

@ -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='Полученная сумма'),
),
]

@ -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='Полученная сумма'),
),
]

@ -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='Открывает ли платёж курс'),
),
]

@ -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',
),
]

@ -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',
),
]

@ -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='Ключ платежа'),
),
]

@ -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='Ключ платежа'),
),
]

@ -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')]),
),
]

@ -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'),
),
]

@ -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='Статус'),
),
]

@ -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,
),
]

@ -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,

@ -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='Инициатор действия или тот, на ком действие инициируется'),
),
]

@ -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='Подписчики'),
),
]

@ -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='Группы подписчиков'),
),
]

@ -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(),
),
]

@ -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')]),
),
]

@ -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')]),
),
]

@ -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'),
),
]

@ -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',
),
]

@ -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),
),
]

@ -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),
),
]

@ -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),
),
]

@ -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': 'Статья',

@ -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',
),
]

@ -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,
),
]

@ -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': 'Файл',

@ -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='Видимое имя файла'),
),
]
Loading…
Cancel
Save