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