Exemplo n.º 1
0
def _update_training(request, education_group_year, root,
                     groupelementyear_formset):
    # TODO :: IMPORTANT :: Fix urls patterns to get the GroupElementYear_id and the root_id in the url path !
    # TODO :: IMPORTANT :: Need to update form to filter on list of parents, not only on the first direct parent
    form_education_group_year = TrainingForm(request.POST or None,
                                             user=request.user,
                                             instance=education_group_year)
    coorganization_formset = None
    forms_valid = all([
        form_education_group_year.is_valid(),
        groupelementyear_formset.is_valid()
    ])
    if has_coorganization(education_group_year):
        coorganization_formset = OrganizationFormset(
            data=request.POST or None,
            form_kwargs={
                'education_group_year': education_group_year,
                'user': request.user
            },
            queryset=education_group_year.coorganizations)
        forms_valid = forms_valid and coorganization_formset.is_valid()
    if request.method == 'POST':
        if forms_valid:
            if has_coorganization(education_group_year):
                coorganization_formset.save()
            return _common_success_redirect(request, form_education_group_year,
                                            root, groupelementyear_formset)
        else:
            show_error_message_for_form_invalid(request)

    return render(
        request, "education_group/update_trainings.html", {
            "education_group_year":
            education_group_year,
            "form_education_group_year":
            form_education_group_year.forms[forms.ModelForm],
            "form_education_group":
            form_education_group_year.forms[EducationGroupModelForm],
            "form_coorganization":
            coorganization_formset,
            "form_hops":
            form_education_group_year.hops_form,
            "show_coorganization":
            has_coorganization(education_group_year),
            "show_diploma_tab":
            form_education_group_year.show_diploma_tab(),
            'can_change_coorganization':
            perms.is_eligible_to_change_coorganization(
                person=request.user.person,
                education_group=education_group_year,
            ),
            'group_element_years':
            groupelementyear_formset,
            "is_finality_types":
            education_group_year.is_finality
        })
Exemplo n.º 2
0
    def test_ensure_show_diploma_tab_is_hidden(self):
        """
        This test ensure that the show diploma property is False if all fields contains in tab are disabled
        """
        form = TrainingForm(
            {},
            user=self.user_without_perm,
            education_group_type=self.education_group_type,
            context=TRAINING_DAILY_MANAGEMENT,
        )
        for field_name_in_diploma in form.diploma_tab_fields:
            form.forms[
                forms.ModelForm].fields[field_name_in_diploma].disabled = True

        self.assertFalse(form.show_diploma_tab())