Exemplo n.º 1
0
def register_blueprint():
    form = MyForm(csrf_enabled=False)
    msg = ''

    if form.validate_on_submit():

        if form.password.data != form.password_confirm.data:
            msg = 'Passwords does not match'
        else:
            if sess.query(User).filter(User.email==form.email.data).count() > 0:
                msg = 'This email is already registered'
            else:
                user = User(email=form.email.data, password=form.password.data)
                sess.add(user)
                sess.commit()

                msg = 'Thank you for registering'

    return render_template('register.html', form=form, msg=msg)
Exemplo n.º 2
0
def on_group_sms(msg, bot):
    import ipdb; ipdb.set_trace()  # XXX BREAKPOINT
    message = Message(sender_name=msg.src_sender_name, sender_id=None, group_name=None, group_id=None, content=msg.content)
    sess.add(message)
    logger.info('[New Group Message] name: %s, card: %s, content: %s' % (msg.src_sender_name, msg.src_sender_card, msg.content))
Exemplo n.º 3
0
def create_option(key, value):
    sess.add(Option(key=key, value=value))
    sess.commit()
Exemplo n.º 4
0
    def register(self, data, token):
        ids = []

        if 'users' not in data:
            return throw_error(422, 'JSON missing users array')

        for user in data['users']:

            existing_user = sess.query(User).filter(User.email==user['email']).first()
            if existing_user is not None:
                return throw_error(202, 'User already exists')

            try:
                u = User(\
                    firstname=user['firstname'],\
                    lastname=user['lastname'],\
                    email=user['email'],\
                    avatar_url=user['avatar_url'],\
                    password=encrypt(user['password']),\
                    master=user['master'],\
                    token=token
                )
            except KeyError:
                return throw_error(422, 'Invalid data')

            # Validating the password, is it equal to the confirmation password?
            if u.password != encrypt(user['password_confirm']):
                return throw_error(202, 'Passwords does not match!')

            # Validating each field of the user
            for attr, value in u.__dict__.items():
                if value is '' or value is ' ' or value is None:
                    return throw_error(422, 'Value of {attribute} is empty.'.format(attribute=attr))
            
            # adding user to database
            sess.add(u)

            # flushing the session
            sess.flush()

            # refreshing the user object to obtain the new id
            sess.refresh(u)

            # collecting the id of the user
            ids.append(u.id)

            # Adding custom_fields if there are any
            if 'custom_fields' in user:
                print(user['custom_fields'])
                for field in user['custom_fields']:

                    try:
                        customfield = CustomField(
                            key=field['key'],
                            value=field['value'], user_id=u.id\
                        )
                    except (TypeError, KeyError):
                        return throw_error(422, 'custom_fields is malformed')

                    sess.add(customfield)

            # Finally, we are saving the user
            sess.commit()

        return {'status' : 201, 'ids' : ids, "errors" : None}