Skip to content

Commit

Permalink
added minister lists for votes
Browse files Browse the repository at this point in the history
  • Loading branch information
prsnca committed Jan 16, 2017
1 parent f9e941e commit 0eedd61
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 4 deletions.
2 changes: 2 additions & 0 deletions committeeVotes/models.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# coding: utf-8

from django.db import models
from django.conf import settings
# Create your models here.
Expand Down
34 changes: 30 additions & 4 deletions committeeVotes/serializers.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
from committeeVotes.models import Bill, Meeting, Minister, Vote
# coding: utf-8

from committeeVotes.models import Bill, Meeting, Minister, Vote, VoteType
from rest_framework import serializers


Expand Down Expand Up @@ -37,6 +39,11 @@ class Meta:
fields = ('vote', 'minister')


class VoteListSerializer(serializers.BaseSerializer):
def to_representation(self, obj):
return obj.minister.name


class BillSerializer(DynamicFieldsMixin, serializers.HyperlinkedModelSerializer):

class Meta:
Expand All @@ -45,17 +52,36 @@ class Meta:


class BillVoteSerializer(DynamicFieldsMixin, serializers.HyperlinkedModelSerializer):
votes = VoteSerializer(many=True, read_only=True)
yay = serializers.SerializerMethodField()
nay = serializers.SerializerMethodField()
sustained = serializers.SerializerMethodField()

def get_votes(self, bill, voteTypeName):
voteType = VoteType.objects.get(typeName=voteTypeName)
qs = Vote.objects.filter(vote=voteType, bill=bill)
serializer = VoteListSerializer(instance=qs, many=True)
return serializer.data

def get_yay(self, bill):
return self.get_votes(bill, u'בעד')

def get_nay(self, bill):
return self.get_votes(bill, u'נגד')

def get_sustained(self, bill):
return self.get_votes(bill, u'נמנע')

class Meta:
model = Bill
fields = ('id', 'name', 'oknesset_url', 'passed', 'votes')
fields = ('id', 'name', 'oknesset_url', 'passed', 'yay', 'nay', 'sustained')


class MinisterListSerializer(serializers.ModelSerializer):
class Meta:
model = Minister
fields = ('id', 'name', 'photo_url', 'coop')


class MinisterSerializer(MinisterListSerializer):

class Meta(MinisterListSerializer.Meta):
Expand All @@ -78,7 +104,7 @@ class MinisterInMeetingSerializer(serializers.ModelSerializer):

class Meta:
model = Minister
fields = ('id', 'name')
fields = ('id', 'name', 'url')


class MeetingSerializer(serializers.ModelSerializer):
Expand Down

0 comments on commit 0eedd61

Please sign in to comment.