All pastes #181239 Raw Edit

Untitled

public text v1 · immutable
#181239 ·published 2006-09-24 18:44 UTC
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)