def new_product(): form = NewProductForm() if not form.validate_on_submit(): return render_template('new_product.html', form=form) category = form.category.data.strip() name = form.name.data.strip() price = int(form.price.data) product_des = form.product_des.data.strip() if Product.query.filter(Product.name == name).count(): flash(f'Error: {name} already exists') return render_template('new_product.html', form=form) prod_cat = Category.query.filter(Category.name == category).first() if not Category.query.filter(Category.name == category).count(): flash(f'Error: {name} needs existing category {category}') return render_template('new_product.html', form=form) product = Product(category=prod_cat, name=name, product_des=product_des, price=price) db.session.add(product) db.session.commit() flash(f'New product {name} created') return redirect('/products')
def editProduct(product_id): try: form = NewProductForm(request.form) product = (session.query(Product). filter(Product.id==product_id).one()) sections = session.query(BodySection).all() except: flash("That particular product is not registered ") return redirect(url_for('newProduct')) if product.user_id == login_session['user_id']: if request.method == 'GET': return render_template('editProduct.html', product=product, sections= sections, image=login_session['picture']) if request.method == 'POST' and form.validate(): print '/n/n/n/ post/n/n' if request.form['btn'] == 'Save': form.populate_obj(product) if request.files['picture']: file = request.files['picture'] filename = secure_filename(file.filename) product.picture_name = IMAGES_FOLDER + filename file.save(app.config['UPLOAD_FOLDER'] + filename) session.add(product) session.commit() return redirect(url_for('product', product_id=product_id)) elif request.form['btn'] == 'Cancel': return redirect(url_for('product', product_id=product_id)) else: flash("Only the creator of every product can edit it") return redirect(url_for('product', product_id=product_id ))
def edit_product(request, id): product = get_object_or_404(Product, pk=id) if request.method == "POST": form = NewProductForm(request.POST, request.FILES, instance=product) if form.is_valid(): product = form.save(commit=False) #post.author = request.user product.published_date = timezone.now() product.save() return redirect(product_detail, product.pk) else: form = NewProductForm(instance=product) return render(request, 'newproductform.html', {'form': form})
def new_product(request): if request.method == "POST": form = NewProductForm(request.POST, request.FILES) if form.is_valid(): product = form.save(commit=False) product.seller = request.user product.published_date = timezone.now() product.save() return redirect(product_detail, product.pk) else: form = NewProductForm return render(request, 'newproductform.html', {'form': form})
def create_product(): if 'username' not in session: return redirect(request.referrer) form = NewProductForm() all_users = Database.get_name_of_users() form.productOwner.choices = all_users # All the available names are made to be possible choices in the form name = session.get('username') form.productOwner.default = name # The name of the user in clicked edit button's row is made default form.process() # Processes the change in the default if request.method == 'POST' and form.is_submitted(): owner = request.form.get("productOwner") product_name = request.form.get("productName") # Gets the file name from within the file in form of the posted request file = request.files['imageFile'] filename = secure_filename(file.filename) # Saves the file to the designated folder file.save(os.path.join(app.config["UPLOAD_PATH"], filename)) price = request.form.get("productPrice") product = Product(product_name, price, filename, owner) Database.insert_product(product) return redirect('/listProduct') return render_template('createProduct.html', title='New Product', form=form)
def editProduct(product_id): try: form = NewProductForm(request.form) product = (session.query(Product).filter( Product.id == product_id).one()) sections = session.query(BodySection).all() except: flash("That particular product is not registered ") return redirect(url_for('newProduct')) if product.user_id == login_session['user_id']: if request.method == 'GET': return render_template('editProduct.html', product=product, sections=sections, image=login_session['picture']) if request.method == 'POST' and form.validate(): print '/n/n/n/ post/n/n' if request.form['btn'] == 'Save': form.populate_obj(product) if request.files['picture']: file = request.files['picture'] filename = secure_filename(file.filename) product.picture_name = IMAGES_FOLDER + filename file.save(app.config['UPLOAD_FOLDER'] + filename) session.add(product) session.commit() return redirect(url_for('product', product_id=product_id)) elif request.form['btn'] == 'Cancel': return redirect(url_for('product', product_id=product_id)) else: flash("Only the creator of every product can edit it") return redirect(url_for('product', product_id=product_id))
def newProduct(section_id): sections = session.query(BodySection).all() # Check if the request comes from a particular section if section_id: preselected_section = (session.query(BodySection).filter( BodySection.id == section_id).one()) else: preselected_section = section_id form = NewProductForm(request.form) product = Product() if request.method == 'GET': return render_template('newProduct.html', sections=sections, ps_section=preselected_section, image=login_session['picture']) if request.method == 'POST' and form.validate(): form.populate_obj(product) file = request.files['picture'] filename = secure_filename(file.filename) product.user_id = login_session['user_id'] product.picture_name = app.config['IMAGES_FOLDER'] + filename if allowed_file(filename): file.save(app.config['UPLOAD_FOLDER'] + filename) session.add(product) session.commit() flash("New product added! ") else: flash("Error while saving the photo file!") if section_id: return redirect(url_for('section', section_id=section_id)) return redirect(url_for('viewProducts'))
def newProduct(section_id): sections = session.query(BodySection).all() # Check if the request comes from a particular section if section_id: preselected_section = (session.query(BodySection). filter(BodySection.id==section_id).one()) else: preselected_section = section_id form = NewProductForm(request.form) product = Product() if request.method == 'GET': return render_template('newProduct.html', sections=sections, ps_section=preselected_section, image=login_session['picture']) if request.method == 'POST' and form.validate(): form.populate_obj(product) file = request.files['picture'] filename = secure_filename(file.filename) product.user_id = login_session['user_id'] product.picture_name = app.config['IMAGES_FOLDER'] + filename if allowed_file(filename): file.save(app.config['UPLOAD_FOLDER'] + filename) session.add(product) session.commit() flash("New product added! ") else: flash("Error while saving the photo file!") if section_id: return redirect(url_for('section', section_id=section_id)) return redirect(url_for('viewProducts'))
def deleteProduct(product_id): try: product = (session.query(Product).filter( Product.id == product_id).one()) form = NewProductForm(request.form) except: flash("That particular product is not registered ") return redirect(url_for('newProduct')) if product.user_id == login_session['user_id']: if request.method == 'GET': return render_template('deleteProduct.html', product=product, image=login_session['picture']) if request.method == 'POST': if request.form['btn'] == 'Delete': session.delete(product) session.commit() return redirect(url_for('viewProducts')) else: flash("Only the creator of every product can edit it") return redirect(url_for('product', product_id=product_id))