Пример #1
0
def new_thread(key=None):
	user = active_user()
	if has_permission(user,'new-thread'):
		new_thread = Thread()
		first_post = Post()
		name = bottle.request.forms.get("name")
		content = bottle.request.forms.get("content")
		tags = parse_tags(bottle.request.forms.get("tags",""))
		first_post.update({
			"owner":user.key,
			"content":content
		})
		new_thread.update({
			"name":name,
			"owner":user.key,
			"posts":[first_post.key],
			"tags":tags
		})
		forum = Forum.load(forum_key())
		target = Category.load(decrypt(key)) if key else forum
		target.threads.append(new_thread.key)
		target.save()
		new_thread.save()
		return flash_message("Your thread has been created.","/thread/"+new_thread.slug+"/","Success")
	raise bottle.HTTPError(404,
	"""Sorry, but we weren't able to find what you were looking for.
	  I hope that someday you do find it, but when you do, it won't be here.
	""")
Пример #2
0
def create_category_form():
	user = active_user()
	forum = Forum.load(forum_key())
	if has_permission(user,'create-board'):
		return template("new_category",forum=forum,user=user)
	raise bottle.HTTPError(404,
	"""Sorry, but we weren't able to find what you were looking for.
	  I hope that someday you do find it, but when you do, it won't be here.
	""")
Пример #3
0
def new_thread_form(key=None):
	user = active_user()
	if has_permission(user,"new-thread"):
		forum = Forum.load(forum_key())
		target = Category.load(decrypt(key)) if key else forum
		return template("new_thread",target=target,user=user,forum=forum)
	raise bottle.HTTPError(404,
	"""Sorry, but we weren't able to find what you were looking for.
	  I hope that someday you do find it, but when you do, it won't be here.
	""")
Пример #4
0
def index_page():
	bottle.TEMPLATES.clear()
	user = active_user()
	data={}
	if user is None:
		msg = "You need to sign in before you can use this app."
		return flash_message(msg,"/login","Login Required")
	data['user'] = user
	data['forum'] = Forum.load(forum_key())
	data['trends'] = list(data['forum'].topics)
	return template('home',**data)
Пример #5
0
def category_page(key):
	key=decrypt(key)
	user=active_user()
	forum = Forum.load(forum_key())
	board = Category.load(key)
	if board.has_permission(user,'list'):
		data={}
		data['user']=user
		data['forum']=forum
		data['threads']=board.threads
		data['trends']=board.topics(user) or []
		data['tags'] = board.tags
		data['mode']='trending'
		return template("home",**data)
	return flash_message("No permission. :(","/","No permission.")
Пример #6
0
def template(*args,**kwargs):
	if kwargs.get('forum',None) is None:
		kwargs['forum'] = Forum.load(forum_key())
	if isinstance(kwargs.get('user',0),int):
		kwargs['user'] = active_user()
	return botemplate(*args,**kwargs)
Пример #7
0
def register():return template("register",forum=Forum.load(forum_key()),user=active_user())

@route("/member",method="POST")
Пример #8
0
def login():return template("login",forum=Forum.load(forum_key()),user=active_user())

@route("/login",method="POST")