diff --git a/luncho/blueprints/voting.py b/luncho/blueprints/voting.py index 3894ad6..4b7623c 100644 --- a/luncho/blueprints/voting.py +++ b/luncho/blueprints/voting.py @@ -119,8 +119,36 @@ class PlacesVotedMoreThanOnceException(LunchoException): @ForceJSON(required=['choices']) @auth def cast_vote(group_id): - """Cast a vote for a group. A user can cast a vote in a single group + """*Authenticated request* + + Cast a vote for a group. A user can cast a vote in a single group per day. + + :header Authorization: Access token from '/token/'. + + :status 200: Success + :status 400: Request MUST be in JSON format + (:pyu:class:`RequestMustBeJSONException`) + :status 400: Missing fields + (:py:class:`MissingFieldsException`) + :status 403: User is not member of this group + (:py:class:`UserIsNotMemberException`) + :status 404: User not found (via token) + (:py:class:`UserNotFoundException`) + :status 404: Group not found + (:py:class:`ElementNotFoundException`) + :status 404: Place not found + (:py:class:`ElementNotFoundException`) + :status 404: Place doesn't belong to the group + (:py:class:`PlaceDoesntBelongToGroupException`) + :status 406: User already voted today + (:py:class:`VoteAlreadyCastException`) + :status 406: Number of places vote doesn't match the required + (:py:class:`InvalidNumberOfPlacesCastedException`) + :status 409: Places voted more than once + (:py:class:`PlacesVotedMoreThanOnceException`) + :status 412: Authorization required + (:py:class:`AuthorizationRequiredException`) """ # check if the group exists group = Group.query.get(group_id)