Esempio n. 1
0
    def get(self, request, election_pk):
        try:
            """
            this will order the ballots from most recent to oldest.
            and optionally take a after parameter.
            """
            election = getElection(election_pk)
            limit = after = None
            if request.GET.has_key('limit'):
                limit = int(request.GET['limit'])
            if request.GET.has_key('after'):
                after = datetime.datetime.strptime(request.GET['after'], '%Y-%m-%d %H:%M:%S')

            voters = Voter.get_by_election(election, cast=True, order_by='cast_at', limit=limit, after=after)

            # we explicitly cast this to a short cast vote
            # res = [v.last_cast_vote().ld_object.short.toDict(complete=True) for v in voters]

            res = []
            for v in voters:
                cast = v.last_cast_vote().ld_object.short.toDict(complete=True)
                cast["url"] = reverse('ballot-last', args=[election_pk,v.uuid], request=request) 
                res.append(cast)
                
            # res = serializer(voters,request)
            return response(200,res)
        except Exception as err:
            return get_error(err)
Esempio n. 2
0
 def get(self, request, election_pk, voter_pk):
     try:
         cast_vote = get_cast_vote(election_pk, voter_pk)
         res = serializer(cast_vote, request)
         return Response(res.data)
     except Exception as err:
         return get_error(err)
Esempio n. 3
0
 def get(self,request,election_pk, voter_pk):
     try:
         election = getElection(election_pk)
         voter = Voter.get_by_election_and_uuid(election, voter_pk)
         res = voter.last_cast_vote().toJSONDict()
         return response(200,res)
     except Exception as err:
         return get_error(err)
Esempio n. 4
0
 def get(self, request, election_pk, voter_pk):
     try:
         election = getElection(election_pk)
         voter = Voter.get_by_election_and_uuid(election, voter_pk)
         votes = CastVote.get_by_voter(voter)
         res = [v.toJSONDict()  for v in votes]
         return response(200,res)
     except Exception as err:
         return get_error(err)
Esempio n. 5
0
 def post(self, request, election_pk):
     try:
         session = auth_user(request)
         if (session["username"] == "admin"):
             raise_exception(401, 'Admin is not allowed to be a voter.')
         user = get_user_session(session["username"])
         election = getElection(election_pk)
         body = get_encrypted_vote(request)
         voter = election.voter_set.get(
             voter_login_id=user.user_id,
             voter_password=user.info["password"])
         res = serializer(voter, request)
         create_cast_vote(body, voter, request)
         return response(200, res.data)
     except Voter.DoesNotExist as err:
         if (not election.openreg):
             return get_error(err)
         voter = create_voter(user, election)
         return self.post(request, election_pk)
     except Exception as err:
         return get_error(err)
Esempio n. 6
0
 def get(self,request):
     try:
         api_task.slow_task.delay()
         return response(200, 'ok')
     except Exception as err:
         return get_error(err)