def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # If netid and email are unique, create an user instance not yet # stored in the database user = User.query.filter_by(netid=form.netid.data, email=form.email.data).first() if user: flash(u'NetID/Email already registred', 'error') return render_template("users/register.html", form=form) raw_signature = request.form['output'] # Convert drawn signature to base64 encoded image. if raw_signature.find("data:image") == -1: PIL_image = s2i( raw_signature, input_image=os.path.abspath('acm_phoenix/static/packages/signpad2image' '/signpad2image/blanksig.png'), nosig_image=os.path.abspath('acm_phoenix/static/packages/signpad2image' '/signpad2image/nosig.png')) output = StringIO.StringIO() PIL_image.save(output, format='PNG') sig_img = 'data:image/png;base64,' + base64.b64encode(output.getvalue()) output.close() else: sig_img = raw_signature user = User(form.name.data, form.netid.data, form.email.data, form.standing.data, form.major.data, form.shirt_size.data, gfm(form.description.data), sig_img) user.member = True # Insert the record in our database and commit it db.session.add(user) db.session.commit() # Log the user in, as they now have an id session['user_id'] = user.id # flash will display a message to the user flash('Thanks for registering') # If user wants to pay membership now, redirect them to wepay. if form.reg_and_pay.data == True: response = wepay_membership_response(user) # Keep track of user's checkout_id for later lookup on wepay. user.wepay_checkout_id = response['checkout_id'] db.session.add(user) db.session.commit() return redirect(response['checkout_uri']) else: # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template('users/register.html', form=form)
def test_role_predicates(self): """Test predicate functions that identify user roles.""" user = User() self.assertFalse(user.isAdmin()) self.assertFalse(user.isPublisher()) user.role = USER.PUBLISHER self.assertTrue(user.isPublisher()) self.assertFalse(user.isAdmin()) user.role = USER.ADMIN self.assertTrue(user.isPublisher()) self.assertTrue(user.isAdmin())
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # create an user instance not yet stored in the database raw_signature = request.form['output'] # Convert drawn signature to base64 encoded image. if raw_signature.find("data:image") == -1: PIL_image = s2i(raw_signature, input_image=os.path.abspath("acm_phoenix/static/packages/signpad2image/signpad2image/blanksig.png"), nosig_image=os.path.abspath("acm_phoenix/static/packages/signpad2image/signpad2image/nosig.png")) output = StringIO.StringIO() PIL_image.save(output, format="PNG") sig_img = "data:image/png;base64," + base64.b64encode(output.getvalue()) output.close() else: sig_img = raw_signature user = User(form.name.data, form.netid.data, form.email.data, \ form.standing.data, form.major.data, form.sid.data, \ form.shirt_size.data, form.description.data, sig_img) user.member = True # Insert the record in our database and commit it db.session.add(user) db.session.commit() # Log the user in, as he now has an id session['user_id'] = user.id # flash will display a message to the user flash('Thanks for registering') if form.reg_and_pay.data == True: response = wepay_membership_response(user) return redirect(response['checkout_uri']) else: # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template("users/register.html", form=form)
def test_get_member_status(self): """Tests the user getMemberStatus function.""" user = User() self.assertEquals(user.getMemberStatus(), 'In Progress') user.membership_status = USER.UNREGISTERED self.assertEquals(user.getMemberStatus(), 'Unregistered') user.membership_status = USER.PAID self.assertEquals(user.getMemberStatus(), 'Official') user.membership_status = USER.UNPAID self.assertEquals(user.getMemberStatus(), 'Unrenewed')
def test_get_role(self): """Tests the user getRole function.""" user = User() self.assertEquals(user.getRole(), 'user') user.role = USER.PUBLISHER self.assertEquals(user.getRole(), 'publisher') user.role = USER.ADMIN self.assertEquals(user.getRole(), 'admin')
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # If netid and email are unique, create an user instance not yet # stored in the database user = User.query.filter_by(netid=form.netid.data, email=form.email.data).first() if user: flash(u'NetID/Email already registred', 'error') return render_template("users/register.html", form=form) raw_signature = request.form['output'] # Convert drawn signature to base64 encoded image. if raw_signature.find("data:image") == -1: PIL_image = s2i(raw_signature, input_image=os.path.abspath( 'acm_phoenix/static/packages/signpad2image' '/signpad2image/blanksig.png'), nosig_image=os.path.abspath( 'acm_phoenix/static/packages/signpad2image' '/signpad2image/nosig.png')) output = StringIO.StringIO() PIL_image.save(output, format='PNG') sig_img = 'data:image/png;base64,' + base64.b64encode( output.getvalue()) output.close() else: sig_img = raw_signature user = User(form.name.data, form.netid.data, form.email.data, form.standing.data, form.major.data, form.shirt_size.data, gfm(form.description.data), sig_img) user.member = True # Insert the record in our database and commit it db.session.add(user) db.session.commit() # Log the user in, as they now have an id session['user_id'] = user.id # flash will display a message to the user flash('Thanks for registering') # If user wants to pay membership now, redirect them to wepay. if form.reg_and_pay.data == True: response = wepay_membership_response(user) # Keep track of user's checkout_id for later lookup on wepay. user.wepay_checkout_id = response['checkout_id'] db.session.add(user) db.session.commit() return redirect(response['checkout_uri']) else: # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template('users/register.html', form=form)