def commentaire_avant_changement_statut(request, token, formation_id, nouveau_statut): from cartographie.formation.viewModels.formation.commentaire import CommentaireAjouterViewModel vm = CommentaireAjouterViewModel(request, token, formation_id) form_url = reverse('formation_commentaire_avant_changement_statut', args=[token, formation_id, nouveau_statut]) if request.method == "POST": if vm.form.is_valid(): commentaire = vm.form.save(commit=False) commentaire.formation = vm.formation commentaire.user = request.user if request.user.is_authenticated() else None commentaire.commentaire = "[Statut: %s] %s" % (statusIdToStatusLabel(nouveau_statut), commentaire.commentaire) commentaire.save() return HttpResponse( simplejson.dumps({'error': False, 'next_url': reverse('formation_modifier_workflow', args=[token, formation_id, nouveau_statut])}) ) else: return HttpResponse( simplejson.dumps({'error': True, 'msg': 'Un commentaire est nécessaire pour ce changement de statut'}), mimetype="application/json" ) data = vm.get_data() data.update({'form_url': form_url, 'json_request': True}) data.update({'statut_final': is_statut_final(nouveau_statut)}) data['retour_arriere'] = True return render_to_response( "formation/commentaire/form.html", data, RequestContext(request) )
def commentaire_ajouter(request, token, formation_id): """ Cette fonction ne sert qu'à recevoir du data via un POST ou à afficher un formulaire si c'est un call ajax """ from cartographie.formation.viewModels.formation.commentaire \ import CommentaireAjouterViewModel vm = CommentaireAjouterViewModel(request, token, formation_id) form_url = reverse('commentaire_ajouter', args=[token, formation_id]) if request.GET.get("ajax"): return render_to_response( "formation/commentaire/form.html", vm.get_data().update({'form_url': form_url}), RequestContext(request) ) if request.method == "POST": if vm.form.is_valid(): commentaire = vm.form.save(commit=False) commentaire.formation = vm.formation commentaire.user = request.user if request.user.is_authenticated() else None commentaire.save() return HttpResponseRedirect( reverse("formation_modifier_commentaires", args=[token, formation_id]) ) else: messages.warning( request, u"Veuillez entrer un commentaire" ) return HttpResponseRedirect( reverse("formation_modifier_commentaires", args=[token, formation_id]) )