rename CidUserAnswer to UserAnswer

This commit is contained in:
Ross
2023-05-15 11:15:17 +01:00
parent 7aa78c2807
commit d05752b2dc
49 changed files with 346 additions and 251 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ from .models import (
#Examination,
QuestionType,
Answer,
CidUserAnswer,
UserAnswer,
Exam,
Modality,
Region,
@@ -54,7 +54,7 @@ class ExamAdmin(VersionAdmin, admin.ModelAdmin):
admin.site.register(AnatomyQuestion, AnatomyAdmin)
#admin.site.register(Examination)
admin.site.register(QuestionType)
admin.site.register(CidUserAnswer)
admin.site.register(UserAnswer)
admin.site.register(Exam, ExamAdmin)
admin.site.register(Modality)
admin.site.register(Region)
+5 -5
View File
@@ -1,8 +1,8 @@
import django_filters
from .models import AnatomyQuestion, CidUserAnswer, Exam
from .models import AnatomyQuestion, UserAnswer, Exam
#from generic.filters import CidUserAnswerFilter
#from generic.filters import UserAnswerFilter
from django.contrib.auth.models import User
@@ -46,9 +46,9 @@ class AnatomyQuestionFilter(django_filters.FilterSet):
super(AnatomyQuestionFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass
class AnatomyCidUserAnswerFilter(django_filters.FilterSet):
class AnatomyUserAnswerFilter(django_filters.FilterSet):
class Meta:
model= CidUserAnswer
model= UserAnswer
fields = (
"cid",
"user",
@@ -63,5 +63,5 @@ class AnatomyCidUserAnswerFilter(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="anatomy_checker").exists():
queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
super(AnatomyCidUserAnswerFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
super(AnatomyUserAnswerFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass
+2 -2
View File
@@ -12,7 +12,7 @@ from generic.forms import ExamAuthorFormMixin, ExamFormMixin
from .models import (
Answer,
CidUserAnswer,
UserAnswer,
AnatomyQuestion,
# Examination,
BodyPart,
@@ -32,7 +32,7 @@ from dal import autocomplete
class AnatomyAnswerForm(ModelForm):
class Meta:
model = CidUserAnswer
model = UserAnswer
fields = ("answer",)
@@ -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),
('anatomy', '0068_alter_ciduseranswer_options'),
]
operations = [
migrations.RenameModel(
old_name='CidUserAnswer',
new_name='UserAnswer',
),
]
+3 -3
View File
@@ -16,7 +16,7 @@ from sortedm2m.fields import SortedManyToManyField
import string
from generic.models import CidUser, CidUserGroup, ExamUserStatus, Examination, ExamBase, QuestionNote, CidUserAnswerBase, UserUserGroup
from generic.models import CidUser, CidUserGroup, ExamUserStatus, Examination, ExamBase, QuestionNote, UserAnswerBase, UserUserGroup
from collections import defaultdict
from helpers.images import image_as_base64
@@ -467,7 +467,7 @@ class Exam(ExamBase):
@reversion.register
class CidUserAnswer(CidUserAnswerBase):
class UserAnswer(UserAnswerBase):
"""User answers by candidate"""
question = models.ForeignKey(
@@ -504,7 +504,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):
if self.answer:
+4 -4
View File
@@ -1,7 +1,7 @@
import django_tables2 as tables
from django_tables2.utils import A
from .models import AnatomyQuestion, CidUserAnswer
from .models import AnatomyQuestion, UserAnswer
from django.utils.html import format_html
@@ -9,7 +9,7 @@ from easy_thumbnails.files import get_thumbnailer
from easy_thumbnails.exceptions import InvalidImageFormatError
#from generic.tables import CidUserAnswerTable
#from generic.tables import UserAnswerTable
class ImageColumn(tables.Column):
@@ -64,7 +64,7 @@ class AnatomyQuestionTable(tables.Table):
*args,
**kwargs,
)
class AnatomyCidUserAnswerTable(tables.Table):
class AnatomyUserAnswerTable(tables.Table):
select = tables.CheckBoxColumn(accessor=("pk"))
delete = tables.LinkColumn(
"anatomy:user_answer_delete", text="Delete", args=[A("pk")], orderable=False
@@ -74,7 +74,7 @@ class AnatomyCidUserAnswerTable(tables.Table):
args=[A('pk')],
orderable=False)
class Meta:
model = CidUserAnswer
model = UserAnswer
template_name = "django_tables2/bootstrap4.html"
fields = (
"cid",
+3 -3
View File
@@ -73,15 +73,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(
+19 -19
View File
@@ -41,7 +41,7 @@ from .forms import (
from .models import (
AnatomyQuestion,
BodyPart,
CidUserAnswer,
UserAnswer,
# Examination,
Structure,
Exam,
@@ -55,8 +55,8 @@ from reversion.views import RevisionMixin
from .decorators import user_is_author_or_anatomy_checker
from .tables import AnatomyQuestionTable, AnatomyCidUserAnswerTable
from .filters import AnatomyQuestionFilter, AnatomyCidUserAnswerFilter
from .tables import AnatomyQuestionTable, AnatomyUserAnswerTable
from .filters import AnatomyQuestionFilter, AnatomyUserAnswerFilter
from django_tables2 import SingleTableView, SingleTableMixin
from django_filters.views import FilterView
@@ -161,12 +161,12 @@ def answer_question(request, pk):
# }
#
# # Get data for flagged
# # answered_questions = CidUserAnswer.objects.filter(user=request.user).values_list("question__pk", flat=True)
# user_answer_data = CidUserAnswer.objects.filter(user=request.user).values_list(
# # answered_questions = UserAnswer.objects.filter(user=request.user).values_list("question__pk", flat=True)
# user_answer_data = UserAnswer.objects.filter(user=request.user).values_list(
# "question__pk", "answer", "flagged"
# )
# # flagged_questions = CidUserAnswer.objects.filter(user=request.user, flagged=True).values_list("question__pk", flat=True)
# # flagged_questions I= CidUserAnswer.filter(user=request.user, ).values_list("question__pk", flat=True)
# # flagged_questions = UserAnswer.objects.filter(user=request.user, flagged=True).values_list("question__pk", flat=True)
# # flagged_questions I= UserAnswer.filter(user=request.user, ).values_list("question__pk", flat=True)
#
# answered_questions = set()
# flagged_questions = set()
@@ -215,7 +215,7 @@ def answer_question(request, pk):
# def flag_question(request):
# pk = request.GET.get("pk", None)
# ans = CidUserAnswer.objects.filter(user=request.user, question__pk=pk).first()
# ans = UserAnswer.objects.filter(user=request.user, question__pk=pk).first()
# ans.flagged = not ans.flagged
# ans.save()
# data = {"flagged": ans.flagged}
@@ -384,7 +384,7 @@ def exam_scores_refresh(request, pk):
questions = exam.exam_questions.all()
cids = CidUserAnswer.objects.filter(question__in=questions, exam__id=pk)
cids = UserAnswer.objects.filter(question__in=questions, exam__id=pk)
# Force a score update
for c in cids:
@@ -733,24 +733,24 @@ def question_save_annotation(request, pk):
GenericExamViews = ExamViews(
Exam, AnatomyQuestion, Answer, CidUserAnswer, "anatomy", "anatomy"
Exam, AnatomyQuestion, Answer, UserAnswer, "anatomy", "anatomy"
)
class CidUserAnswerView(SuperuserRequiredMixin, DetailView):
model = CidUserAnswer
class UserAnswerView(SuperuserRequiredMixin, DetailView):
model = UserAnswer
class CidUserAnswerTableView(SuperuserRequiredMixin, SingleTableMixin, FilterView):
model = CidUserAnswer
table_class = AnatomyCidUserAnswerTable
class UserAnswerTableView(SuperuserRequiredMixin, SingleTableMixin, FilterView):
model = UserAnswer
table_class = AnatomyUserAnswerTable
template_name = "anatomy/user_answer_question_view.html"
filterset_class = AnatomyCidUserAnswerFilter
filterset_class = AnatomyUserAnswerFilter
class CidUserAnswerDelete(SuperuserRequiredMixin, DeleteView):
model = CidUserAnswer
class UserAnswerDelete(SuperuserRequiredMixin, DeleteView):
model = UserAnswer
template_name = "user_answer_delete.html"
success_url = reverse_lazy("anatomy:user_answer_table_view")
@@ -797,7 +797,7 @@ class ExamAuthorUpdate(RevisionMixin, LoginRequiredMixin, AuthorRequiredMixin, U
GenericViews = GenericViewBase("anatomy", AnatomyQuestion, CidUserAnswer, Exam)
GenericViews = GenericViewBase("anatomy", AnatomyQuestion, UserAnswer, Exam)
class ExamClone(ExamCloneMixin, ExamCreate):