def admin_toggle_eligibility(tid): team = Team.get(Team.id == tid) if team.eligibility is None: team.eligibility = False else: team.eligibility = not team.eligibility team.save() flash("Eligibility set to {}".format(team.eligible)) return redirect(url_for(".admin_show_team", tid=tid))
def admin_score_adjust(tid): value = int(request.form["value"]) reason = request.form["reason"] team = Team.get(Team.id == tid) ScoreAdjustment.create(team=team, value=value, reason=reason) flash("Score adjusted.") return redirect(url_for(".admin_show_team", tid=tid))
def _user_teams(user, resource): changed = False p_exact_teams = resource["exact_teams"] p_add_teams = resource["add_teams"] p_remove_teams = resource["remove_teams"] team_names = p_exact_teams or p_add_teams or p_remove_teams if team_names is None: return False teams = [] for name in team_names: try: teams.append(Team.get(Team.name == name)) except model.InvalidTeamException: abort(400, message="Team '%s' does not exist" % name) teams = set(teams) current_teams = set(Team.select().join(TeamMember).join(User)).where( User.username == user.username) teams_to_add = teams - current_teams teams_to_remove = current_teams - teams if p_add_teams: teams_to_remove = [] elif p_remove_teams: teams_to_add = [] for team in teams_to_add: changed = True model.team.add_user_to_team(user, team) query = TeamMember.select().join(User).switch(TeamMember).join(Team).join( TeamRole) for team in teams_to_remove: changed = True found = list( query.where(User.username == user.username, Team.name == team.name)) found[0].delete_instance() return changed
def admin_show_team(tid): team = Team.get(Team.id == tid) return render_template("admin/team.html", team=team)