def create_product(self, request): form = ProductForm(data=request.POST) if form.is_valid(): cd = form.cleaned_data user = users.get_current_user() prod_obj = Product( description=cd['description'], min_price=cd['min_price'], due_date=cd['due_date'], owner_email=user.email() ) prod_obj.save() # so we have a key new_photo = '' new_photo_data = request.FILES.get("photo", None) if new_photo_data: for chunk in new_photo_data.chunks(): new_photo += chunk if new_photo: img = images.Image(new_photo) img.resize(height=100) clean_photo = img.execute_transforms(output_encoding=images.PNG) prod_obj.photo = db.Blob(clean_photo) prod_obj.save() return HttpResponseRedirect('/') return self.show_template('main/product_info.html', form=form)
def secure_post(self, request, product_id=None): if not product_id: return self.create_product(request) form = ProductForm(data=request.POST, instance=self.fetch_product(product_id)) if form.is_valid(): instance = form.save(commit=False) user = users.get_current_user() instance.owner_email = user.email() new_photo = '' new_photo_data = request.FILES.get("photo", None) if new_photo_data: for chunk in new_photo_data.chunks(): new_photo += chunk if new_photo: img = images.Image(new_photo) img.resize(height=100) clean_photo = img.execute_transforms(output_encoding=images.PNG) instance.photo = db.Blob(clean_photo) instance.save() return HttpResponseRedirect('/') return self.show_template('main/product_info.html', form=form)
def update_product(id): if session['role'] == 'seller': product = Product.query.get_or_404(id) if product.seller != current_user: abort(403) form = ProductForm() if form.validate_on_submit(): product.name = form.name.data product.description = form.description.data product.category = form.category.data product.price = form.price.data product.quantity = form.quantity.data if product.photo_name is None: product.photo_name = save_picture(form.photo.data) elif form.photo.data: pathp = app.root_path + '\static\product_pics\{}'.format( product.photo_name) os.remove(pathp) product.photo_name = save_picture(form.photo.data) db.session.commit() flash('Product has been updated!', 'check') return redirect(url_for('seller_dashboard')) elif request.method == 'GET': form.name.data = product.name form.category.data = product.category form.description.data = product.description form.price.data = product.price form.quantity.data = product.quantity return render_template('new_product.html', legend='Update Product', form=form) else: flash('Only Seller can access this page', 'warning') return redirect(url_for('customer_home'))
def new_form(request): formS = ProductForm() context = {'form': formS} if request.method == "POST": form = ProductForm({ 'name': request.POST['name'], 'price': request.POST['price'] }) form.save() # if form.is_valid(): # print(form.cleaned_data) return render(request, 'form_new.html', context)
def product_update(request,product_id): #แก้ไขสินค้าโดยใช้ modelForm product = get_object_or_404(Product, id=product_id) form = ProductForm(request.POST or None ,request.FILES or None , instance=product) if form.is_valid(): product = form.save(commit=False) product.save() messages.success(request,'แก้ไขสินค้าสำเร็จแล้ว') return redirect('manage') context = { 'form':form, 'number':product.id } return render(request,'manage/editproduct_form.html',context=context)
def post(self, request, **kwargs): form = ProductForm(request.POST) if form.is_valid(): try: product = ProductTool() product.create(request.POST) return HttpResponseRedirect(reverse('product_list')) except Exception as Error: messages.error( request, "Ops! Tivemos um problema ao tentar monitorar está url") return HttpResponseRedirect(reverse("index")) else: messages.error( request, "Certifique de digitar uma url correta e escolher a loja correspondente" ) return HttpResponseRedirect(reverse("index"))
def product(request): if request.user.is_authenticated: # productlist = product.objects.all() if request.method == 'POST': product = Product.objects.all() form = ProductForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] quantity = form.cleaned_data['quantity'] price = form.cleaned_data['price'] post = Product(name=name,quantity=quantity, price=price, vendor_id=request.user.id) post.save() return redirect ('/productlist/') else: form = ProductForm() # product = Product.objects.all() return render(request, 'main/Product.html', {'form': form}) else: return redirect('/login/')
def new_product(): if session['role'] == 'seller': form = ProductForm() if form.validate_on_submit(): product = Product(name=form.name.data, description=form.description.data, category=form.category.data, price=form.price.data, quantity=form.quantity.data, photo_name=save_picture(form.photo.data), seller=current_user) db.session.add(product) db.session.commit() flash('Product has been added successfully!', 'check') return redirect(url_for('seller_dashboard')) return render_template('new_product.html', legend="Add Product", form=form) else: flash('Only Seller can access this page', 'warning') return redirect(url_for('customer_home'))
def add_product(request): #เพิ่มสินค้าโดยใช้ modelForm page_title = 'Add Product' if request.method == 'GET': form = ProductForm() else: form = ProductForm(request.POST,request.FILES) if form.is_valid(): form.save() messages.success(request,'เพิ่มสินค้าสำเร็จแล้ว') return redirect('index') else: messages.error(request,'Try Again') context = { 'form':form, 'page_title':page_title } return render(request,'manage/addproduct_form.html',context=context)
def add_product(request): #เพิ่มสินค้าโดยใช้ modelForm page_title = 'Add Product' if request.method == 'GET': form = ProductForm() else: form = ProductForm(request.POST,request.FILES) if form.is_valid(): name = form.cleaned_data['name'] if Product.objects.filter(name=name).exists(): messages.error(request,'ชื่อสินค้านี้มีอยู่แล้ว') else: form.save() messages.success(request,'เพิ่มสินค้าสำเร็จแล้ว') return redirect('index') else: messages.error(request,'Try Again') context = { 'form':form, 'page_title':page_title } return render(request,'manage/product_form.html',context=context)
def add_product(request): form = ProductForm() if request.method == 'POST': form = ProductForm(request.POST) image_form = ImageForm(request.POST, request.FILES) if form.is_valid(): product = form.save(commit=False) product.sellerID = Account.objects.get(user=request.user) product.save() image = image_form.save(commit=False) image.productID = product image.save() return HttpResponseRedirect( reverse('product-detail', kwargs={'pk': product.id})) else: print(form.errors) return render(request, 'add_product.html', {'form': form})