Esempio n. 1
0
def education_group_edit_administrative_data(request, education_group_year_id):
    education_group_year = get_object_or_404(EducationGroupYear, pk=education_group_year_id)

    assert_category_of_education_group_year(education_group_year, (education_group_categories.TRAINING,))

    if not education_group_business.can_user_edit_administrative_data(request.user, education_group_year):
        raise PermissionDenied("Only program managers of the education group OR central manager "
                               "linked to entity can edit.")

    formset_session = AdministrativeDataFormset(request.POST or None,
                                                form_kwargs={'education_group_year': education_group_year})

    offer_year_calendar = mdl.offer_year_calendar.search(education_group_year_id=education_group_year_id,
                                                         academic_calendar_reference=academic_calendar_type.COURSE_ENROLLMENT).first()

    course_enrollment = CourseEnrollmentForm(request.POST or None, instance=offer_year_calendar)

    course_enrollment_validity = course_enrollment.is_valid()
    formset_session_validity = formset_session.is_valid()

    if course_enrollment_validity and formset_session_validity:
        formset_session.save()
        course_enrollment.save()
        messages.add_message(request, messages.SUCCESS, _('The administrative data has been successfully modified'))
        return HttpResponseRedirect(reverse('education_group_administrative', args=(education_group_year_id,)))

    return layout.render(request, "education_group/tab_edit_administrative_data.html", locals())
Esempio n. 2
0
def education_group_administrative_data(request, education_group_year_id):
    education_group_year = get_object_or_404(EducationGroupYear, pk=education_group_year_id)

    assert_category_of_education_group_year(education_group_year, (education_group_categories.TRAINING,))

    education_group_year_root_id = request.GET.get('root')
    parent = _get_education_group_root(education_group_year_root_id, education_group_year)

    context = {'parent': parent,
               'education_group_year': education_group_year,
               'course_enrollment': get_dates(academic_calendar_type.COURSE_ENROLLMENT, education_group_year),
               'mandataries': mdl.mandatary.find_by_education_group_year(education_group_year),
               'pgm_mgrs': mdl.program_manager.find_by_education_group(education_group_year.education_group)}
    context.update({'exam_enrollments': get_sessions_dates(academic_calendar_type.EXAM_ENROLLMENTS,
                                                           education_group_year)})
    context.update({'scores_exam_submission': get_sessions_dates(academic_calendar_type.SCORES_EXAM_SUBMISSION,
                                                                 education_group_year)})
    context.update({'dissertation_submission': get_sessions_dates(academic_calendar_type.DISSERTATION_SUBMISSION,
                                                                  education_group_year)})
    context.update({'deliberation': get_sessions_dates(academic_calendar_type.DELIBERATION,
                                                       education_group_year)})
    context.update({'scores_exam_diffusion': get_sessions_dates(academic_calendar_type.SCORES_EXAM_DIFFUSION,
                                                                education_group_year)})
    context.update({"can_edit_administrative_data":  education_group_business.can_user_edit_administrative_data(
                                                                                request.user, education_group_year)})
    return layout.render(request, "education_group/tab_administrative_data.html", context)
Esempio n. 3
0
def education_group_diplomas(request, education_group_year_id):
    education_group_year = get_object_or_404(EducationGroupYear,
                                             id=education_group_year_id)
    assert_category_of_education_group_year(
        education_group_year, (education_group_categories.TRAINING, ))
    education_group_year_root_id = request.GET.get('root')
    parent = _get_education_group_root(education_group_year_root_id,
                                       education_group_year)
    return layout.render(request, "education_group/tab_diplomas.html",
                         locals())
Esempio n. 4
0
def education_group_general_informations(request, education_group_year_id):
    education_group_year = get_object_or_404(EducationGroupYear,
                                             id=education_group_year_id)
    assert_category_of_education_group_year(
        education_group_year, (education_group_categories.TRAINING,
                               education_group_categories.MINI_TRAINING))

    CMS_LABEL = mdl_cms.translated_text.find_by_entity_reference(
        entity_name.OFFER_YEAR, education_group_year_id)

    fr_language = next(
        (lang for lang in settings.LANGUAGES if lang[0] == 'fr-be'), None)
    en_language = next(
        (lang for lang in settings.LANGUAGES if lang[0] == 'en'), None)

    education_group_year_root_id = request.GET.get('root')
    parent = _get_education_group_root(education_group_year_root_id,
                                       education_group_year)

    context = {
        'parent':
        parent,
        'education_group_year':
        education_group_year,
        'cms_labels_translated':
        _get_cms_label_data(
            CMS_LABEL, mdl.person.get_user_interface_language(request.user)),
        'form_french':
        EducationGroupGeneralInformationsForm(
            education_group_year=education_group_year,
            language=fr_language,
            text_labels_name=CMS_LABEL),
        'form_english':
        EducationGroupGeneralInformationsForm(
            education_group_year=education_group_year,
            language=en_language,
            text_labels_name=CMS_LABEL)
    }
    return layout.render(request,
                         "education_group/tab_general_informations.html",
                         context)
Esempio n. 5
0
 def get(self, request, *args, **kwargs):
     if self.limited_by_category:
         assert_category_of_education_group_year(self.get_object(), self.limited_by_category)
     return super().get(request, *args, **kwargs)