Ejemplo n.º 1
0
def createUser():
    form = UserForm()

    form2 = SignupForm()
    print(session['username'])
    print(session['email'])
    if form.validate_on_submit():
        firstname = request.form['firstname']
        lastname = request.form['lastname']
        about = request.form['about']
        telephone = request.form['telephone']
        street = request.form['street']
        city = request.form['city']
        country = request.form['country']

        email = session['email']
        username = session['username']

        cur = mysql.connection.cursor()
        cur.execute(
            "INSERT INTO User (username, email, firstname,lastname,about,telephone,street,city,country) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s)",
            (username, email, firstname, lastname, about, telephone, street,
             city, country))
        mysql.connection.commit()
        # session['username'] = request.form['username']
        # session['email'] = request.form['email']
        session['loggedin'] = True
        flash(f' {username} Account created and details successfully provided',
              'success')
        return redirect(url_for('home'))
    return render_template('User.html', title='CreateUser', form=form)
Ejemplo n.º 2
0
def register_user():

    form = UserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.username.data
        new_user = User.register(username, password)

        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            #form error display
            form.username.errors.append(
                "User name is already taken. Please pick another one")

            return render_template('register.html', form=form)

        session['user_id'] = new_user.id

        flash(f"Welcome {username}!, successfully created your account!",
              "success")
        return redirect('/tweets')

    return render_template('register.html', form=form)
Ejemplo n.º 3
0
def register():
    """handle register form"""

    if "username" in session:
        flash("please logout before registering a new account")
        return redirect(f"/users/{session['username']}")

    form = UserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data

        user = User.register(username=username, password=password,
                             email=email, first_name=first_name, last_name=last_name)
        db.session.add(user)
        db.session.commit()
        flash("Welcome! Successfully Created Your Account!", "success")

        session["username"] = user.username
        return redirect(f"/users/{user.username}")

    return render_template("register.html", form=form)
Ejemplo n.º 4
0
Archivo: vpn.py Proyecto: jleaniz/bdsa
def vpn_user():
    form = UserForm(csrf_enabled=False)
    if form.validate_on_submit():
        json = analytics_engine.getVPNLoginsByUserGoogle(form.name.data)
        return render_template('DisplayTableAndCharts.html', jsonChart=json, jsonTable=json)

    return render_template("vpn.html", form=form)
Ejemplo n.º 5
0
def profile(username):
    """Show user profile page and upadate profile on POST."""

    user = User.query.filter_by(username=username).first()
    
    if not user:

        return abort(404, description=f"{username} not found")

    form = UserForm(obj=user)

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

        if user and user.id == g.user.id:
            user.username = form.username.data
            user.full_name = form.full_name.data

            db.session.commit()

            flash('Profile updated', 'dark')

            return redirect(f'/u/{user.username}')
        else:
            flash('Wrong password', 'dark')

            return redirect(f'/u/{username}')

    return render_template('user/profile.html', user=user, form=form)
Ejemplo n.º 6
0
def add():
    form = UserForm()
    if request.method == 'POST' and form.validate_on_submit():
        users.add(g.url_rest, form)
        flash('User added')
        return redirect(url_for('users.list'))
    return render_template('user_add.html', form=form)
Ejemplo n.º 7
0
    def dispatch_request(self, user_id):
        users = UserModel.query().order(UserModel.user_last_name)
        user = filter(lambda x: x.key.id()==user_id, users)[0]
        households = list(set([x.user_household for x in users]))

        #user = UserModel.get_by_id(user_id)

        form = UserForm(obj=user)
        if request.method == "POST":
            if form.validate_on_submit():
                user.user_first_name = form.data.get('user_first_name')
                user.user_last_name = form.data.get('user_last_name')
                user.user_email = form.data.get('user_email')
                user.user_phone = phonenumbers.format_number(
                    phonenumbers.parse(form.data.get('user_phone'), region='US'),
                    phonenumbers.PhoneNumberFormat.E164
                )
                user.user_admin = form.data.get('user_admin')
                user.user_household = form.data.get('user_household')
                user.user_house_manager = form.data.get('user_house_manager')
                user.user_is_adult = form.data.get('user_is_adult')
                user.user_is_managed = form.data.get('user_is_managed')
                user.put()
                flash(u'User %s successfully saved.' % user_id, 'success')
                return redirect(url_for('list_users'))
        return render_template(
            'edit_user.html',
            user=user,
            form=form,
            auth=session.get('user', {}),
            households=households
        )
Ejemplo n.º 8
0
def register_page():
    """Renders registration page during GET and handles
    form data and completes the registration during POST"""
    form = UserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        firstname = form.firstname.data
        lastname = form.lastname.data

        new_user = User.register(username, password, email, firstname,
                                 lastname)

        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.error.append(
                'Username is not available. Please choose another username')
            return render_template('register.html', form=form)

        session['username'] = new_user.username
        flash('Your Account Has Been Successfully Created', "success")
        return redirect(f'/users/{username}')

    return render_template('register.html', form=form)
Ejemplo n.º 9
0
def profile():
    form = UserForm()
    user = None
    if request.method == 'POST' and form.validate_on_submit():
        first_name, last_name, gender, created_on, email, location, bio, photo = [
            form.first_name.data, form.last_name.data, form.gender.data,
            format_date_joined(), form.email.data, form.location.data,
            form.bio.data, form.photo.data
        ]
        if not UserProfile.query.filter_by(email=email).first():
            if gender == 'F':
                gender = "FEMALE"
            else:
                gender = "MALE"

            filename = secure_filename(photo.filename)
            photo.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            user = UserProfile(first_name=first_name,
                               last_name=last_name,
                               gender=gender,
                               created_on=created_on,
                               bio=bio,
                               photo=filename,
                               location=location,
                               email=email)

            db.session.add(user)
            db.session.commit()
            return redirect(url_for('profiles'))
        else:
            flash('This email is already linked to a profile.', 'danger')
            return render_template('forms.html', form=form)

    return render_template('forms.html', form=form)
Ejemplo n.º 10
0
def register_user():
    if "username" in session:
        flash("You are already registered", "danger")
        return redirect(f"/users/{session['username']}")
    form = UserForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        email = form.email.data

        new_user = User.register(
            username, password, first_name, last_name, email)
        db.session.add(new_user)

        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append("Username/Email is already taken")
            return render_template('register.html', form=form)

        session['username'] = new_user.username

        flash('Welcome! Account created successfully!', 'success')
        return redirect(f'/users/{new_user.username}')
    else:
        return render_template('register.html', form=form)
Ejemplo n.º 11
0
def new_user():
    
    if 'id' in session:
        flash(f'Already logged in', 'success')
        return redirect("/")

    form = UserForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        img = form.img.data
        if len(img) == 0:
            img=None

        user = User.register(username, password, img)

        db.session.add(user)
        db.session.commit()
        session['id'] = user.id

        flash('Register Success', 'success')
        return redirect('/')
    else:
        return render_template("users/register.html", form=form)
Ejemplo n.º 12
0
def register():
    if current_user.is_authenticated:
        flash('You must logged out')
        return redirect(url_for('index'))
    form = UserForm()
    if request.method == 'POST' and form.validate_on_submit():
        user = User()
        user.username = form.username.data
        user.password = md5hash(form.password.data)
        try:
            db.session.add(user)
            db.session.commit()
            signal_log_in(user)
            if db.session.query(User).count() == 1:
                user.set_role('admin')
            else:
                user.set_role('guest')
            flash('User successfully registered')
            return redirect(request.args.get('next') or url_for('index'))
        except IntegrityError:
            db.session.rollback()
            flash('This user already exists!')
        except:
            db.session.rollback()
            flash('Error')
    return render_template('register.html', form=form)
Ejemplo n.º 13
0
def register_user():
    """Create user if form entries are valid"""
    if "username" in session:
        user = User.query.filter_by(username=session["username"]).one()
        return redirect(f'/users/{user.username}')
    form = UserForm()
    if form.validate_on_submit():
        first_name = form.first_name.data
        last_name = form.last_name.data
        email = form.email.data
        username = form.username.data
        password = form.password.data
        hashed_pw = User.register(password)
        add_user = User(username=username, password=hashed_pw,
                        first_name=first_name, last_name=last_name, email=email)
        db.session.add(add_user)
        try:
            db.session.commit()
        except IntegrityError:
            db.session.rollback()
            flash(f"Username and/or Email already taken, try a different one")
            return redirect("/register")
        session["username"] = add_user.username
        return redirect(f"/users/{add_user.username}")
    return render_template("register.html", form=form)
Ejemplo n.º 14
0
def register_user():
    """Register new user"""

    if "username" in session:
        return redirect(f'/{session["username"]}')

    form = UserForm()

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

        # Handle Duplicate Username
        user_obj = User.query.filter_by(username=username).first()
        if user_obj:
            form.username.errors = [
                f'username "{username}" already exists. Please choose another.'
            ]
            return render_template('/register.html', form=form)

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

        session['username'] = user.username
        return redirect(f'/{user.username}')

    else:
        return render_template('/register.html', form=form)
Ejemplo n.º 15
0
def register():
    # Create user form object
    user_form = UserForm()

    if user_form.validate_on_submit():
        new_user = User()

        # TODO Verify user email before adding
        if not User.query.filter_by(email=user_form.email.data).first():
            # Fill User ORM with data from form
            new_user.name = user_form.name.data
            new_user.email = user_form.email.data
            new_user.password = generate_password_hash(user_form.password.data,
                                                       method='pbkdf2:sha256',
                                                       salt_length=8)

            # Add to database

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

            return redirect(url_for('get_all_posts'))

        # Redirect
        if user:
            return redirect(url_for('get_all_posts'), user=user)
        else:
            return redirect(url_for('get_all_posts'))

    # Return Template
    if user:
        return render_template("register.html", form=user_form, user=user)
    else:
        return render_template("register.html", form=user_form)
Ejemplo n.º 16
0
def profile():
    path = IMAGE_PATH
    form = UserForm()
    captions = Caption.query.all()
    user_captions = [a.user_id for a in captions]
    if form.validate_on_submit():
        g.user.nickname = form.nickname.data
        g.user.email = form.email.data
        g.user.first_name = form.first_name.data
        g.user.last_name = form.last_name.data
        g.user.bio = form.bio.data
        g.user.something_funny = form.something_funny.data
        if g.user.date_joined == None:
            g.user.date_joined = date.today()
        else:
            g.user.date_joined = g.user.date_joined
        db.session.add(g.user)
        db.session.commit()
        if g.user.id not in user_captions:
            flash("Get started with your first caption!")
            return redirect(url_for('index'))
        else:
            flash("Thanks for updating your profile!")
            return redirect(url_for('user', nickname=g.user.nickname))
    return render_template('profile.html',
                           title="Fill in your info",
                           path=path,
                           form=form)
Ejemplo n.º 17
0
def signup():
    form = UserForm()

    if g.user:
        flash('You are already signed in.', category='warning')
        return

    if form.validate_on_submit():
        if User.query.filter_by(email=form.email.data).first():
            form.email.errors.append("email must be unique")
            flash("That email is already taken", category='warning')
            return render_template('/users/signup.html', form=form)
        try:
            u = User.create(email=form.email.data,
                            password=form.password.data,
                            name=form.name.data)
        except:
            return redirect('/404')
        if type(u) == str:
            flash(u, category='warning')
            return render_template('/users/signup.html', form=form)
        do_login(u)
        flash('Success! Account created!', category='success')
        flash('You have been automatically logged in', category='info')
        return redirect('/')
    return render_template('/users/signup.html', form=form)
Ejemplo n.º 18
0
def add_user():
    form = UserForm()
    if request.method == 'GET':
        return render_template('add_user.html', form=form)
    else:
        if form.validate_on_submit():
            username = request.form['username']
            first_name = request.form['first_name']
            last_name = request.form['last_name']
            prog_lang = request.form['prog_lang']
            experience_yr = request.form['experience_yr']
            age = request.form['age']
            hw1_hrs = request.form['hw1_hrs']

            new_user = User(
                username=username,
                first_name=first_name,
                last_name=last_name,
                prog_lang=prog_lang,
                experience_yr=experience_yr,
                age=age,
                hw1_hrs=hw1_hrs
            )

            db.session.add(new_user)
            db.session.commit()
            return redirect(url_for('index'))
Ejemplo n.º 19
0
def profile():
	path = IMAGE_PATH
	form = UserForm()
	captions = Caption.query.all()
	user_captions = [a.user_id for a in captions]
	if form.validate_on_submit():
		g.user.nickname = form.nickname.data
		g.user.email = form.email.data
		g.user.first_name = form.first_name.data
		g.user.last_name = form.last_name.data
		g.user.bio = form.bio.data
		g.user.something_funny = form.something_funny.data
		if g.user.date_joined == None:
			g.user.date_joined = date.today()
		else:
			g.user.date_joined = g.user.date_joined
		db.session.add(g.user)
		db.session.commit()
		if g.user.id not in user_captions:
			flash("Get started with your first caption!")
			return redirect(url_for('index'))
		else:
			flash("Thanks for updating your profile!")
			return redirect(url_for('user', nickname=g.user.nickname))
	return render_template('profile.html', title="Fill in your info", path=path, form=form)
Ejemplo n.º 20
0
def user():
    url = __check_login('user')
    if url: return redirect(url)
    usererrors = []
    userform = UserForm(prefix="user")
    user = get_user(session['email'])
    if request.method == 'GET':
        # Add default values
        userform.email.data = user.email
        userform.first_name.data = user.short_name
        userform.last_name.data = user.family_name
        userform.alias.data = user.alias
    elif userform.validate_on_submit(): 
        if (validate_login(session['email'], userform.password.data)):
            # Update info
            user.email = userform.email.data
            user.short_name = userform.first_name.data 
            user.family_name = userform.last_name.data
            user.full_name = userform.first_name.data + " " + userform.last_name.data
            user.alias = userform.alias.data if userform.alias.data != "" else None
            if (userform.new_password.data):
                user.password = hash_password(userform.new_password.data)
            save_user(user)
            flash(_(u'Information updated'))
        else:
            usererrors.append(_(u'Invalid password'))
    if userform.errors:
        for key, value in userform.errors.items():
            usererrors.append(key + ': ' + value[0])

    return render_template('user.html', userform=userform, usererrors=usererrors)
Ejemplo n.º 21
0
def add_recommender_user():
	form = UserForm()
	if form.validate_on_submit():
		recommenderuser = RecommenderUser(username = form.username.data)		
		recommenderuser.put()
		flash('New user ' +form.username.data+ ' added to list')
		return redirect(url_for('manage_users'))
Ejemplo n.º 22
0
def login():
    form = UserForm()
    if request.method == "POST":
        # change this to actually validate the entire form submission
        # and not just one field
        if form.validate_on_submit():  #if form.username.data:
            # Get the username and password values from the form.
            if (UserProfile.query.filter_by(
                    firstname=form.firstname.data).first() is None):

                firstname = form.firstname.data
                lastname = form.lastname.data
                email = form.email.data
                location = form.location.data
                gender = form.gender.data
                biography = form.biography.data
                # using your model, query database for a user based on the username
                # and password submitted
                # store the result of that query to a `user` variable so it can be
                # passed to the login_user() method.
                user = UserProfile(1, firstname, lastname, gender, email,
                                   location, biography).first()
                db.session.add(user)
                db.session.commit()
        """ if user is not None:
            # get user id, load into session
             login_user(user)"""
        # remember to flash a message to the user
        """ flash('Logged in successfully.', 'success')
             return redirect(url_for("secure_page")) # they should be redirected to a secure-page route instead
            else:
             flash('Username/Password is incorrect.', 'danger')"""
        return redirect(url_for("upload"))
    return render_template("home.html", form=form)
Ejemplo n.º 23
0
def register_user():
    """Register user: produce form & handle form submission."""

    form = UserForm()

    if form.validate_on_submit():
        username = form.username.data
        pwd = form.password.data

        # there is at least one scenario where this would fail: the username is already taken
        # you should handle this error, but we won't do it here
        # so, consider re-rendering the form showing the error
        new_user = User.register(username, pwd)

        db.session.add(new_user)
        db.session.commit()
        session["user_id"] = new_user.id

        flash('Welcome! Successfully Created Your Account!', "success")

        #     # on successful login, redirect to secret page
        # return redirect("/secret")
        return redirect("/tweets")

    # else:
    return render_template("register.html", form=form)
Ejemplo n.º 24
0
def login():
    form = UserForm()
    cursor = db.cursor()
    if form.validate_on_submit() or form.submit.data:
        if form.submit.data:
            username = form.username.data
            password = form.password.data
            user = models.User.query.filter_by(name=str(username)).first()

            if user:
                if str(password) == "123456":

                    try:
                        src = ImagefileSrc
                        Material_serial_Index()
                        for item in os.listdir(src):
                            os.remove(src + item)
                        login_user(user)
                    except:
                        login_user(user)
                    return redirect(
                        url_for("index", machinecode="+", flag_return=0, version_info="init", remark_info="x")
                    )
                else:
                    flash(encodechinese("密码输入错误,请重新输入!"))
            else:
                flash(encodechinese("用户名输入错误,请重新输入!"))

    return render_template("login.html", form=form)
Ejemplo n.º 25
0
def register():
    """Register a user."""

    if "username" in session:
        return redirect(f"/users/{session['username']}")

    form = UserForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        email = form.email.data

        user = User.register(username, password, first_name, last_name, email)
        # should add error catching for attempting to enter an non-unique username

        db.session.commit()
        session['username'] = user.username

        return redirect(f"/users/{user.username}")

    else:
        return render_template("register.html", form=form)
Ejemplo n.º 26
0
def user_new():
    '''Route to add a new user.'''
    user = g.user
    if user is not None and user.is_authenticated():
        return redirect(url_for('index'))

    form = UserForm()
    instrs = [(instr.name, instr.name) for instr in Instrument.query.all()]
    form.instruments.choices = instrs

    if form.validate_on_submit():
        username = form.username.data
        email = form.email.data
        password = form.password.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        nickname = form.nickname.data
        instruments = get_form_instr(form)

        username_avail = [] == User.query.filter_by(username=username).all()
        email_avail = [] == User.query.filter_by(email=email).all()
        user = User(username=username, email=email, password=password,
                    first_name=first_name, last_name=last_name,
                    nickname=nickname, instruments=instruments,
                    req_add_notify_instrs=instruments)
        if username_avail and email_avail and add_user(user):
            verify_email_start(user)
            return render_template('user/reg_complete.html', user=None)

        if not username_avail:
            form.errors['username'] = ['This username is taken.']
        if not email_avail:
            form.errors['email'] = ['This email address is taken.']
    return render_template('user/create_update.html', user=None, form=form)
Ejemplo n.º 27
0
def user_edit(username):
    '''Route to edit a user's account information.'''
    user = g.user
    edit_user = User.query.filter_by(username=username).first()
    if user == edit_user or user.is_director or user.is_admin:
        form = UserForm()
        del form.username
        del form.email
        del form.password
        del form.confirm
        instrs = [(instr.name, instr.name) for instr in Instrument.query.all()]
        form.instruments.choices = instrs

        if form.validate_on_submit():
            edit_user.first_name = form.first_name.data
            edit_user.last_name = form.last_name.data
            edit_user.nickname = form.nickname.data
            edit_user.instruments = get_form_instr(form)
            db.session.commit()
            return redirect(url_for('user', username=username))

        form.first_name.data = edit_user.first_name
        form.last_name.data = edit_user.last_name
        form.nickname.data = edit_user.nickname
        form.instruments.data = user.instruments
        return render_template('user/create_update.html', form=form, user=user,
                               edit_user=edit_user)

    abort(404)
Ejemplo n.º 28
0
def profile():
    """Update profile for current user."""

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

    user = g.user
    form = UserForm(obj=user)

    if form.validate_on_submit():
        # User needs to enter password to authenticate

        if User.authenticate(user.username, form.password.data):
            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

            db.session.commit()
            flash("Profile updated", "success")
            return redirect(f"/users/{user.id}")

        flash("Wrong password, please try again", "danger")

    return render_template("users/edit.html", form=form)
Ejemplo n.º 29
0
def signup():
    form = UserForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            #Guardamos en la base de datos
            if request.form['password'] == request.form['password2']:
                flash('Creado usuario correctamente ', 'success')
                my_user = User(request.form['name'], request.form['email'],
                               request.form['password'])
                db.session.add(my_user)
                try:
                    db.session.commit()
                except:
                    db.session.rollback()
                return redirect(url_for('login'))
            else:
                flash('Las contraseñas no coinciden', 'danger')
        else:
            #Mostramos errores
            errores = form.errors.items()
            for campo, mensajes in errores:
                for mensaje in mensajes:
                    flash(mensaje, 'danger')
    return render_template(
        'items/signup.html',
        form=form,
    )
Ejemplo n.º 30
0
def signup():
    """Handles user signup"""

    form = UserForm()

    if form.validate_on_submit():
        print(f'form.city.data: {form.city.data}')
        print(f'form.state.data.id: {form.state.data.id}')
        city = City.get_city_from_query(form.city.data, form.state.data.id)
        try:
            user = User.signup(username=form.username.data,
                               password=form.password.data,
                               email=form.email.data,
                               image_url=form.image_url.data,
                               city_id=city.id)
            db.session.commit()

        except IntegrityError:
            db.session.rollback()
            flash("Username or email already taken", "danger")
            return render_template('users/signup.html', form=form)
        except:
            flash("Unexpected error. Please try again.", "danger")
            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Ejemplo n.º 31
0
def edit_profile():
    """Update profile for current user."""

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

    form = UserForm(username=g.user.username,
                    email=g.user.email,
                    password=g.user.password,
                    image_url=g.user.image_url,
                    city=g.user.city.name,
                    state=g.user.city.state)
    if form.validate_on_submit():
        user = User.authenticate(form.username.data, form.password.data)
        if not user:
            flash('Password was incorrect. Please try again.', 'danger')
            return redirect('/profile')
        else:
            user.username = form.username.data
            user.email = form.email.data
            user.image_url = form.image_url.data
            user.city_id = City.get_city_from_query(form.city.data,
                                                    form.state.data.id).id
            db.session.add(user)
            db.session.commit()
            flash('Successfully updated your profile!', 'success')
            return redirect('/profile')
    else:
        return render_template('users/edit_profile.html', form=form)
Ejemplo n.º 32
0
def register_user():
    if "user_id" in session:
        id = session['user_id']
        user = User.query.get_or_404(id)
        flash("You are already registered in", "info")
        return redirect(f'/user/{user.username}')
    form = UserForm()

    if form.validate_on_submit():
        first_name = form.first_name.data
        last_name = form.last_name.data
        username = form.username.data
        email = form.email.data
        password = form.password.data

        user = User.register(first_name, last_name, username, email, password)
        db.session.add(user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append("Username taken. Please pick another")
            return render_template('register.html', form=form)
        session["user_id"] = user.id

        # on successful login, redirect to secret page
        flash(
            f"Welcome {user.username}! You have successfully Created Your Account",
            "success")
        return redirect(f"/user/{user.username}")

    else:
        return render_template("register.html", form=form)
Ejemplo n.º 33
0
def register_user():

    form = UserForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        new_user = User.register(username, password, email, first_name,
                                 last_name)

        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append('Username taken. Please pick another')
            return render_template('register.html', form=form)

        session['username'] = new_user.username
        flash('Welcome! Successfully Created Your Account!', "success")
        return redirect(f'/users/{username}')

    return render_template('register.html', form=form)
Ejemplo n.º 34
0
def register_user():
    """ Show regiser form and handle submit the form """
    form = UserForm()
    if form.validate_on_submit():
        # todo: get username, password, email, first_name, last_name from the register form
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        # todo: add new user to users database
        new_user = User.register(username, password, email, first_name,
                                 last_name)
        db.session.add(new_user)
        # todo: because username is unique, it wil raise errors.
        # todo: this try to catch error and redirect to register form.
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append("Username taken.  Please pick another")
            return render_template("register.html", form=form)
        # todo: create session to remember when user login
        session["user_name"] = new_user.username
        flash("Welcome! Successfully Created Your Account!", "success")
        return redirect(f'/users/{new_user.username}')
    return render_template("register.html", form=form)
Ejemplo n.º 35
0
def add():
    form = UserForm()
    if request.method == "POST" and form.validate_on_submit():
        users.add(g.url_rest, form)
        flash("User added")
        return redirect(url_for("users.list"))
    return render_template("user_add.html", form=form)
Ejemplo n.º 36
0
def home():
    form = UserForm()

    if form.validate_on_submit():
        # a.append(form.username.data)

        p_info.update(
            {
                "name": form.name.data,
                "age": form.age.data,
                "sex": form.sex.data,
                "height": form.height.data,
                "weight": form.weight.data,
                "country": form.country.data,
                "diet_type": form.diet_type.data,
                "diet": {
                    "red_meat": int(form.red_meat.data),
                    "processed_meat": int(form.processed_meat.data),
                    "liquor_alcohol": int(form.liquor_alcohol.data),
                    "smoking": int(form.smoking.data),
                    "nuts": int(form.nuts.data),
                },
                "disease": {
                    "diabetes": int(form.diabetes.data),
                    "pancreatitis": int(form.pancreatitis.data),
                    "f_smoking": int(form.f_smoking.data),
                    "familial": int(form.familial.data),
                },
            }
        )

        flash(f"Information submitted for {form.name.data}!", "success")
        return redirect(url_for("results"))

    return render_template("home.html", form=form)
Ejemplo n.º 37
0
def create_user():
    """Route to display the form to create a user"""

    if session.get('username'):
        user = User.query.get(session['username'])
        flash("Unauthorized access")
        return redirect(f'/users/{user.username}')

    form = UserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data

        new_user = User.register(password=password,
                                 username=username,
                                 email=email,
                                 first_name=first_name,
                                 last_name=last_name)

        db.session.add(new_user)
        try:
            db.session.commit()
            session['username'] = new_user.username
            return redirect(f'/users/{new_user.username}')
        except IntegrityError:
            db.session.rollback()
            flash('Username is already taken. Try different one.')
            return redirect('/register')

    return render_template('register.html', form=form)
Ejemplo n.º 38
0
def newuser():
    if cas.username is None:
        return redirect('login')
    if Player.query.filter(Player.netid==cas.username).first() is not None:
        return redirect('/index')

    form = UserForm()
    if form.validate_on_submit():
        if form.password.data != SECRET_PASS:
            return render_template('newuser.html',form=form,validnumber=1,validname=1,validpass=0)

        if not name_check(form.name.data,1):
            return render_template('newuser.html',form=form,validnumber=1,validname=0,validpass=1)
        
        try:
            num = int(form.number.data)
        except:
            return render_template('newuser.html',form=form,validnumber=0,validname=1,validpass=1)
        if num != 0:
            if num >= 10000000000:
                return render_template('newuser.html',form=form,validnumber=0,validname=1,validpass=1)
            if not number_check(form.number.data,form.name.data):
                return render_template('newuser.html',form=form,validnumber=0,validname=1,validpass=1)
        p = Player(netid=cas.username,name=form.name.data,email=form.email.data)
        db.session.add(p)
        if num != 0:
            u = User(number='+1'+form.number.data,name=form.name.data,admin=0,blocked=0,panlist_id=1)
            db.session.add(u)
        db.session.commit()
        return redirect('/index')
    return render_template('newuser.html',form=form,validnumber=1,validname=1,validpass=1)
Ejemplo n.º 39
0
def create():
    """Create Method."""
    form = UserForm(request.form)
    if form.validate_on_submit():
        obj = User()
        form.populate_obj(obj)
        obj.generate_code()
        obj.state = "confirm"
        new_user = User.objects.insert(obj)
        receivers = [{'email': obj.email, 'name': obj.name}]
        code = obj.code
        _id = str(new_user.id)
        url = request.referrer.split(request.path)[0]
        sm = sendmail(receivers, _type=1, code=code, _id=_id, url=url)
        if not sm:
            flash("Error enviando correo de confirmación", "error")
        else:
            flash("Un correo ha sido enviado a %s" % obj.email, "success")
            flash("Confirme el correo para activar cuenta", "info")
        return redirect(url_for("user.list"))
    return render_template("user/create.html",
                           action="create",
                           form=form,
                           menu=principal_menu(),
                           config=config)
Ejemplo n.º 40
0
def index():
    user = User.query.first()
    form = UserForm(obj = user)
    if form.validate_on_submit():
        form.populate_obj(user)        
        db.session.commit()
    else:
        flash_errors(form)
    return render_template("page.html", form = form)
Ejemplo n.º 41
0
def adduser():
    form = UserForm()
    if form.validate_on_submit():
        user = User(name=form.username.data,
                    password=form.password.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('admin.listuser'))
    return render_template('/adduser.html', form=form)
Ejemplo n.º 42
0
def edituser():
    form = UserForm()
    form.username.data = request.args.get('user_id')
    if form.validate_on_submit():
        user = User.query.filter_by(name=form.username.data).first()
        user.password = form.password.data
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('admin.listuser'))
    return render_template('/adduser.html', form=form)
 def dispatch_request(self, user_id):
     user = UserModel.get_by_id(user_id)
     form = UserForm(obj=user)
     if request.method == "POST":
         if form.validate_on_submit():
             user.name = form.data.get('name')
             user.put()
             flash(u'Example %s successfully saved.' % user_id, 'success')
             return redirect(url_for('list_examples'))
     return render_template('edit_user.html', user=user, form=form)
Ejemplo n.º 44
0
def create():
  form =UserForm()
  if form.validate_on_submit():
    newuser = User(form.username.data, form.password.data)
    db.session.add(newuser)
    db.session.commit()
    login_user(newuser)
    flash('Welcome to the fish Club!')
    return redirect(url_for('index')) 
  return render_template('users/new.html', form =form)
Ejemplo n.º 45
0
def edit_profile():
    user = flask_login.current_user
    form = UserForm()
    if form.validate_on_submit():
        user.email = form.email.data
        user.username = form.username.data
        user.address = form.address.data
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('home'))
    return render_template("edit_profile.html", form=form, user=user)
Ejemplo n.º 46
0
def user():
    #if current_user.role > USER_ROLES['ROLE_ADMIN']:
    #    abort(403)

    form = UserForm(obj=current_user)
    if form.validate_on_submit():
        user = current_user
        new_nick = form.nickname.data
        check_nick = User.query.filter_by(nickname=new_nick).all()

        # user nickname already exists
        if len(check_nick) > 0 and new_nick != user.nickname:
            flash(gettext('Selected nickname is already in use!'))
            return redirect(url_for('user'))

        new_email = form.email.data
        check_mail = User.query.filter_by(email=new_email).all()

        #user mail already exists
        if len(check_mail) > 0 and new_email != user.email:
            flash(gettext('Selected email is already in use!'))
            return redirect(url_for('user'))

        user.nickname = new_nick
        user.email = new_email

        # if customer, update delivery notification mail receive flag
        if user.role == USER_ROLES['ROLE_CUSTOMER']:
            user.delivery_mail_receive = form.delivery_mail_receive.data

        user.language = form.language.data
        user.products_per_page = form.products_per_page.data\
                                 if form.products_per_page.data\
                                 else 20
        db.session.add(user)
        db.session.commit()
        flash(gettext('User settings sucessfully updated.'))

    if current_user.role == USER_ROLES['ROLE_CUSTOMER']:
        form.delivery_mail_receive.data = (current_user.delivery_mail_receive
                                           if current_user.delivery_mail_receive != None
                                           else True)
    form.language.data = (current_user.language
                          if current_user.language
                          else 0)
    form.products_per_page.data = (current_user.products_per_page
                                   if current_user.products_per_page
                                   else PRODUCTS_PER_PAGE)
    return render_template('user.html',
                           title=gettext("User's Page"),
                           form=form)
Ejemplo n.º 47
0
def user(user_id):
    user = Hifuser.objects(id=user_id).first()
    if user is None:
        abort(404)
    form = UserForm(obj=user,next=request.args.get('next'))

    if form.validate_on_submit():
        form.populate_obj(user)
        user.save()
        flash("User updated.","success")
        return redirect(form.next.data or url_for('.users'))
    print user
    print form
    return  render_template('user/user.html',user=user,form=form)
Ejemplo n.º 48
0
def sign_up():
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('index'))
    form=UserForm()
    if form.validate_on_submit():
        try:
            user=User(nickname=form.nickname.data,password=form.password.data)
            db.session.add(user)
            db.session.commit()
        except:
            return 'Service unexpectedly terminated,please try again later'
        login_user(user)
        return redirect(url_for('index'))
    return render_template('signup.html',form = form)
Ejemplo n.º 49
0
def create_experiment():
	form = UserForm()
	if form.validate_on_submit():
		try:
			# TODO check that user doesn't already exist
			user = models.User(form)
			db.session.add(user)
			db.session.commit()
			flash("Successfully created experiment " + form.data['userName'])
		except:
			flash("Error creating experiment. Exception " + type(e))
		
		return redirect('experiments')
	return render_template('create_experiment.html', form=form)
Ejemplo n.º 50
0
def user_create():
    form = UserForm()
    if form.validate_on_submit():
        user = User(
            timestamp=datetime.datetime.utcnow(),
            doing_now='',
            doing_later='',
            not_doing='',
        )
        form.populate_obj(user)
        db.session.add(user)
        db.session.commit()
        flash('Successfully created user: %s' % user.name)
        return redirect(url_for('user_list'))
    return render_template('user/create.html', form=form)
Ejemplo n.º 51
0
def edit_user(user_id):
    user = User.get_by_id(user_id)
    form = UserForm(obj=example)
    if request.method == "POST":
        if form.validate_on_submit():
            user.last_name=form.data.get('last_name')
            user.first_name=form.data.get('first_name')
            user.email=form.data.get('email')
            user.phone=form.data.get('phone')
            user.address=form.data.get('address')
            user.state=form.data.get('state')
            user.zip_code=form.data.get('zip_code')
            user.put()
            flash(u'Example %s successfully saved.' % user_id, 'success')
            return redirect(url_for('user_examples'))
    return render_template('edit_example.html', user=user, form=form)
Ejemplo n.º 52
0
def newuser():
#----------------------------------------------------------------------
    try:
        
        # create the form
        form = UserForm()
        form.club.choices = [(0,'Select Club')] + [(club.id,club.name) for club in Club.query.order_by('name') if club.name != 'owner']
    
        # set up buttons
        buttontext = 'Next >'
        
        # nothing to do for GET yet
        if flask.request.method == "GET":
            pass
        
        # validate form input
        elif flask.request.method == "POST":
            if form.validate_on_submit():
                # action and commit requested
                if flask.request.form['whichbutton'] == buttontext:
                    thisuser = User(form.email.data, form.name.data, form.password.data)
                    _setpermission(None,thisuser,'owner',form.owner.data)
                    
                    db.session.add(thisuser)

                    flask.get_flashed_messages()    # clears flash queue

                    # roll back database updates and close transaction
                    db.session.commit()
                    return flask.redirect(flask.url_for('useraction',userid=thisuser.id,action='edit'))
    
                # cancel requested - note changes may have been made in url_for('_setpermission') which need to be rolled back
                # TODO: get rid of this???  It should not work
                elif flask.request.form['whichbutton'] == 'Cancel':
                    #db.session.expunge_all() # throw out any changes which have been made
                    return flask.redirect(flask.url_for('manageusers'))
    
        # commit database updates and close transaction
        db.session.commit()
        
    except:
        # roll back database updates and close transaction
        db.session.rollback()
        raise

    return flask.render_template('ownermanageuser.html', form=form, thispagename='New User', action=flask.escape(buttontext), newuser=True)
Ejemplo n.º 53
0
def add_user():
    """
    Used to add a new user to the admin
    """

    form = UserForm()

    if form.validate_on_submit():
        try:
            user = Users()
            user.populate_from_form(form)
            send_email(user.email.value,'Resetare parola','users/email/sendpass',user=user,psw=user.random_password())
            user.save()
            flash('Utilizatorul adaugat!', category='alert-success')
            return redirect(url_for('users.list_users'))
        except Exception as err:
            flash('Utilizatorul nu poate fi adaugat!', category='alert-danger')

    return render_template('users/add.html', pagetitle='Adauga utilizator', form=form)
Ejemplo n.º 54
0
def register():
    print request.form
    userForm = UserForm(request.form)
    userForm.addresses.choices = [(address.id, address.address) for address in Address.query.all()]
    if userForm.validate_on_submit():
        phoneNumber = userForm.phoneNumber.data
        nickName = userForm.nickName.data
        addressID = userForm.addresses.data
        password = userForm.password.data
        newUser = User(phoneNumber, nickName, password, addressID)
        db.session.add(newUser)
        try:
            db.session.commit()
        except Exception as e:
            print e
            db.session.rollback()
        return "success"
    else:
        print userForm.errors
        return "failed"
Ejemplo n.º 55
0
def edit_user(userid):
    """
    Used to edit an existing user
    """
    
    user = Users.get({"_id":userid})
    form = UserForm()

    if form.validate_on_submit():
        try:
            user.populate_from_form(form)
            user.save()
            flash('Utilizatorul modificat!', category='alert-success')
            return redirect(url_for('users.list_users'))
        except Exception as err:
            print err
            flash('Modificarile nu pot fi salvate!', category='alert-danger')

    form = user.fill_form()

    return render_template('users/edit.html', pagetitle='Detalii utilizator', form=form)
Ejemplo n.º 56
0
def add_user():
    form = UserForm(request.form)
    if form.validate_on_submit():
        if not db.username_exist(form.username.data):
            email = form.email.data
            username = form.username.data
            password = sha256_crypt.encrypt(form.password.data)
            role = form.role.data
            user = {
                'username': username,
                'email': email,
                'password': password,
                'date_created': now(),
                'type': role,
                'is_active': True,
            }
            response = db.create_user(user)
            if response['inserted'] == 1:
                return redirect(url_for('admin.users'))
        else:
            flash('This username already exists.', 'error-message')
    return render_template('addUser.html', form=form)
Ejemplo n.º 57
0
def edit_experiment(userid = None):
	form = UserForm()
	try:
		user = models.User.query.get(userid)
	except:
		flash("Error fetching experiment.  Exception " + type(e))
		
	if form.validate_on_submit():
		try:
			# TODO check that user doesn't already exist
			print form.userName.data
			user.read_form(form)
			print user.name
			db.session.commit()
			flash("Successfully updated experiment " + form.data['userName'])
		except:
			flash("Error editing experiment.")
		return redirect(url_for('list_experiments'))
	else:
		form.read_user(user)
		
	return render_template('edit_experiment.html', form=form, user=user)
Ejemplo n.º 58
0
def newuser():
    # not logged into CAS
    if cas.username is None:
        return redirect('login')
    
    # Already logged in
    if Player.query.filter(Player.netid==cas.username).first() is not None:
        return redirect('/index')

    form = UserForm()
    
    # validated form
    if form.validate_on_submit():
        # pre-existing user
        p = Player.query.filter(Player.email==form.email.data).first()
        if p is not None:
            p.netid = cas.username
            # db.session.add(p)
            db.session.commit()
            return redirect('/index')

    return render_template('newuser.html',form=form,validnumber=1,validname=1,validpass=1)
Ejemplo n.º 59
0
def newUser():
    if 'username' not in login_session:
        flash ("Please login for more complete access to our puppies.")
        return redirect ('/puppies')
    if login_session['admin'] < 3:
        flash ("You do not have the authority to access that page.")
        return redirect ('/puppies')
    form = UserForm()
    if form.validate_on_submit():
        newUser = User(name=form.name.data, email=form.email.data)
        session.add(newUser)
        session.flush()
        newAdmin = Admin(level=form.level.data, id=newUser.id)
        session.add(newAdmin)
        session.flush()
        newAdopter = Adopter(id=newUser.id)
        session.add(newAdopter)
        session.commit()
        flash ("You have added " + newUser.email + " as a new user.")
        return redirect(url_for('puppies'))
    else:
        return render_template('newUser.html', form=form)
Ejemplo n.º 60
0
    def put(self, id):
        if not current_user.is_admin() and current_user.id != id:
            abort(401)

        user = User.get_by_id(id)
        if user is None:
            flash(gettext('The user was not found'), 'error')
            return redirect(url_for('UsersView:index'))
        
        if request.method in ['POST','PUT']:
            form = UserForm()
            if form.validate_on_submit():
                try:
                    if form.role.data != u'None':
                        user.role = int(form.role.data)
                    del form.role
                    if form.password.data:
                        user.set_password(form.password.data)
                    del form.password
                    form.populate_obj(user)
                    user.save()
                    refresh()
                    flash(gettext('User was succesfully saved'))
                    if request.method == 'POST':
                        return redirect(url_for('UsersView:get',id=user.id))                        
                except:
                    flash(gettext('Error while updating the user'), 'error')
            else:
                flash(gettext('Invalid submission, please check the messages below'), 'error')
            
            if request.method == 'PUT':
                return jsonify(redirect_to=url_for('UsersView:index'))
        else:
            form = EditUserForm(user)
        return render_template('admin/users/edit.html', 
            title = gettext('Edit User\'s Profile | %(name)s', name=user.name),
            form = form,
            user = user)