Example #1
0
 def post(self, request, *args, **kwargs):
     form = AddProductForm(request.POST, request.FILES)
     if form.is_valid():
         category = form.cleaned_data['category']
         brand = form.cleaned_data['brand']
         name = form.cleaned_data['name']
         slug = form.cleaned_data['slug']
         detail = form.cleaned_data['detail']
         image = form.cleaned_data['image']
         quantity = form.cleaned_data['quantity']
         price = form.cleaned_data['price']
         brand_item = Brand.objects.get(id=int(brand))
         category_item = Category.objects.get(id=int(category))
         product = Product.objects.create(category=category_item,
                                          brand=brand_item,
                                          name=name,
                                          slug=slug,
                                          image=image,
                                          details=detail)
         shop = Shop.objects.get(user=request.user)
         ShopProduct.objects.create(shop=shop,
                                    product=product,
                                    price=price,
                                    quantity=quantity)
         return HttpResponseRedirect(
             reverse('user_shop_page', kwargs={'shopname': shop.name}))
     context = {'form': form}
     return render(request, "main/shop_addproduct.html", context)
Example #2
0
def addProduct(request, template_name='products/add_product.html'):
   
    user = request.user

    new_product = []
    new_ptype = False

    if request.method == 'POST':
       addform = AddProductForm(request.POST)

       if 'ptype' in request.POST:     
           choice_tuple = type_choices[int(request.POST['ptype']) - 1]
           if choice_tuple[1] == 'Novo':
               new_ptype = True
           elif addform.is_valid():
               new_product = addProductPOSTHandler(request.POST)
       else:
           new_request = request.POST.copy()
           new_request['ptype'] = request.POST['ptype2']
           if new_request['ptype']:
               new_product = addProductPOSTHandler(new_request)

       if new_product:
           addform_choices = addform.fields['ptype'].choices
           addform_choices.append((len(addform_choices), new_product.ptype.name))   
    else:
       addform = AddProductForm()

    context = {'user': user, 'addform': addform, 'object': new_product, 'new_ptype': new_ptype }
    return render_to_response(template_name, context, context_instance = RequestContext(request))
Example #3
0
def get_page_add_product():
    form = AddProductForm()
    if form.validate_on_submit():
        data = {
            'id': str(uuid.uuid1()),
            'name': form.product_name.data,
            'description': form.product_description.data,
            'img_name': upload_image(),
            'price': str(form.product_price.data)
        }
        products_list.append(data)
        flash('Product added!', 'success')
        return redirect('/products')
    return render_template('add_product.html', form=form)
Example #4
0
def add_product(request):
    if request.method == 'POST':
        product_name = request.POST.get('product_name')
        category_id = request.POST.get('category')
        subcategory_id = request.POST.get('subcategory')
        try:
            category = Category.objects.get(id=category_id)
            subcategory = Subcategory.objects.get(id=subcategory_id,
                                                  category=category)
            pd = Products.objects.create(product_name=product_name,
                                         subcategory=subcategory,
                                         category=category)
            success = "Product Added Successfully"
            context = {
                "products": products,
                "form": form,
                "categories": categories,
                'sub_categories': sub_categories,
                "success": success
            }
            return render(request, 'application_app/home.html', context)
        except Category.DoesNotExist:
            return Response(status=status.HTTP_400_BAD_REQUEST)
    form = AddProductForm()
    context = {
        "products": products,
        "form": form,
        "categories": categories,
        'sub_categories': sub_categories,
    }
    return render(request, 'application_app/home.html', context)
Example #5
0
def addProduct(request, template_name='products/add_product.html'):
    if request.method == 'POST':
        addform = AddProductForm(request.POST)

        if addform.is_valid():
            data = addform.cleaned_data

            product = Product(name=data['name'], price=data['price'], instock=data['units'],
                    ptype=data['ptype'], brand=data['brand'])
            product.save()

            addform = None
    else:
        addform = AddProductForm()

    context = {'user': request.user, 'addform': addform}

    return render_to_response(template_name, context, context_instance = RequestContext(request))
Example #6
0
def add_products():
    form = AddProductForm()
    if request.method == 'POST':
        data = {"product_id": str(uuid.uuid4()), "name": request.form['name'], "description": request.form['description'],
                "img_name": secure_filename(request.files['image'].filename), "price": request.form['price']}
        product_list.append(data)
        file = request.files['image']
        filename = secure_filename(file.filename)
        file.save(os.path.join('products/static_p', secure_filename(filename)))

    return render_template('add_products.html', form=form)
Example #7
0
def addproduct():

    form = AddProductForm(request.form)
    brands = Brand.query.all()
    print(brands)
    categories = Category.query.all()
    if request.method == "POST" and 'image_1' in request.files:
        name = form.name.data
        price = form.price.data
        discount = form.discount.data
        stock = form.stock.data
        colors = form.colors.data
        desc = form.discription.data
        brand = request.form.get('brand')

        category = request.form.get('category')

        im_1 = request.files.get('image_1')
        filename_1 = os.path.join(app.config['IMAGES_DIR'],
                                  secure_filename(im_1.filename))
        image_1 = im_1.save(filename_1)
        os.rename(app.config['IMAGES_DIR'] + '/' + im_1.filename,
                  app.config['IMAGES_DIR'] + '/image_1.jpg')

        im_2 = request.files.get('image_2')
        filename_2 = os.path.join(app.config['IMAGES_DIR'],
                                  secure_filename(im_2.filename))
        image_2 = im_2.save(filename_2)

        im_3 = request.files.get('image_3')
        filename_3 = os.path.join(app.config['IMAGES_DIR'],
                                  secure_filename(im_3.filename))
        image_3 = im_3.save(filename_3)

        AddProduct1 = AddProduct(name=name,
                                 price=price,
                                 discount=discount,
                                 stock=stock,
                                 colors=colors,
                                 desc=desc,
                                 category_id=category,
                                 brand_id=brand,
                                 image_1=image_1,
                                 image_2=image_2,
                                 image_3=image_3)
        db.session.add(AddProduct1)
        flash(f'The product {name} was added in database', 'success')
        db.session.commit()

    return render_template('products/addproduct.html',
                           form=form,
                           brands=brands,
                           categories=categories)
Example #8
0
def product_add(request):
    if request.user.is_authenticated and request.user.is_superuser:
        if request.method == 'POST':
            form = AddProductForm(request.POST, request.FILES)

            if form.is_valid():
                form.save()
                return render(request, 'products/product-add-successful.html')
        else:
            form = AddProductForm()
        return render(request, 'products/product-add.html', {'form': form})
    else:
        return redirect('products_list')
Example #9
0
def product_edit(request, pk):
    if request.user.is_authenticated and request.user.is_superuser:
        product = get_object_or_404(Product, pk=pk)

        if request.method == 'POST':
            form = AddProductForm(request.POST, request.FILES,instance=product)

            if form.is_valid():
                form.save()
                return render(request, 'products/product-add-successful.html')
        else:
            form = AddProductForm(instance=product)
        return render(request, 'products/product-add.html', {'form': form})
    else:
        return redirect('products_list')
Example #10
0
def products(request):
    products = Products.objects.all()
    categories = Category.objects.all()
    sub_categories = Subcategory.objects.all()

    sub = []
    for i in sub_categories:

        sub.append({
            "subcategory_name": i.subcategory_name,
            "subcategory_id": i.id,
            "category": i.category.id,
        })
    subcategory_json = json.dumps(list(sub), cls=DjangoJSONEncoder)
    form = AddProductForm()
    context = {
        "products": products,
        "form": form,
        "categories": categories,
        'sub_categories': sub_categories,
        'subcategory_json': subcategory_json
    }
    return render(request, 'application_app/home.html', context)
Example #11
0
 def get(self, request, *args, **kwargs):
     form = AddProductForm()
     context = {'form': form}
     return render(request, "main/shop_addproduct.html", context)