Esempio n. 1
0
File: views.py Progetto: YLAsce/oj
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")
Esempio n. 2
0
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')
Esempio n. 3
0
File: views.py Progetto: YLAsce/oj
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')
Esempio n. 4
0
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)
Esempio n. 5
0
File: views.py Progetto: YLAsce/oj
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)
Esempio n. 6
0
File: views.py Progetto: YLAsce/oj
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")
Esempio n. 7
0
File: views.py Progetto: YLAsce/oj
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)
Esempio n. 8
0
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')
Esempio n. 9
0
File: views.py Progetto: YLAsce/oj
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')
Esempio n. 10
0
File: views.py Progetto: YLAsce/oj
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")
Esempio n. 11
0
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')
Esempio n. 12
0
File: views.py Progetto: YLAsce/oj
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')