Skip to content

Commit

Permalink
Merge branch 'master' of github.com:arkavidia-hmif/arkavidia-backend
Browse files Browse the repository at this point in the history
  • Loading branch information
hashshura committed Jan 3, 2021
2 parents 4ebedb5 + 2561ef1 commit 4b62f38
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
4 changes: 2 additions & 2 deletions arkav/arkalogica/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,15 @@ class Meta:


class AnswerReqSerializer(serializers.Serializer):
tag = serializers.CharField(min_length=1, max_length=1)
tag = serializers.CharField(allow_blank=True, max_length=1)
question = serializers.PrimaryKeyRelatedField(queryset=Question.objects.all())

class Meta:
fields = ('question', 'tag',)


class SubmissionSerializer(serializers.ModelSerializer):
answers = AnswerRespSerializer(many=True, read_only=True)
answers = AnswerRespSerializer(source='answer', many=True, read_only=True)

class Meta:
model = Submission
Expand Down
13 changes: 8 additions & 5 deletions arkav/arkalogica/services.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,13 @@ def submit_answer(self, answer_data, requested_user):
)
sub, state = Submission.objects.get_or_create(user=requested_user)
qt = answer_data['question']
choice = get_object_or_404(Choice.objects.all(), question=qt, tag=(answer_data['tag']))
answer, state = Answer.objects.update_or_create(
submission=sub, question=qt,
defaults={"choice": choice}
)
if (len(answer_data['tag']) == 1):
choice = get_object_or_404(Choice.objects.all(), question=qt, tag=(answer_data['tag']))
answer, state = Answer.objects.update_or_create(
submission=sub, question=qt,
defaults={"choice": choice}
)
elif (Answer.objects.filter(submission=sub, question=qt).exists()):
Answer.objects.filter(submission=sub, question=qt).delete()
sub.save() # Untuk update waktu terakhir kali ngerjain (end_time)
return sub

0 comments on commit 4b62f38

Please sign in to comment.