Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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'))
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
 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/')  
Exemplo n.º 8
0
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'))
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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})