コード例 #1
0
def category_create():
    form = CategoryForm(request.form)
    if not form.validate():
        for error in form.category.errors:
            flash(
                error +
                ' Use characters: A-Z, a-z, 0-9, _ and spaces only between words. Category example: "Summer clothes2"'
            )
            return redirect(url_for("category_index"))

    category = form.category.data
    check = Category.query.filter(
        and_(
            Category.category == category,
            or_(Category.account_id == current_user.id,
                Category.account_id == 0))).first()
    if check:
        flash('Category exists already.')
        return redirect(url_for("category_index"))
    new_category = Category(form.category.data)
    new_category.account_id = current_user.id

    db.session().add(new_category)
    db.session().commit()

    return redirect(url_for("category_index"))
コード例 #2
0
def delete_category(category_id):
    # Check if the current user is a super user
    if (current_user.isSuper == False):
        return redirect(url_for("categories_index"))
    
    # Delete the category from the database
    Category.deleteAllMessages(category_id)
    c = Category.query.get(category_id)
    db.session().delete(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
コード例 #3
0
ファイル: views.py プロジェクト: vsvala/Runoarkisto
def category_other(runo_id):

    runo = Runo.query.get(runo_id)
    form = CategoryForm(request.form)
    if request.method == "GET":
        return render_template("category/other.html", form=form, runo=runo)

    form = CategoryForm(request.form)
    runo = Runo.query.get(runo_id)

    #  validointi: tsekataan että jokin kategoria valittuna
    if not form.aihe.data and not form.tokaaihe.data:
        return render_template(
            "category/other.html",
            form=form,
            runo=runo,
            category_error=
            "Runolla täytyy valita tai lisätä vähintään yksi kategoria!")

    list = form.tokaaihe.data

    if form.aihe.data:
        category_lowercase = form.aihe.data.lower(
        )  #muutetaan kaikki pieniksi hakutoimintoa varten

        list.append(
            category_lowercase)  #lisätäänmyös oma  kategoria samaan listaan

    for cate in list:
        c = Category.query.filter_by(aihe=cate).first()
        if c is None:  #ei listalla/ei kategoriaa
            category = Category(cate)
            db.session().add(category)
            db.session().commit()

            runo.categories.append(category)
            db.session().add(runo)
            db.session().commit()

            #category = Category(aihe) #luodaan kategoria olio jokaisesta listan kategoriasta ja lisätään kantaan
        else:  #jos on kategoria
            runo.categories.append(c)
            db.session().commit()

    return redirect(
        url_for("runo_modify_page",
                runo_id=runo.id,
                category_by=Category.find_categories_by(runo)))
コード例 #4
0
def quotes_update(quote_id, child_id):

    quote = Quote.query.get(quote_id)
    form = QuoteForm(request.form)

    # Talletetaan lomakkeelle kategoriavalinnat, tarpeen sivun uudelleennäytössä
    cates = Category.query.all()
    c_list = [(i.name, i.name) for i in cates]
    form = QuoteForm()
    form.categories.choices = c_list

    if not form.validate():

        return render_template("quotes/modifystate.html",
                               form=form,
                               quote_id=quote_id,
                               child_id=child_id)

    quote.quotecategory.clear()
    db.session().commit()

    quote.quote = form.name.data
    quote.agesaid = form.age.data

    allcategories = form.categories.data

    # käydään läpi kaikki valitut kategoriat ja lisätään ne sanonnalle
    for category in allcategories:
        c = Category.findCategory(category)
        quote.quotecategory.append(c)

    db.session().commit()

    return redirect(url_for("quotes_childquotes", child_id=child_id))
コード例 #5
0
def quotes_create(child_id):

    form = QuoteForm(request.form)

    cates = Category.query.all()
    c_list = [(i.name, i.name) for i in cates]

    form = QuoteForm()
    form.categories.choices = c_list

    if not form.validate():

        return render_template("quotes/new.html", form=form, child_id=child_id)

    q = Quote(quote=form.name.data, agesaid=form.age.data, child_id=child_id)

    # Haetaan valitut kategoriat ja lisätään ne yksitellen sanonnalle
    allcategories = form.categories.data

    for category in allcategories:

        c = Category.findCategory(category)

        q.quotecategory.append(c)

    db.session.add(q)
    db.session().commit()

    return redirect(url_for("quotes_childquotes", child_id=child_id))
コード例 #6
0
ファイル: views.py プロジェクト: vsvala/Runoarkisto
def runot_uppdate(runo_id):

    runo = Runo.query.get(runo_id)

    form = RunoForm(request.form)

    #validoidaan eka otsikon kirjain isoksi (aakkostamisen takia ja hakemisen,,,)
    n = form.name.data
    bool = n[0].isupper()
    if bool == False:
        return render_template(
            "runot/muokkaa.html",
            runo=runo,
            form=form,
            capital_error="Aloita otsikko isolla kirjaimella!")

    if not form.validate():
        return render_template("runot/muokkaa.html", runo=runo, form=form)

    runo.name = form.name.data
    runo.sisalto = form.sisalto.data
    runo.runoilija = form.runoilija.data
    runo.account_id = current_user.id

    db.session().commit()

    return render_template("runot/modifyOne.html",
                           runo=runo,
                           category_by=Category.find_categories_by(runo))
コード例 #7
0
def quotes_showOne(quote_id):

    quote = Quote.query.get(quote_id)
    child_id = quote.child_id
    quote_id = quote_id
    return render_template("quotes/showOneQuote.html",
                           categorieslist=Category.findCategories(quote_id),
                           child_id=child_id,
                           quote=quote)
コード例 #8
0
def quotes_by_category():

    #Otataan talteen kategoria id, jotta voidaan hakea oikean kategorian sanonnat
    form = CategorySelectForm(request.form)
    name = form.selection.data

    category = Category.findCategory(name)
    category_id = category.getId()

    return redirect(
        url_for("quotes_by", page=1, category_id=category_id, name=name))
コード例 #9
0
def category_create():
    form = CategoryForm(request.form)

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

    c = Category(form.name.data)

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

    return redirect(url_for("category_index"))
コード例 #10
0
ファイル: views.py プロジェクト: vsvala/Runoarkisto
def runot_create():
    form = RunoForm(request.form)

    #validoidaan eka otsikon kirjain isoksi (aakkostamisen takia ja hakemisen,,,)
    n = form.name.data
    bool = n[0].isupper()
    if bool == False:
        return render_template(
            "runot/new.html",
            form=form,
            capital_error="Aloita otsikko isolla kirjaimella!")

    #lomakkeen validointi
    if not form.validate():
        return render_template("runot/new.html", form=form)

    #  runo-olion luonti lomakesyötteestä
    runo = Runo(name=form.name.data,
                sisalto=form.sisalto.data,
                runoilija=form.runoilija.data)

    #validoidaan samannimiset jos nimi löytyy  kannasta render lomake uusiks ja error
    r = Runo.query.filter_by(name=runo.name).first()
    if r:
        return render_template(
            "runot/new.html",
            form=form,
            name_error="Samanniminen runo on jo arkistossa!")

#lisää  kategoriat  tietokantaan checklistalta, luodaan monesta moneen liitokset runon ja kategorian välille ja talletetaan runo kantaan
    runo.account_id = current_user.id  #liitetään tili nykyiseen käyttäjään

    #tsekataan että kategoria valittuna
    categories_list = form.aihe.data
    if not categories_list:
        return render_template(
            "runot/new.html",
            form=form,
            category_error="Valitse väintään yksi kategorioista!")

    for aihe in categories_list:
        category = Category(
            aihe
        )  #luodaan kategoria olio jokaisetsa listan kategoriasta ja lisätään kantaan
        db.session().add(category)
        db.session().commit()

        runo.categories.append(category)
        db.session().add(runo)
        db.session().commit()

    return redirect(url_for("loggedu_poems"))
コード例 #11
0
ファイル: views.py プロジェクト: kotommi/keskustelufoorumi
def category_create():
    if request.method == "GET":
        return render_template("category/create.html", form=CategoryForm())

    form = CategoryForm(request.form)
    if not form.validate():
        flash("There were errors")
        return render_template("category/create.html", form=form)

    new_category = Category(form.title.data, form.description.data)
    db.session().add(new_category)
    db.session().commit()

    flash("Category created")
    return redirect(url_for("category_index"))
コード例 #12
0
def category_index():
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')

    categories = Category.list_categories_for_user(current_user.id)
    total = len(categories)
    pagination_categories = categories[offset:offset + per_page]
    pagination = Pagination(page=page,
                            per_page=per_page,
                            total=total,
                            css_framework='bootstrap4')
    return render_template("category/listCategories.html",
                           categories_list=pagination_categories,
                           page=page,
                           per_page=per_page,
                           pagination=pagination,
                           form=CategoryForm())
コード例 #13
0
def new_category():
    if request.method == "GET":
        # Check if the current user is a super user
        if current_user.isSuper == True:
            return render_template("categories/new.html", form = CategoryForm())
        else:
            return redirect(url_for("categories_index"))
    
    # Validate the name data of the form
    form = CategoryForm(request.form)
    if not form.validate():
        return render_template("categories/new.html", form = CategoryForm())

    # Check if a category with an identical name already exists in the database
    category = Category.query.filter_by(name=form.name.data).first()
    if category:
        return render_template("categories/new.html", form = CategoryForm(), error = "Category already exists!")

    # Add the category to the database
    c = Category(form.name.data)
    db.session().add(c)
    db.session().commit()

    return redirect(url_for("categories_index"))
コード例 #14
0
ファイル: views.py プロジェクト: vsvala/Runoarkisto
def runot_showOne_logged(runo_id):
    runo = Runo.query.get(runo_id)
    return render_template("runot/one_logged.html",
                           runo=runo,
                           category_by=Category.find_categories_by(runo))
コード例 #15
0
ファイル: views.py プロジェクト: vsvala/Runoarkisto
def find_categories(runo_id):
    runo = Runo.query.get(runo_id)
    category_by = Category.find_categories_by(runo)
    return redirect(url_for("runot_index_category", category_by=category_by))
コード例 #16
0
ファイル: views.py プロジェクト: vsvala/Runoarkisto
def runo_modify_page(runo_id):
    runo = Runo.query.get(runo_id)
    return render_template("runot/modifyOne.html",
                           runo=runo,
                           category_by=Category.find_categories_by(runo))