def cl_quali(request): context = {} cl_quali_rosters = Roster.objects.exclude( league_id=LISTENER_LEAGUE_ID).order_by("-fpts", "-fpts_decimal") top12_rosters = cl_quali_rosters[:12] in_the_hunt_rosters = cl_quali_rosters[12:100] top12_table = RosterTable(top12_rosters) in_the_hunt_table = RosterTable(in_the_hunt_rosters, ranking_offset=12) context["top12_table"] = top12_table context["in_the_hunt_table"] = in_the_hunt_table return render(request, "leagues/cl_quali.html", context)
def my_league(request): all_leagues = League.objects.all() context = { "levels": [{ "title": LEVEL_MAP.get(level), "leagues": all_leagues.filter(level=level).order_by("sleeper_name") } for level in all_leagues.order_by("level").values_list( "level", flat=True).distinct()] } my_league_id = request.COOKIES.get('my_league') if my_league_id: league = all_leagues.get(sleeper_id=my_league_id) title = league.sleeper_name table = RosterTable(Roster.objects.filter(league=league)) header_logo = LOGO_MAP.get(league.level).get(league.conference) context["my_league"] = my_league_id context["title"] = title context["table"] = table context["conference"] = league.conference or "" context["header_logo"] = header_logo context["stats_link"] = reverse( 'facts_and_figures_league', kwargs={'league_id': league.sleeper_id}) context["draft_link"] = reverse( 'draft-board', kwargs={ 'league_id': league.sleeper_id }) if league.draft.status != 'pre_draft' else None return render(request, "leagues/my_league.html", context)
def level_detail(request, level=None, conference=None, region=None): league_objects = League.objects.all().order_by('sleeper_name') header_logo = None if level: league_objects = league_objects.filter(level=level) header_logo = LOGO_MAP.get(level).get(conference) if conference: league_objects = league_objects.filter(conference=conference) if region: if region == "Sued": region = 'Süd' league_objects = league_objects.filter(region=region) leagues = [{ "title": league.sleeper_name, "table": RosterTable(Roster.objects.filter(league=league)), "conference": league.conference or "", "stats_link": reverse('facts_and_figures_league', kwargs={'league_id': league.sleeper_id}), "draft_link": reverse('draft-board', kwargs={'league_id': league.sleeper_id}) if league.draft.status != 'pre_draft' else None } for league in league_objects] return render(request, "leagues/level_detail.html", { "leagues": leagues, "header_logo": header_logo })
def some_quali(request): ranked_rosters_qs = Roster.objects.annotate( rank=Window(expression=RowNumber(), partition_by=[F('league_id')], order_by=[ F('wins').desc(), F('ties').desc(), F('fpts').desc(), F('fpts_decimal').desc() ])) rank_two_rosters = [ roster for roster in ranked_rosters_qs if roster.rank == 2 ] rank_three_rosters = [ roster for roster in ranked_rosters_qs if roster.rank == 3 ] rank_two_rosters = Roster.objects.annotate( rank=Window(expression=RowNumber(), partition_by=[F('league_id')], order_by=[ F('wins').desc(), F('ties').desc(), F('fpts').desc(), F('fpts_decimal').desc() ])).filter(rank=2).order_by('-fpts', '-fpts_decimal') rank_three_rosters = Roster.objects.annotate( rank=Window(expression=RowNumber(), partition_by=[F('league_id')], order_by=[ F('wins').desc(), F('ties').desc(), F('fpts').desc(), F('fpts_decimal').desc() ])).filter(rank=3).order_by('-fpts', '-fpts_decimal') # rank_two_rosters = Roster.objects.raw("select * from (select *, row_number() over (partition by league_id order by wins desc, ties asc, fpts desc, fpts_decimal desc) as rank from leagues_roster) where rank=2 order by fpts desc, fpts_decimal desc;") # rank_three_rosters = Roster.objects.raw("select * from (select *, row_number() over (partition by league_id order by wins desc, ties asc, fpts desc, fpts_decimal desc) as rank from leagues_roster) where rank=3 order by fpts desc, ftps_decimal desc;") top8_rank_two_roster_table = RosterTable(rank_two_rosters[:8]) top8_rank_three_roster_table = RosterTable(rank_three_rosters[:8]) context = { "top8_rank_two_roster_table": top8_rank_two_roster_table, "top8_rank_three_roster_table": top8_rank_three_roster_table } return render(request, "leagues/some_quali.html", context)
def roster_list(request, league_id): league = League.objects.get(sleeper_id=league_id) title = league.sleeper_name table = RosterTable(Roster.objects.filter(league=league)) return render(request, "leagues/roster_list.html", { "title": title, "table": table })
def listener_league(request): league = League.objects.get(sleeper_id=LISTENER_LEAGUE_ID) title = "DST - Hörerliga" table = RosterTable(Roster.objects.filter(league=league)) context = {} context["title"] = title context["table"] = table context["draft_link"] = reverse( 'draft-board', kwargs={ 'league_id': league.sleeper_id }) if league.draft.status != 'pre_draft' else None return render(request, "leagues/custom_league.html", context)