Esempio n. 1
0
def newEvent(request):
	# some printout crap
	for param, val in request.POST.items():
		print param, val
	print "articles:", request.POST.getlist('articles')
	
	# start doing actual work
	e = NewsEvent.objects.get(pk=request.POST['pk'])
	print e.id

	e.articles.clear()
	if 'articles' in request.POST:
		for articleId in request.POST.getlist('articles'):
			e.articles.add(articleId)

	if 'title' in request.POST:
		e.title = request.POST['title']

	if 'eventTag' in request.POST:
		e.eventTag = request.POST['eventTag']

	# handle TimelineEntries
	if 'timelineEntry_add' in request.POST:
		for timelineEntry in request.POST.getlist('timelineEntry_add'):
			newTLEntry = TimelineEntry()
			newTLEntry.text = timelineEntry
			newTLEntry.event_id = request.POST['pk']
			newTLEntry.save()
	for param, val in request.POST.items():
		index = param.find('timelineEntry_')
		if index > -1 and param != 'timelineEntry_add':
			tlEntryId = param[index+len('timelineEntry_'):]
			tlEntry = TimelineEntry.objects.get(pk=tlEntryId)
			tlEntry.text = val
			tlEntry.save()

	# Editors
	e.editors.clear()
	if 'editors' in request.POST:
		print "handling editors..."
		for editorId in request.POST.getlist('editors'):
			print editorId
			e.editors.add(editorId)


	# tags
	e.tag_set.clear()
	if 'tags' in request.POST:
		
		for tagVal in request.POST.getlist('tags'):
			try:
				tagVal = int(tagVal)
				e.tag_set.add(tagVal)
			except ValueError:
				newTag = Tag()
				newTag.text = tagVal
				newTag.save()
				e.tag_set.add(newTag.id)

	e.save()

	# return HttpResponseRedirect("/edit_event/" + request.POST['pk'])
	return HttpResponseRedirect("/event/" + request.POST['pk'])