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