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)
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)
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)
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)
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)
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)
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)
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})