def post(self, request, year, week_number): form = EditWeekForm(request.POST, yearnum=year, weeknum=week_number) context = { 'form': form, 'gamenums': range(1, 11), 'year': year, 'week_number': week_number, 'commish_can_post': True } # Need to set a LOCK that players will observe before getting/posting picks set_week_lock_picks(year, week_number, True) if not get_commish_can_post(year, week_number): context['commish_can_post'] = False set_week_lock_picks(year, week_number, False) return render(request, "pick10/edit_week_form.html", context) if form.is_valid(): cd = form.cleaned_data weekobj = get_week(year, week_number) weekobj.lock_picks = make_boolean(cd['lock_picks']) weekobj.pick_deadline = cd['pick_deadline'] weekobj.save() kickoffs = [] # Delete any existing Games for this week Game.objects.filter(week=weekobj).delete() for i in range(1, 11): gamestr = 'game%d_' % i gameobj = add_game( week=weekobj, team1=get_team(cd[gamestr + 'team1']), team2=get_team(cd[gamestr + 'team2']), gamenum=i, favored=int(cd[gamestr + 'favored'].replace('Team', '')), spread=cd[gamestr + 'spread'], kickoff=cd[gamestr + 'kickoff'], allowupdate=True, ) gameobj.game_state = 1 gameobj.quarter = '1st' gameobj.time_left = '15:00' gameobj.save() if cd[gamestr + 'kickoff'] is not None: kickoffs.append(cd[gamestr + 'kickoff']) # Get earliest kickoff and perhaps save that to the Week. kickoffs.sort() if kickoffs: weekobj.pick_deadline = kickoffs[0] weekobj.save() # Need to clear the LOCK that players will observe before getting/posting picks if not cd['lock_picks']: set_week_lock_picks(year, week_number, False) return redirect('/pick10/') # Need to clear the LOCK that players will observe before getting/posting picks # Actually, if you get here, the picks are not ready, so keep lock_picks set return render(request, 'pick10/edit_week_form.html', context)
def get(self, request, year, week_number): weekfields = get_week_info(year, week_number) gamefields = get_games_info_for_week(year, week_number) form = EditWeekForm(weekfields=weekfields, gamefields=gamefields) context = { "form": form, "year": year, "week_number": week_number, "commish_can_post": get_commish_can_post(year, week_number), } return render(request, "pick10/edit_week_form.html", context)
def get(self, request, year, week_number): weekfields = get_week_info(year, week_number) gamefields = get_games_info_for_week(year, week_number) form = EditWeekForm(weekfields=weekfields, gamefields=gamefields, yearnum=year, weeknum=week_number) context = { 'form': form, 'gamenums': range(1, 11), 'year': year, 'week_number': week_number, 'commish_can_post': get_commish_can_post(year, week_number) } return render(request, "pick10/edit_week_form.html", context)
def post(self, request, year, week_number): form = EditWeekForm(request.POST) context = {"form": form, "year": year, "week_number": week_number, "commish_can_post": True} # Need to set a LOCK that players will observe before getting/posting picks set_week_lock_picks(year, week_number, True) if not get_commish_can_post(year, week_number): context["commish_can_post"] = False set_week_lock_picks(year, week_number, False) return render(request, "pick10/edit_week_form.html", context) if form.is_valid(): cd = form.cleaned_data weekobj = get_week(year, week_number) weekobj.lock_picks = make_boolean(cd["lock_picks"]) weekobj.pick_deadline = cd["pick_deadline"] weekobj.save() for i in range(1, 11): gamestr = "game%d_" % i gameobj = add_game( week=weekobj, team1=get_team(cd[gamestr + "team1"]), team2=get_team(cd[gamestr + "team2"]), gamenum=i, favored=int(cd[gamestr + "favored"].replace("Team", "")), spread=cd[gamestr + "spread"], kickoff=cd[gamestr + "kickoff"], allowupdate=True, ) gameobj.game_state = 1 gameobj.quarter = "1st" gameobj.time_left = "15:00" gameobj.save() # Need to clear the LOCK that players will observe before getting/posting picks if not cd["lock_picks"]: set_week_lock_picks(year, week_number, False) return redirect("/pick10/") # Need to clear the LOCK that players will observe before getting/posting picks # Actually, if you get here, the picks are not ready, so keep lock_picks set return render(request, "pick10/edit_week_form.html", context)