Example #1
0
def discuss(topic, page = 1):
	discussion = get_discussion_by_topic(topic)
	comments, previous_exists = get_discussion_entries(topic = topic, page = page)
	postForm = PostForm()
	if request.method == 'POST':
		if request.form['btn'] == 'Comment':
			if postForm.validate_on_submit():
				entry = DiscussionEntry(discussion.Topic, g.user.get_id(), postForm.body.data)
				commit_to_db(entry)
			return redirect(url_for('discuss', topic = topic))
	if request.method=='GET':
		return render_template('single_discussion.html', discussion = discussion, comments = comments, page = page, previous_exists = previous_exists, form = postForm)
Example #2
0
def admin():
	form = ChallengeForm()
	if request.method == 'POST':
		if form.validate_on_submit():
			challenge = Challenge(form.ChallengeName.data, g.user.PersonID, datetime.datetime.now())
			commit_to_db(challenge)
			flash("Successfullly created new challenge")
			return redirect(url_for('discussions_all'))
		else:
			flash("Couldn't initiate your new challenge")
			return redirect(url_for('admin'))
	if request.method == 'GET':
		new_users = get_all_persons(Confirmed = False)
		return render_template('admin.html', form = form, new_users = new_users)
Example #3
0
def sign_up():
	form = SignUpForm()
	if request.method == 'POST':
		if form.validate_on_submit():
			PersonID = form.PersonID.data
			FirstName = form.FirstName.data
			LastName = form.LastName.data
			Password = form.Password.data
			Department = form.Department.data
			Position = form.Position.data
			Office = form.Office.data
			PhoneNumber = form.PhoneNumber.data
			Email = form.Email.data
			
			Skill1 = form.Skill1.data
			Skill2 = form.Skill2.data
			Skill3 = form.Skill3.data
			
			Interest1 = form.Interest1.data
			Interest2 = form.Interest2.data
			
			user = Person(PersonID, FirstName, LastName, Password, Department, Position, Office, PhoneNumber, Email, Skill1, Skill2, Skill3, Interest1, Interest2)
			
			user = commit_to_db(user)
			
			registered_user = get_person_by_id(form.PersonID.data)
			login_user(registered_user)
			flash('Signed in successfully')
			return redirect(url_for('person_info', id = g.user.get_id()))
	
	return render_template('sign_up.html', 
		title = 'Sign Up',
		form = form)
Example #4
0
def create_campaign():
	form = CampaignForm()
	
	if request.method == 'POST':
		if form.validate_on_submit():
			CampaignTitle = form.CampaignTitle.data
			Description = form.Description.data
			DatePosted = datetime.datetime.now()
			Creator = g.user.get_id()
			
			campaign = Campaign(CampaignTitle, Description, DatePosted, Creator)
			commit_to_db(campaign)
			
		return redirect(url_for('campaign_info', name = CampaignTitle))
		
	if request.method == 'GET':
		return render_template('create_campaign.html', form = form)
Example #5
0
def campaign_info(name):
	campaign = get_campaign_by_title(name)
	postForm = PostForm()
	if request.method == 'POST':
		if request.form['btn'] == 'Contribute':
			if int(request.form['amount']) > 0:
				contribution = Contribution(g.user.get_id(), request.form['campaignTitle'], request.form['amount'], datetime.datetime.now())
				commit_to_db(contribution)
				flash('Contributed %s points to %s!' % (request.form['amount'], name))
			else:
				flash('Please contribute non-zero amount')
		elif request.form['btn'] == 'Comment':
			if postForm.validate_on_submit():
				comment = Comment(campaign.CampaignTitle, g.user.get_id(), postForm.body.data)
				commit_to_db(comment)
			return redirect(url_for('campaign_info', name = name))
	
	if g.user is not None and g.user.is_authenticated():
		return render_template('single_campaign.html', campaign = campaign, form = postForm, contribute_limit = 100 - g.user.get_monthly_contribution())
	else:
		return render_template('single_campaign.html', campaign = campaign)
Example #6
0
def discussions_all():
	form = DiscussionForm()
	
	if request.method=='POST':
		if form.validate_on_submit():
			ChallengeName = request.form['ChallengeName']
			Topic = form.Topic.data
			Description = form.Description.data
			
			CreatorID = g.user.get_id()
			DateCreated = datetime.datetime.now()
			
			discussion = Discussion(ChallengeName, Topic, CreatorID, DateCreated, Description)
			
			commit_to_db(discussion)
			
			return redirect(url_for('discussions_all'))
		else:
			flash("Could not start your new discussion")
			return redirect(url_for('discussions_all'))
			
	if request.method=='GET':
		return render_template('discussions_all.html', challenges = get_challenges(), form = form)
Example #7
0
def sign_up():
	form = SignUpForm()
	if request.method == 'POST':
		if form.validate_on_submit():
			PersonID = form.PersonID.data
			FirstName = form.FirstName.data
			LastName = form.LastName.data
			
			Password = form.Password.data
			#Department = form.Department.data
			#Position = form.Position.data
			#Office = form.Office.data
			#PhoneNumber = form.PhoneNumber.data
			Email = form.Email.data
			
			#Skills = form.Skills.data
			
			#Interest1 = form.Interest1.data
			#Interest2 = form.Interest2.data
			
			user = Person(PersonID, FirstName, LastName, Password, Email)
			try:
				user = commit_to_db(user)
			except Exception:
				flash('Failed to sign up for Pilot Fish Innovation Platform, it\'s possible you have signed up already')
				return redirect(url_for('sign_up'))
			
			flash('Signed up successfully, awaiting ADMIN to accept')
			return redirect(url_for('home'))
		else:
			flash('Failed to sign up for Pilot Fish Innovation Platform')
			return redirect(url_for('sign_up'))
	
	return render_template('sign_up.html', 
		title = 'Sign Up',
		form = form)
Example #8
0
def accept_user():
	accepted_user = get_person_by_id(request.form['id'])
	full_name = accepted_user.FirstName + ' ' + accepted_user.LastName
	accepted_user.Confirmed = True
	commit_to_db(accepted_user)
	return jsonify({'full_name': full_name})