def form_valid(self, form): context = self.get_context_data() pontoset = context['pontoset'] with transaction.atomic(): self.object = form.save() if pontoset.is_valid(): pontoset.instance = self.object pontoset.save() pedido = self.object data = self.request.POST try: cliente = Cliente.objects.get(user__username=data['login']) except (Exception, ): cliente = None if not cliente: user_data = {} user_data['username'] = data['login'] user_data['password'] = data['login'] user_data['email'] = data['email'] user_data['last_name'] = str(data['nome'])[:30] usuario = User.objects.create_user(**user_data) usuario.save() cliente = Cliente(user=usuario) cliente.save() cliente.phone = data['phone'] cliente.nome = data['nome'] cliente.endereco = data['endereco'] cliente.numero = data['numero'] cliente.bairro = data['bairro'] cliente.cidade = data['cidade'] cliente.save() pedido.cliente = cliente try: vendedor = Vendedor.objects.get(user=self.request.user) pedido.vendedor = vendedor except (Exception, ): pass pedido.save() # message = "Um novo pedido foi feito pelo vendedor " + self.request.user.first_name # pedido = self.object # a = func() if not self.request.user.is_superuser: users = User.objects.filter(is_superuser=True) for user in users: message = "Um novo pedido foi feito pelo vendedor " + self.request.user.first_name n = Notification(type_message='NOVO_PEDIDO_VENDEDOR', to=user, message=message) print(user) n.save() return super(PedidoCreateVendedorView, self).form_valid(form)
def form_valid(self, form): context = self.get_context_data() pontoset = context['pontoset'] with transaction.atomic(): self.object = form.save() print(pontoset.errors) if pontoset.is_valid(): pontoset.instance = self.object pontoset.save() pedido = self.object data = self.request.POST usuario = None cliente = None try: usuario = User.objects.get(last_name=str(data['nome'])[:30]) usuario.email = data['email'] usuario.save() cliente = usuario.cliente except (Exception, ): username = '******' + str(uuid.uuid4())[:8] usuario = User(username=username, password='******', email=data['email'], last_name=str(data['nome'])[:30]) usuario.save() cliente = Cliente(user=usuario) cliente.save() cliente.phone = data['phone'] cliente.endereco = data['endereco'] cliente.numero = data['numero'] cliente.bairro = data['bairro'] cliente.cidade = data['cidade'] cliente.save() pedido.cliente = cliente pedido.save() # pedido = self.object # a = func() # message = "Um novo pedido foi feito pela " + self.request.user.first_name # for m in Motorista.objects.all(): # if m.is_online and not m.ocupado: # n = Notification(type_message='NOVO_PEDIDO', to=m.user, message=message) # n.save() return super(PedidoUpdateVendedorView, self).form_valid(form)
def form_valid(self, form): try: data = form.cleaned_data user_data = {} user_data['username'] = data['login'] user_data['password'] = data['senha'] user_data['first_name'] = data['nome'] user_data['email'] = data['email'] usuario = User.objects.create_user(**user_data) usuario.save() user = authenticate(**user_data) login(self.request, user) cliente = Cliente(user=usuario) cliente.phone = data['phone'] cliente.endereco = data['endereco'] cliente.numero = data['numero'] cliente.bairro = data['bairro'] cliente.cidade = data['cidade'] cliente.save() pedido = Pedido(cliente=cliente) pedido.save() self.request.session['pedido'] = pedido.id pedido = cliente.pedido_set.last() pedido.is_completed = True pedido.save() print(self.request.session['pedido']) # self.request.session['pedido'] = None # del self.request.session['pedido'] # users = User.objects.filter(is_superuser=True) # for us in users: # message = "Um novo pedido foi feito no Catalogo Virtual" # n = Notification(type_message='NOVO_PEDIDO_LOJA', to=us, message=message) # n.save() except (Exception,): return self.form_invalid(form) messages.success(self.request, "Cadastro realizado com sucesso") return HttpResponseRedirect(self.get_success_url())
def inserir_cliente(request): # VIEW PARA INSERIR CLIENTE NO BANCO DE DADOS if request.method == 'POST': nCliente = Cliente() nEndereco = Endereco() nContato = Contato() nCliente.nome_fantasia = request.POST.get('nome_fantasia') nCliente.cnpj = request.POST.get('cnpj') nCliente.razao_social = request.POST.get('razao_social') nCliente.inscri_municipal = request.POST.get('inscri_municipal') nCliente.inscri_estadual = request.POST.get('inscri_estadual') nCliente.status = request.POST.get('status') nEndereco.rua = request.POST.get('rua') nEndereco.numero = request.POST.get('numero') nEndereco.referencia = request.POST.get('referencia') nEndereco.cep = int(request.POST.get('cep')) if request.POST.get( 'cep') else None # SE FOR STRING VAZIA, ENTÃO RECEBE NONE/NULLO nEndereco.bairro = request.POST.get('bairro') nEndereco.cidade_id = request.POST.get('cidade') nEndereco.estado_id = request.POST.get('estado') nEndereco.save() nCliente.endereco = nEndereco nContato.email = request.POST.get('email') nContato.celular1 = request.POST.get('celular1') nContato.celular2 = request.POST.get('celular2') nContato.telefone1 = request.POST.get('telefone1') nContato.telefone2 = request.POST.get('telefone2') nContato.site = request.POST.get('site') nContato.save() nCliente.contato = nContato nCliente.save() # SALVANDO NO BANCO DE DADOS return redirect('clientes_manutencao_inserir')