Exemple #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})
Exemple #2
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 test_manager_informations_detail_stats_without_teacher(self):
     advisers_pro = dissertation_role.search_by_adviser_and_role_stats(
         self.teacher,
         dissertation_role_status.PROMOTEUR
     )
     advisers_copro = dissertation_role.search_by_adviser_and_role_stats(
         self.teacher,
         dissertation_role_status.CO_PROMOTEUR
     )
     advisers_reader = dissertation_role.search_by_adviser_and_role_stats(
         self.teacher,
         dissertation_role_status.READER
     )
     response = self.client.post(
         reverse('manager_informations_detail_stats', args=[self.manager.person.user.pk]),
         {
             'adviser': self.teacher,
             'count_advisers_copro':
                 dissertation_role.count_by_adviser_and_role_stats(
                     self.teacher,
                     dissertation_role_status.CO_PROMOTEUR
                 ),
             'count_advisers_pro':
                 dissertation_role.count_by_adviser_and_role_stats(
                     self.teacher,
                     dissertation_role_status.PROMOTEUR
                 ),
             'count_advisers_reader':
                 dissertation_role.count_by_adviser_and_role_stats(
                     self.teacher,
                     dissertation_role_status.READER
                 ),
             'count_advisers_pro_request':
                 dissertation_role.count_by_adviser(
                     self.teacher,
                     dissertation_role_status.PROMOTEUR,
                     'DIR_SUBMIT'
                 ),
             'tab_offer_count_pro':
                 dissertation_role.get_tab_count_role_by_education_group(
                     advisers_pro
                 ),
             'tab_offer_count_read':
                 dissertation_role.get_tab_count_role_by_education_group(
                     advisers_reader
                 ),
             'tab_offer_count_copro':
                 dissertation_role.get_tab_count_role_by_education_group(
                     advisers_copro
                 )
         }
     )
     self.assertEqual(response.status_code, HttpResponseRedirect.status_code)
def informations_detail_stats(request):
    person = mdl.person.find_by_user(request.user)
    adv = adviser.search_by_person(person)

    advisers_pro = dissertation_role.search_by_adviser_and_role_stats(
        adv, 'PROMOTEUR')
    count_advisers_pro = dissertation_role.count_by_adviser_and_role_stats(
        adv, 'PROMOTEUR')
    count_advisers_pro_request = dissertation_role.count_by_adviser(
        adv, 'PROMOTEUR', 'DIR_SUBMIT')
    tab_offer_count_pro = dissertation_role.get_tab_count_role_by_offer(
        advisers_pro)

    advisers_copro = dissertation_role.search_by_adviser_and_role_stats(
        adv, 'CO_PROMOTEUR')
    count_advisers_copro = dissertation_role.count_by_adviser_and_role_stats(
        adv, 'CO_PROMOTEUR')
    tab_offer_count_copro = dissertation_role.get_tab_count_role_by_offer(
        advisers_copro)

    advisers_reader = dissertation_role.search_by_adviser_and_role_stats(
        adv, 'READER')
    count_advisers_reader = dissertation_role.count_by_adviser_and_role_stats(
        adv, 'READER')
    tab_offer_count_read = dissertation_role.get_tab_count_role_by_offer(
        advisers_reader)

    return layout.render(
        request, 'informations_detail_stats.html', {
            'adviser': adv,
            'count_advisers_copro': count_advisers_copro,
            'count_advisers_pro': count_advisers_pro,
            'count_advisers_reader': count_advisers_reader,
            'count_advisers_pro_request': count_advisers_pro_request,
            'tab_offer_count_pro': tab_offer_count_pro,
            'tab_offer_count_read': tab_offer_count_read,
            'tab_offer_count_copro': tab_offer_count_copro
        })
Exemple #5
0
def manager_informations_detail_stats(request, pk):
    adv = adviser.get_by_id(pk)
    if adv is None:
        return redirect('manager_informations')
    advisers_pro = dissertation_role.search_by_adviser_and_role_stats(
        adv, 'PROMOTEUR')
    count_advisers_pro = dissertation_role.count_by_adviser_and_role_stats(
        adv, 'PROMOTEUR')
    count_advisers_pro_request = dissertation_role.count_by_adviser(
        adv, 'PROMOTEUR', 'DIR_SUBMIT')
    tab_offer_count_pro = dissertation_role.get_tab_count_role_by_offer(
        advisers_pro)

    advisers_copro = dissertation_role.search_by_adviser_and_role_stats(
        adv, 'CO_PROMOTEUR')
    count_advisers_copro = dissertation_role.count_by_adviser_and_role_stats(
        adv, 'CO_PROMOTEUR')
    tab_offer_count_copro = dissertation_role.get_tab_count_role_by_offer(
        advisers_copro)

    advisers_reader = dissertation_role.search_by_adviser_and_role_stats(
        adv, 'READER')
    count_advisers_reader = dissertation_role.count_by_adviser_and_role_stats(
        adv, 'READER')
    tab_offer_count_read = dissertation_role.get_tab_count_role_by_offer(
        advisers_reader)

    return layout.render(
        request, 'manager_informations_detail_stats.html', {
            'adviser': adv,
            'count_advisers_copro': count_advisers_copro,
            'count_advisers_pro': count_advisers_pro,
            'count_advisers_reader': count_advisers_reader,
            'count_advisers_pro_request': count_advisers_pro_request,
            'tab_offer_count_pro': tab_offer_count_pro,
            'tab_offer_count_read': tab_offer_count_read,
            'tab_offer_count_copro': tab_offer_count_copro
        })