Esempio n. 1
0
def users_view(request):
    # Authentication check
    authentication_result = views.authentication_check(
        request, [Account.ACCOUNT_ADMIN])
    if authentication_result is not None:
        return authentication_result
    # Get the template data from the session
    template_data = views.parse_session(request)
    # Proceed with the rest of the view
    if request.method == 'POST' and 'role' in request.POST:
        pk = request.POST['pk']
        role = request.POST['role']
        account = Account.objects.get(pk=pk)
        if account is not None:
            account.role = role
            account.save()
            template_data['alert_success'] = "Updated " + \
                account.user.username + "'s role!"

    if request.method == 'POST' and 'SIG' in request.POST:
        pk = request.POST['pk']
        SIG = request.POST['SIG']
        account = Account.objects.get(pk=pk)
        if account is not None:
            account.SIG = SIG
            account.save()
            template_data['alert_success'] = "Updated " + \
                account.user.username + "'s SIG!"

    # Parse search sorting
    template_data['query'] = Account.objects.filter(
        archive=False, role__in=[1, 2, 4]).order_by('-role')
    return render(request, 'ienitk/admin/users.html', template_data)
Esempio n. 2
0
def candidates_view(request):
    # Authentication check
    authentication_result = views.authentication_check(
        request, [Account.ACCOUNT_ADMIN, Account.ACCOUNT_MEMBER, Account.ACCOUNT_AUX_ADMIN])
    if authentication_result is not None:
        return authentication_result
    # Get the template data from the session
    template_data = views.parse_session(request)
    # Get the SIG information of the user
    current_user = request.user
    SIG_User = current_user.account.SIG
    # update status of candidates
    if request.method == 'POST':
        pk = request.POST['pk']
        status = request.POST['status']
        candidate = Status.objects.get(pk=pk)
        if candidate is not None:
            candidate.status = status
            candidate.save()
            template_data['alert_success'] = "Updated" + \
                candidate.user.user.username + "'s status!"
    # Parse search sorting
    template_data['query'] = Status.objects.filter(SIG=SIG_User)
    if current_user.account.role == 4:
        template_data['query'] = Status.objects.filter(
            SIG__in=["SR", "VR", "RO", "CA", "TE"])
    template_data['logged_in_user'] = current_user
    return render(request, 'ienitk/admin/candidates.html', template_data)
Esempio n. 3
0
def add_user(request):
    # Authentication check
    authentication_result = views.authentication_check(
        request, [Account.ACCOUNT_ADMIN])
    if authentication_result is not None:
        return authentication_result
    # Get the template data from the session
    template_data = views.parse_session(request, {'form_button': "Register"})
    # Proceed with the rest of the view
    if request.method == 'POST':
        form = AddUserForm(request.POST)
        if form.is_valid():
            user = views.register_user(
                form.cleaned_data['email'],
                form.cleaned_data['password_first'],
                form.cleaned_data['firstname'],
                form.cleaned_data['lastname'],
                0,
                "",
                True,
                form.cleaned_data['member_type']
            )
            request.session['alert_success'] = "Successfully created new member account. Please ask them to change the password first"
            return HttpResponseRedirect(reverse('webadmin:admin/users'))
    else:
        form = AddUserForm()
    template_data['form'] = form
    return render(request, 'ienitk/admin/createuser.html', template_data)
Esempio n. 4
0
def not_applied_candidate_view(request):
    authentication_result = views.authentication_check(request, [
        Account.ACCOUNT_ADMIN, Account.ACCOUNT_MEMBER,
        Account.ACCOUNT_AUX_ADMIN
    ])
    if authentication_result is not None:
        return authentication_result
    # Get the template data from the session
    template_data = views.parse_session(request)

    current_user = request.user

    if current_user.account.role != 1:
        return

    all_candidates = Account.objects.filter(role=3)
    applied_candidates = BasicResponses.objects.all()

    not_applied_candidates = []

    for candidate in all_candidates:
        flag = True
        for applied_candidate in applied_candidates:
            if (candidate == applied_candidate.user):
                flag = False
                break

        if (flag):
            not_applied_candidates.append(candidate)

    template_data['query'] = not_applied_candidates

    template_data['logged_in_user'] = current_user
    return render(request, 'ienitk/admin/not_applied_candidates.html',
                  template_data)
Esempio n. 5
0
def view_archived_users(request):
    # Authentication check.
    authentication_result = views.authentication_check(
        request, [Account.ACCOUNT_ADMIN])
    if authentication_result is not None:
        return authentication_result
    # Get the template data from the session
    template_data = views.parse_session(request)
    # Proceed with the rest of the view
    template_data['query'] = Account.objects.filter(archive=True)
    return render(request, 'ienitk/admin/archived_users.html', template_data)
Esempio n. 6
0
def restore_user(request):
    # Authentication check.
    authentication_result = views.authentication_check(
        request, [Account.ACCOUNT_ADMIN])
    if authentication_result is not None:
        return authentication_result
    # Get the template data from the session
    template_data = views.parse_session(request)
    # Proceed with the rest of the view
    if request.method == 'POST':
        if 'restore' in request.POST and 'pk' in request.POST:
            pk = request.POST['pk']
            try:
                user = Account.objects.get(pk=pk)
            except Exception:
                template_data['alert_danger'] = "Unable to delete the user. Please try again later"
                return HttpResponseRedirect(reverse('webadmin:admin/users'))
            user.archive = False
            user.save()
            template_data['alert_success'] = "The user has been restored."
            return HttpResponseRedirect(reverse('webadmin:admin/users'))
    return HttpResponseRedirect(reverse('webadmin:admin/users'))