def edit_article(request, slug, template_name='article/article_edit.html'): article = Article.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 = ArticleForm(request.POST, instance=article) if not editpreview and new_form.is_valid(): new_article = new_form.save(commit=False) if not preview: new_article.save() new_article.generate_slug() LogActivity.recordActivity(qui=request.user, quoi=new_article, comment="a modifié l'article : <a href='%s'>%s</a>" % (article.get_absolute_url(), article.titre)) # Redirect after POST return HttpResponseRedirect(article.get_absolute_url()) else: return internal_view_article(request, new_article, urlretour=reverse("editarticle", kwargs={'slug': slug})) else: form = new_form else: form = ArticleForm(instance=article) return render_to_response(template_name, RequestContext(request, {'form': form, 'full': True, 'article': article, }))
def create_new_article(request, template_name='article/article_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 = ArticleForm(request.POST) if not editpreview and new_form.is_valid(): new_article = new_form.save(commit=False) if not preview: new_article.save() new_article.generate_slug() LogActivity.recordActivity(qui=request.user, quoi=new_article, comment="a publié un nouvel article : <a href='%s'>%s</a>" % (new_article.get_absolute_url(), new_article.titre)) subscribe_article(new_article.auteur.get_profile(), new_article) ThreadMail(new_article).start() # Redirect after POST return HttpResponseRedirect(new_article.get_absolute_url()) else: return internal_view_article(request, new_article, urlretour=reverse("addarticle")) else: form = new_form else: init = {} init['auteur'] = request.user.pk form = ArticleForm(initial=init) return render_to_response(template_name, RequestContext(request, {'form': form, 'full': True, }))