def league_answers_submit(request): user = request.user league_name = request.POST.get('league_name') answers = {} for title, response in request.POST.items(): if title != 'league_name' and title != 'csrfmiddlewaretoken': answers[title] = True if response == 'true' else False league = classes.league.League(league_name) member = classes.member.Member(user, league_name) is_member = member.is_member() is_admin = member.is_admin() if (answers and is_admin): success = league.update_answers(answers) if success: message = 'Successfully updated league answers.' else: message = 'Unable to update league answers.' elif answers and is_member: message = 'Error: You must be an admin to update league answers.' elif answers: message = 'Error: League is invalid or you are not a member.' return landing(request, message) else: message = 'Error: Answers block is invalid or missing.' return league_home(request, league_name, message)
def league_answers_or_picks(request, league_name, answers_or_picks): if answers_or_picks == 'answers': answers = True elif answers_or_picks == 'picks': answers = False else: return page_not_found(request) user = request.user league = classes.league.League(league_name) member = classes.member.Member(user.username, league_name) if not league.get_object() or not member.is_member(): message = 'Error: League is invalid or you are not a member.' return landing(request, message) if answers and not member.is_admin(): message = 'Error: You must be an admin to update league answers.' return league_home(request, league_name, message) prop_bets = league.get_prop_bets() if not answers: picks = member.get_picks() prop_bet_picks = {} for bet in prop_bets.keys(): if bet in picks: prop_bet_picks[bet] = picks[bet] else: prop_bet_picks[bet] = None prop_bets = prop_bet_picks context = { 'user': user, 'league_name': league_name, 'prop_bets': prop_bets, 'answers': answers } return render(request, 'ui/league_entry.html', context)
def league_scoreboard(request, league_name): user = request.user member = classes.member.Member(user, league_name) league = classes.league.League(league_name) if member.is_member(): scores = league.get_scoreboard() else: message = 'Error: League is invalid or you are not a member.' return landing(request, message) context = {'scores': scores} return render(request, 'ui/league_scoreboard.html', context)
def member_admin(request): required_params = ['league_name'] validation = InputValidation(request, required_params) if validation.success: user = request.user league_name = validation.request_data['league_name'] member = classes.member.Member(user.username, league_name) if not member.is_member(): validation.add_error('League and user do not match.') else: response_data = {} response_data['admin'] = member.is_admin() validation.add_response_data(response_data) return validation.create_output_json()
def member_update_picks(request): required_params = ['league_name', 'picks'] validation = InputValidation(request, required_params) if validation.success: user = request.user league_name = validation.request_data['league_name'] picks = validation.request_data['picks'] member = classes.member.Member(user.username, league_name) if not member.is_member(): validation.add_error('League and user do not match.') else: success = member.update_picks(picks) if not success: validation.add_error('Unable to update picks.') return validation.create_output_json()
def league_scoreboard(request): required_params = ['league_name'] validation = InputValidation(request, required_params) if validation.success: user = request.user league_name = validation.request_data['league_name'] league = classes.league.League(league_name) member = classes.member.Member(user.username, league_name) if not member.is_member(): validation.add_error('League and user do not match.') else: response_data = {} response_data['scoreboard'] = league.get_scoreboard() validation.add_response_data(response_data) return validation.create_output_json()
def league_home(request, league_name, message=''): user = request.user league = classes.league.League(league_name) member = classes.member.Member(user.username, league_name) if member.is_member(): admin = member.is_admin() context = { 'message': message, 'admin': admin, 'user': user, 'league': league.get_object() } return render(request, 'ui/league_home.html', context) else: message = 'Error: League is invalid or you are not a member.' return landing(request, message)
def league_picks_submit(request): user = request.user league_name = request.POST.get('league_name') picks = {} for title, response in request.POST.items(): if title != 'league_name' and title != 'csrfmiddlewaretoken': picks[title] = True if response == 'true' else False member = classes.member.Member(user, league_name) is_member = member.is_member() if (picks and is_member): success = member.update_picks(picks) if success: message = 'Successfully updated picks.' else: message = 'Unable to update picks.' elif picks: message = 'Error: League is invalid or you are not a member.' return landing(request, message) else: message = 'Error: Picks block is invalid or missing.' return league_home(request, league_name, message)
def member_get_picks(request): required_params = ['league_name'] validation = InputValidation(request, required_params) if validation.success: user = request.user league_name = validation.request_data['league_name'] league = classes.league.League(league_name) member = classes.member.Member(user.username, league_name) if not member.is_member(): validation.add_error('League and user do not match.') else: prop_bets = league.get_prop_bets() existing_picks = member.get_picks() all_picks = {} for prop_bet in prop_bets.keys(): if prop_bet in existing_picks: all_picks[prop_bet] = existing_picks[prop_bet] else: all_picks[prop_bet] = False response_data = {} response_data['picks'] = all_picks validation.add_response_data(response_data) return validation.create_output_json()