Esempio n. 1
0
def dissertations(request):
    person = mdl.person.find_by_user(request.user)

    if mdl.student.find_by_person(person) and not \
            mdl.tutor.find_by_person(person) and not \
            adviser.find_by_person(person):
            return redirect('home')

    elif adviser.find_by_person(person):
        adv = adviser.search_by_person(person)
        count_advisers_pro_request = dissertation_role.count_by_adviser(adv, 'PROMOTEUR', 'DIR_SUBMIT')

        return layout.render(request, "dissertations.html",
                             {'section': 'dissertations',
                              'person': person,
                              'adviser': adv,
                              'count_advisers_pro_request': count_advisers_pro_request})
    else:
        if request.method == "POST":
            form = AdviserForm(request.POST)
            if form.is_valid():
                adv = Adviser(person=person, available_by_email=False, available_by_phone=False,
                              available_at_office=False)
                adv.save()
                adv = adviser.search_by_person(person)
                count_advisers_pro_request = dissertation_role.count_by_adviser(adv, 'PROMOTEUR', 'DIR_SUBMIT')

                return layout.render(request, "dissertations.html",
                                     {'section': 'dissertations',
                                      'person': person,
                                      'adviser': adv,
                                      'count_advisers_pro_request': count_advisers_pro_request})
        else:
            form = AdviserForm()
            return layout.render(request, 'dissertations_welcome.html', {'form': form})
 def test_informations_edit(self):
     form = AdviserForm()
     response = self.client.post(
         reverse('informations_edit'),
         {
             'form': form,
             'first_name': self.teacher.person.first_name.title(),
             'last_name': self.teacher.person.last_name.title(),
             'email': self.teacher.person.email,
             'phone': self.teacher.person.phone,
             'phone_mobile': ""
         }
     )
     self.assertEqual(response.status_code, HttpResponseRedirect.status_code)
     response = self.client.get(
         reverse('informations_edit'),
         {
             'form': form,
             'first_name': self.teacher.person.first_name.title(),
             'last_name': self.teacher.person.last_name.title(),
             'email': self.teacher.person.email,
             'phone': self.teacher.person.phone,
             'phone_mobile': ""
         }
     )
     self.assertEqual(response.status_code, HttpResponse.status_code)
 def test_manager_informations_edit(self):
     response = self.client.get(reverse("manager_informations_edit", args=[self.teacher.person.user.pk]))
     self.assertEqual(response.status_code, HttpResponseRedirect.status_code)
     form = AdviserForm(instance=self.teacher.person.user)
     response = self.client.post(reverse("manager_informations_edit", args=[self.teacher.pk]),
                                 {
                                     'form': form,
                                 })
     self.assertEqual(response.status_code, HttpResponseRedirect.status_code)
Esempio n. 4
0
def dissertations(request):
    person = get_object_or_404(Person.objects.select_related('adviser'),
                               pk=request.user.person.pk)

    if mdl.student.find_by_person(person) and not \
            tutor.find_by_person(person) and not \
            adviser.find_by_person(person):
        return redirect('home')

    elif adviser.find_by_person(person):
        count_advisers_pro_request = dissertation_role.count_by_adviser(
            person.adviser, dissertation_role_status.PROMOTEUR,
            dissertation_status.DIR_SUBMIT)

        return render(
            request, "dissertations.html", {
                'section': 'dissertations',
                'person': person,
                'adviser': person.adviser,
                'count_advisers_pro_request': count_advisers_pro_request
            })
    else:

        form = AdviserForm(request.POST or None)
        if form.is_valid():
            adv = Adviser(person=person,
                          available_by_email=False,
                          available_by_phone=False,
                          available_at_office=False)
            adv.save()
            count_advisers_pro_request = dissertation_role.count_by_adviser(
                adv, dissertation_role_status.PROMOTEUR,
                dissertation_status.DIR_SUBMIT)
            return render(
                request, "dissertations.html", {
                    'section': 'dissertations',
                    'person': person,
                    'adviser': adv,
                    'count_advisers_pro_request': count_advisers_pro_request
                })
        else:
            return render(request, 'dissertations_welcome.html',
                          {'form': form})
def informations_edit(request):
    person = mdl.person.find_by_user(request.user)
    adv = adviser.search_by_person(person)
    if request.method == "POST":
        form = AdviserForm(request.POST, instance=adv)
        if form.is_valid():
            adv = form.save(commit=False)
            adv.save()
            return redirect('informations')
    else:
        form = AdviserForm(instance=adv)
    return layout.render(
        request, "informations_edit.html", {
            'form': form,
            'first_name': person.first_name.title(),
            'last_name': person.last_name.title(),
            'email': person.email,
            'phone': person.phone,
            'phone_mobile': person.phone_mobile
        })