summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.txt24
-rw-r--r--yaksh/migrations/0023_release_0_23_0.py46
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')},
+ },
+ ),
+ ]