def product_add(): """ 商品添加 """ form = ProductEditForm() if form.validate_on_submit(): # 保存到数据库 print(form.data) prod_obj = Product( name=form.data['name'], content=form.data['content'], desc=form.data['desc'], types=form.data['types'], price=form.data['price'], origin_price=form.data['origin_price'], img='xxx.jpg', channel=form.data['channel'], buy_link=form.data['buy_link'], status=form.data['status'], sku_count=form.data['sku_count'], remain_count=form.data['remain_count'], view_count=form.data['view_count'], score=form.data['score'], is_valid=form.data['is_valid'], reorder=form.data['reorder'], ) db.session.add(prod_obj) db.session.commit() # 消息提示 flash('新增商品成功', 'success') # 跳转到商品列表中去 return redirect(url_for('mall.product_list', page=1)) else: # 消息提示 flash('请修改页面中的页面错误,然后提交', 'warning') print(form.errors) return render_template('product_add.html', form=form)
def product_edit(uid): """ 商品编辑 """ # 查询商品信息 prod_obj = Product.query.filter_by(uid=uid, is_valid=True).first() print(prod_obj) if prod_obj is None: abort(404) form = ProductEditForm(obj=prod_obj) if form.validate_on_submit(): prod_obj.name = form.name.data prod_obj.content = form.data['content'] prod_obj.desc = form.data['desc'] prod_obj.types = form.data['types'] prod_obj.price = form.data['price'] prod_obj.origin_price = form.data['origin_price'] prod_obj.img = 'xxx.jpg' prod_obj.channel = form.data['channel'] prod_obj.buy_link = form.data['buy_link'] prod_obj.status = form.data['status'] prod_obj.sku_count = form.data['sku_count'] prod_obj.remain_count = form.data['remain_count'] prod_obj.view_count = form.data['view_count'] prod_obj.score = form.data['score'] prod_obj.is_valid = form.data['is_valid'] prod_obj.reorder = form.data['reorder'] db.session.add(prod_obj) db.session.commit() flash('修改成功', 'success') return redirect(url_for('mall.product_list', page=1)) else: print(form.errors) return render_template('product_edit.html', form=form, prod_obj=prod_obj)
def product_add(): form = ProductEditForm() if form.validate_on_submit(): prod_obj = Product( name=form.name.data, content=form.content.data, desc=form.desc.data, types=form.types.data, price=form.price.data, origin_price=form.origin_price.data, img='xxx.jpg', channel=form.channel.data, buy_link=form.buy_link.data, status=form.status.data, sku_count=form.sku_count.data, remain_count=form.remain_count.data, view_count=form.view_count.data, score=form.score.data, is_valid=form.is_valid.data, reorder=form.reorder.data, ) db.session.add(prod_obj) db.session.commit() flash('新增商品成功', 'success') return redirect(url_for('mall.product_list', page=1)) else: print(form.errors) flash('请修改页面中的页面错误', 'warning') return render_template('product_add.html', form=form)
def product_edit(uid): prod_obj = Product.query.filter_by(uid=uid, is_valid=True).first() if prod_obj is None: abort(404) form = ProductEditForm(obj=prod_obj) if form.validate_on_submit(): prod_obj.name = form.name.data prod_obj.content = form.content.data prod_obj.desc = form.desc.data prod_obj.types = form.types.data prod_obj.price = form.price.data prod_obj.origin_price = form.origin_price.data prod_obj.img = 'xxx.jpg' prod_obj.channel = form.channel.data prod_obj.buy_link = form.buy_link.data prod_obj.status = form.status.data prod_obj.sku_count = form.sku_count.data prod_obj.remain_count = form.remain_count.data prod_obj.view_count = form.view_count.data prod_obj.score = form.score.data prod_obj.is_valid = form.is_valid.data prod_obj.reorder = form.reorder.data db.session.add(prod_obj) db.session.commit() flash('修改商品成功', 'success') return redirect(url_for('mall.product_list', page=1)) else: print(form.errors) flash('请修改页面中的页面错误', 'warning') return render_template('product_edit.html', form=form, uid=uid)
def product_add(): '''商品添加''' form = ProductEditForm() # 判断表单是否验证通过 if form.validate_on_submit(): # 保存到数据库 data = form.data for item, value in data.items(): print(item, ":", value) product_obj = Product( # 商品名称 name=data['name'], # 商品描述(富文本) content=data['content'], # 商品推荐语 desc=data['desc'], # 类型 types=data['types'], # 价格 price=data['price'], # 原价 origin_price=data['origin_price'], # 主图 img='/xxx.jpg', # 渠道 channel=data['channel'], # 链接 buy_link=data['buy_link'], # 商品状态 status=data['status'], # 库存 sku_count=data['sku_count'], # 剩余库存 remain_count=data['remain_count'], # 浏览 view_count=data['view_count'], # 评分 score=data['score'], # 逻辑删除 is_valid=data['is_valid'], # 排序 reorder=data['reorder'], ) db.session.add(product_obj) db.session.commit() flash("新增商品成功", 'success') #成功跳转到商品列表里去 return redirect(url_for('mall.product_list', page=1)) else: # 消息提示 flash("请修改页面中的错误,然后提交", 'warning') print(form.errors) return render_template('product_add.html', form=form)
def product_edit(uid): '''商品编辑''' #查询商品 prod_obj = Product.query.filter_by(uid=uid, is_valid=False).first() if prod_obj is None: abort(404) form = ProductEditForm(obj=prod_obj) # 修改商品内容 if form.validate_on_submit(): # 保存到数据库 prod_obj.name = form.name.data prod_obj.content = form.data['content'] db.session.add(prod_obj) db.session.commit() flash('修改成功', 'success') return redirect(url_for('mall.product_list', page=1)) else: print(form.errors) return render_template('product_edit.html', form=form, prod_obj=prod_obj)
def edit(product_id): """ Route for product edit """ # request Form data form = ProductEditForm(request.form) # Get categories collection from database categories = mongo.db.categories.find().sort("name", 1) # Get allergens collection from database allergens = mongo.db.allergens.find().sort("name", 1) # Get product from product_id product = mongo.db.products.find_one({"_id": (ObjectId(product_id))}) product_name = form.name.data pchk = True if product_name.lower() != product["name"]: pchk = product_check(product_name) if request.method == "POST" and form.validate() and pchk: # Get product name from form # Get product manufacturer from form product_manufacturer = form.manufacturer.data # Get product category product_category = category_get_selection("edit") if product_category: # Get category id product_category_id = category_get_id(product_category) # Get selected allergens allergen_list = allergen_get_selected_checkboxes(allergens) # Check if any allergens are selected if allergen_list: proceed = True else: # Display flash message flash(("Please select allergens that the " + "product is Free From. " + "If you would like to add an Allergen, " + "please contact the site Administrator"), "warning") proceed = False # Get allergen id's and add to list if proceed: allergen_id_list = allergen_get_id_list(allergen_list) # Get user name user_name = session["user"] # Get user id from user name user_id = mongo.db.users.find_one({"username": user_name})["_id"] # Placeholder for barcode, may be added in the future barcode = "" if proceed: # Set product update variable product_update = { "name": product_name, "manufacturer": product_manufacturer, "user_id": user_id, "category_id": product_category_id, "barcode": barcode, "free_from_allergens": allergen_id_list, "reviews": product["reviews"] } # Update product in database mongo.db.products.update({"_id": ObjectId(product_id)}, product_update) # Display flash message flash(product_name + " succesfully updated", "success") return redirect(url_for('products.view', product_id=product_id)) # Update product name in form form.name.data = product["name"] # Update product manufcaturer in form form.manufacturer.data = product["manufacturer"] # Get product category product_category = category_get_name(product["category_id"]) # Get Selected allergens selected_allergens = product["free_from_allergens"] # Get user name user_name = session["user"] # Get user id from user name user_id = mongo.db.users.find_one({"username": user_name})["_id"] if product["user_id"] == user_id: user_product = True else: user_product = False print(product) return render_template("product_edit.html", categories=categories.rewind(), allergens=allergens.rewind(), product_id=product_id, product_category=product_category, selected_allergens=selected_allergens, user_product=user_product, form=form)