def produtos(request): productList = Produto.objects.all() clientList = Cliente.objects.all() crawl() drawings = Draft.objects.all() erros = [] retornoAdd = False form = ProdutoForm() if request.POST: d = Draft.objects.all().filter(id=request.POST.get('foto',0)) if d: p = Produto(foto=d[0].photo) form = ProdutoForm(request.POST, instance=p) else: form = ProdutoForm(request.POST) print form.is_valid() if form.is_valid(): form.save() form = ProdutoForm() else: print form.errors retornoAdd = True return render(request,'produtos.html',{"productList": productList, "clienteList" : clientList, 'drawings': drawings, 'erros': erros, 'retornoAdd' : retornoAdd,'form':form})
def add_product(request): #Se o usuario adicionou um novo produto erros = [] retornoAdd = False form = ProdutoForm() if request.POST: d = Draft.objects.all().filter(id=request.POST.get('foto',0)) if d: p = Produto(foto=d[0].photo) form = ProdutoForm(request.POST, instance=p) else: form = ProdutoForm(request.POST) print form.is_valid() if form.is_valid(): form.save() form = ProdutoForm() else: print form.errors retornoAdd = True #template = loader.get_template('pedidos.html') #html = template.render(Context({'pedidoAbertoList': pedidosAbertos, 'pedidoFechadoList': pedidosFechados, 'clienteList': clienteLista, 'drawings': drawings, 'erros': erros, 'retornoAdd' : retornoAdd})) #return HttpResponse(html) productList = Produto.objects.all() clientList = Cliente.objects.all() drawings = Draft.objects.all() return render(request,'produtos.html',{"productList": productList, "clienteList" : clientList, 'drawings': drawings, 'erros': erros, 'retornoAdd' : retornoAdd,'form':form})
def cadastraProduto(request): if request.POST: idProduto = request.session.get('produtoEditado') print('idProduto na sessão = ' + str(idProduto)) if idProduto: produto = get_object_or_404(Produto, pk=idProduto) produtoForm = ProdutoForm(request.POST, instance=produto) else: produtoForm = ProdutoForm(request.POST) if produtoForm.is_valid(): print("form válido") produto = produtoForm.save(commit=False) produto.save() if idProduto: messages.add_message(request, messages.SUCCESS, 'Produto alterado com sucesso!') del request.session['produtoEditado'] else: messages.add_message(request, messages.SUCCESS, 'Produto cadastrado com sucesso!') return redirect(produto.getAbsoluteUrl()) else: try: del request.session['produtoEditado'] except KeyError: pass produtoForm = ProdutoForm() return render(request, 'produto/cadastroProduto.html', {'form': produtoForm})
def criar_produto(request): if request.POST: produto_id = request.POST.get('produto_id') if produto_id: produto = get_object_or_404(Produto, pk=produto_id) produto_form = ProdutoForm(request.POST, request.FILES, instance=produto) else: produto_form = ProdutoForm(request.POST, request.FILES) if produto_form.is_valid(): produto = produto_form.save(commit=False) if produto_id: messages.add_message(request, messages.INFO, 'Produto alterado com sucesso!') else: produto.slug = slugify(produto.nome) produto.user = request.user messages.add_message(request, messages.INFO, 'Produto cadastrado com sucesso!') produto.save() return redirect('produto', id=produto.id, slug_produto=produto.slug) else: messages.add_message(request, messages.ERROR, 'Corrija o(s) erro(s) abaixo.') else: produto_form = ProdutoForm() return render(request, 'administracao/criar-produto.html', {'form': produto_form})
def produto_form(request, pk): p = Produto() foto_main = None form = ProdutoForm() if pk != '0': p = Produto.objects.get(pk=pk) try: foto_main = FotoProduto.objects.filter(produto=p, principal=True)[0:1].get() except: foto_main = None form = ProdutoForm(instance=p) if request.method == 'POST': if pk != '0': form = ProdutoForm(request.POST, request.FILES, instance=p) else: form = ProdutoForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('produtos') return render_to_response('_base.html', { 'form': form, 'produto': p, 'foto_main': foto_main, 'template': 'produto_form.html', 'titulo_form': 'Cadastro de Veiculo', 'button_cancel': '/produtos/' }, context_instance=RequestContext(request))
def cadastra_produto(request): if request.POST: produto_id = request.POST.get('produto_id') if produto_id: produto = get_object_or_404(Produto, pk=produto_id) produto_form = ProdutoForm(request.POST, instance=produto) else: produto_form = ProdutoForm(request.POST) if produto_form.is_valid(): produto = produto_form.save() if produto_id: messages.add_message(request, messages.INFO, 'Produto alterado com sucesso!') else: messages.add_message(request, messages.INFO, 'Produto cadastrado com sucesso!') return redirect('produto:exibe_produto', id=produto.id) else: messages.add_message(request, messages.ERROR, 'Corrija o(s) erro(s) abaixo.') else: produto_form = ProdutoForm() return render(request, 'produto/cadastra_produto.html', {'form': produto_form})
def produto(request): if request.method == 'POST': form = ProdutoForm(request.POST) if form.is_valid(): form.save() return redirect('produto') else: form = ProdutoForm() return render(request, 'core/produtos.html',{'form':form})
def listar (request): if request.method == 'POST': form = ProdutoForm(request.POST) if form.is_valid(): form.save() produtos = Produto.objects.all() template = loader.get_template('produto/listar.html') context = {'produtos':produtos} return HttpResponse(template.render(context,request))
def add_product(request): #Se o usuario adicionou um novo produto erros = [] retornoAdd = False form = ProdutoForm() if request.POST: d = Draft.objects.all().filter(id=request.POST.get('foto', 0)) if d: p = Produto(foto=d[0].photo) form = ProdutoForm(request.POST, instance=p) else: form = ProdutoForm(request.POST) print form.is_valid() if form.is_valid(): form.save() form = ProdutoForm() else: print form.errors retornoAdd = True #template = loader.get_template('pedidos.html') #html = template.render(Context({'pedidoAbertoList': pedidosAbertos, 'pedidoFechadoList': pedidosFechados, 'clienteList': clienteLista, 'drawings': drawings, 'erros': erros, 'retornoAdd' : retornoAdd})) #return HttpResponse(html) productList = Produto.objects.all() clientList = Cliente.objects.all() drawings = Draft.objects.all() return render( request, 'produtos.html', { "productList": productList, "clienteList": clientList, 'drawings': drawings, 'erros': erros, 'retornoAdd': retornoAdd, 'form': form })
def validar(request): if request.method == 'POST': form = ProdutoForm(request.POST) if form.is_valid(): produto = Produto(**form.cleaned_data) produto.save() produto = Produto.objects.all() return render(request, 'validar.html',{'form':form, 'produto':produto})
def cadastrar (request): if request.method == 'POST': form = ProdutoForm(request.POST) if form.is_valid(): form.save() return listar(request) else: form = ProdutoForm() template = loader.get_template('produto/cadastrar.html') context = {'form' : form} return HttpResponse(template.render(context,request))
def produtos(request): productList = Produto.objects.all() clientList = Cliente.objects.all() crawl() drawings = Draft.objects.all() erros = [] retornoAdd = False form = ProdutoForm() if request.POST: d = Draft.objects.all().filter(id=request.POST.get('foto', 0)) if d: p = Produto(foto=d[0].photo) form = ProdutoForm(request.POST, instance=p) else: form = ProdutoForm(request.POST) print form.is_valid() if form.is_valid(): form.save() form = ProdutoForm() else: print form.errors retornoAdd = True return render( request, 'produtos.html', { "productList": productList, "clienteList": clientList, 'drawings': drawings, 'erros': erros, 'retornoAdd': retornoAdd, 'form': form })
def cadastra_produto(request): if request.method == "POST": form = ProdutoForm(request.POST) if form.is_valid(): produto = form.save(commit=False) produto.user = request.user produto.save() lista_de_produtos = [] lista_de_produtos.append(produto) resultado = Produto.objects.filter(disponivel=True).aggregate( valor_do_estoque=Sum(F('estoque') * F('preco'), output_field=FloatField())) if resultado['valor_do_estoque']: valor_do_estoque = '{0:.2f}'.format( resultado['valor_do_estoque']) else: valor_do_estoque = '0,00' return render( request, 'produto/lista_de_produtos.html', { 'produtos': lista_de_produtos, 'valor_do_estoque': valor_do_estoque }) else: form = ProdutoForm() produtos = Produto.objects.all() valor_do_estoque = 0 ids_dos_produtos = [] for produto in produtos: valor_do_estoque = valor_do_estoque + produto.preco * produto.estoque ids_dos_produtos.append(produto.id) return render( request, 'produto/cadastra_produto.html', { 'form': form, 'produtos': produtos, 'valor_do_estoque': valor_do_estoque, 'ids_dos_produtos': ids_dos_produtos })
def cadastra_produto(request): if request.POST: produto_id = request.session.get('produto_id') print('produto_id na sessão = ' + str(produto_id)) if produto_id: produto = get_object_or_404(Produto, pk=produto_id) produto_form = ProdutoForm(request.POST, request.FILES, instance=produto) else: produto_form = ProdutoForm(request.POST, request.FILES) if produto_form.is_valid(): produto = produto_form.save(commit=False) produto.slug = slugify(produto.nome) produto.save() if produto_id: messages.add_message(request, messages.INFO, 'Produto alterado com sucesso!') del request.session['produto_id'] else: messages.add_message(request, messages.INFO, 'Produto cadastrado com sucesso!') return redirect('produto:exibe_produto', id=produto.id) else: # if 'produto_id' in request.session: # del request.session['produto_id'] try: del request.session['produto_id'] except KeyError: pass produto_form = ProdutoForm() return render(request, 'produto/cadastra_produto.html', {'form': produto_form})
def cadastra_produto(request): produto_id = request.POST.get('id') print(produto_id) form = ProdutoForm(request.POST) if request.method == "POST": if produto_id: produto = get_object_or_404(Produto, pk=produto_id) # Como se trata de uma alteração, o objeto ProdutoForm é instanciado utilizando # os dados provenientes do banco de dados (instance=produto) e, em seguida, # essas informações são atualizadas utilizando os dados submetidos pelo usuário (request.POST). form_produto = ProdutoForm(request.POST, instance=produto) if form_produto.is_valid(): # O método save() de ModelForm salva o produto (inclui ou altera) no banco de dados e retorna # um objeto do tipo Produto. produto = form_produto.save() # Se a variável produto_id for diferente de None então trata-se de uma alteração messages.add_message(request, messages.INFO, 'Produto Alterado com sucesso.') return redirect('produto:cadastra_produto') else: form = ProdutoForm(request.POST) acao = 'inclusao' form_produto = ProdutoForm(request.POST) print("GRETCHEN") # A linha de código abaixo testa se os dados constantes do form estão corretos. # As regras de validação foram definidas no form (ProdutoForm). Os campos categoria, nome, preco e # data_cadastro são de preenchimento obrigatório (required=True). E o campo preco deve obedecer a # uma expressão regular (veja em ProdutoForm) # Observe que o comando if abaixo não possui o "else". Caso ocorra um erro de validação a página # cadastra_produto.html será exibida novamente juntamente com as mensagens de erro. if form_produto.is_valid(): # O método save() de ModelForm salva o produto (inclui ou altera) no banco de dados e retorna # um objeto do tipo Produto. print("bpoquete") produto = form_produto.save() # Se a variável produto_id for diferente de None então trata-se de uma alteração messages.add_message(request, messages.INFO, 'Produto cadastrado com sucesso.') return redirect('produto:cadastra_produto') else: form = ProdutoForm() produtos = Produto.objects.all() lista_de_produtos = [] valor_do_estoque = 0 ids_dos_produtos = [] for produto in produtos: valor_do_estoque = valor_do_estoque + produto.preco * produto.estoque ids_dos_produtos.append(produto.id) lista_de_produtos.append({ 'produto': produto, 'form': AtualizaProdutoForm(initial={'estoque': produto.estoque}) }) return render( request, 'produto/cadastra_produto.html', { 'form': form, 'lista_de_produtos': lista_de_produtos, 'ids_dos_produtos': ids_dos_produtos, 'valor_do_estoque': valor_do_estoque })