コード例 #1
0
ファイル: views.py プロジェクト: nicysneiros/gac
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})
コード例 #2
0
ファイル: views.py プロジェクト: nicysneiros/gac
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})
コード例 #3
0
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})
コード例 #4
0
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})
コード例 #5
0
ファイル: views.py プロジェクト: diegolirio/vendas
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))
コード例 #6
0
ファイル: views.py プロジェクト: eeckhardt/DevWebTCC00226
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})
コード例 #7
0
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})
コード例 #8
0
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))
コード例 #9
0
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
        })
コード例 #10
0
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})
コード例 #11
0
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))
コード例 #12
0
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
        })
コード例 #13
0
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
        })
コード例 #14
0
ファイル: views.py プロジェクト: FBMLJ/web
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})
コード例 #15
0
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
        })