Пример #1
0
def change_password(request):
    if request.method == "POST":
        form = ChangePassword(request.POST, password=request.user.password)
        if form.is_valid():
            new_password = request.POST.get('new_password')
            request.user.set_password(new_password)
            request.user.save()
            messages.success(request, "The password was changed successfully.")
    else:
        form = ChangePassword(password=request.user.password)

    if '000_555_from_other_role_change_to_team_member' in request.session:
        base_page = "base_site.html"
        refresh_active_contest(request)  # refersh the contest session
        role = 'Team'
    else:
        role = check_role(request)
        if role == 'Admin':
            base_page = "admin_base_site.html"
            refresh_active_contest_in_admin(
                request)  # refersh the contest session
        elif role == 'Jury':
            base_page = "jury_base.html"
            refresh_active_contest_in_admin(
                request)  # refersh the contest session
        elif role == 'Judge Host':
            base_page = "judge_host_base.html"
        else:
            base_page = "base_site.html"
            refresh_active_contest(request)  # refersh the contest session
    return render(request, 'change_password.html', {
        'form': form,
        'base_page': base_page
    })
Пример #2
0
def send_clarification(request):
    refresh_active_contest(request)  # refersh the contest session
    all_clarification = None
    form = []
    current_contest_id = request.session.get('contest_741_852_963')
    if current_contest_id:
        current_contest = Contest.objects.get(pk=current_contest_id)
        if 'active_team' in request.session:
            active_team = Team.objects.get(
                username=request.session.get('active_team'))
            clarification_from = ClarificationFromTeam.objects.filter(
                team=active_team,
                contest=current_contest).order_by('send_time')
            clarification_to = ClarificationFromAdmin.objects.filter(team = active_team, contest=current_contest).order_by('send_time')| \
                                ClarificationFromAdmin.objects.filter(is_public = True, contest=current_contest).order_by('send_time')
        else:
            clarification_from = ClarificationFromUser.objects.filter(
                user=request.user,
                contest=current_contest).order_by('send_time')
            clarification_to = ClarificationFromAdmin.objects.filter(user = request.user, contest=current_contest).order_by('send_time')| \
                                ClarificationFromAdmin.objects.filter(is_public = True, contest=current_contest).order_by('send_time')

        all_clarification_from = [(i.send_time, i.message, 'from_user')
                                  for i in clarification_from]
        all_clarification = [(i.send_time, i.message, 'to_user')
                             for i in clarification_to]
        all_clarification.extend(all_clarification_from)
        all_clarification.sort(reverse=True)

        if request.method == 'POST':
            form = SendClarification(request.POST)
            if form.is_valid():
                message = request.POST.get('message')
                now = timezone.now()
                current_contest = Contest.objects.get(pk=current_contest_id)
                if 'active_team' in request.session:
                    active_team = Team.objects.get(
                        username=request.session.get('active_team'))
                    send = ClarificationFromTeam(message=message,
                                                 send_time=now,
                                                 team=active_team,
                                                 contest=current_contest)
                    send.save()
                else:
                    send = ClarificationFromUser(message=message,
                                                 send_time=now,
                                                 user=request.user,
                                                 contest=current_contest)
                    send.save()
                return redirect('send_clarification')

        else:
            form = SendClarification()
    return render(request, 'view_clarification.html', {
        'form': form,
        'all_clarification': all_clarification
    })
Пример #3
0
def change_team(request):
    if request.method == 'POST':
        active_team_id = request.POST.get('active_team')
        if active_team_id == '0':
            try:
                active_team = ActiveTeam.objects.get(user=request.user)
                active_team.team = None
                active_team.save()
            except ActiveTeam.DoesNotExist:
                ActiveTeam(user=request.user, team=None).save()
        else:
            select_team = Team.objects.get(pk=active_team_id)
            try:
                active_team = ActiveTeam.objects.get(user=request.user)
                active_team.team = select_team
                active_team.save()
            except ActiveTeam.DoesNotExist:
                ActiveTeam(user=request.user, team=select_team).save()
        try:
            active_team = ActiveTeam.objects.get(user=request.user).team
        except ActiveTeam.DoesNotExist:
            active_team = None
        if active_team:
            request.session['active_team'] = active_team.username
        elif 'active_team' in request.session:
            del request.session['active_team']
        refresh_active_contest(request)  # refersh the contest session
        if 'contest_741_852_963' in request.session:
            try:
                contest = Contest.objects.get(
                    pk=request.session.get('contest_741_852_963'))
                contest.last_update = timezone.now()
                contest.save()
            except contest.DoesNotExist:
                pass
        return redirect('user_view_profile')
    base_page = "base_site.html"
    team = Team.objects.filter(member=request.user)
    print(team)
    try:
        active = ActiveTeam.objects.get(user=request.user)
    except ActiveTeam.DoesNotExist:
        active = None
    return render(request, 'change_role.html', {
        'team': team,
        'base_page': base_page,
        'active': active
    })
Пример #4
0
def view_team(request, team_id):
    team = Team.objects.get(pk=team_id)
    if '000_555_from_other_role_change_to_team_member' in request.session:
        base_page = "team_base.html"
        refresh_active_contest(request)  # refersh the contest session
        role = 'Team'
    else:
        role = check_role(request)
        if role == 'Admin':
            base_page = "admin_base_site.html"
            refresh_active_contest_in_admin(
                request)  # refersh the contest session
        elif role == 'Jury':
            base_page = "jury_base.html"
            refresh_active_contest_in_admin(
                request)  # refersh the contest session
        else:
            base_page = "team_base.html"
            refresh_active_contest(request)  # refersh the contest session
    return render(request, 'view_team.html', {
        'team': team,
        'base_page': base_page
    })
Пример #5
0
def my_profile(request):
    if request.user.campus:
        user_campus = request.user.campus.name
    else:
        user_campus = 'None'
    user_category = request.user.category.category
    user_role = ', '.join([i.role for i in request.user.role.all()])
    user_register_date = request.user.register_date
    user_score = request.user.score
    initial_info = {
        '_campus': user_campus,
        '_category': user_category,
        '_role': user_role,
        '_register_date': user_register_date,
        '_score': user_score
    }
    if request.method == "POST":
        form = EditMyProfile(request.POST,
                             request.FILES,
                             instance=request.user,
                             initial=initial_info)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
            messages.success(
                request,
                "The user " + post.username + " was update successfully.")
            redirect('user_view_profile')
    else:
        form = EditMyProfile(instance=request.user, initial=initial_info)

    if '000_555_from_other_role_change_to_team_member' in request.session:
        base_page = "base_site.html"
        refresh_active_contest(request)  # refersh the contest session
        role = 'Team'
    else:
        role = check_role(request)
        if role == 'Admin':
            base_page = "admin_base_site.html"
            refresh_active_contest_in_admin(
                request)  # refersh the contest session
        elif role == 'Jury':
            base_page = "jury_base.html"
            refresh_active_contest_in_admin(
                request)  # refersh the contest session
        elif role == 'Judge Host':
            base_page = "judge_host_base.html"
        else:
            base_page = "base_site.html"
            refresh_active_contest(request)  # refersh the contest session

    if role == "Team":
        try:
            active_team = ActiveTeam.objects.get(user=request.user).team
        except ActiveTeam.DoesNotExist:
            active_team = None
        team = Team.objects.filter(member=request.user)
    else:
        active_team = None
        team = None
    print(role, active_team, team)
    return render(
        request, 'profile.html', {
            'form': form,
            'base_page': base_page,
            'team': team,
            'active_team': active_team
        })