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é l'activité <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, }))
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é l'activité <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, }))
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é le compte-rendu de l'activité <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, }))