Example #1
0
def get_info_response(phone_id):
    user = get_user(phone_id)
    if not user:
        return render_template('404.html')
    else:
        result = jsonify(data=dict(name=user.name, age=user.age, email=user.email), res_code=201)
        result = eval(result.data)
        return render_template('user.html', result=result)
Example #2
0
def unfollow(username):
    user = get_user(username=username)
    if user is None:
        flash("User {} not found.".format(username))
        return redirect(url_for("index"))
    if user == current_user:
        flash("You cannot unfollow yourself!")
        return redirect(url_for("user", username=username))
    current_user.unfollow(user)
    flash("You are not following {}.".format(username))
    return redirect(url_for("user", username=username))
Example #3
0
File: routes.py Project: DGHP/api
def login():
    body = request.get_json()
    username = body["username"]
    password = body["password"]
    db_user = models.get_user(username)
    if db_user == None or not check_password_hash(db_user['password'],
                                                  password):
        return "Your credentials have been rejected"
    # decode converts bites into string
    token = {"token": make_jwt(username).decode()}
    res = make_response(token, 200, {'content-type': 'application/json'})
    return res
Example #4
0
def reset_password_request():
    if current_user.is_authenticated:
        return redirect(url_for("index"))
    form = ResetPasswordRequestForm()
    if form.validate_on_submit():
        user = get_user(email=form.email.data)
        if user:
            send_password_reset_email(user)
        flash("Check your email for the instructions to reset your password")
        return redirect(url_for("login"))
    return render_template("reset_password_request.html",
                           title="Reset Password",
                           form=form)
Example #5
0
def update_info_response(phone_id):
    req = request.get_json()
    password = req.get('password', '')
    if not password:
        return jsonify('password can not be empty')
    user = get_user(phone_id)
    user.password = password
    user.name = req.get('name', '')
    user.age = req.get('age', '')
    user.email = req.get('email', '')
    result = user.update()
    if result:
        return jsonify(name=user.name, age=user.age, email=user.email, )
Example #6
0
File: routes.py Project: DGHP/api
def add_user():
    user = validate_message(request.get_json(), 'username', 'password')
    if not user:
        return make_response(
            "Your request body must contain username and password fields", 400)
    if models.get_user(user['username']):
        return make_response("Username is already in database", 401)
    user['password'] = generate_password_hash(user['password'])
    models.add_user(user)
    username = user['username']
    # decode converts bites into string # but why?
    token = {"token": make_jwt(username).decode()}
    res = make_response(token, 200, {'content-type': 'application/json'})
    return res
Example #7
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    if request.method == 'POST':
        username = request.form.get('username')
        password_input = request.form.get('password')
        user = get_user(username)

        if user and user.check_password(password_input):
            login_user(user)
            return redirect(url_for('main.index'))
        else:
            flash('Failed to login!', 'danger')
    return render_template('auth/login.html')
Example #8
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("index"))
    form = LoginForm()
    if form.validate_on_submit():
        user = get_user(username=form.username.data)
        if user is None or not user.check_password(form.password.data):
            flash("Invalid Username or Password")
            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("index")
        return redirect(url_for("index"))
    return render_template("login.html", title="Sign In", form=form)
Example #9
0
    def validate_rollno(self, rollno):
        user = get_user(rollno=rollno.data)
        if user is not None:
            raise ValidationError("A user with this rollno already exists.")
       
        """The below expression checks that the rollno entered is a valid
        rollno given to us by our college. I am using a regex that matches
        the rollno format for my college.
        
        If you are reusing this code (very unlikely as I don't think this code
        would even be read by someone else than me.) you need to remove the
        code section below or use your custom regex."""

        result=re.fullmatch("(18|19)[Ii][Tt][0-9]{4}", rollno.data)
        if result is None:
            raise ValidationError("Please provide the correct rollno.")
Example #10
0
File: helpers.py Project: DGHP/api
    def decorator(*args, **kwargs):

        token = None

        if 'Authorization' in request.headers:
            token = request.headers['Authorization'].replace("Bearer ", "")

        if not token:
            return jsonify({'message': 'a valid token is missing'})

        try:
            data = jwt.decode(token, jwt_secret, algorithm="HS256")
            current_user = get_user(data['username'])
        except:
            return jsonify({'message': 'token is invalid'})

        return f(current_user, *args, **kwargs)
Example #11
0
def user(username):
    user = get_user(username=username)
    if not user:
        """If no Users object is found with the given username then the
        abort function forces a 404 error."""
        abort(404)
    page = request.args.get("page", 1, type=int)
    posts_per_page = app.config["POSTS_PER_PAGE"]
    all_posts = user.own_posts()
    posts = all_posts[(page - 1) * posts_per_page:page * posts_per_page]
    next_url = url_for("user", username=username, page=page+1)\
            if (len(all_posts) > page*posts_per_page) else None
    prev_url = url_for("user", username=username, page=page-1)\
            if (page-1 > 0) else None
    return render_template("user.html",
                           user=user,
                           posts=posts,
                           next_url=next_url,
                           prev_url=prev_url)
Example #12
0
def login():

    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()
    if form.validate_on_submit():
        user = get_user(form.email.data)
        password = form.password.data

        if user is not None and user.check_password(password):
            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("index")

            return redirect(next_page)

    return render_template("login.html", title="Ingreso", form=form)
Example #13
0
 def validate_username(self, username):
     if username.data != self.original_username:
         user = get_user(username=self.username.data)
         if user is not None:
             raise ValidationError("Please use a different username.")
Example #14
0
def route_user():
    models.get_user("user_id", 1)
    return ""
Example #15
0
 def validate_email(self, email):
     user = get_user(email=email.data)
     if user is not None:
         raise ValidationError("Please use a different email address.")
Example #16
0
 def validate_username(self, username):
     user = get_user(username=username.data)
     if user is not None:
         raise ValidationError("Please use a different username.")
Example #17
0
 def test_login(self):
     tU = get_user("username","john")
     self.assertTrue(tU and validate_user(tU.username,"1234"))
Example #18
0
def load_user(username):
    return get_user(username)