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())