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))
def unlink_certification_subject(request, subject_id, certification_id):
    subject = SubjectService.find_one(subject_id)
    certification = CertificationService.find_one(certification_id)
    subject.titulacion_set.remove(certification)
    messages.success(request, _('Subject unlinked to the certification'))
    return HttpResponseRedirect('/admin/certification/details/' +
                                str(certification_id))
Пример #3
0
def rollback(user_create, student_link, lecturer_link, subject_id):

    subject = SubjectService.find_one(subject_id)

    for student in student_link:
        student.asignaturas.remove(subject)

    for lecturer in lecturer_link:
        lecturer.imparteasignatura_set.all().get(profesor_id=lecturer.id, asignatura_id=subject.id).delete()

    for user in user_create:
        delete(user)
Пример #4
0
def delete_users_subject(request, subject_id):
    subject = SubjectService.find_one(subject_id)
    students = subject.alumno_set.all()

    # Delete students
    for student in students:
        student.asignaturas.remove(subject)

    # Delete relationship with lecturers
    subject.imparteasignatura_set.all().delete()

    messages.success(request, _('The users have been removed'))
    return HttpResponseRedirect('/subject/details/' + str(subject_id))
Пример #5
0
def rollback(user_create, student_link, lecturer_link, subject_id):

    subject = SubjectService.find_one(subject_id)

    for student in student_link:
        student.asignaturas.remove(subject)

    for lecturer in lecturer_link:
        lecturer.imparteasignatura_set.all().get(
            profesor_id=lecturer.id, asignatura_id=subject.id).delete()

    for user in user_create:
        delete(user)
Пример #6
0
def delete_users_subject(request, subject_id):
    subject = SubjectService.find_one(subject_id)
    students = subject.alumno_set.all()

    # Delete students
    for student in students:
        student.asignaturas.remove(subject)

    # Delete relationship with lecturers
    subject.imparteasignatura_set.all().delete()

    messages.success(request, _('The users have been removed'))
    return HttpResponseRedirect('/subject/details/' + str(subject_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 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 reconstruct_and_save(form):

    lecturer_id = form.cleaned_data['lecturer_id']
    subject_id = form.cleaned_data['subject_id']

    lecturer = LecturerService.find_one(lecturer_id)
    subject = SubjectService.find_one(subject_id)
    position = form.cleaned_data['position']

    impart_subject = Imparteasignatura.objects.create(
        cargo=position,
        asignatura=subject,
        profesor=lecturer
    )

    return impart_subject
def create(request, subject_id):
    subject = SubjectService.find_one(subject_id)
    assert subject is not None

    if request.POST:
        form = SubjectLinkEditForm(request.POST)
        if form.is_valid():
            subject = SubjectService.edit(form)
            SubjectService.save(subject)
            messages.success(request, _("Action completed successfully"))
            return HttpResponseRedirect("/subject/details/" + str(subject_id))
    else:
        certifications = CertificationService.find_by_subject(subject_id)
        data = {'id': subject_id, 'certifications': certifications}
        form = SubjectLinkEditForm(initial=data)

    template_name = 'subject_link/edit.html'
    template_data = {"form": form, "id": subject_id}
    return render_to_response(template_name, template_data, context_instance=RequestContext(request))
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))
def create(request, subject_id):
    subject = SubjectService.find_one(subject_id)
    assert subject is not None

    if request.POST:
        form = SubjectLinkEditForm(request.POST)
        if form.is_valid():
            subject = SubjectService.edit(form)
            SubjectService.save(subject)
            messages.success(request, _("Action completed successfully"))
            return HttpResponseRedirect("/subject/details/" + str(subject_id))
    else:
        certifications = CertificationService.find_by_subject(subject_id)
        data = {'id': subject_id, 'certifications': certifications}
        form = SubjectLinkEditForm(initial=data)

    template_name = 'subject_link/edit.html'
    template_data = {"form": form, "id": subject_id}
    return render_to_response(template_name,
                              template_data,
                              context_instance=RequestContext(request))
def unlink_certification_subject(request, subject_id, certification_id):
    subject = SubjectService.find_one(subject_id)
    certification = CertificationService.find_one(certification_id)
    subject.titulacion_set.remove(certification)
    messages.success(request, _('Subject unlinked to the certification'))
    return HttpResponseRedirect('/admin/certification/details/' + str(certification_id))
Пример #14
0
def delete_subject(request, subject_id):
    subject = SubjectService.find_one(subject_id)
    title = subject.nombre
    subject.delete()
    messages.success(request, _('The subject ' + title + ' has been removed'))
    return HttpResponseRedirect('/subject/list')
Пример #15
0
def delete_subject(request, subject_id):
    subject = SubjectService.find_one(subject_id)
    title = subject.nombre
    subject.delete()
    messages.success(request, _('The subject ' + title + ' has been removed'))
    return HttpResponseRedirect('/subject/list')