From 68245ffa43c2239b961deba92f1832ce05d486d3 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Sat, 20 Nov 2021 23:15:11 +0300 Subject: [PATCH] bot --- Main/management/commands/bot.py | 40 +++- Main/migrations/0001_initial.py | 215 ------------------ Main/migrations/0002_auto_20200626_0946.py | 18 -- Main/migrations/0003_auto_20200627_1959.py | 18 -- Main/migrations/0004_auto_20200628_0917.py | 38 ---- Main/migrations/0005_solution_time_sent.py | 18 -- Main/migrations/0006_auto_20200628_1315.py | 21 -- Main/migrations/0007_auto_20200629_0833.py | 23 -- Main/migrations/0008_auto_20200702_2140.py | 23 -- Main/migrations/0009_auto_20200704_1703.py | 23 -- Main/migrations/0010_system.py | 29 --- Main/migrations/0011_auto_20200814_2035.py | 31 --- Main/migrations/0012_auto_20200901_1154.py | 40 ---- Main/migrations/0013_delete_extrafile.py | 16 -- Main/migrations/0014_extrafile.py | 36 --- Main/migrations/0015_auto_20200902_1555.py | 23 -- .../0016_task_max_solutions_count.py | 18 -- Main/migrations/0017_solution_details.py | 18 -- Main/migrations/0018_remove_extrafile_file.py | 17 -- Main/migrations/0019_task_show_details.py | 18 -- Main/migrations/0020_task_solution_type.py | 18 -- .../0021_remove_task_solution_type.py | 17 -- Main/migrations/0022_task_full_solution.py | 18 -- .../0023_extrafile_for_compilation.py | 18 -- Main/migrations/0024_extrafile_sample.py | 18 -- Main/migrations/0025_auto_20201106_1848.py | 51 ----- Main/migrations/0026_block_show_rating.py | 18 -- Main/migrations/0027_task_mark_formula.py | 18 -- Main/migrations/0028_task_show_result.py | 18 -- Main/migrations/0029_auto_20210130_1950.py | 23 -- Main/migrations/0030_message.py | 54 ----- .../0031_block_cheating_checking.py | 18 -- Main/migrations/0032_block_cheating_data.py | 18 -- .../0033_remove_block_cheating_data.py | 17 -- Main/migrations/0034_auto_20210725_1848.py | 152 ------------- Main/migrations/0035_group_users.py | 20 -- Main/migrations/0036_auto_20210725_1922.py | 43 ---- Main/migrations/0037_remove_userinfo_group.py | 17 -- Main/migrations/0038_task_creator.py | 25 -- Main/migrations/0039_auto_20210731_1850.py | 46 ---- Main/migrations/0040_auto_20210803_1224.py | 41 ---- .../0041_userinfo_profile_picture.py | 18 -- Main/migrations/0042_userinfo_rating.py | 18 -- Main/migrations/0043_subscription.py | 44 ---- Main/migrations/0044_settask.py | 41 ---- Main/migrations/0045_auto_20210803_1801.py | 41 ---- .../0046_alter_subscription_group.py | 23 -- Main/migrations/0047_set_creator.py | 25 -- Main/migrations/0048_solution.py | 27 --- Main/migrations/0049_language.py | 20 -- Main/migrations/0050_solution_language.py | 19 -- Main/migrations/0051_language_file_type.py | 18 -- Main/migrations/0052_language_logo.py | 18 -- Main/migrations/0053_auto_20210809_0032.py | 23 -- Main/migrations/0054_extrafile.py | 24 -- Main/migrations/0055_extrafile_readable.py | 18 -- Main/migrations/0056_remove_extrafile_file.py | 17 -- .../0057_alter_extrafile_is_test.py | 18 -- Main/migrations/0058_extrafile_test_number.py | 18 -- Main/migrations/0059_language_image.py | 18 -- Main/migrations/0060_language_work_name.py | 18 -- Main/migrations/0061_extrafile_is_sample.py | 18 -- Main/migrations/0062_progress.py | 27 --- .../0063_alter_progress_start_time.py | 19 -- Main/migrations/0064_auto_20210901_1643.py | 22 -- Main/migrations/0065_auto_20210901_1721.py | 23 -- Main/migrations/0066_progress_finished.py | 18 -- ...7_userinfo_notification_solution_result.py | 18 -- .../0068_userinfo_telegram_chat_id.py | 18 -- .../0069_remove_userinfo_telegram_chat_id.py | 17 -- .../0070_userinfo_telegram_chat_id.py | 18 -- Main/migrations/0071_language_highlight.py | 18 -- .../0072_alter_language_highlight.py | 18 -- Main/migrations/0073_auto_20211106_0125.py | 29 --- Main/migrations/0074_auto_20211106_1215.py | 22 -- Main/migrations/0075_auto_20211110_2317.py | 31 --- Main/migrations/0076_auto_20211119_2050.py | 22 -- Main/models/token.py | 17 ++ Main/models/userinfo.py | 9 +- Main/views/EnterView.py | 23 -- Main/views/RegisterView.py | 39 ---- Main/views/SendCodeView.py | 31 +++ Main/views/__init__.py | 1 + Sprint/settings.py | 3 +- Sprint/urls.py | 3 +- SprintLib/BaseView.py | 4 +- templates/account.html | 11 +- templates/enter.html | 53 ++++- templates/register.html | 73 ------ 89 files changed, 139 insertions(+), 2283 deletions(-) delete mode 100644 Main/migrations/0001_initial.py delete mode 100644 Main/migrations/0002_auto_20200626_0946.py delete mode 100644 Main/migrations/0003_auto_20200627_1959.py delete mode 100644 Main/migrations/0004_auto_20200628_0917.py delete mode 100644 Main/migrations/0005_solution_time_sent.py delete mode 100644 Main/migrations/0006_auto_20200628_1315.py delete mode 100644 Main/migrations/0007_auto_20200629_0833.py delete mode 100644 Main/migrations/0008_auto_20200702_2140.py delete mode 100644 Main/migrations/0009_auto_20200704_1703.py delete mode 100644 Main/migrations/0010_system.py delete mode 100644 Main/migrations/0011_auto_20200814_2035.py delete mode 100644 Main/migrations/0012_auto_20200901_1154.py delete mode 100644 Main/migrations/0013_delete_extrafile.py delete mode 100644 Main/migrations/0014_extrafile.py delete mode 100644 Main/migrations/0015_auto_20200902_1555.py delete mode 100644 Main/migrations/0016_task_max_solutions_count.py delete mode 100644 Main/migrations/0017_solution_details.py delete mode 100644 Main/migrations/0018_remove_extrafile_file.py delete mode 100644 Main/migrations/0019_task_show_details.py delete mode 100644 Main/migrations/0020_task_solution_type.py delete mode 100644 Main/migrations/0021_remove_task_solution_type.py delete mode 100644 Main/migrations/0022_task_full_solution.py delete mode 100644 Main/migrations/0023_extrafile_for_compilation.py delete mode 100644 Main/migrations/0024_extrafile_sample.py delete mode 100644 Main/migrations/0025_auto_20201106_1848.py delete mode 100644 Main/migrations/0026_block_show_rating.py delete mode 100644 Main/migrations/0027_task_mark_formula.py delete mode 100644 Main/migrations/0028_task_show_result.py delete mode 100644 Main/migrations/0029_auto_20210130_1950.py delete mode 100644 Main/migrations/0030_message.py delete mode 100644 Main/migrations/0031_block_cheating_checking.py delete mode 100644 Main/migrations/0032_block_cheating_data.py delete mode 100644 Main/migrations/0033_remove_block_cheating_data.py delete mode 100644 Main/migrations/0034_auto_20210725_1848.py delete mode 100644 Main/migrations/0035_group_users.py delete mode 100644 Main/migrations/0036_auto_20210725_1922.py delete mode 100644 Main/migrations/0037_remove_userinfo_group.py delete mode 100644 Main/migrations/0038_task_creator.py delete mode 100644 Main/migrations/0039_auto_20210731_1850.py delete mode 100644 Main/migrations/0040_auto_20210803_1224.py delete mode 100644 Main/migrations/0041_userinfo_profile_picture.py delete mode 100644 Main/migrations/0042_userinfo_rating.py delete mode 100644 Main/migrations/0043_subscription.py delete mode 100644 Main/migrations/0044_settask.py delete mode 100644 Main/migrations/0045_auto_20210803_1801.py delete mode 100644 Main/migrations/0046_alter_subscription_group.py delete mode 100644 Main/migrations/0047_set_creator.py delete mode 100644 Main/migrations/0048_solution.py delete mode 100644 Main/migrations/0049_language.py delete mode 100644 Main/migrations/0050_solution_language.py delete mode 100644 Main/migrations/0051_language_file_type.py delete mode 100644 Main/migrations/0052_language_logo.py delete mode 100644 Main/migrations/0053_auto_20210809_0032.py delete mode 100644 Main/migrations/0054_extrafile.py delete mode 100644 Main/migrations/0055_extrafile_readable.py delete mode 100644 Main/migrations/0056_remove_extrafile_file.py delete mode 100644 Main/migrations/0057_alter_extrafile_is_test.py delete mode 100644 Main/migrations/0058_extrafile_test_number.py delete mode 100644 Main/migrations/0059_language_image.py delete mode 100644 Main/migrations/0060_language_work_name.py delete mode 100644 Main/migrations/0061_extrafile_is_sample.py delete mode 100644 Main/migrations/0062_progress.py delete mode 100644 Main/migrations/0063_alter_progress_start_time.py delete mode 100644 Main/migrations/0064_auto_20210901_1643.py delete mode 100644 Main/migrations/0065_auto_20210901_1721.py delete mode 100644 Main/migrations/0066_progress_finished.py delete mode 100644 Main/migrations/0067_userinfo_notification_solution_result.py delete mode 100644 Main/migrations/0068_userinfo_telegram_chat_id.py delete mode 100644 Main/migrations/0069_remove_userinfo_telegram_chat_id.py delete mode 100644 Main/migrations/0070_userinfo_telegram_chat_id.py delete mode 100644 Main/migrations/0071_language_highlight.py delete mode 100644 Main/migrations/0072_alter_language_highlight.py delete mode 100644 Main/migrations/0073_auto_20211106_0125.py delete mode 100644 Main/migrations/0074_auto_20211106_1215.py delete mode 100644 Main/migrations/0075_auto_20211110_2317.py delete mode 100644 Main/migrations/0076_auto_20211119_2050.py create mode 100644 Main/models/token.py delete mode 100644 Main/views/RegisterView.py create mode 100644 Main/views/SendCodeView.py delete mode 100644 templates/register.html diff --git a/Main/management/commands/bot.py b/Main/management/commands/bot.py index 5216cd5..fedd341 100644 --- a/Main/management/commands/bot.py +++ b/Main/management/commands/bot.py @@ -1,13 +1,49 @@ import telebot +from django.contrib.auth.models import User from django.core.management.base import BaseCommand +from telebot.types import Message + +from Main.models import UserInfo bot = telebot.TeleBot("1994460106:AAGrGsCZjF6DVG_T-zycELuVfxnWw8x7UyU") @bot.message_handler(commands=["start"]) +def do_action(message: Message): + bot.send_message(message.chat.id, "Привет! Я тут чтобы помогать!\n/register - зарегистрироваться в сервисе\nБольше команд нет:(") + + +@bot.message_handler(commands=["register"]) +def register(message: Message): + username = message.from_user.username + if username == "": + bot.send_message(message.chat.id, "Добавть имя пользователя к своему телеграм аккаунту") + return + ui = UserInfo.objects.filter(telegram_chat_id=message.chat.id).first() + if ui: + bot.send_message(message.chat.id, "Ты уже зарегистрировался") + return + user = User.objects.create(username=username) + UserInfo.objects.create(user=user, telegram_chat_id=message.chat.id) + bot.send_message(message.chat.id, 'Приветствую в Sprint! Сейчас я помогу тебе создать аккаунт.\nДля начала отправь мне свою фамилию') + + @bot.message_handler(content_types=["text"]) -def do_action(message): - bot.send_message(chat_id=message.chat.id, text=f"ID чата: {message.chat.id}") +def do_action(message: Message): + user = User.objects.filter(userinfo__telegram_chat_id=message.chat.id).first() + if not user: + bot.send_message(message.chat.id, "Зарегистрируйся в сервисе, чтобы взаимодействовать со мной") + return + if user.userinfo.surname is None: + user.userinfo.surname = message.text + user.userinfo.save() + bot.send_message(message.chat.id, "Отлично! Теперь отправь мне свое имя") + elif user.userinfo.name is None: + user.userinfo.name = message.text + user.userinfo.save() + bot.send_message(message.chat.id, f"Регистрация завершена! Теперь можешь ты можешь войти в сервис под именем пользователя: {user.username}") + else: + bot.send_message(message.chat.id, "Я пока больше ничего не умею") class Command(BaseCommand): diff --git a/Main/migrations/0001_initial.py b/Main/migrations/0001_initial.py deleted file mode 100644 index 1426f5e..0000000 --- a/Main/migrations/0001_initial.py +++ /dev/null @@ -1,215 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-25 20:11 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name="Block", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.TextField()), - ("time_start", models.DateTimeField()), - ("time_end", models.DateTimeField()), - ("opened", models.IntegerField()), - ], - ), - migrations.CreateModel( - name="Course", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.TextField()), - ], - ), - migrations.CreateModel( - name="UserInfo", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("surname", models.TextField()), - ("name", models.TextField()), - ("middle_name", models.TextField()), - ("group_name", models.TextField()), - ( - "user", - models.OneToOneField( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.CreateModel( - name="Task", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.TextField()), - ("legend", models.TextField()), - ("input", models.TextField()), - ("output", models.TextField()), - ("specifications", models.TextField()), - ("time_limit", models.IntegerField()), - ( - "block", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.Block" - ), - ), - ], - ), - migrations.CreateModel( - name="Subscribe", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("is_assistant", models.IntegerField()), - ( - "course", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.Course" - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.CreateModel( - name="Solution", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("result", models.TextField()), - ( - "task", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.Task" - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.CreateModel( - name="Restore", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("code", models.TextField()), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.CreateModel( - name="Mark", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("mark", models.IntegerField()), - ( - "block", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.Block" - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AddField( - model_name="block", - name="course", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.Course" - ), - ), - ] diff --git a/Main/migrations/0002_auto_20200626_0946.py b/Main/migrations/0002_auto_20200626_0946.py deleted file mode 100644 index ef28d9e..0000000 --- a/Main/migrations/0002_auto_20200626_0946.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-26 09:46 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0001_initial"), - ] - - operations = [ - migrations.RenameField( - model_name="userinfo", - old_name="group_name", - new_name="group", - ), - ] diff --git a/Main/migrations/0003_auto_20200627_1959.py b/Main/migrations/0003_auto_20200627_1959.py deleted file mode 100644 index bc2bb3f..0000000 --- a/Main/migrations/0003_auto_20200627_1959.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-27 19:59 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0002_auto_20200626_0946"), - ] - - operations = [ - migrations.AlterField( - model_name="subscribe", - name="is_assistant", - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0004_auto_20200628_0917.py b/Main/migrations/0004_auto_20200628_0917.py deleted file mode 100644 index eb5cf58..0000000 --- a/Main/migrations/0004_auto_20200628_0917.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-28 09:17 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0003_auto_20200627_1959"), - ] - - operations = [ - migrations.AlterField( - model_name="task", - name="input", - field=models.TextField(default=""), - ), - migrations.AlterField( - model_name="task", - name="legend", - field=models.TextField(default=""), - ), - migrations.AlterField( - model_name="task", - name="output", - field=models.TextField(default=""), - ), - migrations.AlterField( - model_name="task", - name="specifications", - field=models.TextField(default=""), - ), - migrations.AlterField( - model_name="task", - name="time_limit", - field=models.IntegerField(default=10000), - ), - ] diff --git a/Main/migrations/0005_solution_time_sent.py b/Main/migrations/0005_solution_time_sent.py deleted file mode 100644 index 8b651f0..0000000 --- a/Main/migrations/0005_solution_time_sent.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-28 10:28 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0004_auto_20200628_0917"), - ] - - operations = [ - migrations.AddField( - model_name="solution", - name="time_sent", - field=models.DateTimeField(null=True), - ), - ] diff --git a/Main/migrations/0006_auto_20200628_1315.py b/Main/migrations/0006_auto_20200628_1315.py deleted file mode 100644 index ee2160a..0000000 --- a/Main/migrations/0006_auto_20200628_1315.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-28 13:15 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0005_solution_time_sent"), - ] - - operations = [ - migrations.AlterField( - model_name="solution", - name="user", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.UserInfo" - ), - ), - ] diff --git a/Main/migrations/0007_auto_20200629_0833.py b/Main/migrations/0007_auto_20200629_0833.py deleted file mode 100644 index ab22e73..0000000 --- a/Main/migrations/0007_auto_20200629_0833.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.0.2 on 2020-06-29 08:33 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("Main", "0006_auto_20200628_1315"), - ] - - operations = [ - migrations.AlterField( - model_name="solution", - name="user", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL - ), - ), - ] diff --git a/Main/migrations/0008_auto_20200702_2140.py b/Main/migrations/0008_auto_20200702_2140.py deleted file mode 100644 index dafcde1..0000000 --- a/Main/migrations/0008_auto_20200702_2140.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.0.2 on 2020-07-02 18:40 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0007_auto_20200629_0833"), - ] - - operations = [ - migrations.AddField( - model_name="userinfo", - name="mark_notification", - field=models.IntegerField(default=0), - ), - migrations.AddField( - model_name="userinfo", - name="new_block_notification", - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0009_auto_20200704_1703.py b/Main/migrations/0009_auto_20200704_1703.py deleted file mode 100644 index ea8fef1..0000000 --- a/Main/migrations/0009_auto_20200704_1703.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.0.2 on 2020-07-04 14:03 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0008_auto_20200702_2140"), - ] - - operations = [ - migrations.AddField( - model_name="solution", - name="comment", - field=models.TextField(default=""), - ), - migrations.AddField( - model_name="solution", - name="mark", - field=models.IntegerField(null=True), - ), - ] diff --git a/Main/migrations/0010_system.py b/Main/migrations/0010_system.py deleted file mode 100644 index a87213f..0000000 --- a/Main/migrations/0010_system.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.0.2 on 2020-07-24 10:08 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0009_auto_20200704_1703"), - ] - - operations = [ - migrations.CreateModel( - name="System", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("key", models.TextField()), - ("value", models.TextField()), - ], - ), - ] diff --git a/Main/migrations/0011_auto_20200814_2035.py b/Main/migrations/0011_auto_20200814_2035.py deleted file mode 100644 index a936c83..0000000 --- a/Main/migrations/0011_auto_20200814_2035.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 3.0.2 on 2020-08-14 17:35 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0010_system"), - ] - - operations = [ - migrations.CreateModel( - name="ThreadSafe", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("key", models.CharField(max_length=80, unique=True)), - ], - ), - migrations.DeleteModel( - name="Mark", - ), - ] diff --git a/Main/migrations/0012_auto_20200901_1154.py b/Main/migrations/0012_auto_20200901_1154.py deleted file mode 100644 index e267a3d..0000000 --- a/Main/migrations/0012_auto_20200901_1154.py +++ /dev/null @@ -1,40 +0,0 @@ -# Generated by Django 3.1 on 2020-09-01 08:54 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0011_auto_20200814_2035"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="weight", - field=models.FloatField(default=1.0), - ), - migrations.CreateModel( - name="ExtraFile", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("file", models.FileField(upload_to="")), - ( - "task", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.task" - ), - ), - ], - ), - ] diff --git a/Main/migrations/0013_delete_extrafile.py b/Main/migrations/0013_delete_extrafile.py deleted file mode 100644 index 3239636..0000000 --- a/Main/migrations/0013_delete_extrafile.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 3.1 on 2020-09-01 09:11 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0012_auto_20200901_1154"), - ] - - operations = [ - migrations.DeleteModel( - name="ExtraFile", - ), - ] diff --git a/Main/migrations/0014_extrafile.py b/Main/migrations/0014_extrafile.py deleted file mode 100644 index 9f05ea8..0000000 --- a/Main/migrations/0014_extrafile.py +++ /dev/null @@ -1,36 +0,0 @@ -# Generated by Django 3.1 on 2020-09-01 09:12 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0013_delete_extrafile"), - ] - - operations = [ - migrations.CreateModel( - name="ExtraFile", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("file", models.FileField(upload_to="")), - ("filename", models.TextField()), - ( - "task", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.task" - ), - ), - ], - ), - ] diff --git a/Main/migrations/0015_auto_20200902_1555.py b/Main/migrations/0015_auto_20200902_1555.py deleted file mode 100644 index ff5cf56..0000000 --- a/Main/migrations/0015_auto_20200902_1555.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.1 on 2020-09-02 12:55 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0014_extrafile"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="max_mark", - field=models.IntegerField(default=10), - ), - migrations.AlterField( - model_name="extrafile", - name="file", - field=models.FileField(upload_to="data\\extra_files"), - ), - ] diff --git a/Main/migrations/0016_task_max_solutions_count.py b/Main/migrations/0016_task_max_solutions_count.py deleted file mode 100644 index 00c3623..0000000 --- a/Main/migrations/0016_task_max_solutions_count.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-09-02 13:13 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0015_auto_20200902_1555"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="max_solutions_count", - field=models.IntegerField(default=10), - ), - ] diff --git a/Main/migrations/0017_solution_details.py b/Main/migrations/0017_solution_details.py deleted file mode 100644 index fd78408..0000000 --- a/Main/migrations/0017_solution_details.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-09-05 12:45 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0016_task_max_solutions_count"), - ] - - operations = [ - migrations.AddField( - model_name="solution", - name="details", - field=models.TextField(default=""), - ), - ] diff --git a/Main/migrations/0018_remove_extrafile_file.py b/Main/migrations/0018_remove_extrafile_file.py deleted file mode 100644 index f23573f..0000000 --- a/Main/migrations/0018_remove_extrafile_file.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.1 on 2020-09-17 08:45 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0017_solution_details"), - ] - - operations = [ - migrations.RemoveField( - model_name="extrafile", - name="file", - ), - ] diff --git a/Main/migrations/0019_task_show_details.py b/Main/migrations/0019_task_show_details.py deleted file mode 100644 index 48236ae..0000000 --- a/Main/migrations/0019_task_show_details.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-09-17 09:43 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0018_remove_extrafile_file"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="show_details", - field=models.IntegerField(default=1), - ), - ] diff --git a/Main/migrations/0020_task_solution_type.py b/Main/migrations/0020_task_solution_type.py deleted file mode 100644 index 5e5f313..0000000 --- a/Main/migrations/0020_task_solution_type.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-10-08 08:57 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0019_task_show_details"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="solution_type", - field=models.TextField(default="Solution"), - ), - ] diff --git a/Main/migrations/0021_remove_task_solution_type.py b/Main/migrations/0021_remove_task_solution_type.py deleted file mode 100644 index cea7f13..0000000 --- a/Main/migrations/0021_remove_task_solution_type.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.1 on 2020-10-08 10:20 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0020_task_solution_type"), - ] - - operations = [ - migrations.RemoveField( - model_name="task", - name="solution_type", - ), - ] diff --git a/Main/migrations/0022_task_full_solution.py b/Main/migrations/0022_task_full_solution.py deleted file mode 100644 index 46b067e..0000000 --- a/Main/migrations/0022_task_full_solution.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-10-22 14:28 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0021_remove_task_solution_type"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="full_solution", - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0023_extrafile_for_compilation.py b/Main/migrations/0023_extrafile_for_compilation.py deleted file mode 100644 index f5987b8..0000000 --- a/Main/migrations/0023_extrafile_for_compilation.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-11-01 19:37 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0022_task_full_solution"), - ] - - operations = [ - migrations.AddField( - model_name="extrafile", - name="for_compilation", - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0024_extrafile_sample.py b/Main/migrations/0024_extrafile_sample.py deleted file mode 100644 index 524288c..0000000 --- a/Main/migrations/0024_extrafile_sample.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1 on 2020-11-06 08:36 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0023_extrafile_for_compilation"), - ] - - operations = [ - migrations.AddField( - model_name="extrafile", - name="sample", - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0025_auto_20201106_1848.py b/Main/migrations/0025_auto_20201106_1848.py deleted file mode 100644 index df9790e..0000000 --- a/Main/migrations/0025_auto_20201106_1848.py +++ /dev/null @@ -1,51 +0,0 @@ -# Generated by Django 3.1 on 2020-11-06 15:48 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0024_extrafile_sample"), - ] - - operations = [ - migrations.RemoveField( - model_name="userinfo", - name="mark_notification", - ), - migrations.RemoveField( - model_name="userinfo", - name="new_block_notification", - ), - migrations.AlterField( - model_name="block", - name="opened", - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name="extrafile", - name="for_compilation", - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name="extrafile", - name="sample", - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name="subscribe", - name="is_assistant", - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name="task", - name="full_solution", - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name="task", - name="show_details", - field=models.BooleanField(default=False), - ), - ] diff --git a/Main/migrations/0026_block_show_rating.py b/Main/migrations/0026_block_show_rating.py deleted file mode 100644 index c0e6b67..0000000 --- a/Main/migrations/0026_block_show_rating.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.3 on 2020-12-01 08:29 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0025_auto_20201106_1848"), - ] - - operations = [ - migrations.AddField( - model_name="block", - name="show_rating", - field=models.BooleanField(default=True), - ), - ] diff --git a/Main/migrations/0027_task_mark_formula.py b/Main/migrations/0027_task_mark_formula.py deleted file mode 100644 index faf0380..0000000 --- a/Main/migrations/0027_task_mark_formula.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.3 on 2020-12-26 13:21 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0026_block_show_rating"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="mark_formula", - field=models.TextField(default="None"), - ), - ] diff --git a/Main/migrations/0028_task_show_result.py b/Main/migrations/0028_task_show_result.py deleted file mode 100644 index e4952b4..0000000 --- a/Main/migrations/0028_task_show_result.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.3 on 2021-01-01 09:15 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0027_task_mark_formula"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="show_result", - field=models.BooleanField(default=True), - ), - ] diff --git a/Main/migrations/0029_auto_20210130_1950.py b/Main/migrations/0029_auto_20210130_1950.py deleted file mode 100644 index 07101e9..0000000 --- a/Main/migrations/0029_auto_20210130_1950.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.1.3 on 2021-01-30 16:50 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0028_task_show_result"), - ] - - operations = [ - migrations.AddField( - model_name="block", - name="priority", - field=models.IntegerField(default=5), - ), - migrations.AddField( - model_name="task", - name="priority", - field=models.IntegerField(default=5), - ), - ] diff --git a/Main/migrations/0030_message.py b/Main/migrations/0030_message.py deleted file mode 100644 index 43d14f2..0000000 --- a/Main/migrations/0030_message.py +++ /dev/null @@ -1,54 +0,0 @@ -# Generated by Django 3.1.3 on 2021-02-06 21:17 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("Main", "0029_auto_20210130_1950"), - ] - - operations = [ - migrations.CreateModel( - name="Message", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("for_all", models.BooleanField()), - ("text", models.TextField()), - ( - "reply_to", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="Main.message", - ), - ), - ( - "sender", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ( - "task", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.task" - ), - ), - ], - ), - ] diff --git a/Main/migrations/0031_block_cheating_checking.py b/Main/migrations/0031_block_cheating_checking.py deleted file mode 100644 index 4e2792f..0000000 --- a/Main/migrations/0031_block_cheating_checking.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.3 on 2021-03-13 08:06 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0030_message"), - ] - - operations = [ - migrations.AddField( - model_name="block", - name="cheating_checking", - field=models.BooleanField(default=False), - ), - ] diff --git a/Main/migrations/0032_block_cheating_data.py b/Main/migrations/0032_block_cheating_data.py deleted file mode 100644 index b49f154..0000000 --- a/Main/migrations/0032_block_cheating_data.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.3 on 2021-03-14 12:38 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0031_block_cheating_checking"), - ] - - operations = [ - migrations.AddField( - model_name="block", - name="cheating_data", - field=models.TextField(default="[]"), - ), - ] diff --git a/Main/migrations/0033_remove_block_cheating_data.py b/Main/migrations/0033_remove_block_cheating_data.py deleted file mode 100644 index d93e04a..0000000 --- a/Main/migrations/0033_remove_block_cheating_data.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.1.3 on 2021-03-14 13:15 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0032_block_cheating_data"), - ] - - operations = [ - migrations.RemoveField( - model_name="block", - name="cheating_data", - ), - ] diff --git a/Main/migrations/0034_auto_20210725_1848.py b/Main/migrations/0034_auto_20210725_1848.py deleted file mode 100644 index c2e4f83..0000000 --- a/Main/migrations/0034_auto_20210725_1848.py +++ /dev/null @@ -1,152 +0,0 @@ -# Generated by Django 3.2.5 on 2021-07-25 15:48 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0033_remove_block_cheating_data"), - ] - - operations = [ - migrations.CreateModel( - name="Set", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.TextField()), - ], - ), - migrations.RenameModel( - old_name="Course", - new_name="Group", - ), - migrations.RemoveField( - model_name="block", - name="course", - ), - migrations.RemoveField( - model_name="extrafile", - name="task", - ), - migrations.RemoveField( - model_name="message", - name="reply_to", - ), - migrations.RemoveField( - model_name="message", - name="sender", - ), - migrations.RemoveField( - model_name="message", - name="task", - ), - migrations.RemoveField( - model_name="restore", - name="user", - ), - migrations.RemoveField( - model_name="solution", - name="task", - ), - migrations.RemoveField( - model_name="solution", - name="user", - ), - migrations.RemoveField( - model_name="subscribe", - name="course", - ), - migrations.RemoveField( - model_name="subscribe", - name="user", - ), - migrations.DeleteModel( - name="System", - ), - migrations.DeleteModel( - name="ThreadSafe", - ), - migrations.RemoveField( - model_name="task", - name="block", - ), - migrations.RemoveField( - model_name="task", - name="full_solution", - ), - migrations.RemoveField( - model_name="task", - name="input", - ), - migrations.RemoveField( - model_name="task", - name="legend", - ), - migrations.RemoveField( - model_name="task", - name="mark_formula", - ), - migrations.RemoveField( - model_name="task", - name="max_mark", - ), - migrations.RemoveField( - model_name="task", - name="max_solutions_count", - ), - migrations.RemoveField( - model_name="task", - name="output", - ), - migrations.RemoveField( - model_name="task", - name="priority", - ), - migrations.RemoveField( - model_name="task", - name="show_details", - ), - migrations.RemoveField( - model_name="task", - name="show_result", - ), - migrations.RemoveField( - model_name="task", - name="specifications", - ), - migrations.RemoveField( - model_name="task", - name="time_limit", - ), - migrations.RemoveField( - model_name="task", - name="weight", - ), - migrations.DeleteModel( - name="Block", - ), - migrations.DeleteModel( - name="ExtraFile", - ), - migrations.DeleteModel( - name="Message", - ), - migrations.DeleteModel( - name="Restore", - ), - migrations.DeleteModel( - name="Solution", - ), - migrations.DeleteModel( - name="Subscribe", - ), - ] diff --git a/Main/migrations/0035_group_users.py b/Main/migrations/0035_group_users.py deleted file mode 100644 index 964bd54..0000000 --- a/Main/migrations/0035_group_users.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.2.5 on 2021-07-25 16:10 - -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("Main", "0034_auto_20210725_1848"), - ] - - operations = [ - migrations.AddField( - model_name="group", - name="users", - field=models.ManyToManyField(to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/Main/migrations/0036_auto_20210725_1922.py b/Main/migrations/0036_auto_20210725_1922.py deleted file mode 100644 index 2610160..0000000 --- a/Main/migrations/0036_auto_20210725_1922.py +++ /dev/null @@ -1,43 +0,0 @@ -# Generated by Django 3.2.5 on 2021-07-25 16:22 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0035_group_users"), - ] - - operations = [ - migrations.AddField( - model_name="set", - name="tasks", - field=models.ManyToManyField(to="Main.Task"), - ), - migrations.AddField( - model_name="task", - name="input_format", - field=models.TextField(default=""), - ), - migrations.AddField( - model_name="task", - name="legend", - field=models.TextField(default=""), - ), - migrations.AddField( - model_name="task", - name="output_format", - field=models.TextField(default=""), - ), - migrations.AddField( - model_name="task", - name="public", - field=models.BooleanField(default=False), - ), - migrations.AddField( - model_name="task", - name="specifications", - field=models.TextField(default=""), - ), - ] diff --git a/Main/migrations/0037_remove_userinfo_group.py b/Main/migrations/0037_remove_userinfo_group.py deleted file mode 100644 index 6140466..0000000 --- a/Main/migrations/0037_remove_userinfo_group.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.2.5 on 2021-07-25 18:02 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0036_auto_20210725_1922"), - ] - - operations = [ - migrations.RemoveField( - model_name="userinfo", - name="group", - ), - ] diff --git a/Main/migrations/0038_task_creator.py b/Main/migrations/0038_task_creator.py deleted file mode 100644 index 70d50e6..0000000 --- a/Main/migrations/0038_task_creator.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.5 on 2021-07-25 18:05 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("Main", "0037_remove_userinfo_group"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="creator", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - ), - ), - ] diff --git a/Main/migrations/0039_auto_20210731_1850.py b/Main/migrations/0039_auto_20210731_1850.py deleted file mode 100644 index 5b6f015..0000000 --- a/Main/migrations/0039_auto_20210731_1850.py +++ /dev/null @@ -1,46 +0,0 @@ -# Generated by Django 3.2.5 on 2021-07-31 15:50 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0038_task_creator"), - ] - - operations = [ - migrations.AddField( - model_name="task", - name="time_limit", - field=models.IntegerField(default=10000), - ), - migrations.AlterField( - model_name="group", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="set", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="task", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - migrations.AlterField( - model_name="userinfo", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - ] diff --git a/Main/migrations/0040_auto_20210803_1224.py b/Main/migrations/0040_auto_20210803_1224.py deleted file mode 100644 index b50e060..0000000 --- a/Main/migrations/0040_auto_20210803_1224.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 09:24 - -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0039_auto_20210731_1850"), - ] - - operations = [ - migrations.AddField( - model_name="userinfo", - name="last_request", - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.CreateModel( - name="File", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.TextField()), - ( - "task", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.task" - ), - ), - ], - ), - ] diff --git a/Main/migrations/0041_userinfo_profile_picture.py b/Main/migrations/0041_userinfo_profile_picture.py deleted file mode 100644 index ab424bc..0000000 --- a/Main/migrations/0041_userinfo_profile_picture.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 11:09 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0040_auto_20210803_1224"), - ] - - operations = [ - migrations.AddField( - model_name="userinfo", - name="profile_picture", - field=models.ImageField(null=True, upload_to="profile_pictures"), - ), - ] diff --git a/Main/migrations/0042_userinfo_rating.py b/Main/migrations/0042_userinfo_rating.py deleted file mode 100644 index 47b8d51..0000000 --- a/Main/migrations/0042_userinfo_rating.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 11:34 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0041_userinfo_profile_picture"), - ] - - operations = [ - migrations.AddField( - model_name="userinfo", - name="rating", - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0043_subscription.py b/Main/migrations/0043_subscription.py deleted file mode 100644 index 0981335..0000000 --- a/Main/migrations/0043_subscription.py +++ /dev/null @@ -1,44 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 13:51 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("Main", "0042_userinfo_rating"), - ] - - operations = [ - migrations.CreateModel( - name="Subscription", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("role", models.IntegerField()), - ( - "group", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.group" - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - ] diff --git a/Main/migrations/0044_settask.py b/Main/migrations/0044_settask.py deleted file mode 100644 index f1cee0d..0000000 --- a/Main/migrations/0044_settask.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 13:55 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0043_subscription"), - ] - - operations = [ - migrations.CreateModel( - name="SetTask", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("name", models.CharField(max_length=2)), - ( - "set", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.set" - ), - ), - ( - "task", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="Main.task" - ), - ), - ], - ), - ] diff --git a/Main/migrations/0045_auto_20210803_1801.py b/Main/migrations/0045_auto_20210803_1801.py deleted file mode 100644 index e5426bc..0000000 --- a/Main/migrations/0045_auto_20210803_1801.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 15:01 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0044_settask"), - ] - - operations = [ - migrations.RemoveField( - model_name="group", - name="users", - ), - migrations.RemoveField( - model_name="set", - name="tasks", - ), - migrations.AddField( - model_name="group", - name="sets", - field=models.ManyToManyField(to="Main.Set"), - ), - migrations.AddField( - model_name="set", - name="public", - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name="settask", - name="task", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="settasks", - to="Main.task", - ), - ), - ] diff --git a/Main/migrations/0046_alter_subscription_group.py b/Main/migrations/0046_alter_subscription_group.py deleted file mode 100644 index 99cfd8c..0000000 --- a/Main/migrations/0046_alter_subscription_group.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-03 15:07 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("Main", "0045_auto_20210803_1801"), - ] - - operations = [ - migrations.AlterField( - model_name="subscription", - name="group", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="subscriptions", - to="Main.group", - ), - ), - ] diff --git a/Main/migrations/0047_set_creator.py b/Main/migrations/0047_set_creator.py deleted file mode 100644 index f41431c..0000000 --- a/Main/migrations/0047_set_creator.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-06 09:34 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("Main", "0046_alter_subscription_group"), - ] - - operations = [ - migrations.AddField( - model_name="set", - name="creator", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - ), - ), - ] diff --git a/Main/migrations/0048_solution.py b/Main/migrations/0048_solution.py deleted file mode 100644 index e8b6948..0000000 --- a/Main/migrations/0048_solution.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 19:19 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('Main', '0047_set_creator'), - ] - - operations = [ - migrations.CreateModel( - name='Solution', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('time_sent', models.DateTimeField(default=django.utils.timezone.now)), - ('result', models.TextField(default='In queue')), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Main.task')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/Main/migrations/0049_language.py b/Main/migrations/0049_language.py deleted file mode 100644 index 5ab321e..0000000 --- a/Main/migrations/0049_language.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 19:27 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0048_solution'), - ] - - operations = [ - migrations.CreateModel( - name='Language', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.TextField()), - ], - ), - ] diff --git a/Main/migrations/0050_solution_language.py b/Main/migrations/0050_solution_language.py deleted file mode 100644 index e3162eb..0000000 --- a/Main/migrations/0050_solution_language.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 19:29 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0049_language'), - ] - - operations = [ - migrations.AddField( - model_name='solution', - name='language', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='Main.language'), - ), - ] diff --git a/Main/migrations/0051_language_file_type.py b/Main/migrations/0051_language_file_type.py deleted file mode 100644 index 6c68510..0000000 --- a/Main/migrations/0051_language_file_type.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 20:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0050_solution_language'), - ] - - operations = [ - migrations.AddField( - model_name='language', - name='file_type', - field=models.TextField(null=True), - ), - ] diff --git a/Main/migrations/0052_language_logo.py b/Main/migrations/0052_language_logo.py deleted file mode 100644 index dff987b..0000000 --- a/Main/migrations/0052_language_logo.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 21:00 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0051_language_file_type'), - ] - - operations = [ - migrations.AddField( - model_name='language', - name='logo', - field=models.ImageField(null=True, upload_to=''), - ), - ] diff --git a/Main/migrations/0053_auto_20210809_0032.py b/Main/migrations/0053_auto_20210809_0032.py deleted file mode 100644 index a672677..0000000 --- a/Main/migrations/0053_auto_20210809_0032.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 21:32 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0052_language_logo'), - ] - - operations = [ - migrations.AddField( - model_name='language', - name='opened', - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name='language', - name='logo', - field=models.ImageField(null=True, upload_to='logos'), - ), - ] diff --git a/Main/migrations/0054_extrafile.py b/Main/migrations/0054_extrafile.py deleted file mode 100644 index b43d716..0000000 --- a/Main/migrations/0054_extrafile.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 22:17 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0053_auto_20210809_0032'), - ] - - operations = [ - migrations.CreateModel( - name='ExtraFile', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('filename', models.TextField()), - ('is_test', models.BooleanField()), - ('file', models.FileField(upload_to='files')), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Main.task')), - ], - ), - ] diff --git a/Main/migrations/0055_extrafile_readable.py b/Main/migrations/0055_extrafile_readable.py deleted file mode 100644 index 39f826c..0000000 --- a/Main/migrations/0055_extrafile_readable.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-08 22:22 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0054_extrafile'), - ] - - operations = [ - migrations.AddField( - model_name='extrafile', - name='readable', - field=models.BooleanField(null=True), - ), - ] diff --git a/Main/migrations/0056_remove_extrafile_file.py b/Main/migrations/0056_remove_extrafile_file.py deleted file mode 100644 index cb5fb9b..0000000 --- a/Main/migrations/0056_remove_extrafile_file.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-09 07:08 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0055_extrafile_readable'), - ] - - operations = [ - migrations.RemoveField( - model_name='extrafile', - name='file', - ), - ] diff --git a/Main/migrations/0057_alter_extrafile_is_test.py b/Main/migrations/0057_alter_extrafile_is_test.py deleted file mode 100644 index a39df83..0000000 --- a/Main/migrations/0057_alter_extrafile_is_test.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-13 12:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0056_remove_extrafile_file'), - ] - - operations = [ - migrations.AlterField( - model_name='extrafile', - name='is_test', - field=models.BooleanField(null=True), - ), - ] diff --git a/Main/migrations/0058_extrafile_test_number.py b/Main/migrations/0058_extrafile_test_number.py deleted file mode 100644 index ccf9b43..0000000 --- a/Main/migrations/0058_extrafile_test_number.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-13 12:49 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0057_alter_extrafile_is_test'), - ] - - operations = [ - migrations.AddField( - model_name='extrafile', - name='test_number', - field=models.IntegerField(null=True), - ), - ] diff --git a/Main/migrations/0059_language_image.py b/Main/migrations/0059_language_image.py deleted file mode 100644 index 00a8b37..0000000 --- a/Main/migrations/0059_language_image.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-16 14:05 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0058_extrafile_test_number'), - ] - - operations = [ - migrations.AddField( - model_name='language', - name='image', - field=models.TextField(default='ubuntu'), - ), - ] diff --git a/Main/migrations/0060_language_work_name.py b/Main/migrations/0060_language_work_name.py deleted file mode 100644 index e74085e..0000000 --- a/Main/migrations/0060_language_work_name.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.5 on 2021-08-17 07:38 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0059_language_image'), - ] - - operations = [ - migrations.AddField( - model_name='language', - name='work_name', - field=models.TextField(default=''), - ), - ] diff --git a/Main/migrations/0061_extrafile_is_sample.py b/Main/migrations/0061_extrafile_is_sample.py deleted file mode 100644 index 049243e..0000000 --- a/Main/migrations/0061_extrafile_is_sample.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 08:25 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0060_language_work_name'), - ] - - operations = [ - migrations.AddField( - model_name='extrafile', - name='is_sample', - field=models.BooleanField(null=True), - ), - ] diff --git a/Main/migrations/0062_progress.py b/Main/migrations/0062_progress.py deleted file mode 100644 index ed1c4fb..0000000 --- a/Main/migrations/0062_progress.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 09:25 - -import datetime -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('Main', '0061_extrafile_is_sample'), - ] - - operations = [ - migrations.CreateModel( - name='Progress', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('start_time', models.DateTimeField(default=datetime.datetime.now)), - ('finished_time', models.DateTimeField(null=True)), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Main.task')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/Main/migrations/0063_alter_progress_start_time.py b/Main/migrations/0063_alter_progress_start_time.py deleted file mode 100644 index d7913c2..0000000 --- a/Main/migrations/0063_alter_progress_start_time.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 09:26 - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0062_progress'), - ] - - operations = [ - migrations.AlterField( - model_name='progress', - name='start_time', - field=models.DateTimeField(default=django.utils.timezone.now), - ), - ] diff --git a/Main/migrations/0064_auto_20210901_1643.py b/Main/migrations/0064_auto_20210901_1643.py deleted file mode 100644 index 8c319cf..0000000 --- a/Main/migrations/0064_auto_20210901_1643.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 13:43 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0063_alter_progress_start_time'), - ] - - operations = [ - migrations.RemoveField( - model_name='userinfo', - name='rating', - ), - migrations.AddField( - model_name='progress', - name='score', - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0065_auto_20210901_1721.py b/Main/migrations/0065_auto_20210901_1721.py deleted file mode 100644 index 0f87f6e..0000000 --- a/Main/migrations/0065_auto_20210901_1721.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 14:21 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0064_auto_20210901_1643'), - ] - - operations = [ - migrations.AddField( - model_name='task', - name='time_estimation', - field=models.IntegerField(default=5), - ), - migrations.AddField( - model_name='userinfo', - name='rating', - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0066_progress_finished.py b/Main/migrations/0066_progress_finished.py deleted file mode 100644 index a1bcc35..0000000 --- a/Main/migrations/0066_progress_finished.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 14:33 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0065_auto_20210901_1721'), - ] - - operations = [ - migrations.AddField( - model_name='progress', - name='finished', - field=models.BooleanField(default=False), - ), - ] diff --git a/Main/migrations/0067_userinfo_notification_solution_result.py b/Main/migrations/0067_userinfo_notification_solution_result.py deleted file mode 100644 index b7111df..0000000 --- a/Main/migrations/0067_userinfo_notification_solution_result.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-01 19:19 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0066_progress_finished'), - ] - - operations = [ - migrations.AddField( - model_name='userinfo', - name='notification_solution_result', - field=models.BooleanField(default=False), - ), - ] diff --git a/Main/migrations/0068_userinfo_telegram_chat_id.py b/Main/migrations/0068_userinfo_telegram_chat_id.py deleted file mode 100644 index f4e94a9..0000000 --- a/Main/migrations/0068_userinfo_telegram_chat_id.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-02 06:33 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0067_userinfo_notification_solution_result'), - ] - - operations = [ - migrations.AddField( - model_name='userinfo', - name='telegram_chat_id', - field=models.IntegerField(null=True), - ), - ] diff --git a/Main/migrations/0069_remove_userinfo_telegram_chat_id.py b/Main/migrations/0069_remove_userinfo_telegram_chat_id.py deleted file mode 100644 index f834081..0000000 --- a/Main/migrations/0069_remove_userinfo_telegram_chat_id.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-02 06:36 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0068_userinfo_telegram_chat_id'), - ] - - operations = [ - migrations.RemoveField( - model_name='userinfo', - name='telegram_chat_id', - ), - ] diff --git a/Main/migrations/0070_userinfo_telegram_chat_id.py b/Main/migrations/0070_userinfo_telegram_chat_id.py deleted file mode 100644 index 5632017..0000000 --- a/Main/migrations/0070_userinfo_telegram_chat_id.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-02 06:37 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0069_remove_userinfo_telegram_chat_id'), - ] - - operations = [ - migrations.AddField( - model_name='userinfo', - name='telegram_chat_id', - field=models.TextField(default=''), - ), - ] diff --git a/Main/migrations/0071_language_highlight.py b/Main/migrations/0071_language_highlight.py deleted file mode 100644 index bcfb0bd..0000000 --- a/Main/migrations/0071_language_highlight.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-02 08:58 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0070_userinfo_telegram_chat_id'), - ] - - operations = [ - migrations.AddField( - model_name='language', - name='highlight', - field=models.TextField(default='nohighlight'), - ), - ] diff --git a/Main/migrations/0072_alter_language_highlight.py b/Main/migrations/0072_alter_language_highlight.py deleted file mode 100644 index 8f4d9f1..0000000 --- a/Main/migrations/0072_alter_language_highlight.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.4 on 2021-09-02 09:03 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0071_language_highlight'), - ] - - operations = [ - migrations.AlterField( - model_name='language', - name='highlight', - field=models.TextField(default='plaintext'), - ), - ] diff --git a/Main/migrations/0073_auto_20211106_0125.py b/Main/migrations/0073_auto_20211106_0125.py deleted file mode 100644 index 9a87bc4..0000000 --- a/Main/migrations/0073_auto_20211106_0125.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.4 on 2021-11-05 22:25 - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0072_alter_language_highlight'), - ] - - operations = [ - migrations.AddField( - model_name='set', - name='end_time', - field=models.DateTimeField(default=django.utils.timezone.now), - ), - migrations.AddField( - model_name='set', - name='opened', - field=models.BooleanField(default=False), - ), - migrations.AddField( - model_name='set', - name='start_time', - field=models.DateTimeField(default=django.utils.timezone.now), - ), - ] diff --git a/Main/migrations/0074_auto_20211106_1215.py b/Main/migrations/0074_auto_20211106_1215.py deleted file mode 100644 index 1d4fefe..0000000 --- a/Main/migrations/0074_auto_20211106_1215.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.4 on 2021-11-06 09:15 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0073_auto_20211106_0125'), - ] - - operations = [ - migrations.RemoveField( - model_name='solution', - name='language', - ), - migrations.AddField( - model_name='solution', - name='language_id', - field=models.IntegerField(default=0), - ), - ] diff --git a/Main/migrations/0075_auto_20211110_2317.py b/Main/migrations/0075_auto_20211110_2317.py deleted file mode 100644 index 0c4d95d..0000000 --- a/Main/migrations/0075_auto_20211110_2317.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 3.2.4 on 2021-11-10 20:17 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0074_auto_20211106_1215'), - ] - - operations = [ - migrations.CreateModel( - name='SolutionFile', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('path', models.TextField()), - ('fs_id', models.IntegerField()), - ('solution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Main.solution')), - ], - ), - migrations.DeleteModel( - name='Language', - ), - migrations.AddField( - model_name='extrafile', - name='fs_id', - field=models.IntegerField(null=True), - ), - ] diff --git a/Main/migrations/0076_auto_20211119_2050.py b/Main/migrations/0076_auto_20211119_2050.py deleted file mode 100644 index c878569..0000000 --- a/Main/migrations/0076_auto_20211119_2050.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 3.2.4 on 2021-11-19 17:50 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('Main', '0075_auto_20211110_2317'), - ] - - operations = [ - migrations.RemoveField( - model_name='userinfo', - name='profile_picture', - ), - migrations.AddField( - model_name='userinfo', - name='profile_picture_fs_id', - field=models.IntegerField(null=True), - ), - ] diff --git a/Main/models/token.py b/Main/models/token.py new file mode 100644 index 0000000..9747204 --- /dev/null +++ b/Main/models/token.py @@ -0,0 +1,17 @@ +from random import choice + +from django.db.models import JSONField +from django.db import models +from django.utils import timezone + + +def create_token(): + symbols = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890' + return "".join([choice(symbols) for _ in range(30)]) + + +class Token(models.Model): + token = models.CharField(max_length=30, default=create_token) + created_dt = models.DateTimeField(default=timezone.now) + reason = models.CharField(max_length=20) + extras = JSONField() diff --git a/Main/models/userinfo.py b/Main/models/userinfo.py index 42de697..80a7440 100644 --- a/Main/models/userinfo.py +++ b/Main/models/userinfo.py @@ -11,9 +11,8 @@ from SprintLib.language import languages class UserInfo(models.Model): - surname = models.TextField() - name = models.TextField() - middle_name = models.TextField() + surname = models.TextField(null=True) + name = models.TextField(null=True) last_request = models.DateTimeField(default=timezone.now) profile_picture_fs_id = models.IntegerField(null=True) favourite_language_id = models.IntegerField(null=True) @@ -21,6 +20,7 @@ class UserInfo(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, null=True) telegram_chat_id = models.TextField(default="") notification_solution_result = models.BooleanField(default=False) + code = models.IntegerField(null=True) @property def has_favourite_language(self): @@ -80,6 +80,3 @@ class UserInfo(models.Model): if self.has_profile_pic: return "/image?id=" + str(self.profile_picture_fs_id) return "https://i2.wp.com/electrolabservice.com/wp-content/uploads/2021/01/blank-profile-picture-mystery-man-avatar-973460.jpg" - - def __str__(self): - return "{} {} {}".format(self.surname, self.name, self.middle_name) diff --git a/Main/views/EnterView.py b/Main/views/EnterView.py index b3c940a..54421db 100644 --- a/Main/views/EnterView.py +++ b/Main/views/EnterView.py @@ -1,29 +1,6 @@ -from django.contrib.auth import authenticate, login -from django.contrib.auth.models import User -from django.core.exceptions import ObjectDoesNotExist - from SprintLib.BaseView import BaseView class EnterView(BaseView): view_file = "enter.html" required_login = False - - def get(self): - self.context["error_message"] = self.request.GET.get("error_message", "") - - def post(self): - try: - user = User.objects.get(username=self.request.POST["email"]) - except ObjectDoesNotExist: - try: - user = User.objects.get(email=self.request.POST["email"]) - except ObjectDoesNotExist: - return "/enter?error_message=Данного пользователя не существует" - user = authenticate( - username=user.username, password=self.request.POST["password"].strip() - ) - if user is not None: - login(self.request, user) - return "/" - return "/enter?error_message=Неверный пароль" diff --git a/Main/views/RegisterView.py b/Main/views/RegisterView.py deleted file mode 100644 index 8da6f69..0000000 --- a/Main/views/RegisterView.py +++ /dev/null @@ -1,39 +0,0 @@ -from django.contrib.auth.models import User - -from Main.models import UserInfo -from SprintLib.BaseView import BaseView - - -class RegisterView(BaseView): - view_file = "register.html" - required_login = False - - def get(self): - self.context["error_message"] = self.request.GET.get("error_message", "") - - def post(self): - data = self.request.POST - if len(data["password"]) < 8: - return "/register?error_message=Пароль слишком слабый" - if data["password"] != data["repeat_password"]: - return "/register?error_message=Пароли не совпадают" - if len(User.objects.filter(username=data["username"])): - return "/register?error_message=Данное имя пользователя уже занято" - - if len(User.objects.filter(email=data["email"])): - return "/register?error_message=Пользователь под таким email уже зарегистрирован" - user = User.objects.create_user( - data["username"], - data["email"], - password=data["password"], - ) - userinfo = UserInfo.objects.create( - surname=data["surname"], - name=data["name"], - middle_name=data["middle_name"], - user=user, - ) - user.userinfo = userinfo - user.save() - # todo: реализовать подтверждение по почте - return "/enter" diff --git a/Main/views/SendCodeView.py b/Main/views/SendCodeView.py new file mode 100644 index 0000000..6d732d0 --- /dev/null +++ b/Main/views/SendCodeView.py @@ -0,0 +1,31 @@ +from django.contrib.auth import login + +from Main.management.commands.bot import bot +from SprintLib.BaseView import BaseView +from django.contrib.auth.models import User +from random import randrange + + +class SendCodeView(BaseView): + def post_create(self): + username = self.request.POST["username"] + user = User.objects.filter(username=username).first() + if not user: + return {"success": False, "message": "Пользователя с таким именем не существует"} + code = randrange(10000, 100000) + user.userinfo.code = code + user.userinfo.save() + bot.send_message(user.userinfo.telegram_chat_id, "Код для входа в сервис: " + str(code)) + return {"success": True, "message": "Код отправлен"} + + def post_check(self): + username = self.request.POST["username"] + user = User.objects.filter(username=username).first() + if not user: + return {"success": False, "message": "Пользователя с таким именем не существует"} + code = int(self.request.POST["code"]) + if code == user.userinfo.code: + login(self.request, user) + return {"success": True, "message": "Успешно"} + else: + return {"success": False, "message": "Код неверен"} diff --git a/Main/views/__init__.py b/Main/views/__init__.py index a001f82..ba31df6 100644 --- a/Main/views/__init__.py +++ b/Main/views/__init__.py @@ -12,3 +12,4 @@ from Main.views.SolutionsTableView import SolutionsTableView from Main.views.TaskRuntimeView import TaskRuntimeView from Main.views.SolutionView import SolutionView from Main.views.ImageView import ImageView +from Main.views.SendCodeView import SendCodeView diff --git a/Sprint/settings.py b/Sprint/settings.py index 0683640..bb591e7 100644 --- a/Sprint/settings.py +++ b/Sprint/settings.py @@ -133,11 +133,10 @@ STATIC_URL = "/static/" MEDIA_URL = "/media/" STATIC_ROOT = os.path.join(BASE_DIR, "static") -MEDIA_ROOT = os.path.join(BASE_DIR, "media") DATA_ROOT = os.path.join(BASE_DIR, "data") EXTRA_FILES_ROOT = os.path.join(BASE_DIR, "extra_files") SOLUTIONS_ROOT_EXTERNAL = os.getenv("SOLUTIONS_ROOT_EXTERNAL", os.path.join(DATA_ROOT, "solutions")) -for root in DATA_ROOT, EXTRA_FILES_ROOT, MEDIA_ROOT: +for root in DATA_ROOT, EXTRA_FILES_ROOT: if not os.path.exists(root): os.mkdir(root) diff --git a/Sprint/urls.py b/Sprint/urls.py index e4424e8..dab40e9 100644 --- a/Sprint/urls.py +++ b/Sprint/urls.py @@ -18,6 +18,7 @@ urlpatterns = [ path("solutions_table", SolutionsTableView.as_view()), path("task_runtime", TaskRuntimeView.as_view()), path("image", ImageView.as_view()), + path("send_code", SendCodeView.as_view()), path("", MainView.as_view()), path("admin/", admin.site.urls), -] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) +] diff --git a/SprintLib/BaseView.py b/SprintLib/BaseView.py index a4dfec1..da5153b 100644 --- a/SprintLib/BaseView.py +++ b/SprintLib/BaseView.py @@ -2,7 +2,7 @@ from typing import Optional from django.db import transaction from django.core.handlers.wsgi import WSGIRequest -from django.http import HttpResponseRedirect +from django.http import HttpResponseRedirect, JsonResponse from django.shortcuts import render from django.utils import timezone @@ -57,6 +57,8 @@ class BaseView: data = method() if type(data) == str: return HttpResponseRedirect(data) + if type(data) == dict: + return JsonResponse(data) if data is not None: return data context = {**context, **c.context} diff --git a/templates/account.html b/templates/account.html index 78c03c6..0d2445c 100644 --- a/templates/account.html +++ b/templates/account.html @@ -22,7 +22,7 @@

- {{ account.userinfo.surname }} {{ account.userinfo.name }} {{ account.userinfo.middle_name }} + {{ account.userinfo.surname }} {{ account.userinfo.name }} {{ account.userinfo.activity_status }} {% if user.is_superuser %} Админ @@ -38,15 +38,6 @@

{{ account.username }}

- - -

- -
- -

{{ account.email }}

- -

diff --git a/templates/enter.html b/templates/enter.html index e4b770c..0c91d50 100644 --- a/templates/enter.html +++ b/templates/enter.html @@ -2,6 +2,41 @@ {% block title %}Вход{% endblock %} +{% block scripts %} + function send_code() { + const p = document.getElementById('message'); + if (document.getElementById('state').value == 'code') { + $.ajax({ + type: "POST", + url: '/send_code', + data: {"username": document.getElementById('username').value, "csrfmiddlewaretoken": document.getElementsByName('csrfmiddlewaretoken')[0].value, "action": "create"}, + success: function(data) { + if (data['success']) { + document.getElementById('code').hidden = false; + document.getElementById('enter').firstChild.data = "Вход"; + document.getElementById('state').value = "verify"; + p.innerHTML = ''; + } else { + p.innerHTML = data['message']; + } + }}); + } else { + $.ajax({ + type: "POST", + url: '/send_code', + data: {"username": document.getElementById('username').value, "code": document.getElementById('code').value, "csrfmiddlewaretoken": document.getElementsByName('csrfmiddlewaretoken')[0].value, "action": "check"}, + success: function(data) { + if (data['success']) { + window.location.href = '/'; + } else { + p.innerHTML = data['message']; + } + }, + }); + } + } +{% endblock %} + {% block body %}
@@ -11,19 +46,15 @@
-

{{ error_message }}

-
- {% csrf_token %} -
-
- -
+

+ {% csrf_token %} +
+
+ +
- -
-
- + Регистрация
diff --git a/templates/register.html b/templates/register.html deleted file mode 100644 index 5ab6cb3..0000000 --- a/templates/register.html +++ /dev/null @@ -1,73 +0,0 @@ - - {% load static %} - - - - - Регистрация - - - - - - - - -
-
-
-

- Sprint -

-
-
-

{{ error_message }}

-
- {% csrf_token %} -
- Фамилия
-
- Имя
-
- Отчество
-
- Имя пользователя
-
- email
-
- Пароль
-
- Повторить пароль
- -
-
-
-
- - \ No newline at end of file