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 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))
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 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))