Exemplo n.º 1
0
def edit(request, slug, lang='en'):
    article = get_object_or_404(Article, slug=slug)
    article_content = article.get_newest_content(lang)

    if request.method == 'POST':
        new_article_content = ArticleContent(article=article, lang=lang)
        form = EditArticleForm(request.POST, instance=new_article_content)
        if form.is_valid():
            new_article_content.article = article
            new_article_content.edited_by = request.user
            new_article_content.parent = article_content
            new_article_content.save()

            article_content.child = new_article_content
            article_content.save(change_updated_time=False)

            return HttpResponseRedirect(new_article_content.get_absolute_url())
    else:
        form = EditArticleForm(instance=article_content)

    available_languages = article.get_available_languages(article_content)
    language_list = map(lambda x: (x[0], x[1].get_edit_url),
                        available_languages or [])

    return render(request, 'edit.html', {
        'mathjax': True,
        'language_list': language_list,
        'articleContent': article_content,
        'form': form,
        'title': 'Edit: ' + article.slug,
    })
Exemplo n.º 2
0
def edit(request, slug, lang='en'):
    article = get_object_or_404(Article, slug=slug)
    articleContent = article.get_newest_content(lang)

    if request.method == 'POST':
        new_articleContent = ArticleContent(article=article, lang=lang)
        form = EditArticleForm(request.POST, instance=new_articleContent)
        if form.is_valid():
            new_articleContent.article = article
            new_articleContent.edited_by = request.user
            new_articleContent.parent = articleContent
            new_articleContent.save()

            articleContent.child = new_articleContent
            articleContent.save(change_updated_time=False)

            return HttpResponseRedirect(new_articleContent.get_absolute_url())
    else:
        form = EditArticleForm(instance=articleContent)

    available_languages = article.get_available_languages(articleContent)
    language_list = map(lambda x: (x[0], x[1].get_edit_url),
                        available_languages or [])

    return render(request, 'edit.html', {
        "mathjax": True,
        "language_list": language_list,
        "articleContent": articleContent,
        "form": form,
        "title": "Edit: " + article.slug,
    })