예제 #1
0
파일: voting.py 프로젝트: CalPolyIEEE/ieee
def submit_ballot():
    json = request.get_json(force=True)
    verify = verify_ballot(json["ballot"])

    if not verify["success"]:
        return jsonify(success=False, errors=["Ballot failed verification."])

    if current_user.voted:
        return jsonify(success=False, errors=["Forbidden."])

    for position, choices in json["ballot"].iteritems():
        db_position = Position.query.filter_by(name=position).first()
        for choice in choices:
            if "[WRITE IN]" in choice:
                can_id = User.query.filter_by(name="WRITE_IN").first().id
                write_in = choice
            else:
                can_id = User.query.filter_by(name=choice).first().id
                write_in = ""

            vote = Vote(voter_id=current_user.id, position_id=db_position.id, candidate_id=can_id, write_in=write_in)
            db.session.add(vote)
            db.session.commit()

    current_user.voted = True
    db.session.add(current_user)
    db.session.commit()

    return jsonify(success=True)
예제 #2
0
파일: voting.py 프로젝트: CalPolyIEEE/ieee
def run_verify_ballot():
    return jsonify(verify_ballot(request.get_json(force=True)["ballot"]))