diff options
-rw-r--r-- | CHANGELOG.txt | 24 | ||||
-rw-r--r-- | yaksh/migrations/0023_release_0_23_0.py | 46 |
2 files changed, 67 insertions, 3 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d37f7c7..275624f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,8 +1,26 @@ -== 0.21.0 (02-07-2020) === +=== 0.23.0 (09-09-2020) === + +* Allow a single user or multiple users to reattempt a quiz + +=== 0.22.1 (28-08-2020) === + +* Avoid duplicate user entry with same email address during upload. +* Fix a bug where user cannot submit zero as answer +* Fix UI in question statistics. +* Fix a bug where the trial question paper was not updated. +* Fix a bug where answers for fill in the blanks type is not shown. + +=== 0.22.0 (27-08-2020) === + +* Fix zero division error if the course does not have any quizzes. +* Improve question statistics +* Add Mathjax support to lesson and module. + +=== 0.21.0 (02-07-2020) === * Added support for hiding test cases for code questions -== 0.20.2 (02-06-2020) === +=== 0.20.2 (02-06-2020) === * Added a custom filter to convert str objects to int in templates * Fixed a bug that prevented users from seeing the last submitted MCQ answers @@ -12,7 +30,7 @@ * Display question solution in view answer paper * Fixed bug to check if attempts are allowed and spare time is available before answer is checked -== 0.20.1 (21-05-2020) === +=== 0.20.1 (21-05-2020) === * Rename celery.py to celery_settings.py to avoid conflicts with the celery app diff --git a/yaksh/migrations/0023_release_0_23_0.py b/yaksh/migrations/0023_release_0_23_0.py new file mode 100644 index 0000000..0666fb8 --- /dev/null +++ b/yaksh/migrations/0023_release_0_23_0.py @@ -0,0 +1,46 @@ +# Generated by Django 3.0.7 on 2020-09-09 02:25 + +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), + ('yaksh', '0022_release_0_22_1'), + ] + + operations = [ + migrations.AddField( + model_name='answerpaper', + name='extra_time', + field=models.FloatField(default=0.0, verbose_name='Additional time in mins'), + ), + migrations.AddField( + model_name='answerpaper', + name='is_special', + field=models.BooleanField(default=False), + ), + migrations.CreateModel( + name='MicroManager', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('special_attempt', models.BooleanField(default=False)), + ('attempts_permitted', models.IntegerField(default=0)), + ('permitted_time', models.DateTimeField(default=django.utils.timezone.now)), + ('attempts_utilised', models.IntegerField(default=0)), + ('wait_time', models.IntegerField(default=0, verbose_name='Days to wait before special attempt')), + ('attempt_valid_for', models.IntegerField(default=90, verbose_name='Validity days')), + ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='yaksh.Course')), + ('manager', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='micromanaging', to=settings.AUTH_USER_MODEL)), + ('quiz', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='yaksh.Quiz')), + ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='micromanaged', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'unique_together': {('student', 'course', 'quiz')}, + }, + ), + ] |