Esempio n. 1
0
def edit_sortie(request, slug, template_name='sortie/sortie_edit.html'):
    sortie = Sortie.objects.get(titre_slug=slug)
    if request.method == 'POST': # If the form has been submitted...
        preview = request.POST.get('preview', None)
        editpreview = request.POST.get('editpreview', None)
        new_form = SortieForm(request.POST, instance=sortie)
        if not editpreview and new_form.is_valid():
            new_sortie = new_form.save(commit=False)
            if not preview:
                new_sortie.save()
                new_sortie.generate_slug()
                new_sortie.activites.clear()
                for a in request.POST.getlist("activites"):
                    new_sortie.activites.add(a)
                LogActivity.recordActivity(qui=request.user, quoi=new_sortie, comment="a modifi&eacute; l'activit&eacute; <a href='%s'>%s</a>" % (sortie.get_absolute_url(), sortie.titre))
                # Redirect after POST
                return HttpResponseRedirect(sortie.get_absolute_url())
            else:
                cat = Activite.objects.filter(pk__in=request.POST.getlist("activites"))
                return internal_view_sortie(request, new_sortie, urlretour=reverse("editsortie", kwargs={"slug": slug}), categories=cat)
        else:
            form = new_form
    else:
        form = SortieForm(instance=sortie)
    return render_to_response(template_name,
                              RequestContext(request,
                                             {'form': form,
                                              'sortie': sortie,
                                              'full': True,
                                              }))
Esempio n. 2
0
def add_sortie(request, template_name='sortie/sortie_add.html'):
    if request.method == 'POST': # If the form has been submitted...
        preview = request.POST.get('preview', None)
        editpreview = request.POST.get('editpreview', None)
        new_form = SortieForm(request.POST)
        if not editpreview and new_form.is_valid():
            new_sortie = new_form.save(commit=False)
            if not preview:
                new_sortie.save()
                new_sortie.generate_slug()
                new_sortie.activites.clear()
                for a in request.POST.getlist("activites"):
                    new_sortie.activites.add(a)
                LogActivity.recordActivity(qui=request.user, quoi=new_sortie, comment="a ajout&eacute; l'activit&eacute; <a href='%s'>%s</a>" % (new_sortie.get_absolute_url(), new_sortie.titre))
                subscribe_sortie(new_sortie.auteur.get_profile(), new_sortie)
                ThreadMail(new_sortie).start()
                # Redirect after POST
                return HttpResponseRedirect(new_sortie.get_absolute_url())
            else:
                cat = Activite.objects.filter(pk__in=request.POST.getlist("activites"))
                return internal_view_sortie(request, new_sortie, urlretour=reverse("addsortie"), categories=cat)
        else:
            form = new_form
    else:
        init = {}
        init['auteur'] = request.user.pk
        form = SortieForm(initial=init)
    return render_to_response(template_name,
                              RequestContext(request,
                                             {'form': form,
                                              'full': True,
                                              }))
Esempio n. 3
0
def edit_sortie_cr(request, slug, template_name='sortie/sortie_edit_cr.html'):
    sortie = Sortie.objects.get(titre_slug=slug)
    first_time = sortie.cr is None

    if request.method == 'POST': # If the form has been submitted...
        preview = request.POST.get('preview', None)
        editpreview = request.POST.get('editpreview', None)
        if first_time:
            new_form = CompteRenduSortieForm(request.POST)
        else:
            new_form = CompteRenduSortieForm(request.POST, instance=sortie.cr)
        if not editpreview and new_form.is_valid():
            new_crsortie = new_form.save(commit=False)
            if first_time:
                new_crsortie.auteur = request.user
            if not preview:
                new_crsortie.save()
                sortie.cr = new_crsortie
                sortie.save()
                if first_time and not request.POST.get('notification'):
                    ThreadCompteRenduMail(sortie, request.user).start()
                LogActivity.recordActivity(qui=request.user, quoi=sortie, comment="a modifi&eacute; le compte-rendu de l'activit&eacute; <a href='%s'>%s</a>" % (sortie.get_absolute_url(), sortie.titre))
                # Redirect after POST
                return HttpResponseRedirect(sortie.get_absolute_url())
            else:
                cat = sortie.activites.all()
                return internal_view_sortie(request, sortie, crsortie=new_crsortie, urlretour=reverse("editsortiecr", kwargs={"slug":slug}), categories=cat)
        else:
            form = new_form
    else:
        if first_time:
            form = CompteRenduSortieForm()
        else:
            form = CompteRenduSortieForm(instance=sortie.cr)
    return render_to_response(template_name,
                              RequestContext(request,
                                             {'form': form,
                                              'sortie': sortie,
                                              'full': True,
                                              }))