Esempio n. 1
0
def details_user(request, user_id):
    template_data = {}
    try:
        user = UserService.find_one(user_id)
        assert not user.has_perm("principal.administrator")

        if user.has_perm("principal.alumno"):
            # Is student
            student = StudentService.find_one(user.id)
            subjects = student.asignaturas.all()
            template_data["subjects"] = subjects
            template_data["rol"] = "alumno"
            template_data["user_details"] = student
        else:
            # Is lecturer
            lecturer = LecturerService.find_one(user.id)
            impart_subject = lecturer.imparteasignatura_set.all()
            template_data["impart_subjects"] = impart_subject
            template_data["rol"] = "profesor"
            template_data["user_details"] = lecturer

        template_name = "user/details.html"
        return render_to_response(template_name, template_data, context_instance=RequestContext(request))

    except AssertionError:
        messages.error(request, _("Unable to display user details"))
        return HttpResponseRedirect("/admin/user/list")
Esempio n. 2
0
def details_user(request, user_id):
    template_data = {}
    try:
        user = UserService.find_one(user_id)
        assert not user.has_perm('principal.administrator')

        if user.has_perm('principal.alumno'):
            # Is student
            student = StudentService.find_one(user.id)
            subjects = student.asignaturas.all()
            template_data['subjects'] = subjects
            template_data['rol'] = 'alumno'
            template_data['user_details'] = student
        else:
            # Is lecturer
            lecturer = LecturerService.find_one(user.id)
            impart_subject = lecturer.imparteasignatura_set.all()
            template_data['impart_subjects'] = impart_subject
            template_data['rol'] = 'profesor'
            template_data['user_details'] = lecturer

        template_name = 'user/details.html'
        return render_to_response(template_name,
                                  template_data,
                                  context_instance=RequestContext(request))

    except AssertionError:
        messages.error(request, _('Unable to display user details'))
        return HttpResponseRedirect('/admin/user/list')
def link_user_subject(request, subject_id, user_id):
    subject = SubjectService.find_one(subject_id)
    assert subject is not None

    if user_id is None:
        students = StudentService.find_all()
        lecturers = LecturerService.fin_all()
        template_name = 'user/list.html'
        template_data = {
            'students': students,
            'lecturers': lecturers,
            'subject_id': subject.id
        }
        return render_to_response(template_name,
                                  template_data,
                                  context_instance=RequestContext(request))
    else:
        user = UserService.find_one(user_id)
        assert user.has_perm('principal.alumno') or user.has_perm(
            'principal.profesor')

        if user.has_perm('principal.alumno'):
            student = StudentService.find_one(user.id)
            student.asignaturas.add(subject)
        else:
            lecturer = LecturerService.find_one(user.id)

            if request.POST:
                form = UserLinkSubjectForm(request.POST)
                if form.is_valid():
                    ImpartSubjectService.reconstruct_and_save(form)
                    messages.success(request,
                                     _("Action completed successfully"))
                    return HttpResponseRedirect('/subject/details/' +
                                                str(subject_id))
            else:
                data = {
                    'subject_id': subject_id,
                    'lecturer_id': lecturer.id,
                    'lecturer': lecturer.first_name + " " + lecturer.last_name
                }
                form = UserLinkSubjectForm(initial=data)

            students = StudentService.find_all()
            lecturers = LecturerService.fin_all()

            template_name = 'user/list.html'
            template_data = {
                "form": form,
                'students': students,
                'lecturers': lecturers,
                'subject_id': subject_id,
                'lecturer_id': lecturer.id
            }
            return render_to_response(template_name,
                                      template_data,
                                      context_instance=RequestContext(request))

        messages.success(request, _('User linked to the subject'))
        return HttpResponseRedirect('/subject/details/' + str(subject_id))
Esempio n. 4
0
def delete_user(request, user_id):
    try:
        user = UserService.find_one(user_id)
        assert not user.has_perm("principal.administrator")
        username = user.username
        UserService.delete(user)
        messages.success(request, _("The user " + username + " has been removed"))
    except AssertionError:
        messages.error(request, _("Could not delete the user"))
    return HttpResponseRedirect("/admin/user/list")
Esempio n. 5
0
def delete_user(request, user_id):
    try:
        user = UserService.find_one(user_id)
        assert not user.has_perm('principal.administrator')
        username = user.username
        UserService.delete(user)
        messages.success(request,
                         _('The user ' + username + ' has been removed'))
    except AssertionError:
        messages.error(request, _('Could not delete the user'))
    return HttpResponseRedirect('/admin/user/list')
def unlink_user_subject(request, subject_id, user_id):
    subject = SubjectService.find_one(subject_id)
    user = UserService.find_one(user_id)
    assert not user.has_perm('principal.administrator')

    if user.has_perm('principal.alumno'):
        student = StudentService.find_one(user_id)
        student.asignaturas.remove(subject)
    else:
        lecturer = LecturerService.find_one(user_id)
        lecturer.imparteasignatura_set.all().get(profesor_id=user.id, asignatura_id=subject.id).delete()

    messages.success(request, _('Subject unlinked to the user'))
    return HttpResponseRedirect('/admin/user/details/' + str(user.id))
def unlink_user_subject(request, subject_id, user_id):
    subject = SubjectService.find_one(subject_id)
    user = UserService.find_one(user_id)
    assert not user.has_perm('principal.administrator')

    if user.has_perm('principal.alumno'):
        student = StudentService.find_one(user_id)
        student.asignaturas.remove(subject)
    else:
        lecturer = LecturerService.find_one(user_id)
        lecturer.imparteasignatura_set.all().get(
            profesor_id=user.id, asignatura_id=subject.id).delete()

    messages.success(request, _('Subject unlinked to the user'))
    return HttpResponseRedirect('/admin/user/details/' + str(user.id))
def link_user_subject(request, subject_id, user_id):
    subject = SubjectService.find_one(subject_id)
    assert subject is not None

    if user_id is None:
        students = StudentService.find_all()
        lecturers = LecturerService.fin_all()
        template_name = 'user/list.html'
        template_data = {'students': students, 'lecturers': lecturers, 'subject_id': subject.id}
        return render_to_response(template_name, template_data, context_instance=RequestContext(request))
    else:
        user = UserService.find_one(user_id)
        assert user.has_perm('principal.alumno') or user.has_perm('principal.profesor')

        if user.has_perm('principal.alumno'):
            student = StudentService.find_one(user.id)
            student.asignaturas.add(subject)
        else:
            lecturer = LecturerService.find_one(user.id)

            if request.POST:
                form = UserLinkSubjectForm(request.POST)
                if form.is_valid():
                    ImpartSubjectService.reconstruct_and_save(form)
                    messages.success(request, _("Action completed successfully"))
                    return HttpResponseRedirect('/subject/details/' + str(subject_id))
            else:
                data = {'subject_id': subject_id, 'lecturer_id': lecturer.id,
                        'lecturer': lecturer.first_name + " " + lecturer.last_name}
                form = UserLinkSubjectForm(initial=data)

            students = StudentService.find_all()
            lecturers = LecturerService.fin_all()

            template_name = 'user/list.html'
            template_data = {"form": form, 'students': students, 'lecturers': lecturers, 'subject_id': subject_id,
                             'lecturer_id': lecturer.id}
            return render_to_response(template_name, template_data, context_instance=RequestContext(request))

        messages.success(request, _('User linked to the subject'))
        return HttpResponseRedirect('/subject/details/' + str(subject_id))