Exemplo n.º 1
0
    def post(request):

        form = CSVUploadForm(request.POST, request.FILES)

        if form.errors:
            messages.add_message(request, messages.INFO,
                                 dict(form.errors.items()))

        if form.is_valid():

            form_data = TextIOWrapper(form.cleaned_data.get('csv'),
                                      encoding='utf-8')
            try:
                csv_file = csv.reader(form_data)
                next(csv_file)
                add_product = []
                for c in csv_file:
                    already_product = Product.get_by_jan_code(c[4])
                    if already_product is None:
                        add_product.append(
                            Product(
                                product_name=c[1],
                                brand=c[0],
                                model_number=c[2],
                                category=ProductCategory.get_by_name(c[3]),
                                jan_code=c[4],
                            ))

                Product.objects.bulk_create(add_product)

            except:
                products = Product.get_all()
                return TemplateResponse(
                    request, 'products.html', {
                        'products': products,
                        'error_messages': get_error_message(request),
                    })

        return HttpResponseRedirect('/admin/products')
Exemplo n.º 2
0
 def get(request):
     products = Product.get_all()
     return TemplateResponse(request, 'products.html', {
         'products': products,
         'error_messages': {}
     })