コード例 #1
0
def register():
    form = RegisterForm()
    openid_form = OpenIdForm()

    if openid_form.validate_on_submit():
        return oid.try_login(openid_form.openid.data,
                             ask_for=['nickname', 'email'],
                             ask_for_optional=['fullname'])
    if form.validate_on_submit():
        new_user = User(form.username.data)  # 建立User实例
        new_user.set_password(form.password.data)  # 设置密码

        db.session.add(new_user)
        db.session.commit()

        flash('你的马甲已经缝制成功,请登台。', category='success')
        return redirect(url_for('.login'))

    openid_errors = oid.fetch_error()
    if openid_errors:
        flash(openid_errors, category='danger')

    return render_template('main/register.html',
                           form=form,
                           openid_form=openid_form)
コード例 #2
0
ファイル: user.py プロジェクト: bartaelterman/time-tracker
def list_users():
    """
       List all users / Create a new user

    **Example output**:

    .. sourcecode:: http

        HTTP/1.1 200 OK
        Vary: Accept
        Content-Type: text/javascript

        {
            username: "******",
            email: "*****@*****.**"
        }
    """

    if request.method == 'GET':
        users = User.objects.all()
        return jsonify(users=[u.serialize() for u in users])
    elif request.method == 'POST':
        try:
            user = User(
                username=request.json.get('username'),
                email=request.json.get('email')
            )
            user.save()
        except ValidationError, e:
            print e.message
            return 'incorrect data format', 400
        return 'OK'
コード例 #3
0
def submit_feedback(username, order_id, order_hash):

    form = FeedbackForm()

    if not form.validate_on_submit():
        flash(list(form.errors.values())[0])
        return redirect(request.referrer)

    order = Order().fetch_order(order_id)

    if (not order) or (order.order_hash != order_hash):
        return abort(404)

    feedback = Feedback().fetch_feedback(order.id)

    if not feedback:
        Feedback().add(request.form, order.id, order.user)
        flash(['Feedback Submitted'])

        return redirect(url_for('shop.shop', username=User().fetch_user_supply_uuid(order.user).username))

    Feedback().update_feedback(order.id, request.form)

    flash(['Feedback successfully updated.'])
    return redirect(url_for('shop.shop', username=User().fetch_user_supply_uuid(order.user).username))
コード例 #4
0
    def setUp(self):
        # Bug workarounds: Flask Admin和Flask Restful扩展中,
        # 它们会为应用生成蓝图对象并在内部保存起来,但在应用销毁时不会主动将其移除。
        admin._views = []
        rest_api.resources = []

        self.app = create_app('test')
        # 必须push context,否则会报错误
        self.app_context = self.app.app_context()
        self.app_context.push()
        self.client = self.app.test_client(use_cookies=True)

        # Bug workaround: 如果不在webapp目录中运行,
        # 则Flask SQLAlchemy的初始化代码就不能正确地在应用对象中进行初始化
        db.app = self.app
        db.create_all()

        # create role and user
        # 由于下面有个test_register_and_login测试,要注册新用户,
        # 在register路由中会默认添加上'poster'和'default'角色,因此这里要先创建两种角色
        poster = Role('poster')
        poster.description = 'poster role'
        default = Role('default')
        default.description = 'default role'
        db.session.add(poster)
        db.session.add(default)

        test_user = User('test')
        test_user.email = '*****@*****.**'
        test_user.password = '******'
        test_user.confirmed = True
        test_user.roles.append(poster)
        db.session.add(test_user)
        db.session.commit()
コード例 #5
0
ファイル: main.py プロジェクト: willa75/multiblog
def register():
    form = RegisterForm()
    openid_form = OpenIDForm()

    if openid_form.validate_on_submit():
        return oid.try_login(
            openid_form.openid.data,
            ask_for=['nickname', 'email'],
            ask_for_opitonal=['fullname']
        )

    if form.validate_on_submit():
        new_user = User(form.username.data)
        new_user.set_password(form.password.data)

        db.session.add(new_user)
        db.session.commit()

        flash(
            "Your user has been created, please login.",
            category="success"
        )
        return redirect(url_for('.login'))

    openid_errors = oid.fetch_error()
    if openid_errors:
        flash(openid_errors, category="danger")

    return render_template('register.html', form=form)
コード例 #6
0
    def test_users(self):
        # add two users
        r = Role.query.filter_by(name='poster').first()
        self.assertIsNotNone(r)
        u1 = User('john')
        u1.email = '*****@*****.**'
        u1.password = '******'
        u1.confirmed = True
        u1.roles.append(r)
        u2 = User('susan')
        u2.email = '*****@*****.**'
        u2.password = '******'
        u2.confirmed = True
        u2.roles.append(r)
        db.session.add_all([u1, u2])
        db.session.commit()

        # get users
        # 以u2通过验证,得到u1的用户信息
        response = self.client.get(url_for('api.get_user', id=u1.id),
                                   headers=self.get_api_headers(
                                       'susan', 'dog'))
        self.assertTrue(response.status_code == 200)
        json_response = json.loads(response.data.decode('utf-8'))
        self.assertTrue(json_response['username'] == 'john')
        # 以u2通过验证,得到u2的用户信息
        response = self.client.get(url_for('api.get_user', id=u2.id),
                                   headers=self.get_api_headers(
                                       'susan', 'dog'))
        self.assertTrue(response.status_code == 200)
        json_response = json.loads(response.data.decode('utf-8'))
        self.assertTrue(json_response['username'] == 'susan')
コード例 #7
0
    def test_user_password(self, testapp):
        """ Test password hashing and checking """

        admin = User('admin', 'supersafepassword')

        assert admin.username == 'admin'
        assert admin.check_password('supersafepassword')
コード例 #8
0
def populate_default_data(db, app):
    db.app = app
    db.create_all()

    user = User()
    user.username = "******"
    user.set_password("jim")
    db.session.add(user)
    db.session.commit()

    tag_one = Tag(title="Python")
    tag_two = Tag(title="Flask")
    tag_three = Tag(title="SQLAlchemy")
    tag_four = Tag(title="Jinja")
    tag_list = [tag_one, tag_two, tag_three, tag_four]
    s = "Example text"

    for i in range(100):
        new_post = Post(title="Post " + str(i))
        new_post.user = user
        new_post.publish_date = datetime.datetime.now()
        new_post.text = s
        new_post.tags = random.sample(tag_list, random.randint(1, 3))
        db.session.add(new_post)

    db.session.commit()
コード例 #9
0
    def test_token_auth(self):
        # add a user
        r = Role.query.filter_by(name='poster').first()
        self.assertIsNotNone(r)
        u = User('john')
        u.email = '*****@*****.**'
        u.password = '******'
        u.confirmed = True
        u.roles.append(r)
        db.session.add(u)
        db.session.commit()

        # issue a request with a bad token
        response = self.client.get(url_for('api.get_posts'),
                                   headers=self.get_api_headers(
                                       'bad-token', ''))
        self.assertTrue(response.status_code == 401)

        # get a token
        response = self.client.get(url_for('api.get_token'),
                                   headers=self.get_api_headers('john', 'cat'))
        self.assertTrue(response.status_code == 200)
        json_response = json.loads(response.data.decode('utf-8'))
        self.assertIsNotNone(json_response.get('token'))
        token = json_response['token']

        # issue a request with the token
        response = self.client.get(url_for('api.get_posts'),
                                   headers=self.get_api_headers(token, ''))
        self.assertTrue(response.status_code == 200)
コード例 #10
0
 def setUp(self):
     db.app = test_app
     db.create_all()
     user = User()
     user.username = self.username
     user.set_password(self.password)
     db.session.add(user)
コード例 #11
0
    def setUp(self):
        db.app = test_app
        db.create_all()
        user = User()
        user.username = self.username
        user.set_password(self.password)
        db.session.add(user)

        comment = Comment()
        comment.name = self.comment_name
        comment.text = self.comment_text

        tag = Tag()
        tag.title = self.tag_title

        post = Post()
        post.title = self.post_title
        post.text = self.post_text
        post.publish_date = self.post_publish_date

        # add relationships to other tables
        post.user = user
        post.tags = [tag]
        post.comments = [comment]

        db.session.add(user)
        db.session.add(comment)
        db.session.add(tag)
        db.session.add(post)
        db.session.commit()
コード例 #12
0
def register_user() -> redirect:
    form = RegisterForm()
    
    if not form.validate_on_submit():
        flash(list(form.errors.values())[0])
        return redirect(url_for('auth.register'))

    if User().query.filter_by(email=request.form.get('email')).first():
        flash(['''Email is already registered. Please use a different email, or login to continue'''])
        return redirect(url_for('auth.register'))

    if not email_regex(request.form.get('email')):
        flash(['Please enter a valid email'])
        return redirect(url_for('auth.register'))

    if User().query.filter_by(username=request.form.get('username')).first():
        flash(['Username is taken. Please choose another username.'])
        return redirect(url_for('auth.register'))

    if not validate_dob(request.form.get('date_of_birth')):
        flash(['You must be at least 13 years old to use Sellit.'])
        return redirect(url_for('auth.register'))

    User().create_user(request.form)
    
    flash(['Account created. Please check your email to activate your account'])
    return redirect(url_for('auth.login'))
コード例 #13
0
ファイル: main.py プロジェクト: markchodges/mastering-flask
def register():
    form = RegisterForm()
    openid_form = OpenIDForm()

    if openid_form.validate_on_submit():
        return oid.try_login(
                openid_form.openid.data,
                ask_for=['nickname', 'email'],
                ask_for_optional=['fullname']
                )

        if form.validate_on_submit():
            new_user = User( form.username.data )
        new_user.set_password( form.password.data )

        db.session.add(new_user)
        db.session.commit()

        flash("Your user has been created, please login.", category="success")

        return redirect(url_for('.login'))

    openid_errors = oid.fetch_erros()
    if openid_errors:
        flash(openid_errors, category="danger")
    return render_template('register.html', form=form, openid_form=openid_form)
コード例 #14
0
 def test_getHistory(self):
     u = User(username='******', fpl_id=229086)
     u.getHistory()
     a = [gw for gw in u.fpl_gameweeks]
     self.assertEqual(a[0].fpl_points, 96)
     self.assertEqual(a[0].user_id, 1)
     self.assertLess(len(a), 38)
     self.assertEqual(a[0].chip, '3xc')
コード例 #15
0
 def test_joinLeague(self):
     u = User(username='******', fpl_id=229086)
     l = League(league_id=1, league_name='ff500')
     u.joinLeague(l)
     a = [member for member in l.members]
     b = [league for league in u.memberships]
     self.assertEqual(a[0].entrant, u)
     self.assertEqual(b[0].league, l)
コード例 #16
0
 def test_valid_confirmation_token(self):
     user = User('test')
     user.password = '******'
     db.session.add(user)
     # 只有commit了才能拿到id,以便生成token
     db.session.commit()
     token = user.generate_confirmation_token()
     self.assertTrue(user.confirm(token))
コード例 #17
0
 def test_expired_confirmation_token(self):
     user = User('test')
     user.password = '******'
     db.session.add(user)
     db.session.commit()
     token = user.generate_confirmation_token(1)
     time.sleep(2)
     self.assertFalse(user.confirm(token))
コード例 #18
0
ファイル: test.py プロジェクト: deyixtan/jackednroses
 def test_user_integrity_check(self):
     u = User(username="******")
     db.session.add(u)
     db.session.commit()
     u2 = User(username="******")
     with self.assertRaises(Exception) as context:
         db.session.add(u2)
         db.session.commit()
     self.assertEqual(type(context.exception), IntegrityError)
コード例 #19
0
ファイル: create_user.py プロジェクト: amineral/LP_cstudio
def create_user(username, password1, role='user'):
    with app.app_context():

        new_user = User(username=username, role=role)
        new_user.set_password(password1)

        db.session.add(new_user)
        db.session.commit()
        print(f"Пользователь с именем {new_user.username} создан")
コード例 #20
0
ファイル: views.py プロジェクト: amineral/LP_cstudio
def process_reg():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegisterForm()
    if form.validate_on_submit():
        User.create_user(username=form.username.data,
                         password1=form.password1.data)
        flash("Вы успешно зарегистрировались")
        return redirect(url_for('login'))
コード例 #21
0
ファイル: auth.py プロジェクト: FashtimeDotCom/sinaapp
def register():

    if g.user:
        return 'is logined'

    source = session.get('source')
    app = session.get('app')
    username = session.get('username')

    if source and username and app:
    
        token = session['oauth_token']
        secret = session['oauth_token_secret']

        if source=='sina':

            api_key, api_secret, callback = sina_api[app]
            auth = sina.OAuthHandler(api_key, api_secret, callback)
            auth.setToken(token, secret)
        
        #elif source=='qq':
        #    api_key, api_secret, callback = qq_api
        #    auth = qq.OAuthHandler(api_key, api_secret, callback)
        #    auth.setToken(token, secret)
        
        # 创建shorten
        while True:
            code = shorten(str(datetime.now()))
            if User.query.filter_by(shorten=code).count()==0:
                break

        email = '*****@*****.**' % code

        user = User(nickname=username,
                    email=email,
                    shorten=code)

        user.password = email

        user.profile = UserProfile()

        update_profile(source, user, auth)

        db.session.add(user)
        db.session.commit()

        # login
        identity_changed.send(current_app._get_current_object(),
                                          identity=Identity(user.id))

        user.bind(source, app, token, secret)

        return redirect(url_for('%s.post' % app))

    else:
        return redirect(url_for('frontend.login'))
コード例 #22
0
ファイル: routes.py プロジェクト: kikemascote/CFDIsWeb
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        wappdb.session.add(user)
        wappdb.session.commit()
        flash('Se ha registrado el usuario nuevo.')
        return redirect(url_for('index'))
    return render_template('register.html', title='Register', form=form)
コード例 #23
0
ファイル: routes.py プロジェクト: msaqibhashmi/dashboard
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        user.save()
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #24
0
ファイル: manage.py プロジェクト: zhchnchn/flask-repo
def insert_data():
    # 不需要在这里创建库,应该使用数据库升级命令`db upgrade`来创建库
    # db.create_all()

    # 注意调用顺序
    Role.generate_fake()
    User.generate_fake()
    Tag.generate_fake()
    Post.generate_fake()
    Comment.generate_fake(1000)
コード例 #25
0
ファイル: user.py プロジェクト: deyixtan/jackednroses
def register_user():
    form = RegisterUserForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        if form.create_profile.data:
            user.profile = UserProfile()
        db.session.add(user)
        db.session.commit()
        flash("Successfully registered user!", "success")
        return redirect(url_for("admin.register_user"))
    return render_template("admin/user/register_user.html", form=form)
コード例 #26
0
 def post(self):
     args = mention_post.parse_args()
     name = args['name']
     if name:
         mentions = User.get_username_by_reg(name)
         if not len(mentions):
             # return User.get_username_limit5()
             return []
         return mentions
     else:
         mentions = User.get_username_limit5()
         return mentions
コード例 #27
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('auth/register.html', title='Register', form=form)
コード例 #28
0
def create_admin_user():
    """Creates an admin user"""
    email = app.config.get('ADMIN_USER', '*****@*****.**')
    pwd = app.config.get('ADMIN_PASSWORD', 'secret')
    user = User.by_email(email)
    if user is not None:
        print('Admin user already there.')
        return
    else:
        user = User(email=email, password=pwd)
        user.save()
        print('Admin user created.')
コード例 #29
0
def create_admin_user():
    """Creates an admin user"""
    email = app.config.get('ADMIN_USER', '*****@*****.**')
    pwd = app.config.get('ADMIN_PASSWORD', 'secret')
    user = User.by_email(email)
    if user is not None:
        print 'Admin user already there.'
        return
    else:
        user = User(email=email, password=pwd)
        user.save()
        print 'Admin user created.'
コード例 #30
0
ファイル: views.py プロジェクト: redtecher/mastering_flask
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        new_user = User()
        new_user.username = form.username.data
        new_user.set_password(form.password.data)
        db.session.add(new_user)
        db.session.commit()
        flash('you user have been created ,Please login', category="success")
        return redirect(url_for('login.login1'))

    return render_template('register.html', form=form)
コード例 #31
0
ファイル: main.py プロジェクト: DataYI/flask
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        new_user = User(form.username.data)
        new_user.username = form.username.data
        new_user.set_password(form.password.data)

        db.session.add(new_user)
        db.session.commit()

        flash('注册成功,请登录!', category='success')
        return redirect(url_for('.login'))
    return render_template('register.html', form=form)
コード例 #32
0
ファイル: main.py プロジェクト: venkatadeepak/mastering-flask
def register():
    form = RegistrationForm()

    if form.validate_on_submit():
        new_user = User(form.username.data)
        new_user.set_password(form.password.data)
        db.session.add(new_user)
        db.session.commit()

        flash("Your user has been created, please login.", category='success')
        return redirect(url_for('.login'))

    return render_template('register.html', form=form)
コード例 #33
0
ファイル: redeem.py プロジェクト: wesgt/simple_redeem
def receive_redeem_code_test():

    from webapp.models import User

    email = '*****@*****.**'

    user = User.query.filter(User.email == email).first()

    if user is None:
        user = User(email, _create_redeem_code(), 0)
        user.save()

    return jsonify(result=ResultType.RECEIVE_SUCCESS, redeem_code=user.redeem_code)
コード例 #34
0
 def test_duplicate_email_change_token(self):
     user1 = User('test1')
     user1.email = '*****@*****.**'
     user1.password = '******'
     user2 = User('test2')
     user2.email = '*****@*****.**'
     user2.password = '******'
     db.session.add(user1)
     db.session.add(user2)
     db.session.commit()
     token = user2.generate_email_change_token('*****@*****.**')
     self.assertFalse(user2.change_email(token))
     self.assertTrue(user2.email == '*****@*****.**')
コード例 #35
0
def user_loader(session_token):
    """Populate user object, check expiry"""
    if "expires" not in session:
        return None

    expires = datetime.utcfromtimestamp(session["expires"])
    expires_seconds = (expires - datetime.utcnow()).total_seconds()
    if expires_seconds < 0:
        return None

    user = User()
    user.id = session_token
    user.nickname = session["nickname"]
    return user
コード例 #36
0
def create_user():
    params = request.get_json()
    user = User(username=params['username'])
    user.set_password(password=params['password'])
    erps = copy.deepcopy(error_response)
    db.session.add(user)
    try:
        db.session.commit()
    except Exception as e:
        erps['error'] = repr(e)
        return json.dumps(erps)

    erps['success'] = True
    return json.dumps(erps)
コード例 #37
0
ファイル: manage.py プロジェクト: politik-bei-uns/frontend
def create_admin(email, password):
    user = User()
    user.email = email
    user.password = password
    user.type = 'admin'
    user.active = True
    user.save()
コード例 #38
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(email=form.email.data, password=hashed_password)

        user.add()

        flash('Your account has been created! You are now able to log in', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #39
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user = User(email=form.email.data, password=hashed_password)

        user.add()

        flash("Your account has been created! You are now able to log in",
              "success")
        return redirect(url_for("login"))
    return render_template("register.html", title="Register", form=form)
コード例 #40
0
ファイル: post.py プロジェクト: aaron4444/learn
    def post(self, post_id=None):
        if post_id:
            abort(400)
        else:
            args = post_post_parser.parse_args(strict=True)

            user = User.verify_auth_token(args['token'])
            if not user:
                abort(401)

            new_post = Post(args['title'])
            new_post.user = user
            new_post.date = datetime.datetime.now()
            new_post.text = args['text']

            if args['tags']:
                for item in args['tags']:
                    tag = Tag.query.filter_by(title=item).first()

                    # Add the tag if it exists. If not, make a new tag
                    if tag:
                        new_post.tags.append(tag)
                    else:
                        new_tag = Tag(item)
                        new_post.tags.append(new_tag)

            db.session.add(new_post)
            db.session.commit()
            return new_post.id, 201
コード例 #41
0
ファイル: post.py プロジェクト: aaron4444/learn
 def put(self, post_id=None):
     if not post_id:
         abort(404)
     post = Post.query.get(post_id)
     if not post:
         abort(404)
     args = post_put_parser.parse_args(strict=True)
     user = User.verify_auth_token(args['token'])
     if not user:
         abort(401)
     if user != post.user:
         abort(403)
     if args['title']:
         post.title=args['title']
     if args['text']:
         post.text = args['text']
     if args['tags']:
         for item in args['tags']:
             tag = Tag.query.filter_by(title=item).first()
             if tag:
                 post.tags.append(tag)
             else:
                 new_tag= Tag(item)
                 post.tags.append(new_tag)
     db.session.add(post)
     db.session.commit()
     return post.id, 201
コード例 #42
0
ファイル: blog.py プロジェクト: Arkturian/Mastering-Flask
def new_post():
    form = PostForm()

    if form.validate_on_submit():
        if form.type.data == "blog":
            new_post = BlogPost()
            new_post.text = form.text.data
        elif form.type.data == "image":
            new_post = ImagePost()
            new_post.image_url = form.image.data
        elif form.type.data == "video":
            new_post = VideoPost()
            new_post.video_object = form.video.data
        elif form.type.data == "quote":
            new_post = QuotePost()
            new_post.text = form.text.data
            new_post.author = form.author.data

        new_post.title = form.title.data
        new_post.user = User.objects(
            username=current_user.username
        ).one()

        new_post.save()

    return render_template('new.html', form=form)
コード例 #43
0
ファイル: importer.py プロジェクト: danieltcv/opinew_reviews
    def create_or_match_user_from_review_data(cls, reviewer_name, email):
        user = None
        existing_user = User.get_by_email_no_exception(email)
        if existing_user:
            user = existing_user
        else:
            user, is_new = UserLegacy.get_or_create_by_email(email, name=reviewer_name)

        return user
コード例 #44
0
def register():
    if request.method == 'GET':
        return render_template('register.html')
    elif request.method == 'POST':
        username = request.form['txtUsername']
        password = request.form['txtPassword']

        user = User.query.filter_by(username=username)
        if user.count() == 0:
            user = User(username=username, password=password)
            user.save()
            
            flash('You have registered the username {0}. Please login'.format(username))
            return redirect(url_for('user.login'))
        else:
            flash('The username {0} is already in use.  Please try a new username.'.format(username))
            return redirect(url_for('user.register'))
    else:
        abort(405)
コード例 #45
0
    def test_login(self):
        """ Tests if the login form works correctly """

        test_role = Role("default")
        db.session.add(test_role)
        db.session.commit()

        test_user = User("test")
        test_user.set_password("test")
        db.session.add(test_user)
        db.session.commit()

        result = self.client.post('/login', data=dict(
            username='******',
            password="******"
        ), follow_redirects=True)

        self.assertEqual(result.status_code, 200)
        self.assertIn('You have been logged in', result.data)
コード例 #46
0
ファイル: redeem.py プロジェクト: wesgt/simple_redeem
def receive_redeem_code():
    """receive redeem_code

    same email have same redeem_code

    """

    from webapp.models import User

    email = request.form['email']

    if not _validate_email(email):
        return jsonify(result=ResultType.EMAIL_FAIL)

    user = User.query.filter(User.email == email).first()

    if user is None:
        user = User(email, _create_redeem_code(), 0)
        user.save()

    return jsonify(result=ResultType.RECEIVE_SUCCESS, redeem_code=user.redeem_code)
コード例 #47
0
ファイル: main.py プロジェクト: patrickbreen/mastering_flask
def register():
    form = RegisterForm()

    if form.validate_on_submit():
        new_user = User()
        new_user.username = form.username.data
        new_user.set_password(form.password.data)

        db.session.add(new_user)
        db.session.commit()

        flash('Your user has been created, please log in.',
                category='success')

        return redirect(url_for('main.login'))

    recent, top_tags = sidebar_data()
    return render_template('register.html',
            form=form,
            recent=recent,
            top_tags=top_tags)
コード例 #48
0
ファイル: views.py プロジェクト: ShooterTT/Codesaic
def register(request):
    if request.method == "POST":
        uf = UserFormRegister(request.POST)
        if uf.is_valid():
            userName = uf.cleaned_data['userName']
            password = uf.cleaned_data['password']
            email = uf.cleaned_data['email']

            if User.objects.get(userName = userName) != None:
                uf = UserFormRegister()
                return render_to_response('register.html', {'uf': uf}, context_instance = RequestContext(request))

            user = User()
            user.userName = userName
            user.password = password
            user.email = email
            user.save()
            response = render_to_response('success.html', {'username': userName})
            response.set_cookie('username', userName, 3600)
            
            return response
    else:
        uf = UserFormRegister()
    
    return render_to_response('register.html', {'uf': uf}, context_instance = RequestContext(request))
コード例 #49
0
ファイル: post.py プロジェクト: aaron4444/learn
 def delete(self, post_id=None):
     if not post_id:
         abort(400)
     post = Post.query.get(post_id)
     if not post:
         abort(400)
     args = post_delete_parser.parse_args(strict=True)
     user = User.verify_auth_token(args['token'])
     if user !=post.user:
         abort(403)
     db.session.delete(post)
     db.session.commit()
     return "", 204
コード例 #50
0
ファイル: view.py プロジェクト: tamamushi/BlackMamba
def auth():
	remember_me	= False
	if request.method == 'POST':
		user, authenticated = User.authenticate(db.session.query,
				request.form['username'], request.form['password'])
		if 'remember' in request.form:
			remember_me = True
		if authenticated:
			login_user(user, remember = remember_me)
			##flash('You were logged in')
			return redirect(url_for('index', name=user.uname))
		else:
			flash(gettext('Invalid username or password'))
	return render_template('login.html')
コード例 #51
0
ファイル: manage.py プロジェクト: Arkturian/Mastering-Flask
def setup_db():
    db.create_all()

    admin_role = Role()
    admin_role.name = "admin"
    admin_role.description = "admin"
    db.session.add(admin_role)

    default_role = Role()
    default_role.name = "default"
    default_role.description = "default"
    db.session.add(default_role)

    admin = User()
    admin.username = "******"
    admin.set_password("password")
    admin.roles.append(admin_role)
    admin.roles.append(default_role)
    db.session.add(admin)

    tag_one = Tag('Python')
    tag_two = Tag('Flask')
    tag_three = Tag('SQLAlechemy')
    tag_four = Tag('Jinja')
    tag_list = [tag_one, tag_two, tag_three, tag_four]

    s = "Body text"

    for i in xrange(100):
        new_post = Post("Post " + str(i))
        new_post.user = admin
        new_post.publish_date = datetime.datetime.now()
        new_post.text = s
        new_post.tags = random.sample(tag_list, random.randint(1, 3))
        db.session.add(new_post)

    db.session.commit()
コード例 #52
0
ファイル: routes.py プロジェクト: msaqibhashmi/dashboard
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    form = LoginForm()
    if form.validate_on_submit():
        user = User.objects(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            return redirect(url_for('login'))

        login_user(user, remember=form.remember_me.data)

        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('home')
        return redirect(next_page)

    return render_template('login.html', form=form)
コード例 #53
0
ファイル: views.py プロジェクト: gjain0/social-network
    def post(self, request, *args, **kwargs):
        response_data = {}

        email = request.POST.get('email')
        password = request.POST.get('password')

        if not all([email, password]):
            response_data['error'] = True
            response_data['message'] = "Email-id, and password required!"
            return HttpJSONResponse(response_data, status=400)

        if get_or_none(User, username=email):
            response_data['error'] = True
            response_data['message'] =  "Email-id already exists!"
            return HttpJSONResponse(response_data, status=400)

        u = User(email=email, username=email)

        try:
            u.first_name = request.POST.get('fname', '')
            u.last_name = request.POST.get('lname', '')
            u.institute = request.POST.get('institute')
            u.grad_year = request.POST.get('grad_year')
            u.location = request.POST.get('location')
            u.company = request.POST.get('company')
            u.set_password(password)
            u.save()
        except Exception as e:
            response_data['error'] = True
            response_data['message'] =  "Some error occurred! please try again."
            response_data['details'] = "%s - %s" % (e.__doc__, repr(e))
            return HttpJSONResponse(response_data, status=500)

        response_data = {
            'error': False,
            'message': 'Successfully Created!',
            'id': u.id,
        }
        return HttpJSONResponse(response_data)
コード例 #54
0

sqlite_db.connect()

## Ad-hoc migration

# move all persons
for person in LegacyPerson.select():
    if Person.objects(name=person.name).count():
        continue
    Person(name=person.name).save()
    print 'Migrated Person: '+person.name

# move all users
for user in LegacyUser.select():
    if User.objects(name=user.name).count():
        continue
    # transfer user data
    User(
        name=user.name,
        email=user.email,
        password=user.password,
        is_admin=bool(user.is_admin)
    ).save()
    print 'Migrated User: '+user.name
    
# move groups
for group in LegacyInventoryGroup.select():
    if InventoryGroup.objects(name=group.name).count():
        continue
    InventoryGroup(
コード例 #55
0
ファイル: forms.py プロジェクト: msaqibhashmi/dashboard
 def validate_username(self, username):
     form = LoginForm()
     user = User.objects(username=username.data).first()
     if user is None or not user.check_password(form.password.data):
         raise ValidationError('Invalid username or password')
コード例 #56
0
ファイル: forms.py プロジェクト: msaqibhashmi/dashboard
 def validate_username(self, username):
     user = User.objects(username=username.data).first()
     if user is not None:
         raise ValidationError('Please use a different username.')
コード例 #57
0
ファイル: forms.py プロジェクト: msaqibhashmi/dashboard
 def validate_email(self, email):
     user = User.objects(email=email.data).first()
     if user is not None:
         raise ValidationError('Please use a different email address.')