summaryrefslogtreecommitdiff
path: root/grades/migrations/default_grading_system.py
diff options
context:
space:
mode:
authoradityacp2018-03-23 16:13:48 +0530
committeradityacp2018-03-23 16:13:48 +0530
commit6ea7ee3b6d57d3a3fe737ac1870978c37fc09ce1 (patch)
treeec7e0264b0818229ab256e3dcf4cdf32aa11b40c /grades/migrations/default_grading_system.py
parent3577245efdd6b7ea479bb499633d38bb86aa81d7 (diff)
parentd4f49e8a93ed2ce2e63bd67fa77aa75741c2d6c5 (diff)
downloadonline_test-6ea7ee3b6d57d3a3fe737ac1870978c37fc09ce1.tar.gz
online_test-6ea7ee3b6d57d3a3fe737ac1870978c37fc09ce1.tar.bz2
online_test-6ea7ee3b6d57d3a3fe737ac1870978c37fc09ce1.zip
Merge https://github.com/fossee/online_test into release-0.8
Diffstat (limited to 'grades/migrations/default_grading_system.py')
-rw-r--r--grades/migrations/default_grading_system.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/grades/migrations/default_grading_system.py b/grades/migrations/default_grading_system.py
new file mode 100644
index 0000000..85390d6
--- /dev/null
+++ b/grades/migrations/default_grading_system.py
@@ -0,0 +1,41 @@
+from django.db import migrations
+
+
+def create_default_system(apps, schema_editor):
+ GradingSystem = apps.get_model('grades', 'GradingSystem')
+ GradeRange = apps.get_model('grades', 'GradeRange')
+ db = schema_editor.connection.alias
+
+ default_system = GradingSystem.objects.using(db).create(name='default')
+
+ graderanges_objects = [
+ GradeRange(system=default_system, lower_limit=0, upper_limit=40,
+ grade='F', description='Fail'),
+ GradeRange(system=default_system, lower_limit=40, upper_limit=55,
+ grade='P', description='Pass'),
+ GradeRange(system=default_system, lower_limit=55, upper_limit=60,
+ grade='C', description='Average'),
+ GradeRange(system=default_system, lower_limit=60, upper_limit=75,
+ grade='B', description='Satisfactory'),
+ GradeRange(system=default_system, lower_limit=75, upper_limit=90,
+ grade='A', description='Good'),
+ GradeRange(system=default_system, lower_limit=90, upper_limit=101,
+ grade='A+', description='Excellent')
+ ]
+ GradeRange.objects.using(db).bulk_create(graderanges_objects)
+
+
+def delete_default_system(apps, schema_editor):
+ GradingSystem = apps.get_model('grades', 'GradingSystem')
+ GradeRange = apps.get_model('grades', 'GradeRange')
+ db = schema_editor.connection.alias
+
+ default_system = GradingSystem.objects.using(db).get(creator=None)
+ GradeRange.object.using(db).filter(system=default_system).delete()
+ default_system.delete()
+
+
+class Migration(migrations.Migration):
+ dependencies = [('grades', '0001_initial'), ]
+ operations = [migrations.RunPython(create_default_system,
+ delete_default_system), ]