def modifier(request, token, formation_id=None): """ Formulaire d'édition d'une fiche formation """ from cartographie.formation.viewModels.formation.modifier \ import ModifierViewModel modifVM = ModifierViewModel(request, token, formation_id) if modifVM.form.is_valid(): # pas nécessaire de gérer les m2m ici, contrairement à l'ajout # d'une nouvelle fiche formation_courante = modifVM.form.save() # TODO: overrider la fonction save du formulaire pour donner la request # à la fonction save du Model. Pour l'instant, on fait le save_modification() de la ligne # suivante: formation_courante.save_modification(request) # obtenir les infos de nouveau pour rafraîchir la page modifVM = ModifierViewModel(request, token, formation_courante.id) return render_to_response( "formation/modifier.html", modifVM.get_data(), RequestContext(request) )
def modifier_etablissements(request, token, formation_id=None): from cartographie.formation.viewModels.formation.modifier \ import ModifierViewModel # absorber les infos de la requete modifVM = ModifierViewModel( request, token, formation_id, presence_formsets=True ) if request.method == "POST": # vérifier la présence du champ "etablissement_emet_diplome" # et la conserver si elle est présente emet = request.POST.get("etablissement_emet_diplome", False) if emet == "on": modifVM.formation.etablissement_emet_diplome = True else: modifVM.formation.etablissement_emet_diplome = False modifVM.formation.save() modifVM.formation.save_modification(request) formsets_sauvegarder = [] # Verifier la validité des formsets if modifVM.composanteFormset.is_valid(): modifVM.composanteFormset.save() formsets_sauvegarder.append(True) if modifVM.partenaireAufFormset.is_valid(): modifVM.partenaireAufFormset.save() formsets_sauvegarder.append(True) if modifVM.partenaireAutreFormset.is_valid(): modifVM.partenaireAutreFormset.save() formsets_sauvegarder.append(True) # si au moins un formset a été sauvegardé, on redirige if True in formsets_sauvegarder: return HttpResponseRedirect( reverse( "formation_modifier_etablissements", args=[token, formation_id] ) ) return render_to_response( "formation/modifier_etablissements.html", modifVM.get_data(), RequestContext(request) )
def modifier_langue(request, token, langue_id): from cartographie.formation.viewModels.langue.modifier import ModifierViewModel vm = ModifierViewModel(request, token, langue_id) if request.method == "POST": if vm.form.is_valid(): vm.form.save() return HttpResponseRedirect( reverse("formation_langue_liste", args=[token]) ) return render_to_response( "langue/modifier.html", vm.get_data(), RequestContext(request) ) pass