Пример #1
0
def view_profile(request, student_id):
    template_vars = {}
    form = None

    if request.method == 'POST':
        student = Alumno.objects.get(id=student_id)
        lecturer_subjects = SubjectService.get_lecturer_subjects(request.user.id)
        template_vars['lecturer_subjects'] = lecturer_subjects

        # Save remark from form -> logged user is a lecturer
        form = RemarkForm(request.POST, lecturer_id=request.user.id)
        if form.is_valid():
            RemarkService.save(form)
            messages.success(request, _('Remark was saved successfully.'))

            return HttpResponseRedirect('/profile/view/%s' % form.cleaned_data['student_id'])
    else:
        if request.user.has_perm('principal.alumno'):
            student = Alumno.objects.get(id=request.user.id)

        else:
            student = Alumno.objects.get(id=student_id)

            if request.user.has_perm('principal.profesor'):
                lecturer_subjects = SubjectService.get_lecturer_subjects(request.user.id)
                form = RemarkForm(lecturer_id=request.user.id, initial={'student_id': student.id})
                template_vars['lecturer_subjects'] = lecturer_subjects

    template_vars['student'] = student
    template_vars['form'] = form

    return render_to_response('profile/details.html', template_vars, context_instance=RequestContext(request))
Пример #2
0
def list_subjects(request):
    if request.user.has_perm('principal.alumno'):
        subjects = SubjectService.get_student_subjects(request.user.alumno.id)
    elif request.user.has_perm('principal.profesor'):
        # TODO Creo que no llama al metodo correcto (Revisar Carlos)
        subjects = SubjectService.get_lecturer_subjects(request.user.profesor.id)
    else:
        # It's an administrator
        subjects = SubjectService.find_all().order_by('nombre')

    template_name = 'subject/list.html'
    template_data = {"subjects": subjects}
    return render_to_response(template_name, template_data, context_instance=RequestContext(request))
Пример #3
0
def list_subjects(request):
    if request.user.has_perm('principal.alumno'):
        subjects = SubjectService.get_student_subjects(request.user.alumno.id)
    elif request.user.has_perm('principal.profesor'):
        # TODO Creo que no llama al metodo correcto (Revisar Carlos)
        subjects = SubjectService.get_lecturer_subjects(
            request.user.profesor.id)
    else:
        # It's an administrator
        subjects = SubjectService.find_all().order_by('nombre')

    template_name = 'subject/list.html'
    template_data = {"subjects": subjects}
    return render_to_response(template_name,
                              template_data,
                              context_instance=RequestContext(request))
Пример #4
0
def news(request, new_id=None, method=None):
    if request.method == "POST":
        assert request.user.has_perm("principal.profesor")
        form = NewForm(request.POST, lecturer_id=request.user.id)

        if form.is_valid():
            NewService.save(form, request.user.id)
            messages.add_message(request, messages.SUCCESS, _("Action completed successfully."))

            return HttpResponseRedirect("/news")

    if request.user.has_perm("principal.alumno"):
        subjects = SubjectService.get_student_subjects(request.user.id)
        form = None

    elif request.user.has_perm("principal.profesor"):
        subjects = SubjectService.get_lecturer_subjects(request.user.id)
        if method == "rm":
            new = get_object_or_404(Noticia, id=new_id)
            if new.profesor.id == request.user.id:
                NewService.delete(new_id)
                messages.success(request, _("New was deleted successfully."))
            else:
                messages.error(request, _("You cannot delete this new."))
            return HttpResponseRedirect("/news")

        elif method == "ed":
            new = get_object_or_404(Noticia, id=new_id)
            if new.profesor.id == request.user.id:
                initial_data = NewService.build_initial(new_id)
                form = NewForm(lecturer_id=request.user.id, initial=initial_data)
            else:
                messages.error(request, _("You cannot edit this new."))
                return HttpResponseRedirect("/news")
        elif not method:
            form = NewForm(lecturer_id=request.user.id)

    else:
        subjects = Asignatura.objects.all()
        form = None

    return render_to_response(
        "new/list.html", {"subjects": subjects, "form": form}, context_instance=RequestContext(request)
    )
Пример #5
0
 def __init__(self, *args, **kwargs):
     lecturer_id = kwargs.pop('lecturer_id')
     super(LecturerStudentFilterForm, self).__init__(*args, **kwargs)
     self.fields['subject'].queryset = SubjectService.get_lecturer_subjects(
         lecturer_id)
Пример #6
0
 def __init__(self, *args, **kwargs):
     lecturer_id = kwargs.pop('lecturer_id')
     super(RemarkForm, self).__init__(*args, **kwargs)
     self.fields['lecturer_id'].initial = lecturer_id
     self.fields['subject'].queryset = SubjectService.get_lecturer_subjects(
         lecturer_id)
Пример #7
0
 def __init__(self, *args, **kwargs):
     lecturer_id = kwargs.pop('lecturer_id')
     super(LecturerStudentFilterForm, self).__init__(*args, **kwargs)
     self.fields['subject'].queryset = SubjectService.get_lecturer_subjects(lecturer_id)
Пример #8
0
 def __init__(self, *args, **kwargs):
     lecturer_id = kwargs.pop('lecturer_id')
     super(RemarkForm, self).__init__(*args, **kwargs)
     self.fields['lecturer_id'].initial = lecturer_id
     self.fields['subject'].queryset = SubjectService.get_lecturer_subjects(lecturer_id)