Exemplo n.º 1
0
    def _add_produto(self):
        produto = get_object_or_404(
            Produto, codigo=self.request.POST['produto_id'])

        if not produto.estoque:
            return {
                'added': False,
                "error": (
                    u"Não é possivel adicionar item com o estoque zerado"
                    u" na consignação"
                ),
            }
        consignacao = self.get_consignacao()

        estoque_item = EstoqueItem.transaction(
            3, produto, 1, consignacao.pasta, user=self.request.user,
        )

        obj = ConsignacaoItem()
        obj.produto = produto
        obj.consignacao = consignacao
        obj.estoque_item = estoque_item
        obj.save()

        return {'added': True}
Exemplo n.º 2
0
    def _add_produto(self):
        produto = get_object_or_404(
            Produto, codigo=self.request.POST['produto_id'])
        pedido = self.get_pedido()

        estoque_item = EstoqueItem.transaction(6, produto, 1,
                                               user=self.request.user,)
        obj = PedidoItem()
        obj.produto = produto
        obj.pedido = pedido
        obj.estoque_item = estoque_item
        obj.save()

        return {'added': True}
Exemplo n.º 3
0
    def save(self, *args, **kwargs):
        for item in self.instance.items:
            item.vendido = self.cleaned_data["item_%d" % item.id]

            if item.vendido:
                op = 5  # Produto foi vendido pela consignação
            else:
                op = 4  # Produto voltou de uma consignação

            item.estoque_item = EstoqueItem.transaction(op, item.produto, 1, pasta=self.instance.pasta, user=self.user)

            item.save()

        self.instance.status = "f"

        self.instance.pasta.status = "d"
        self.instance.pasta.save()

        self.instance.save()

        return self.instance