rename CidUserAnswer to UserAnswer
This commit is contained in:
+2
-2
@@ -1,5 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from .models import AnswerMarks, Long, LongSeries, LongSeriesImage, LongCreationDefault, Exam, CidUserAnswer
|
||||
from .models import AnswerMarks, Long, LongSeries, LongSeriesImage, LongCreationDefault, Exam, UserAnswer
|
||||
|
||||
from django.forms import ModelForm
|
||||
|
||||
@@ -16,7 +16,7 @@ from tinymce.widgets import TinyMCE
|
||||
# admin.site.register(Site)
|
||||
admin.site.register(LongCreationDefault)
|
||||
admin.site.register(LongSeriesImage)
|
||||
admin.site.register(CidUserAnswer)
|
||||
admin.site.register(UserAnswer)
|
||||
admin.site.register(AnswerMarks)
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
import django_filters
|
||||
|
||||
from .models import Long, LongSeries, Exam, CidUserAnswer
|
||||
from .models import Long, LongSeries, Exam, UserAnswer
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
def get_exams(request):
|
||||
@@ -53,9 +53,9 @@ class LongSeriesFilter(django_filters.FilterSet):
|
||||
super(LongSeriesFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
|
||||
pass
|
||||
|
||||
class CidUserAnswerFilter(django_filters.FilterSet):
|
||||
class UserAnswerFilter(django_filters.FilterSet):
|
||||
class Meta:
|
||||
model = CidUserAnswer
|
||||
model = UserAnswer
|
||||
fields = (
|
||||
"cid",
|
||||
#"normal",
|
||||
@@ -69,5 +69,5 @@ class CidUserAnswerFilter(django_filters.FilterSet):
|
||||
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
|
||||
if not request.user.groups.filter(name="long_checker").exists():
|
||||
queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
|
||||
super(CidUserAnswerFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
|
||||
super(UserAnswerFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
|
||||
pass
|
||||
+3
-3
@@ -16,7 +16,7 @@ from longs.models import (
|
||||
LongSeries,
|
||||
LongSeriesImage,
|
||||
LongCreationDefault,
|
||||
CidUserAnswer,
|
||||
UserAnswer,
|
||||
Exam,
|
||||
)
|
||||
|
||||
@@ -34,7 +34,7 @@ from tinymce.widgets import TinyMCE
|
||||
|
||||
class LongAnswerForm(ModelForm):
|
||||
class Meta:
|
||||
model = CidUserAnswer
|
||||
model = UserAnswer
|
||||
fields = (
|
||||
"answer_observations",
|
||||
"answer_interpretation",
|
||||
@@ -46,7 +46,7 @@ class LongAnswerForm(ModelForm):
|
||||
|
||||
class MarkLongQuestionSingleForm(ModelForm):
|
||||
class Meta:
|
||||
model = CidUserAnswer
|
||||
model = UserAnswer
|
||||
fields = ["score"]
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.1.4 on 2023-05-15 10:14
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('longs', '0065_remove_long_condition_remove_long_sign'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameModel(
|
||||
old_name='CidUserAnswer',
|
||||
new_name='UserAnswer',
|
||||
),
|
||||
]
|
||||
+5
-5
@@ -38,7 +38,7 @@ from generic.models import (
|
||||
Plane,
|
||||
Contrast,
|
||||
QuestionNote,
|
||||
CidUserAnswerBase,
|
||||
UserAnswerBase,
|
||||
UserUserGroup,
|
||||
)
|
||||
|
||||
@@ -753,7 +753,7 @@ class Exam(ExamBase):
|
||||
|
||||
|
||||
@reversion.register
|
||||
class CidUserAnswer(CidUserAnswerBase):
|
||||
class UserAnswer(UserAnswerBase):
|
||||
"""User answers by candidate"""
|
||||
|
||||
question = models.ForeignKey(
|
||||
@@ -824,7 +824,7 @@ class CidUserAnswer(CidUserAnswerBase):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.clean()
|
||||
return super(CidUserAnswer, self).save(*args, **kwargs)
|
||||
return super(UserAnswer, self).save(*args, **kwargs)
|
||||
|
||||
def clean(self):
|
||||
for ans in (
|
||||
@@ -886,7 +886,7 @@ class CidUserAnswer(CidUserAnswerBase):
|
||||
|
||||
@reversion.register
|
||||
class AnswerMarks(models.Model):
|
||||
score = models.CharField(max_length=3, choices=CidUserAnswer.ScoreOptions.choices)
|
||||
score = models.CharField(max_length=3, choices=UserAnswer.ScoreOptions.choices)
|
||||
|
||||
mark_reason = models.TextField(
|
||||
null=True,
|
||||
@@ -903,7 +903,7 @@ class AnswerMarks(models.Model):
|
||||
)
|
||||
|
||||
user_answer = models.ForeignKey(
|
||||
CidUserAnswer,
|
||||
UserAnswer,
|
||||
related_name="mark",
|
||||
on_delete=models.SET_NULL,
|
||||
null=True,
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
import django_tables2 as tables
|
||||
from django_tables2.utils import A
|
||||
|
||||
from .models import Long, LongSeries, CidUserAnswer
|
||||
from .models import Long, LongSeries, UserAnswer
|
||||
|
||||
from django.utils.html import format_html
|
||||
|
||||
@@ -130,7 +130,7 @@ class LongSeriesTable(tables.Table):
|
||||
print(self)
|
||||
return format_html("""<a href="#" onclick="return window.create_popup_window('/longs/series/{}', 'Series')" >Popup</a>""", record.pk)
|
||||
|
||||
class CidUserAnswerTable(tables.Table):
|
||||
class UserAnswerTable(tables.Table):
|
||||
select = tables.CheckBoxColumn(accessor=("pk"))
|
||||
delete = tables.LinkColumn(
|
||||
"longs:user_answer_delete", text="Delete", args=[A("pk")], orderable=False
|
||||
@@ -140,7 +140,7 @@ class CidUserAnswerTable(tables.Table):
|
||||
args=[A('pk')],
|
||||
orderable=False)
|
||||
class Meta:
|
||||
model = CidUserAnswer
|
||||
model = UserAnswer
|
||||
template_name = "django_tables2/bootstrap4.html"
|
||||
fields = (
|
||||
"cid",
|
||||
|
||||
@@ -17,7 +17,7 @@ from longs.views import GenericExamViews as LongExamViews
|
||||
|
||||
from longs.models import (
|
||||
AnswerMarks,
|
||||
CidUserAnswer,
|
||||
UserAnswer,
|
||||
Exam,
|
||||
Examination,
|
||||
Long as Question,
|
||||
@@ -342,9 +342,9 @@ def test_exams(db, client):
|
||||
|
||||
# Check the answers now exist in the database
|
||||
if testing_cid_user:
|
||||
answers = CidUserAnswer.objects.filter(cid=cid_user.cid)
|
||||
answers = UserAnswer.objects.filter(cid=cid_user.cid)
|
||||
else:
|
||||
answers = CidUserAnswer.objects.filter(user=cid_user)
|
||||
answers = UserAnswer.objects.filter(user=cid_user)
|
||||
|
||||
assert answers.count() == 3
|
||||
|
||||
|
||||
+3
-3
@@ -136,15 +136,15 @@ urlpatterns = [
|
||||
),
|
||||
path(
|
||||
"user_answers/",
|
||||
views.CidUserAnswerTableView.as_view(),
|
||||
views.UserAnswerTableView.as_view(),
|
||||
name="user_answer_table_view",
|
||||
),
|
||||
path(
|
||||
"user_answers/<int:pk>", views.CidUserAnswerView.as_view(), name="user_answer_view"
|
||||
"user_answers/<int:pk>", views.UserAnswerView.as_view(), name="user_answer_view"
|
||||
),
|
||||
path(
|
||||
"user_answers/<int:pk>/delete",
|
||||
views.CidUserAnswerDelete.as_view(),
|
||||
views.UserAnswerDelete.as_view(),
|
||||
name="user_answer_delete",
|
||||
),
|
||||
path(
|
||||
|
||||
+15
-15
@@ -41,10 +41,10 @@ from .models import (
|
||||
LongSeries,
|
||||
Examination,
|
||||
Exam,
|
||||
CidUserAnswer,
|
||||
UserAnswer,
|
||||
)
|
||||
from .tables import LongTable, LongSeriesTable, CidUserAnswerTable
|
||||
from .filters import LongFilter, LongSeriesFilter, CidUserAnswerFilter
|
||||
from .tables import LongTable, LongSeriesTable, UserAnswerTable
|
||||
from .filters import LongFilter, LongSeriesFilter, UserAnswerFilter
|
||||
|
||||
from django_tables2 import SingleTableView, SingleTableMixin
|
||||
from django_filters.views import FilterView
|
||||
@@ -831,7 +831,7 @@ def mark_question_overview(request, exam_id, sk):
|
||||
user_answers = question.cid_user_answers.filter(exam__id=exam_id)
|
||||
|
||||
unmarked_count = user_answers.filter(
|
||||
score=CidUserAnswer.ScoreOptions.UNMARKED
|
||||
score=UserAnswer.ScoreOptions.UNMARKED
|
||||
).count()
|
||||
|
||||
if exam.double_mark:
|
||||
@@ -872,7 +872,7 @@ def exam_scores_all(request, pk):
|
||||
questions = exam.exam_questions.all()
|
||||
|
||||
cids = (
|
||||
CidUserAnswer.objects.filter(question__in=questions, exam__id=pk)
|
||||
UserAnswer.objects.filter(question__in=questions, exam__id=pk)
|
||||
.order_by("cid")
|
||||
.values_list("cid", flat=True)
|
||||
.distinct()
|
||||
@@ -1115,7 +1115,7 @@ def long_series_order_upload_filename(request, pk):
|
||||
return redirect("longs:long_series_detail", pk=pk)
|
||||
|
||||
|
||||
GenericExamViews = ExamViews(Exam, Long, None, CidUserAnswer, "longs", "long")
|
||||
GenericExamViews = ExamViews(Exam, Long, None, UserAnswer, "longs", "long")
|
||||
|
||||
class ExamCreate(ExamCreateBase):
|
||||
model = Exam
|
||||
@@ -1194,20 +1194,20 @@ def question_json_recreate(request, pk):
|
||||
return redirect("longs:question_detail", pk=pk)
|
||||
|
||||
|
||||
class CidUserAnswerView(LoginRequiredMixin, DetailView):
|
||||
model = CidUserAnswer
|
||||
class UserAnswerView(LoginRequiredMixin, DetailView):
|
||||
model = UserAnswer
|
||||
|
||||
|
||||
class CidUserAnswerTableView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
model = CidUserAnswer
|
||||
table_class = CidUserAnswerTable
|
||||
class UserAnswerTableView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
model = UserAnswer
|
||||
table_class = UserAnswerTable
|
||||
template_name = "longs/user_answer_question_view.html"
|
||||
|
||||
filterset_class = CidUserAnswerFilter
|
||||
filterset_class = UserAnswerFilter
|
||||
|
||||
|
||||
class CidUserAnswerDelete(SuperuserRequiredMixin, DeleteView):
|
||||
model = CidUserAnswer
|
||||
class UserAnswerDelete(SuperuserRequiredMixin, DeleteView):
|
||||
model = UserAnswer
|
||||
template_name = "user_answer_delete.html"
|
||||
success_url = reverse_lazy("longs:user_answer_table_view")
|
||||
|
||||
@@ -1219,7 +1219,7 @@ def user_answer_delete_multiple(request):
|
||||
|
||||
# We could probably delete them all at once....
|
||||
for id in answer_ids:
|
||||
CidUserAnswer.objects.get(pk=id).delete()
|
||||
UserAnswer.objects.get(pk=id).delete()
|
||||
return JsonResponse({"status": "success"})
|
||||
return JsonResponse({"status": "error"})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user