示例#1
0
文件: views.py 项目: auf/cartographie
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)
    )
示例#2
0
文件: views.py 项目: auf/cartographie
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])
    )