示例#1
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)
示例#2
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)
示例#3
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)
示例#4
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)
示例#5
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"))
示例#6
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})
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/')  
示例#8
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)