Exemple #1
0
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)
Exemple #2
0
    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())
Exemple #3
0
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)
Exemple #4
0
    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')
Exemple #5
0
    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')
Exemple #6
0
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)