Ejemplo n.º 1
0
def prefsPost(handler, p_default_sprint_tab, p_default_tasks_tab, p_backlog_style, p_messages = []):
	def die(msg):
		print msg
		done()

	handler.wrappers = False

	if not handler.session['user']:
		die("You must be logged in to modify preferences")
	if p_default_sprint_tab not in sprintTabs():
		die("Unrecognized default sprint tab <b>%s</b>" % stripTags(p_default_sprint_tab))
	if p_default_tasks_tab not in taskTabs:
		die("Unrecognized default task tab <b>%s</b>" % stripTags(p_default_tasks_tab))
	if set(p_backlog_style.keys()) != set(name for block in statusMenu for name in block):
		die("Backlog style key mismatch")
	if not set(p_messages.keys()) <= set(name for name, desc in messageTypes):
		die("Message type mismatch")

	prefs = handler.session['user'].getPrefs()
	prefs.defaultSprintTab = p_default_sprint_tab
	prefs.defaultTasksTab = p_default_tasks_tab
	prefs.backlogStyles = p_backlog_style
	prefs.messages = dict((name, name in p_messages.keys()) for name, desc in messageTypes)
	prefs.save()

	handler.responseCode = 299
	print "Saved changes"
	Event.prefs(handler)