This commit is contained in:
Ross
2021-09-11 18:00:37 +01:00
parent 430074260d
commit 9096fc8eac
3 changed files with 57 additions and 20 deletions
+2 -1
View File
@@ -1,5 +1,5 @@
from django.contrib import admin
from .models import Long, LongSeries, LongSeriesImage, LongCreationDefault, Exam, CidUserAnswer
from .models import AnswerMarks, Long, LongSeries, LongSeriesImage, LongCreationDefault, Exam, CidUserAnswer
import tagulous.admin
@@ -19,6 +19,7 @@ from generic.models import Examination, Sign, Condition
admin.site.register(LongCreationDefault)
admin.site.register(LongSeriesImage)
admin.site.register(CidUserAnswer)
admin.site.register(AnswerMarks)
#class LongImageInline(admin.TabularInline):
@@ -0,0 +1,36 @@
# Generated by Django 3.2.6 on 2021-09-11 16:59
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),
('longs', '0046_delete_note'),
]
operations = [
migrations.CreateModel(
name='AnswerMarks',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.CharField(choices=[('', 'Unmarked'), ('4', '4'), ('4.5', '4.5'), ('5', '5'), ('5.5', '5.5'), ('6', '6'), ('6.5', '6.5'), ('7', '7'), ('7.5', '7.5'), ('8', '8')], max_length=3)),
('mark_reason', models.TextField(blank=True, help_text='Reason for the given mark - not visible to candidates', null=True)),
('candidate_feedback', models.TextField(blank=True, help_text='Feedback for the candidate', null=True)),
('marker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='marker', to=settings.AUTH_USER_MODEL)),
],
),
migrations.AddField(
model_name='ciduseranswer',
name='primary_mark',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='primary_mark', to='longs.answermarks'),
),
migrations.AddField(
model_name='ciduseranswer',
name='secondary_mark',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='secondary_mark', to='longs.answermarks'),
),
]
+19 -19
View File
@@ -727,12 +727,12 @@ class CidUserAnswer(models.Model):
max_length=3, choices=ScoreOptions.choices, default=ScoreOptions.UNMARKED, blank=True, help_text="The final score for the candidate"
)
# primary_mark = models.ForeignKey(
# "AnswerMarks", related_name="primary_mark", on_delete=models.SET_NULL, null=True, blank=True
# )
# secondary_mark = models.ForeignKey(
# "AnswerMarks", related_name="secondary_mark", on_delete=models.SET_NULL, null=True, blank=True
# )
primary_mark = models.ForeignKey(
"AnswerMarks", related_name="primary_mark", on_delete=models.SET_NULL, null=True, blank=True
)
secondary_mark = models.ForeignKey(
"AnswerMarks", related_name="secondary_mark", on_delete=models.SET_NULL, null=True, blank=True
)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
@@ -770,16 +770,16 @@ class CidUserAnswer(models.Model):
return ""
return float(self.score)
#@reversion.register
#class AnswerMarks(models.Model):
# score = models.CharField(
# max_length=3, choices=CidUserAnswer.ScoreOptions.choices
# )
#
# mark_reason = models.TextField(null=True, blank=True, help_text="Reason for the given mark - not visible to candidates")
#
# candidate_feedback = models.TextField(null=True, blank=True, help_text="Feedback for the candidate")
#
# marker = models.ForeignKey(
# settings.AUTH_USER_MODEL, related_name="marker", on_delete=models.CASCADE
# )
@reversion.register
class AnswerMarks(models.Model):
score = models.CharField(
max_length=3, choices=CidUserAnswer.ScoreOptions.choices
)
mark_reason = models.TextField(null=True, blank=True, help_text="Reason for the given mark - not visible to candidates")
candidate_feedback = models.TextField(null=True, blank=True, help_text="Feedback for the candidate")
marker = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name="marker", on_delete=models.CASCADE
)