Esempio n. 1
0
def get_role():
	hash_ = '0'
	if 'key' in session:
		hash_ = session['key']
	user_record = filter_users(None, None, hash_)
	if user_record:
		return user_record[0][1]		
	return None
Esempio n. 2
0
def me():

	if check_hash() == True:
		user_record = uh.filter_users(None, None, session['key'])
		return render_template("me.html", user=user_record[0])

	response = make_response(redirect('/login'))
	response.set_cookie("educationreview_credits", '', expires=0)
	return response
Esempio n. 3
0
def get_answer_by_username(name):
    users = filter_users(None, name, None)
    result = []
    for user in users:
        data = filter_answers(None, user[0], None)
        for item in data:
            l = list(item)
            l[1] = user[2]
            result.append(tuple(l))
    return result
Esempio n. 4
0
def manage_posts():
	role = get_role()
	if check_hash(): #and (role == 'superuser' or role == 'moderator'):
		form = ManagePosts()
		categories = ch.filter_categories(None)
		category_list = []
		for category in categories:
			category_list.append((category[0], category[0]))
		form.category.choices = category_list
		if request.method == "GET":
			data = None
			if role == 'superuser' or role == 'moderator': data = ph.filter_posts(status_=datetime.now())
			if role == 'user': data = ph.filter_posts()
			new_data = []
			for rec in data:
				new_data.append((rec[0], uh.get_user(rec[1])[2], rec[2], rec[3],rec[4],rec[5],rec[6]))
				
			return render_template('posts.html', form=form, role=role, data=data)
				
		
		if request.method == "POST" and (role == 'superuser' or role == 'moderator'):
			try:
				categories = ch.filter_categories(None)
				category_list = []
				for category in categories:
					category_list.append((category[0], category[0]))
				form.category.choices = category_list
				
				users = uh.filter_users(None, request.form['author'], None)
				data = ph.filter_posts(users[0][0], request.form['title'], None, request.form['category'], datetime.now())
				for i in range(1,len(users)):
					dataset = ph.filter_posts(users[i][0], request.form['title'], None, 
								request.form['category'], datetime.now())
					for part in dataset:
						data.append(part)

				new_data = []
				for rec in data:
					new_data.append((rec[0], uh.get_user(rec[1])[2], rec[2], rec[3],rec[4],rec[5],rec[6]))

				form.author.data = request.form['author']
				form.category.data = request.form['category']
				form.title.data = request.form['title']
				
				return render_template('posts.html', form=form, role=role, data=new_data)
			except:
				return render_template('404.html', error = 'Cant load information')

	return render_template('404.html', error = 'You have no rights for this action')
Esempio n. 5
0
def check_hash():
	
	if 'key' in session:
		hash_ = session['key']
	else:
		hash_ = request.cookies.get("educationreview_credits")
		if hash_ == None:
			return False

	user_record = filter_users(None, None, hash_)

	if user_record != None:
		session['key'] = hash_
		return True
	session.pop('key', None)
	return False
Esempio n. 6
0
def manage_users():
	if check_hash() and get_role() == 'superuser':
		form = ManageUsers()
		if request.method == "GET":
			name = request.args.get('name')
			role = request.args.get('role')

			data = uh.filter_users(role, name, None)
			return render_template('users.html', data = data, form=form)

		if request.method == "POST":
			if form.validate():
				response = make_response(redirect(url_for('manage_users', name=request.form['name'], role=request.form['role'])))
				flash("Filters applied")
				return response
			return render_template('404.html', error="Validation violated")
	return render_template('404.html', error = 'You have no rights for this action')
Esempio n. 7
0
def add_post():
	if check_hash():
		form = PostForm()
		
		if request.method == "GET":
			return render_template('postform.html', form=form)
		if request.method == "POST":
			print('help')
			print(form.errors)
			if form.validate():
				user_id = uh.filter_users(None, None, session['key'])[0][0]
				pid, status = ph.add_post(user_id, request.form['title'], request.form['text'], request.form['category'])
				if status!='ok': return render_template('404.html', error=status)
				flash('Post added successfully')
				return redirect(url_for('view_post', pid=pid))
			
			return render_template('404.html', error="Validation violated")
	return render_template('404.html', error = 'You have no rights for this action')