Ejemplo n.º 1
0
def user_profile_page():
    form = UserProfileForm(request.form)
    if form.validate_on_submit():
        form.populate_obj(current_user)
        db.session.commit()
        return redirect(url_for('main.home_page'))
    return render_template('pages/user_profile_page.html', form=form)
Ejemplo n.º 2
0
def create_user_page():
    if current_app.config.get('USER_LDAP', False):
        abort(400)

    form = UserProfileForm()
    roles = Role.query.all()
    form.roles.choices = [(x.id, x.name) for x in roles]

    if form.validate():
        user = User.query.filter(User.email == request.form['email']).first()
        if not user:
            user = User(email=form.email.data,
                        first_name=form.first_name.data,
                        last_name=form.last_name.data,
                        password=current_app.user_manager.hash_password(
                            form.password.data),
                        active=True,
                        email_confirmed_at=datetime.datetime.utcnow())
            db.session.add(user)
            db.session.commit()
            allowed_roles = form.roles.data
            for role in roles:
                if role.id not in allowed_roles:
                    if role in user.roles:
                        user.roles.remove(role)
                else:
                    if role not in user.roles:
                        user.roles.append(role)
            db.session.commit()
            flash('You successfully created the new user.', 'success')
            return redirect(url_for('main.user_admin_page'))
        flash('A user with that email address already exists', 'error')
    return render_template('pages/admin/create_user.html', form=form)
Ejemplo n.º 3
0
def user_profile_page():
    # Initialize form
    form = UserProfileForm(obj=current_user)
    blogposts = BlogPost.query.order_by(BlogPost.created.desc()).filter(
        BlogPost.user_id == current_user.id).all()
    comments = Comment.query.order_by(Comment.created.desc()).all()
    u_comments = Comment.query.order_by(Comment.created.desc()).filter(
        Comment.user_id == current_user.id).all()
    # Process valid POST
    if request.method == 'POST' and form.validate():
        # Copy form fields to user_profile fields
        form.populate_obj(current_user)

        # Save user_profile
        db.session.commit()

        # Redirect to home page
        return redirect(url_for('main.home_page'))

    # Process GET or invalid POST
    return render_template('pages/user_profile_page.html',
                           form=form,
                           blogposts=blogposts,
                           comments=comments,
                           u_comments=u_comments)
Ejemplo n.º 4
0
def create_or_edit_user_page():
    form = UserProfileForm(request.form, obj=current_user)
    roles = Role.query.all()
    user_id = request.args.get('user_id')
    user = User()

    if user_id:
        user = User.query.filter(User.id == user_id).first()

    if request.method == 'POST':
        if user.id is None:
            user = User.query.filter(
                User.email == request.form['email']).first()
            if not user:
                user = User(email=request.form['email'],
                            full_name=request.form['full_name'],
                            password=current_app.user_manager.hash_password(
                                request.form['password']),
                            active=True,
                            email_confirmed_at=datetime.datetime.utcnow())
                db.session.add(user)
                db.session.commit()
            return redirect(url_for('main.user_admin_page'))
        else:
            user.email = request.form['email']
            user.full_name = request.form['full_name']
            if request.form['password'] is not None and request.form[
                    'password'] is not "":
                user.password = current_app.user_manager.hash_password(
                    request.form['password'])
            db.session.commit()
    return render_template('views/admin/edit_user.html',
                           form=form,
                           roles=roles,
                           user=user)
Ejemplo n.º 5
0
def user_profile_page():
    # Initialize form
    form = UserProfileForm(request.form, obj=current_user)

    # Process valid POST
    if request.method == 'POST' and form.validate():
        # Copy form fields to user_profile fields
        form.populate_obj(current_user)

        # Save user_profile
        db.session.commit()

        # Redirect to home page
        return redirect(url_for('main.home_page'))

    # Process GET or invalid POST
    return render_template('main/user_profile_page.html', form=form)
Ejemplo n.º 6
0
def predictions_step1_page():
    # try:
        tc.config.set_num_gpus(0)
        model_id = request.args.get('model_id')
        my_model = TrainedModel.query.filter_by(id=model_id).first()
        my_data = UserData.query.filter_by(project_id=my_model.project_id).all()
        if my_data[0].user_id is not current_user.id:
            flash('Opps!  Do data found', 'error')
            return redirect(request.referrer)

        form = UserProfileForm(request.form, obj=current_user)
        if request.method == 'POST':
            data_id = request.form['data_set_id']
            my_data = UserData.query.filter_by(id=data_id).first()
            data_frame = tc.load_sframe(my_data.sname)
            if my_model.features['model_type'] == 'deep':
                tfrm = data_frame.to_dataframe()
                tfrm = tfrm.sort_values(by=[my_model.features["session_id"], my_model.features["time_field"]])
                data_frame = tc.SFrame(data=tfrm)
                data_frame[str(my_model.features["session_id"])] = data_frame[str(my_model.features["session_id"])].astype(int)

            model = tc.load_model(my_model.mname)
            predictions = model.predict(data_frame).to_numpy()

            my_dict = Predictions()
            my_dict.model_id = my_model.id
            my_dict.user_id = current_user.id
            my_dict.path = my_model.path
            my_dict.input_file = my_data.name
            my_predictions = []
            for item in predictions:
                my_predictions.append(str(item))
            my_dict.predictions = my_predictions
            origs = []
            for item in data_frame[str(my_model.features['target'])]:
                origs.append(str(item))

            # Make sure the predictions only overwrite blank values
            if request.form['mode'] == "fill":
                size = len(predictions)
                for x in range(0, size):
                    if origs[x] is not None:
                        predictions[x] = origs[x]

            my_dict.originals = origs
            data_frame = safely_add_col('Predicted_Value', predictions, data_frame)
            my_dict.oname = os.path.join(my_dict.path, str(uuid.uuid4())  + "_model_predictions.csv")
            data_frame.save(my_dict.oname, format='csv')
            db.session.add(my_dict)
            db.session.commit()

            # Redirect to home page
            return redirect(url_for('model.prediction_page', dict=my_dict.id))
        return render_template('pages/models/predict_step1.html',
            my_data=my_data,
            my_model=my_model,
            form=form)
Ejemplo n.º 7
0
def user_profile_page():
    form = UserProfileForm()

    # Process valid POST
    if request.method == 'POST' and form.validate():
        # Copy form fields to user_profile fields
        form.populate_obj(current_user)

        # Save user_profile
        db.session.commit()

        # Redirect to home page
        return redirect(url_for('main.home_page'))

    # Process GET or invalid POST
    form.first_name.data = current_user.first_name
    form.last_name.data = current_user.last_name

    return render_template('pages/user_profile_page.html', form=form)
Ejemplo n.º 8
0
def manage_user_roles():
    user_id = request.args.get('user_id')
    role_id = request.args.get('role_id')

    if user_id and role_id:
        user_id = int(user_id)
        role_id = int(role_id)
        db.session.query(UsersRoles).filter_by(user_id=user_id).filter_by(
            role_id=role_id).delete()
        db.session.commit()
    # Initialize form
    user_roles = list()
    if user_id is not None:
        user_id = int(user_id)
        user = User.query.filter_by(id=user_id).first()
        user_roles = user.roles

    form = UserProfileForm(request.form, obj=user)

    roles = db.session.query(Role).all()
    if request.method == 'POST':

        form.populate_obj(user)
        if str(request.form['role']):
            role = Role.query.filter(
                Role.name == str(request.form['role'])).first()
            user.roles.append(role)
            db.session.commit()
            flash(
                'You successfully added a role to user ' + user.name() + ' !',
                'success')
        else:
            #user.roles = []
            # print(f' Not appending role ')
            flash('You failed to add a role to user ' + user.name() + ' !',
                  'failure')
            pass

    return render_template('views/admin/manage_user_roles.html',
                           user=user,
                           roles=roles,
                           user_roles=user_roles,
                           form=form)
Ejemplo n.º 9
0
def create_user_page():
    user_id = request.args.get('user_id')
    # Initialize form
    user = User()
    if user_id is not None:
        user = User.query.filter_by(id=user_id).first()
    form = UserProfileForm(request.form, obj=user)

    if request.method == 'POST':
        form.populate_obj(user)
        role = Role.query.filter(Role.name == "admin").first()
        if user.id is None:
            user = User(email=request.form['email'],
                        first_name=request.form['first_name'],
                        last_name=request.form['last_name'],
                        password=current_app.user_manager.hash_password(
                            request.form['password']),
                        active=True,
                        email_confirmed_at=datetime.datetime.utcnow())
            if str(request.form['role']) == "admin":
                user.roles.append(role)
            else:
                user.roles = []
            db.session.add(user)
            db.session.commit()
        else:
            user.email = request.form['email']
            user.first_name = request.form['first_name']
            user.last_name = request.form['last_name']
            if request.form['password'] is not None and request.form[
                    'password'] is not "":
                user.password = current_app.user_manager.hash_password(
                    request.form['password'])
            if str(request.form['role']) == "admin":
                user.roles.append(role)
            else:
                user.roles = []
            db.session.commit()
        flash('You successfully updated your user!', 'success')
        return redirect(url_for('main.user_admin_page'))
    return render_template('pages/admin/create_user.html',
                           user=user,
                           form=form)
Ejemplo n.º 10
0
def user_profile_page():
    if current_app.config.get('USER_LDAP', False):
        abort(400)

    # Initialize form
    form = UserProfileForm(request.form, obj=current_user)

    # Process valid POST
    if request.method == 'POST' and form.validate():
        # Copy form fields to user_profile fields
        form.populate_obj(current_user)

        # Save user_profile
        db.session.commit()

        # Redirect to home page
        return redirect(url_for('main.user_profile_page'))

    # Process GET or invalid POST
    return render_template('pages/user_profile_page.html',
                           current_user=current_user,
                           form=form)
Ejemplo n.º 11
0
def create_page():
    form = UserProfileForm(request.form, obj=None)

    if request.method == 'POST':
        conn = DBConn(user_id=current_user.id,
                      name=request.form['name'],
                      db=request.form['db'],
                      engine_type=request.form['engine_type'],
                      host=request.form['host'],
                      user=request.form['user'],
                      password=request.form['password'])
        db.session.add(conn)
        db.session.commit()
        return redirect(url_for('connections.connections_page'))
    return render_template('pages/connections/create.html', form=form)
Ejemplo n.º 12
0
def edit_user_page(user_id):
    if current_app.config.get('USER_LDAP', False):
        abort(400)

    user = User.query.filter(User.id == user_id).first()
    if not user:
        abort(404)

    form = UserProfileForm(obj=user)
    roles = Role.query.all()
    form.roles.choices = [(x.id, x.name) for x in roles]

    if form.validate():
        if 'password' in request.form and len(request.form['password']) >= 8:
            user.password = current_app.user_manager.hash_password(
                request.form['password'])
        user.email = form.email.data
        user.first_name = form.first_name.data
        user.last_name = form.last_name.data
        user.active = form.active.data

        allowed_roles = form.roles.data
        for role in roles:
            if role.id not in allowed_roles:
                if role in user.roles:
                    user.roles.remove(role)
            else:
                if role not in user.roles:
                    user.roles.append(role)

        db.session.commit()
        flash('You successfully edited the user.', 'success')
        return redirect(url_for('main.user_admin_page'))

    form.roles.data = [role.id for role in user.roles]
    return render_template('pages/admin/edit_user.html', form=form)
Ejemplo n.º 13
0
def create_user_page():
    form = UserProfileForm(request.form, obj=current_user)

    if request.method == 'POST':
        user = User.query.filter(User.email == request.form['email']).first()
        if not user:
            user = User(email=request.form['email'],
                        full_name=request.form['full_name'],
                        password=current_app.user_manager.hash_password(
                            request.form['password']),
                        active=True,
                        email_confirmed_at=datetime.datetime.utcnow())
            db.session.add(user)
            db.session.commit()
        return redirect(url_for('main.user_admin_page'))
    return render_template('views/admin/create_user.html', form=form)