def viewAllTeams(request): logger.info(unicode(request).replace("\n", "\t")) try: admin = request.session.get("admin", None) if not admin: messages.add_message(request, messages.INFO, unicode("Invalid Key")) return redirect("Register:admin_login") team_list = Team.getAllTeams() pending = team_list.filter(status="Pending").count() accepted = team_list.filter(status="Accepted").count() failed = team_list.filter(status="Failed").count() skipped = team_list.filter(status="Skipped").count() teams = [] for team in team_list: members = Contestant.getTeamContestant(team) teams.append({"info": team, "members": members}) return render( request, "newtpl/register/view_teams.html", {"teams": teams, "pending": pending, "accepted": accepted, "failed": failed, "skipped": skipped}, ) except Exception as e: logger.error(unicode(e).replace("\n", "\t")) messages.add_message(request, messages.INFO, unicode(e)) return redirect("Register:view_teams")
def judgeTeam(request, tid = 1): logger.info(unicode(request).replace('\n', '\t')) try: admin = request.session.get('admin', None) if not admin: messages.add_message(request, messages.INFO, u'Not admin!') return redirect('Register:admin_login') tid = int(tid) team = None while True: if tid > Team.getMaxId(): raise Exception('No Pending Teams!') try: team = Team.getById(tid) except: tid += 1 continue if team.status == 'Skipped' or team.status == 'Pending': break tid += 1 team_list = Team.getAllTeams() pending = team_list.filter(status = 'Pending').count() accepted = team_list.filter(status = 'Accepted').count() failed = team_list.filter(status = 'Failed').count() skipped = team_list.filter(status = 'Skipped').count() members = Contestant.getTeamContestant(team) return render(request, 'newtpl/register/judge_team.html', {'team': team, 'members': members, 'pending': pending, 'accepted': accepted, 'failed': failed, 'skipped': skipped, 'admin': True}) except Exception as e: logger.error(unicode(e).replace('\n', '\t')) messages.add_message(request, messages.INFO, unicode(e)) return redirect('Register:view_teams')
def judgeTeam(request, tid = 1): logger.info(unicode(request).replace('\n', '\t')) try: admin = request.session.get('admin', None) if not admin: messages.add_message(request, messages.INFO, u'Not admin!') return redirect('Register:admin_login') tid = int(tid) team = None while True: try: team = Team.getById(tid) except: raise Exception('No Pending Teams!') if team.status == 'Skipped' or team.status == 'Pending': break tid += 1 team_list = Team.getAllTeams() pending = team_list.filter(status = 'Pending').count() accepted = team_list.filter(status = 'Accepted').count() failed = team_list.filter(status = 'Failed').count() skipped = team_list.filter(status = 'Skipped').count() members = Contestant.getTeamContestant(team) return render(request, 'newtpl/register/judge_team.html', {'team': team, 'members': members, 'pending': pending, 'accepted': accepted, 'failed': failed, 'skipped': skipped, 'admin': True}) except Exception as e: logger.error(unicode(e).replace('\n', '\t')) messages.add_message(request, messages.INFO, unicode(e)) return redirect('Register:view_teams')
def teamInfo(request, tid): logger.info(unicode(request).replace('\n', '\t')) tid = int(tid) try: team = Team.getSessionTeam(request.session) except Exception as e: messages.add_message(request, messages.INFO, u'请先登录!') return redirect('Register:team_login') try: if team.pk != tid: raise Exception(u'您没有查看该队员信息的权限!') target_team = Team.getById(tid) members = Contestant.getTeamContestant(target_team) full = True if len(members) >= 3 else False return render(request, 'newtpl/register/team_info.html', {'target_team': target_team, 'members': members, 'full': full}) except Exception as e: logger.error(unicode(e).replace('\n', '\t')) messages.add_message(request, messages.INFO, unicode(e)) return redirect('Register:team_info', team.pk)
def teamInfo(request, tid): logger.info(unicode(request).replace('\n', '\t')) tid = int(tid) try: team = Team.getSessionTeam(request.session) except Exception as e: messages.add_message(request, messages.INFO, u'请先登录!') return redirect('Register:team_login') try: if team.pk != tid: raise Exception(u'您没有查看该队伍信息的权限!') target_team = Team.getById(tid) members = Contestant.getTeamContestant(target_team) full = True if len(members) >= 3 else False return render(request, 'newtpl/register/team_info.html', {'target_team': target_team, 'members': members, 'full': full}) except Exception as e: logger.error(unicode(e).replace('\n', '\t')) messages.add_message(request, messages.INFO, unicode(e)) return redirect('Register:team_info', team.pk)
def judgeTeam(request, tid=1): logger.info(unicode(request).replace("\n", "\t")) try: admin = request.session.get("admin", None) if not admin: messages.add_message(request, messages.INFO, u"Not admin!") return redirect("Register:admin_login") tid = int(tid) team = None while True: try: team = Team.getById(tid) except: raise Exception("No Pending Teams!") if team.status == "Skipped" or team.status == "Pending": break tid += 1 team_list = Team.getAllTeams() pending = team_list.filter(status="Pending").count() accepted = team_list.filter(status="Accepted").count() failed = team_list.filter(status="Failed").count() skipped = team_list.filter(status="Skipped").count() members = Contestant.getTeamContestant(team) return render( request, "newtpl/register/judge_team.html", { "team": team, "members": members, "pending": pending, "accepted": accepted, "failed": failed, "skipped": skipped, "admin": True, }, ) except Exception as e: logger.error(unicode(e).replace("\n", "\t")) messages.add_message(request, messages.INFO, unicode(e)) return redirect("Register:view_teams")
def teamInfo(request, tid): logger.info(unicode(request).replace("\n", "\t")) tid = int(tid) try: team = Team.getSessionTeam(request.session) except Exception as e: messages.add_message(request, messages.INFO, u"请先登录!") return redirect("Register:team_login") try: if team.pk != tid: raise Exception(u"您没有查看该队伍信息的权限!") target_team = Team.getById(tid) members = Contestant.getTeamContestant(target_team) full = True if len(members) >= 3 else False return render( request, "newtpl/register/team_info.html", {"target_team": target_team, "members": members, "full": full} ) except Exception as e: logger.error(unicode(e).replace("\n", "\t")) messages.add_message(request, messages.INFO, unicode(e)) return redirect("Register:team_info", team.pk)
def viewAcceptedTeams(request): logger.info(unicode(request).replace('\n', '\t')) try: admin = request.session.get('admin', None) if not admin: messages.add_message(request, messages.INFO, unicode('Invalid Key')) return redirect('Register:admin_login') all_team_list = Team.getAllTeams() ac_team_list = all_team_list.filter(status = 'Accepted') #ac_team_list = all_team_list.filter(status = 'Finals') #ac_team_list = all_team_list.filter(status = 'Bronze') teams = [] for team in ac_team_list: members = Contestant.getTeamContestant(team) teams.append({'info': team, 'members': members}) return render(request, 'newtpl/register/view_accepted_teams.html', {'teams': teams}) except Exception as e: logger.error(unicode(e).replace('\n', '\t')) messages.add_message(request, messages.INFO, unicode(e)) return redirect('Register:view_accepted_teams')
def viewAcceptedTeams(request): logger.info(unicode(request).replace("\n", "\t")) try: admin = request.session.get("admin", None) if not admin: messages.add_message(request, messages.INFO, unicode("Invalid Key")) return redirect("Register:admin_login") all_team_list = Team.getAllTeams() ac_team_list = all_team_list.filter(status="Accepted") # ac_team_list = all_team_list.filter(status = 'Finals') # ac_team_list = all_team_list.filter(status = 'Bronze') teams = [] for team in ac_team_list: members = Contestant.getTeamContestant(team) teams.append({"info": team, "members": members}) return render(request, "newtpl/register/view_accepted_teams.html", {"teams": teams}) except Exception as e: logger.error(unicode(e).replace("\n", "\t")) messages.add_message(request, messages.INFO, unicode(e)) return redirect("Register:view_accepted_teams")
def viewAllTeams(request): logger.info(unicode(request).replace('\n', '\t')) try: admin = request.session.get('admin', None) if not admin: messages.add_message(request, messages.INFO, unicode('Invalid Key')) return redirect('Register:admin_login') team_list = Team.getAllTeams() pending = team_list.filter(status = 'Pending').count() accepted = team_list.filter(status = 'Accepted').count() failed = team_list.filter(status = 'Failed').count() skipped = team_list.filter(status = 'Skipped').count() teams = [] for team in team_list: members = Contestant.getTeamContestant(team) teams.append({'info': team, 'members': members}) return render(request, 'newtpl/register/view_teams.html', {'teams': teams, 'pending': pending, 'accepted': accepted, 'failed': failed, 'skipped': skipped}) except Exception as e: logger.error(unicode(e).replace('\n', '\t')) messages.add_message(request, messages.INFO, unicode(e)) return redirect('Register:view_teams')