Esempio n. 1
0
def init_categories():

    stmt = text('SELECT * FROM Category;')

    res = db.engine.execute(stmt)

    if (res.fetchone() != None):
        return

    category1 = Category('Sports')
    category2 = Category('Gaming')
    category3 = Category('Programming')

    userrole = Role('USER')
    adminrole = Role('ADMIN')

    db.session().add(userrole)
    db.session().add(adminrole)

    db.session().add(category1)
    db.session().add(category2)
    db.session().add(category3)
    db.session().commit()

    normaluser = User(' ', 'user', 'user')
    adminuser = User(' ', 'admin', 'admin')

    db.session().add(normaluser)
    db.session().add(adminuser)
    db.session().commit()

    db.session().add(User_Role(normaluser.id, 1))
    db.session().add(User_Role(adminrole.id, 2))
    db.session().commit()
Esempio n. 2
0
def categories(*args, **kwargs):
    if request.method == "GET":
        categories = Category.query.filter_by(user_id=current_user.id)
        error = kwargs.get("error", "")
        return render_template("/categories/categories.html",
                               categories=categories,
                               form=CategoryForm(),
                               error=error)
    else:
        form = CategoryForm(request.form)

        # If the user already has a category by that name, let's not create a duplicate
        alreadyExists = db.session.query(
            db.exists().where(Category.name == form.name.data).where(
                Category.user_id == current_user.id)).scalar()

        if alreadyExists:
            return redirect(url_for('categories', error=1))

        c = Category()
        c.name = form.name.data
        c.user_id = current_user.id
        db.session().add(c)
        db.session().commit()
        return redirect(url_for('categories', error=""))
Esempio n. 3
0
def create_category():

    if current_user.role != "ADMIN":
        abort(401)

    if request.method == "GET":
        return render_template("categories/new.html", form=AddCategoryForm())

    form = AddCategoryForm(request.form)

    if not form.validate():
        return render_template("categories/new.html", form=form)

    category_exists = Category.query.filter_by(name=form.name.data).first()

    if category_exists:
        form.name.errors.append("Category already exists")
        return render_template("categories/new.html", form=form)

    c = Category(form.name.data)

    db.session().add(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
Esempio n. 4
0
def categories_create():
    form = CategoryForm(request.form)
    if not form.validate():
        return render_template("categories/new.html", form=form)

    c = Category(form.name.data)

    db.session().add(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
Esempio n. 5
0
def categories_create():
    form = CategoryForm(request.form)

    if not form.validate():
        return render_template("categories/new.html", form = form, categories = Category.query.order_by(Category.name))

    t = Category(form.name.data)
    t.account_id = current_user.id
  
    db.session().add(t)
    db.session().commit()
  
    return redirect(url_for("categories_form"))
Esempio n. 6
0
def categories_create():
    form = CategoryForm(request.form)

    if not form.validate():
        return render_template("categories/new.html", form=form)

    c = Category(form.name.data, form.description.data)
    c.account_id = current_user.id

    db.session().add(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
Esempio n. 7
0
def category_create():
    form = CategoryForm()
    
    if form.validate_on_submit():
        c = Category(form.name.data)
        db.session().add(c)
        db.session().commit()
        
        return redirect(url_for("category_create"))
    
    categories = Category.query.all()

    return render_template("categories/new.html", form = form, categories = categories)
Esempio n. 8
0
def categories_create():
    if current_user.role != "ADMIN":
        return render_template("index.html", msg=msg_admin_feature)
    form = CategoryForm(request.form)

    if not form.validate():
        return render_template("categories/new.html", form=form)

    c = Category(form.name.data)

    db.session().add(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
Esempio n. 9
0
def create_category():
    form = CreateNewCategoryForm(request.form)

    if request.method == "GET":
        return render_template("categories/new.html", form=form)

    if request.method == "POST" and not form.validate_on_submit():
        return render_template("categories/new.html", form=form)

    cat = Category(request.form.get("name"))

    db.session().add(cat)
    db.session().commit()

    return redirect(url_for("categories_index"))
Esempio n. 10
0
def categories_create():
    form = CategoryForm(request.form)

    if not form.validate():
        return render_template("categories/new.html", form=form)

    if Category.query.filter(Category.account_id == current_user.id).filter(
            Category.name == form.name.data).first():
        form.name.errors.append("Category named " + form.name.data +
                                " already exists.")
        return render_template("categories/new.html", form=form)

    c = Category(form.name.data, form.description.data)
    c.account_id = current_user.id

    db.session().add(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
Esempio n. 11
0
def items_form():
    category_list = Category.query.order_by('name').filter_by(
        account_id=current_user.id)
    c_list = []
    for c in category_list:
        c_list.append(c)

    if len(c_list) == 0:
        c = Category("Ei kategoriaa")
        c.account_id = current_user.id
        db.session().add(c)
        db.session().commit()

    form = ItemForm()

    form.item_category.choices = [
        (c.id, c.name) for c in Category.query.order_by('name').filter_by(
            account_id=current_user.id)
    ]
    return render_template('items/new.html', form=form)
Esempio n. 12
0
def categories_create():
    form = NewCategoryForm(request.form)

    if not form.validate():
        return render_template("categories/list.html",
                               categories=Category.get_category_list(),
                               form=form)

    category = Category(form.name.data)
    try:
        db.session.add(category)
        db.session.commit()
    except IntegrityError:
        db.session.rollback()
        return render_template("categories/list.html",
                               categories=Category.get_category_list(),
                               form=form,
                               category_name_taken=True)
    return render_template("categories/list.html",
                           categories=Category.get_category_list(),
                           form=form)
Esempio n. 13
0
def categories_create():
    form = CategoryForm(request.form)
    c_test = Category.query.filter_by(name=form.name.data,
                                      account_id=current_user.id).first()
    if c_test:
        return render_template(
            "categories/new.html",
            form=form,
            error=
            "Kategoria on jo olemassa, valitse jokin toinen nimi kategorialle!"
        )
    else:

        if not form.validate():
            return render_template("categories/new.html", form=form)

        c = Category(form.name.data)
        c.account_id = current_user.id

        db.session().add(c)
        db.session().commit()

        return redirect(url_for("categories_index"))
Esempio n. 14
0
app.config["SECRET_KEY"] = urandom(32)

from flask_login import LoginManager
login_manager = LoginManager()
login_manager.init_app(app)

login_manager.login_view = "auth_login"
login_manager.login_message = "Please login to use this functionality."


@login_manager.user_loader
def load_user(user_id):
    return User.query.get(user_id)


try:
    db.create_all()
    # Adding the administrator account
    hashed_password = bcrypt.generate_password_hash("unlimitedpower").decode(
        'utf-8')
    u = User("Administrator", "admin", hashed_password)
    db.session().add(u)
    db.session().commit()
    # Adding the first category
    c = Category("No category")
    c.account_id = 1
    db.session.add(c)
    db.session.commit()
except:
    pass
Esempio n. 15
0
from application.categories.models import Category


@login_manager.user_loader
def load_user(user_id):
    return User.query.get(user_id)


# datetime custom filter


def format_datetime(value, format='%d-%m-%Y %H:%M:%S'):
    return value.strftime(format)


app.jinja_env.filters['datetime'] = format_datetime

# initiliaze database with default category and admin role
try:
    db.create_all()
    if not Role.query.first():
        admin_role = Role("admin")
        db.session.add(admin_role)
        db.session.commit()
    if not Category.query.first():
        default_category = Category('default')
        db.session.add(default_category)
        db.session.commit()
except:
    pass