Skip to content

Commit

Permalink
Merge pull request EGCETSII#29 from Full-Tortuga/feature/votings_impl…
Browse files Browse the repository at this point in the history
…ementation

 Feature/votings_implementation-002
  • Loading branch information
anacatcam authored Jan 2, 2022
2 parents c720e85 + b496ed0 commit 283057b
Show file tree
Hide file tree
Showing 3 changed files with 361 additions and 7 deletions.
93 changes: 88 additions & 5 deletions decide/voting/serializers.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from rest_framework import serializers

from .models import Question
from .models import QuestionOption
from .models import Voting
from .models import Question, BinaryQuestion, MultipleQuestion, ScoreQuestion
from .models import QuestionOption, BinaryQuestionOption, MultipleQuestionOption, ScoreQuestionOption
from .models import Voting, BinaryVoting, MultipleVoting, ScoreVoting
from base.serializers import KeySerializer, AuthSerializer


Expand All @@ -27,14 +27,97 @@ class VotingSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Voting
fields = ('id', 'name', 'desc', 'question', 'start_date',
'end_date', 'pub_key', 'auths', 'tally', 'postproc')
'end_date', 'pub_key', 'auths', 'tally', 'postproc', 'type')


class SimpleVotingSerializer(serializers.HyperlinkedModelSerializer):
question = QuestionSerializer(many=False)

class Meta:
model = Voting
fields = ('name', 'desc', 'question', 'start_date', 'end_date')
fields = ('name', 'desc', 'question', 'start_date', 'end_date', 'type')


class BinaryQuestionOptionSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = BinaryQuestionOption
fields = ('number', 'option')

class BinaryQuestionSerializer(serializers.HyperlinkedModelSerializer):
options = BinaryQuestionOptionSerializer(many=True)
class Meta:
model = BinaryQuestion
fields = ('desc', 'options')

class BinaryVotingSerializer(serializers.HyperlinkedModelSerializer):
question = BinaryQuestionSerializer(many=False)
pub_key = KeySerializer()
auths = AuthSerializer(many=True)

class Meta:
model = BinaryVoting
fields = ('id', 'name', 'desc', 'question', 'start_date',
'end_date', 'pub_key', 'auths', 'tally', 'postproc', 'type')

class SimpleBinaryVotingSerializer(serializers.HyperlinkedModelSerializer):
question = BinaryQuestionSerializer(many=False)

class Meta:
model = BinaryVoting
fields = ('name', 'desc', 'question', 'start_date', 'end_date', 'type')

class MultipleQuestionOptionSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = MultipleQuestionOption
fields = ('number', 'option')

class MultipleQuestionSerializer(serializers.HyperlinkedModelSerializer):
options = MultipleQuestionOptionSerializer(many=True)
class Meta:
model = MultipleQuestion
fields = ('desc', 'options')

class MultipleVotingSerializer(serializers.HyperlinkedModelSerializer):
question = MultipleQuestionSerializer(many=False)
pub_key = KeySerializer()
auths = AuthSerializer(many=True)

class Meta:
model = MultipleVoting
fields = ('id', 'name', 'desc', 'question', 'start_date',
'end_date', 'pub_key', 'auths', 'tally', 'postproc', 'type')

class SimpleMultipleVotingSerializer(serializers.HyperlinkedModelSerializer):
question = MultipleQuestionSerializer(many=False)

class Meta:
model = MultipleVoting
fields = ('name', 'desc', 'question', 'start_date', 'end_date', 'type')

class ScoreQuestionOptionSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = ScoreQuestionOption
fields = ('number', 'option')

class ScoreQuestionSerializer(serializers.HyperlinkedModelSerializer):
options = ScoreQuestionOptionSerializer(many=True)
class Meta:
model = ScoreQuestion
fields = ('desc', 'options')

class ScoreVotingSerializer(serializers.HyperlinkedModelSerializer):
question = ScoreQuestionSerializer(many=False)
pub_key = KeySerializer()
auths = AuthSerializer(many=True)

class Meta:
model = ScoreVoting
fields = ('id', 'name', 'desc', 'question', 'start_date',
'end_date', 'pub_key', 'auths', 'tally', 'postproc', 'type')

class SimpleScoreVotingSerializer(serializers.HyperlinkedModelSerializer):
question = ScoreQuestionSerializer(many=False)

class Meta:
model = ScoreVoting
fields = ('name', 'desc', 'question', 'start_date', 'end_date', 'type')
6 changes: 6 additions & 0 deletions decide/voting/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,10 @@
urlpatterns = [
path('', views.VotingView.as_view(), name='voting'),
path('<int:voting_id>/', views.VotingUpdate.as_view(), name='voting'),
path('binaryVoting/', views.BinaryVotingView.as_view(), name='binaryVoting'),
path('binaryVoting/<int:voting_id>/', views.BinaryVotingUpdate.as_view(), name='binaryVoting'),
path('multipleVoting/', views.MultipleVotingView.as_view(), name='multipleVoting'),
path('multipleVoting/<int:voting_id>/', views.MultipleVotingUpdate.as_view(), name='multipleVoting'),
path('scoreVoting/', views.ScoreVotingView.as_view(), name='scoreVoting'),
path('scoreVoting/<int:voting_id>/', views.ScoreVotingUpdate.as_view(), name='scoreVoting')
]
Loading

0 comments on commit 283057b

Please sign in to comment.