rendered paste body@login_required
def submit(request):
sajax.sajax_export(get_topic_list)
ajax_response = sajax.sajax_handle_client_request(request)
if ajax_response:
return ajax_response
manipulator = Article.AddManipulator()
# errors = manipulator.get_validation_errors(request.POST)
# if not errors:
# focus = manipulator.focus
# else:
# try:
# ct_id = 25
# focus = ContentType.objects.get(pk=ct_id)
# except ContentType.DoesNotExist:
# focus = None
# manipulator = NewArticleManipulator(focus)
if request.POST:
article_data = request.POST.copy()
article_data["lang"] = request.LANGUAGE_CODE
article_data["author"] = request.user.id
article_data["related_table"] = article_data["focus"]
article_data["related_object"] = article_data["topic"]
article_data["focus"] = None
article_data["topic"] = None
errors = manipulator.get_validation_errors(article_data)
if "body" in article_data and "body" not in errors:
if len(article_data["body"]) < 200:
errors["body"] = ["Your article was too short."]
if not errors:
manipulator.do_html2python(article_data)
new_article = manipulator.save(article_data)
return HttpResponseRedirect(new_article.get_absolute_url())
else:
article_data = errors = {}
form = forms.FormWrapper(manipulator, article_data, errors)
extra_context = {'form': form, 'errors': errors}
return render_template(request, 'articles/submit.html', extra_context)