def get(self, request, year, week_number, player_id): if self.__bad_year_or_week_number(year, week_number): data = {'year': year, 'week_number': week_number} return render(request, "pick10/bad_week.html", data, status=400) if not (self.__is_player_id_valid(player_id)): data = {'player_id': player_id, 'error': 'bad_id'} return render(request, "pick10/bad_player.html", data, status=400) year = int(year) week_number = int(week_number) player_id = int(player_id) d = Database() if not (self.__is_player_in_year(player_id, year)): data = {'year': year, 'player_id': player_id, 'error': 'bad_year'} return render(request, "pick10/bad_player.html", data, status=400) if d.is_week_being_setup(year, week_number): data = {'error': 'week_not_setup'} return render(request, "pick10/bad_player.html", data, status=400) access = UserAccess(request.user) # get the timezone for displaying the kickoff date and pick deadline if access.get_profile() == None: timezone = 'US/Eastern' else: timezone = access.get_profile().preferredtz # TODO tests if self.__hide_player_results(access, player_id, year, week_number): pick_deadline_utc = d.get_pick_deadline(year, week_number) pick_deadline = self.__format_pick_deadline( pick_deadline_utc, timezone) data = { 'year': year, 'player_id': player_id, 'error': 'before_pick_deadline', 'deadline': pick_deadline } return render(request, "pick10/bad_player.html", data) use_private_names = access.is_private_user() calc = CalculatePlayerResults(year, week_number, player_id, use_private_names) summary = calc.get_player_summary() results = calc.get_results() self.set_game_status_params(results, timezone) years_in_pool = sorted(d.get_years(), reverse=True) sidebar = render_to_string("pick10/year_sidebar.html", { 'years_in_pool': years_in_pool, 'year': year }) params = dict() params['year'] = year params['week_number'] = week_number params['weeks_in_year'] = d.get_week_numbers(year) params['years_in_pool'] = years_in_pool params['summary'] = summary params['results'] = results params['FINAL'] = FINAL params['IN_PROGRESS'] = IN_PROGRESS params['NOT_STARTED'] = NOT_STARTED params['side_block_content'] = sidebar WeekNavbar(year, week_number, 'player_results', request.user).add_parameters(params) return render(request, "pick10/player_results.html", params)