Exemplo n.º 1
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form.

    If there already is a user with that username: flash message
    and re-present form.
    """
    if CURR_USER_KEY in session:
        del session[CURR_USER_KEY]
    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(username=form.username.data,
                               password=form.password.data,
                               email=form.email.data)
            db.session.commit()

        ###########
        # This is where I need to differentiate between which field requirements are being violated
        # (i.e. username, email, (more?))
        except IntegrityError as e:
            flash("Username already taken", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 2
0
def profile():
    """Update profile for current user."""
    if not g.user:
        flash('Access unauthorized.', "danger")
        return redirect('/')

    form = UserAddForm(obj=g.user)

    if form.validate_on_submit():
        g.user.username = form.username.data
        g.user.email = form.email.data
        g.user.image_url = form.image_url.data
        g.user.header_image_url = form.header_image_url.data

        user = User.authenticate(form.username.data, form.password.data)
        if user:
            try:
                db.session.commit()
                flash("changes saved", "success")
                return redirect(f"/users/{g.user.id}")
            except Exception:
                flash('error', 'danger')
                db.session.rollback()
                return redirect('/')
        else:
            flash('Invalid password', 'danger')
            return redirect('/')
    else:
        return render_template('/users/edit.html', form=form)
Exemplo n.º 3
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form.

    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
            )
            db.session.commit()

        except IntegrityError:
            flash("Username already taken", 'danger')
            return render_template('signup.html', form=form)

        do_login(user)
        flash(f"Thanks for signing up, {user.username}", 'success')
        return redirect("/")

    else:
        return render_template('signup.html', form=form)
Exemplo n.º 4
0
def edit_profile():
    """edit profile info"""

    if not g.user:
        flash("Access Denied Please Login First", "danger")
        return redirect("/login")

    form = UserAddForm(obj=g.user)

    if form.validate_on_submit():

        g.user.username = form.username.data
        g.user.first_name = form.first_name.data
        g.user.last_name = form.last_name.data
        g.user.email = form.email.data
        password = form.password.data

        user = User.authenticate(g.user.username, password)
        if user:

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

            return redirect("/user")

        else:
            flash("Password Incorrect")

    return render_template("/users/editprofile.html",
                           form=form,
                           user_id=g.user.id)
Exemplo n.º 5
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form.

    If the there already is a user with that username: flash message
    and re-present form.
    """
    if CURR_USER_KEY in session:
        del session[CURR_USER_KEY]
    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.register(
                first_name=form.first_name.data,
                last_name=form.last_name.data,
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
            )
            db.session.commit()

        except IntegrityError as e:
            flash("Username already taken", 'danger')
            return render_template('signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('signup.html', form=form)
Exemplo n.º 6
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form with errors.

    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
            )
            db.session.commit()

        except IntegrityError:
            flash("Username already taken", "danger")
            return render_template("users/signup.html", form=form)

        do_login(user)

        return redirect(url_for("homepage"))

    else:
        return render_template("users/signup.html", form=form)
Exemplo n.º 7
0
def signup():
    if CURR_USER_KEY in session:
        del session[CURR_USER_KEY]
    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
                image_url=form.image_url.data or User.image_url.default.arg,
            )
            db.session.commit()

        except IntegrityError as e:

            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 8
0
def signup():
    """Handle signing up for the Setlist Manager."""

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
            )
            db.session.commit()

        except IntegrityError as e:
            if "users_username_key" in repr(e):
                flash("That username is already in use.", "danger")
            elif "users_email_key" in repr(e):
                flash("That email address is already in use.", "danger")
            return render_template("sign-up.html", form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template("sign-up.html", form=form)
Exemplo n.º 9
0
def profile():
    """Update profile for current user."""
    user = g.user

    form = UserAddForm(obj=user)

    if form.validate_on_submit():
        user = User.authenticate(user.username,
                                 form.password.data)
        if user:
            user.username = form.username.data
            user.email = form.email.data
            user.image_url = form.image_url.data
            user.header_image_url = form.header_image_url.data
            user.bio = form.bio.data
            user.location = form.location.data

            db.session.add(user)
            db.session.commit()
            flash(f'{user.username} has been edited', 'warning')
        else:
            flash('Incorrect password for {{ user.username }}', 'warning')
        return redirect(f'/users/{user.id}')
    else:
        return render_template('/users/edit.html', form=form)
Exemplo n.º 10
0
def profile():
    """Update profile for current user."""

    form = UserAddForm()

    if form.validate_on_submit():
        user = User.authenticate(form.username.data, form.password.data)

        if user:
            u = User.query.filter_by(username=form.username.data).first()
            try:
                u.username = form.username.data
                u.email = form.email.data
                u.image_url = form.image_url.data or u.image_url
                db.session.commit()
                flash(f"{user.username} updated!", "success")
                return redirect(f"/users/${u.id}")

            except:
                flash("Username already taken", 'danger')
                return redirect('users/profile')
        else:
            flash("Incorrect password", 'danger')
            return redirect('users/profile')

    else:
        user = g.user.id
        print(user)
        return render_template('users/edit.html', form=form, user=user)
Exemplo n.º 11
0
def user_add():
    # 新增用户
    form = UserAddForm()
    if form.validate_on_submit() and request.method == 'POST':
        password = form.data['password']
        password_repeat = form.data['password_repeat']
        if password != password_repeat:
            flash('两次输入的密码不一致', 'warning')
            return redirect(url_for('accounts.user_add'))
        # 将数据保存到数据库
        user_obj = User(username=form.data['username'],
                        password=form.data['password'],
                        email=form.data['email'],
                        role=form.data['role'],
                        created_at=datetime.now(),
                        update_at=datetime.now())
        db.session.add(user_obj)
        db.session.commit()
        # 消息提示
        flash('新增用户成功', 'success')
        # 跳转到用户列表
        return redirect(url_for('accounts.user_list'))
    else:
        # 消息提示
        if request.method == 'POST':
            flash('请修改错误后再提价,谢谢', 'warning')
            print(form.errors)

    return render_template('user_add.html', form=form)
Exemplo n.º 12
0
def register_new_user():
    """handle registration of new user"""
    register_form = UserAddForm()
    login_form = LoginForm()

    if register_form.validate_on_submit():
        try:
            user = User.signup(
                email=register_form.new_email.data,
                password=register_form.new_password.data,
                username=register_form.new_username.data,
                first_name=register_form.first_name.data.capitalize(),
                last_name=register_form.last_name.data.capitalize(),
                image_url=register_form.image_url.data
                or User.image_url.default.arg,
                cover_url=register_form.cover_url.data
                or User.cover_url.default.arg)
            db.session.commit()

            do_login(user)
            return redirect('/')
        except IntegrityError:
            flash(
                "Email or username already registered! Please log in or try again",
                'danger')
            return render_template('home_anon.html',
                                   register_form=register_form,
                                   login_form=login_form)

    else:
        return render_template('home_anon.html',
                               register_form=register_form,
                               login_form=login_form)
Exemplo n.º 13
0
def profile():
    """Update profile for current user."""

    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    form = UserAddForm(obj=g.user)
    user_id = g.user.id

    if form.validate_on_submit():
        g.user.username = form.username.data
        g.user.email = form.email.data
        g.user.image_url = form.image_url.data
        g.user.header_image_url = form.header_image_url.data
        g.user.bio = form.bio.data
        g.user.location = form.location.data
        if User.authenticate(form.username.data, form.password.data) != g.user:
            flash("Incorrect password", "danger")
            return redirect("/")

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

        return redirect(f"/users/{g.user.id}")
    return render_template("/users/edit.html", form=form, user_id=user_id)
Exemplo n.º 14
0
def signup():
    """Handle user signup"""

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
                image_url=form.image_url.data or User.image_url.default.arg,
            )
            db.session.commit()

        except IntegrityError:
            flash("Username already taken", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 15
0
def signup():
    """Handle user signup."""

    if CURR_USER_KEY in session:
        del session[CURR_USER_KEY]
    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
                image=form.image.data,
            )

            user.save()

        except NotUniqueError as e:
            flash(f"{e}: Username already exists", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 16
0
def signup():
    """Handle user signup.
    Create new user and add to DB. 
    If the there already is a user with that username: flash message
    """

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(first_name=form.first_name.data,
                               last_name=form.last_name.data,
                               username=form.username.data,
                               email=form.email.data,
                               password=form.password.data)
            db.session.commit()

        except IntegrityError:
            flash("Username already taken", 'danger')
            return render_template('user_templates/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('user_templates/signup.html', form=form)
Exemplo n.º 17
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form.

    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
                image_url=form.image_url.data or User.image_url.default.arg,
            )

        except IntegrityError:
            flash("Username already taken", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 18
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form.

    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.data['username'],
                password=form.data['password'],
                email=form.data['email'],
                image_url=form.data['image_url'] or 'https://t3.ftcdn.net/jpg/00/64/67/52/240_F_64675209_7ve2XQANuzuHjMZXP3aIYIpsDKEbF5dD.jpg',
            )
            db.session.commit()

        except IntegrityError as e:
            flash("Username already taken", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 19
0
def sign_up_page():
    """ Render the signup form or process the information """

    if 'CURR_USER_KEY' in session:
        flash(
            "You are already logged into an account, please log out before creating a new account.",
            "danger")
        return redirect("/search")

    form = UserAddForm(prefix='form-user-signup-')

    if form.validate_on_submit():
        user_obj = {
            'first_name': form.first_name.data,
            'display_name': form.display_name.data,
            'email': form.email.data,
            'password': form.password.data,
            'profile_pic': request.form.get('profile_pic'),
            'lat': form.lat.data,
            'long': form.long.data,
            'privacy': request.form.get('privacy'),
            'seeking_project': request.form.get('seeking_project'),
            'seeking_help': request.form.get('seeking_help')
        }
        user_final = User.signup(user_obj)
        browser_login(user_final)

        flash("Signed up successfully", "success")
        return redirect("/search")

    return render_template("profile-new.html", form=form)
Exemplo n.º 20
0
def sign_up_user():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.username.data,
                password=form.password.data,
                email=form.email.data,
            )
            db.session.commit()
            cabinet = Cabinet(user_id=user.id)
            db.session.add(cabinet)
            db.session.commit()

        except IntegrityError:
            flash("Username already taken", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/user/")

    flash('did not work')
    return redirect('/')
Exemplo n.º 21
0
def signup():
    """Handle user signup.

    Create new user and add to DB. Redirect to home page.

    If form not valid, present form.

    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()
    if form.validate_on_submit():
        try:
            user = User.signup(
                username=form.data['username'],
                password=form.data['password'],
                email=form.data['email'],
                image_url=form.data['image_url'] or None,
            )
            db.session.commit()

        except IntegrityError as e:
            flash("Username already taken", 'danger')
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 22
0
def add_user():
    """Add a user"""
    form = UserAddForm(csrf_enabled=False, data=request.json)
    try:
        if form.validate():
            first_name = form.data["first_name"]
            last_name = form.data["last_name"]
            email = form.data["email"]
            password = form.data["password"]

            user = User.signup(
                first_name=first_name,
                last_name=last_name,
                email=email,
                password=password,
            )
            db.session.add(user)
            db.session.commit()
            userData = user.to_dict()
            token = create_access_token(identity=userData['id'])
            return (jsonify({"data":{"token":token}}), 201)

        return jsonify({"errors": form.errors}), 400
    except IntegrityError as e:
        return jsonify({"errors": "Email taken"}), 400
Exemplo n.º 23
0
def signup():
    """Handle user signup

    Create new user and add to DB, redirect to homepage

    If form not valid re-present form with error messages

    if user already exists with that username: flash message and re-present form"""
    if CURR_USER_KEY in session:
        del session[CURR_USER_KEY]

    form = UserAddForm()

    if form.validate_on_submit():
        try:
            user = User.signup(username=form.username.data,
                               password=form.password.data,
                               first_name=form.first_name.data,
                               last_name=form.last_name.data,
                               email=form.email.data,
                               summoner_name=form.summoner_name.data)

            db.session.commit()
        except IntegrityError:
            flash("Username already taken", "danger")
            return render_template('users/signup.html', form=form)

        do_login(user)
        return redirect('/')
    else:
        return render_template('users/signup.html', form=form)
Exemplo n.º 24
0
def profile():
    """Update profile for current user."""
    if not g.user:
        flash("Access Unauthorized,", "danger")
        return redirect('/')

    form = UserAddForm()
    user_info = User.query.get_or_404(session[CURR_USER_KEY])
    back_up = User.query.get_or_404(session[CURR_USER_KEY])

    if form.validate_on_submit():

        user_info.username = form.username.data
        user_info.email = form.email.data
        user_info.image_url = form.image_url.data or back_up.image_url
        user_info.header_image_url = form.header_image_url.data or back_up.header_image_url
        user_info.bio = form.bio.data or back_up.bio

        if user_info.authenticate(user_info.username, form.password.data):

            db.session.add(user_info)
            db.session.commit()

            return redirect(f'/users/{g.user.id}')
        else:
            flash('Incorect Password!', 'danger')
            return render_template('/users/edit.html', form=form)

    return render_template('/users/edit.html', form=form)
Exemplo n.º 25
0
def signup():
    """Handle user signup.
    Create new user and add to DB. Redirect to home user's page.
    If form not valid, present form.
    If the there already is a user with that username: flash message
    and re-present form.
    """

    signup_form = UserAddForm()

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data
        email = signup_form.email.data
        confirm = signup_form.password_check.data
        image_url = User.image_url.default.arg
        try:
            user = User.signup(username=username,
                               password=password,
                               email=email,
                               image_url=image_url)
            flash(f"Welcome {user.username}!!!")
        except IntegrityError:
            flash("Username already taken")
            return redirect("/")
        access.do_login(user)
        return redirect("/")
    flash("Password does not match confirmed password")
    return redirect("/")
Exemplo n.º 26
0
def signup():
    form = UserAddForm()
    if form.validate_on_submit():
        user = User.register(form.username.data, form.password.data,
                             form.email.data)
        db.session.commit()
        do_login(user)
        return redirect('/')
    else:
        return render_template('signup.html', form=form)
    return render_template('signup.html', form=form)
Exemplo n.º 27
0
Arquivo: views.py Projeto: hoodsy/UI
def addUser(request, projectName):
	"""
	Add user to current project
	"""
	if request.method == "POST":
		form = UserAddForm(request.POST)
		if form.is_valid():
			# recreate keystone client; keystone session work around
			api.joinTenant(request.session['username'], request.session['password'], projectName)
			api.addUser(form.cleaned_data['userName'], form.cleaned_data['roleName'], projectName)
        return HttpResponseRedirect('/project_space/manage/settings')
Exemplo n.º 28
0
def register(request, template):
    """ 注册 """

    if request.method == 'POST':
        userinfo = json.loads(request.body)
        print userinfo
        userform = UserAddForm(userinfo)
        if userform.is_valid():
            userform.save()
            return HttpResponse(json.dumps({'status': 200}))
    content = {
        'request': request,
    }
    return TemplateResponse(request, template, content)
Exemplo n.º 29
0
def register(request, template):
    """ 注册 """

    if request.method == 'POST':
        userinfo = json.loads(request.body)
        print userinfo
        userform = UserAddForm(userinfo)
        if userform.is_valid():
            userform.save()
            return HttpResponse(json.dumps({'status': 200}))
    content = {
        'request': request,
    }
    return TemplateResponse(request, template, content)
Exemplo n.º 30
0
def user_add():
    user_add_form = UserAddForm()
    if user_add_form.validate_on_submit():
        print(user_add_form.username.data)
        new_user = User(
            username = user_add_form.username.data,
            password = user_add_form.password.data,
            email = user_add_form.email.data,
            description = user_add_form.description.data,
            role_id = int(user_add_form.role.data)
        )
        db.session.add(new_user)
        db.session.commit()
        return redirect(url_for('auth.user_list'))
    return render_template('/auth/user_add.html',user_add_form=user_add_form)
Exemplo n.º 31
0
def signup():
    """Handle user signup.
    Create new user and add to DB. Redirect to home page.
    If form not valid, present form.
    If the there already is a user with that username: flash message
    and re-present form.
    """

    form = UserAddForm()

    if request.method == "POST":
        try:
            user = User.signup(username=form.username.data,
                               password=form.password.data,
                               email=form.email.data)
            db.session.commit()

        except IntegrityError:
            flash("Username/E-mail already taken", 'danger')
            return render_template('signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('signup.html', form=form)
Exemplo n.º 32
0
def profile():
    """Update profile for current user."""

    if not g.user:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    user = User.query.get_or_404(g.user.id)
    form = UserAddForm(obj=user)
    id = user.id

    if request.method == "POST":
        g.user.password = form.password.data,
        g.user.email = form.email.data,
        g.user.image_url = form.image_url.data or User.image_url.default.arg,
        g.user.location = form.location.data,
        g.user.bio = form.bio.data,
        g.user.header_image_url = form.header_image_url.data or User.header_image_url.default.arg
        entered_password = form.password.data

        check_pw = entered_password
        current_password = g.user.password

        authenticateCurrent(check_pw, current_password)

        if True:
            db.session.commit()
            flash('Profile updated', 'success')
            return redirect('/')

        flash('Access unauthorized', "danger")

    return render_template('users/edit.html', form=form, id=id)
Exemplo n.º 33
0
def new_employee(request):

	if request.method == 'GET':
		form = UserAddForm()
		return render_to_response('add_user.html', {'form':form, 'employees': True}, context_instance=RequestContext(request))
	
	elif request.method == 'POST':
		form = UserAddForm(request.POST)
        if form.is_valid():
        	new_user = form.save()
        	new_user.avatar = 'uploads/avatars/avatar.png'
        	new_user.type = 'E'
        	new_user.company = 'COSEGEM S.A.S.'
        	new_user.save()

        	return redirect(reverse_lazy('admin:users:edit',kwargs={'user_id':str(new_user.id)}))
        else:
        	return render_to_response('add_user.html',
							  {'form':form, 'employees':True}, context_instance=RequestContext(request))
Exemplo n.º 34
0
def new_client(request):

	if request.method == 'GET':
		form = UserAddForm()
		return render_to_response('add_user.html', {'form':form}, context_instance=RequestContext(request))
	
	elif request.method == 'POST':
		form = UserAddForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            if new_user.genre == 'M':
            	new_user.avatar = 'uploads/avatars/avatar.png'
            else:
            	new_user.avatar = 'uploads/avatars/f_avatar.png'
            new_user.type = 'C'
            new_user.save()

            return redirect(reverse_lazy('admin:users:edit',kwargs={'user_id':str(new_user.id)}))
        else:
        	return render_to_response('add_user.html',
							  {'form':form}, context_instance=RequestContext(request))
Exemplo n.º 35
0
def registry_client(request):
	message = 'Elige un nombre de usuario y contraseña, estos serán tus datos de inicio de sesión.'
	if request.method == 'GET':
		form = UserAddForm()
		return render_to_response('registry.html', {'form':form, 'message':message}, context_instance=RequestContext(request))
		
	elif request.method == 'POST':
		form = UserAddForm(request.POST)

        if form.is_valid():
            new_user = form.save()
            new_user.type = 'C'
            new_user.is_active = False
            new_user.save()

            request.session['new_profile'] = new_user.id

            return redirect(reverse_lazy('new_profile'))
        else:
        	return render_to_response('registry.html',
							  {'form':form, 'message':message}, context_instance=RequestContext(request))