lots of updates
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
# serializers.py
|
||||
from rest_framework import serializers, permissions
|
||||
|
||||
|
||||
from .models import Exam, Answer, Rapid, UserAnswer
|
||||
|
||||
class ExamSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Exam
|
||||
fields = ('name', 'id', 'active', "publish_results")
|
||||
|
||||
class QuestionAnswerSerializer(serializers.HyperlinkedModelSerializer):
|
||||
#question = serializers.HyperlinkedRelatedField(view_name='rapid-detail',
|
||||
# read_only=True
|
||||
# )
|
||||
class Meta:
|
||||
model = Answer
|
||||
fields = ('id', 'question', 'answer', "answer_compare", "status")
|
||||
view_name = "rapid-exam"
|
||||
|
||||
class UserAnswerSerializer(serializers.HyperlinkedModelSerializer):
|
||||
exam = serializers.HyperlinkedRelatedField(view_name='rapid-exam-detail',
|
||||
read_only=True
|
||||
)
|
||||
class Meta:
|
||||
model = UserAnswer
|
||||
fields = ('id', 'question', 'normal', "answer", "answer_compare", "cid", "user", "exam", "created", "updated")
|
||||
|
||||
class RapidSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Rapid
|
||||
fields = ('id', 'question', 'normal', "abnormality", "region", "laterality", "examination", "exams", "author", "open_access")
|
||||
view_name = "rapid-detail"
|
||||
|
||||
class RapidLateralitySerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Rapid
|
||||
fields = ('id', "laterality")
|
||||
view_name = "rapid-laterality"
|
||||
@@ -83,18 +83,6 @@ from django.forms.models import model_to_dict
|
||||
from rapids.forms import RapidCreationDefaultForm
|
||||
from rapids.models import RapidCreationDefault
|
||||
|
||||
|
||||
from rest_framework import viewsets, permissions, mixins
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
|
||||
from .serializers import (
|
||||
ExamSerializer,
|
||||
QuestionAnswerSerializer,
|
||||
RapidLateralitySerializer,
|
||||
RapidSerializer,
|
||||
UserAnswerSerializer,
|
||||
)
|
||||
|
||||
from generic.mixins import CheckCanEditMixin, SuperuserRequiredMixin
|
||||
|
||||
from dal import autocomplete
|
||||
@@ -797,92 +785,6 @@ class UserAnswerDelete(SuperuserRequiredMixin, DeleteView):
|
||||
success_url = reverse_lazy("rapids:user_answer_table_view")
|
||||
|
||||
|
||||
class LargeResultsSetPagination(PageNumberPagination):
|
||||
page_size = 1000
|
||||
page_size_query_param = "page_size"
|
||||
max_page_size = 10000
|
||||
|
||||
|
||||
class StandardResultsSetPagination(PageNumberPagination):
|
||||
page_size = 100
|
||||
page_size_query_param = "page_size"
|
||||
max_page_size = 1000
|
||||
|
||||
|
||||
class ExamViewSet(RevisionMixin, viewsets.ModelViewSet):
|
||||
# queryset = Exam.objects.all().order_by('name')
|
||||
serializer_class = ExamSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
"""
|
||||
This view should return a list exams available to a user.
|
||||
"""
|
||||
user = self.request.user
|
||||
if user.groups.filter(name="rapid_checker").exists():
|
||||
return Exam.objects.filter(archive=False).order_by("name")
|
||||
|
||||
return Exam.objects.filter(author__id=user.id, archive=False).order_by("name")
|
||||
|
||||
|
||||
# class QuestionAnswerViewSet(viewsets.ModelViewSet):
|
||||
# queryset = Answer.objects.all() # .order_by('name')
|
||||
# serializer_class = QuestionAnswerSerializer
|
||||
# permission_classes = [permissions.IsAuthenticated]
|
||||
#
|
||||
#
|
||||
# class UserAnswerViewSet(viewsets.ModelViewSet):
|
||||
# queryset = UserAnswer.objects.all() # .order_by('name')
|
||||
# serializer_class = UserAnswerSerializer
|
||||
# permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
# class RapidViewSet(
|
||||
# RevisionMixin,
|
||||
# mixins.CreateModelMixin,
|
||||
# mixins.RetrieveModelMixin,
|
||||
# mixins.UpdateModelMixin,
|
||||
# mixins.ListModelMixin,
|
||||
# mixins.DestroyModelMixin,
|
||||
# viewsets.GenericViewSet,
|
||||
# ):
|
||||
# queryset = Rapid.objects.all() # .order_by('name')
|
||||
# serializer_class = RapidSerializer
|
||||
# permission_classes = [permissions.IsAuthenticated]
|
||||
# pagination_class = StandardResultsSetPagination
|
||||
|
||||
|
||||
# class AddSuggestedAnswer(LoginRequiredMixin, CreateView):
|
||||
# model = QuestionNote
|
||||
# form_class = QuestionNoteForm
|
||||
#
|
||||
# #fields = ("author", "note_type", "note")
|
||||
#
|
||||
#
|
||||
# def get_form_kwargs(self):
|
||||
# kwargs = super(AddQuestionNote, self).get_form_kwargs()
|
||||
# # update the kwargs for the form init method with yours
|
||||
# kwargs.update(self.kwargs) # self.kwargs contains all url conf params
|
||||
# return kwargs
|
||||
#
|
||||
# def get_initial(self):
|
||||
# pk = self.kwargs["pk"]
|
||||
# question_type = self.kwargs["question_type"]
|
||||
# if question_type == "rapid":
|
||||
# question = Rapid
|
||||
# content_type = ContentType.objects.get(model="rapid")
|
||||
# elif question_type == "anatomy":
|
||||
# question = AnatomyQuestion
|
||||
# content_type = ContentType.objects.get(model="anatomyquestion")
|
||||
# elif question_type == "long":
|
||||
# question = Long
|
||||
# content_type = ContentType.objects.get(model="long")
|
||||
# else:
|
||||
# raise PermissionError()
|
||||
#
|
||||
# get_object_or_404(question, pk=pk)
|
||||
# return { "content_type" : content_type,
|
||||
# "object_id" : pk }
|
||||
|
||||
GenericViews = GenericViewBase("rapids", Rapid, UserAnswer, Exam)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user