Пример #1
0
def resource_supply(request, resource, page_name):
    """Supply the view_objects content.
       :return: team, goals_scoreboard, resource_round_ranks"""

    user = request.user
    team = user.profile.team
    round_resource_ranks = {}
    round_group_resource_ranks = {}
    round_resource_goal_ranks = {}

    today = datetime.datetime.today()

    rounds = challenge_mgr.get_all_round_info()["rounds"]
    for key in rounds.keys():
        if rounds[key]["start"] <= today and\
            (rounds[key]["display_scoreboard"] or page_name == "status"):
            round_resource_ranks[key] = resource_mgr.resource_ranks(resource, key)
            round_group_resource_ranks[key] = resource_mgr.group_resource_ranks(resource, key)
            round_resource_goal_ranks[key] = resource_goal.resource_goal_ranks(resource, key)

    round_resource_ranks["Overall"] = resource_mgr.resource_ranks(resource, "Overall")
    round_group_resource_ranks["Overall"] = resource_mgr.group_resource_ranks(resource, "Overall")
    round_resource_goal_ranks["Overall"] = resource_goal.resource_goal_ranks(resource, "Overall")

    resource_setting = resource_mgr.get_resource_setting(resource)
    return {
        "profile": user.profile,
        "team": team,
        "resource": resource_setting,
        "round_resource_goal_ranks": round_resource_goal_ranks,
        "round_resource_ranks": round_resource_ranks,
        "round_group_resource_ranks": round_group_resource_ranks,
        }
Пример #2
0
def prize_summary(request, round_name):
    """display summary of the winners."""

    round_name = round_name.replace('-', ' ').capitalize()
    individual_team_prize = Prize.objects.filter(round=RoundSetting.objects.get(name=round_name),
                         competition_type="points",
                         award_to="individual_team")
    teams = Team.objects.all()

    if individual_team_prize:
        individual_team_prize = individual_team_prize[0]
        for team in teams:
            team.leader = individual_team_prize.leader(team=team)

    team_energy_goal_prize = Prize.objects.filter(round=RoundSetting.objects.get(name=round_name),
                         competition_type="energy_goal",
                         award_to="team_overall")
    energy_team_ra = None
    if team_energy_goal_prize:
        team_energy_goal_prize = team_energy_goal_prize[0]
        energy_team_ra = Profile.objects.filter(team__name=team_energy_goal_prize.leader(),
                               is_ra=True)

    team_points_prize = Prize.objects.filter(round=RoundSetting.objects.get(name=round_name),
                                             competition_type="points",
                                             award_to="team_overall")
    point_team_ra = None
    if team_points_prize:
        team_points_prize = team_points_prize[0]
        point_team_ra = Profile.objects.filter(team__name=team_points_prize.leader(),
                                                is_ra=True)

    points_leader = score_mgr.player_points_leaders(round_name=round_name)
    if points_leader:
        points_leader = points_leader[0]
    return render_to_response("view_prizes/summary.html", {
        "team_energy_goal_prize": team_energy_goal_prize,
        "energy_team_ra": energy_team_ra,
        "goal": resource_goal.resource_goal_ranks("energy", round_name)[0]["completions"],

        "team_points_prize": team_points_prize,
        "team_point": team_mgr.team_points_leaders(round_name=round_name)[0]["points"],
        "team_participation": team_mgr.team_active_participation(
            round_name=round_name)[0].active_participation,
        "point_team_ra": point_team_ra,

        "individual_overall_prize": Prize.objects.filter(
                                    round=RoundSetting.objects.get(name=round_name),
                                                  competition_type="points",
                                                  award_to="individual_overall")[0],
        "individual_point": points_leader["points"] if points_leader else None,

        "individual_team_prize": individual_team_prize,
        "teams": teams
    }, context_instance=RequestContext(request))
Пример #3
0
def resource_supply(request, resource, page_name):
    """Supply the view_objects content.
       :return: team, goals_scoreboard, resource_round_ranks"""

    user = request.user
    team = user.get_profile().team
    round_resource_ranks = {}
    round_resource_goal_ranks = {}

    current_round = challenge_mgr.get_round_name()
    rounds = challenge_mgr.get_all_round_info()["rounds"]
    for key in rounds.keys():
        if key == current_round or page_name == "status":
            round_resource_ranks[key] = resource_mgr.resource_ranks(resource, key)
            round_resource_goal_ranks[key] = resource_goal.resource_goal_ranks(resource, key)

    resource_setting = resource_mgr.get_resource_setting(resource)
    return {
        "profile": user.get_profile(),
        "team": team,
        "resource": resource_setting,
        "round_resource_goal_ranks": round_resource_goal_ranks,
        "round_resource_ranks": round_resource_ranks,
        }
Пример #4
0
def prize_summary(request, round_name):
    """display summary of the winners."""

    round_name = round_name.replace('-', ' ').capitalize()
    individual_team_prize = Prize.objects.filter(
        round=RoundSetting.objects.get(name=round_name),
        competition_type="points",
        award_to="individual_team")
    teams = Team.objects.all()

    if individual_team_prize:
        individual_team_prize = individual_team_prize[0]
        for team in teams:
            team.leader = individual_team_prize.leader(team=team)

    team_energy_goal_prize = Prize.objects.filter(
        round=RoundSetting.objects.get(name=round_name),
        competition_type="energy_goal",
        award_to="team_overall")
    energy_team_ra = None
    if team_energy_goal_prize:
        team_energy_goal_prize = team_energy_goal_prize[0]
        energy_team_ra = Profile.objects.filter(
            team__name=team_energy_goal_prize.leader(), is_ra=True)

    team_points_prize = Prize.objects.filter(
        round=RoundSetting.objects.get(name=round_name),
        competition_type="points",
        award_to="team_overall")
    point_team_ra = None
    if team_points_prize:
        team_points_prize = team_points_prize[0]
        point_team_ra = Profile.objects.filter(
            team__name=team_points_prize.leader(), is_ra=True)

    points_leader = score_mgr.player_points_leaders(round_name=round_name)
    if points_leader:
        points_leader = points_leader[0]
    return render_to_response("view_prizes/summary.html", {
        "team_energy_goal_prize":
        team_energy_goal_prize,
        "energy_team_ra":
        energy_team_ra,
        "goal":
        resource_goal.resource_goal_ranks("energy",
                                          round_name)[0]["completions"],
        "team_points_prize":
        team_points_prize,
        "team_point":
        team_mgr.team_points_leaders(round_name=round_name)[0]["points"],
        "team_participation":
        team_mgr.team_active_participation(
            round_name=round_name)[0].active_participation,
        "point_team_ra":
        point_team_ra,
        "individual_overall_prize":
        Prize.objects.filter(round=RoundSetting.objects.get(name=round_name),
                             competition_type="points",
                             award_to="individual_overall")[0],
        "individual_point":
        points_leader["points"] if points_leader else None,
        "individual_team_prize":
        individual_team_prize,
        "teams":
        teams
    },
                              context_instance=RequestContext(request))