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"))
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"))
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)))
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))
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))
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))
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)
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))
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"))
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"))
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"))
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())
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"))
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))
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))
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))