def registrar_contacto(request): """ En esta vista se maneja el registro y validación de un contacto, dependiendo si la solicitud es POST o GET. """ if request.method == 'POST': formPozo = PozoForm(request.POST) formNumeroTelefonico = NumeroTelefonicoForm(request.POST) if not formNumeroTelefonico.has_changed(): formNumeroTelefonico = NumeroTelefonicoForm() es_vendedor = no_es_vendedor(request.user) forms = {'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} if formPozo.is_valid(): es_valido = True if formNumeroTelefonico.has_changed(): if not formNumeroTelefonico.is_valid: es_valido = False if es_valido: data = formPozo.cleaned_data nombre = data['nombre'] ubicacion = data['ubicacion'] #is_cliente = data['is_cliente'] #calificacion = data['calificacion'] #contacto = formPozo.instance cliente = data['cliente'][0] contacto = Pozo(nombre=nombre, ubicacion=ubicacion) contacto.save() print(cliente) #Pertenece(contacto=contacto, empresa=empresa, area=area).save() Pertenece(pozo=contacto, cliente=cliente).save() current_user = request.user current_vendedor = Vendedor.objects.get(user=current_user) Atiende(vendedor=current_vendedor, contacto=contacto).save() if formNumeroTelefonico.has_changed( ) and formNumeroTelefonico.is_valid(): numero_telefonico = formNumeroTelefonico.instance numero_telefonico.contacto = contacto numero_telefonico.save() return render(request, 'principal/exito.html', {'no_es_vendedor': es_vendedor}) else: formPozo = PozoForm() formNumeroTelefonico = NumeroTelefonicoForm() es_vendedor = no_es_vendedor(request.user) forms = {'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} return render(request, 'contactos/registrar_contacto.html', forms)
def registrar_contacto(request): """ En esta vista se maneja el registro y validación de un contacto, dependiendo si la solicitud es POST o GET. """ if request.method == 'POST': formPozo = PozoForm(request.POST) formNumeroTelefonico = NumeroTelefonicoForm(request.POST) if not formNumeroTelefonico.has_changed(): formNumeroTelefonico = NumeroTelefonicoForm() es_vendedor = no_es_vendedor(request.user) forms = {'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} if formPozo.is_valid(): es_valido = True if formNumeroTelefonico.has_changed(): if not formNumeroTelefonico.is_valid: es_valido = False if es_valido: data = formPozo.cleaned_data nombre = data['nombre'] apellido = data['apellido'] correo_electronico = data['correo_electronico'] empresa = data['empresa'] area = data['area'] is_cliente = data['is_cliente'] calificacion = data['calificacion'] contacto = Pozo(nombre=nombre, apellido=apellido, correo_electronico=correo_electronico, \ calificacion=calificacion, is_cliente=is_cliente) contacto.save() Pertenece(contacto=contacto, empresa=empresa, area=area).save() current_user = request.user current_vendedor = Vendedor.objects.get(user=current_user) Atiende(vendedor=current_vendedor, contacto=contacto).save() if formNumeroTelefonico.has_changed() and formNumeroTelefonico.is_valid(): numero_telefonico = formNumeroTelefonico.instance numero_telefonico.contacto = contacto numero_telefonico.save() return render(request, 'principal/exito.html', {'no_es_vendedor':es_vendedor}) else: formPozo = PozoForm() formNumeroTelefonico = NumeroTelefonicoForm() es_vendedor = no_es_vendedor(request.user) forms = {'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} return render(request, 'contactos/registrar_contacto.html', forms)
def editar_contacto(request, id_contacto): """ En esta vista se presenta la interfaz para editar la información básica de un contacto. """ contacto = Pozo.objects.get(pk=id_contacto) if request.method == 'POST': formPozo = PozoForm(request.POST) formNumeroTelefonico = NumeroTelefonicoForm(request.POST) if not formNumeroTelefonico.has_changed(): formNumeroTelefonico = NumeroTelefonicoForm() es_vendedor = no_es_vendedor(request.user) forms = {'contacto': contacto, 'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} es_valido = True if formPozo.is_valid(): if formNumeroTelefonico.has_changed(): if not formNumeroTelefonico.is_valid: es_valido = False if es_valido: data = formPozo.cleaned_data nombre = data['nombre'] apellido = data['apellido'] correo_electronico = data['correo_electronico'] empresa = data['empresa'] area = data['area'] is_cliente = data['is_cliente'] calificacion = data['calificacion'] contacto.nombre = nombre contacto.apellido = apellido contacto.correo_electronico = correo_electronico contacto.calificacion = calificacion contacto.is_cliente = is_cliente contacto.save() pertenece = Pertenece.objects.get(contacto=contacto) pertenece.empresa = empresa pertenece.area = area pertenece.save() if formNumeroTelefonico.has_changed( ) and formNumeroTelefonico.is_valid(): numeros_tels = NumeroTelefonico.objects.get( contacto=contacto) tel_data = formNumeroTelefonico.cleaned_data numero = tel_data['numero'] tipo_numero = tel_data['tipo_numero'] numeros_tels.numero = numero numeros_tels.tipo_numero = tipo_numero numeros_tels.save() return render(request, 'principal/exito.html', {'no_es_vendedor': es_vendedor}) else: contacto = Pozo.objects.get(id=id_contacto) data_formPozo = {} data_formPozo['nombre'] = contacto.nombre data_formPozo['apellido'] = contacto.apellido pertenece = Pertenece.objects.filter(contacto=contacto) pertenece = pertenece[len(pertenece) - 1] empresa = pertenece.empresa data_formPozo['empresa'] = empresa.pk data_formPozo['area'] = pertenece.area.pk data_formPozo['correo_electronico'] = contacto.correo_electronico data_formPozo['calificacion'] = contacto.calificacion data_formPozo['is_cliente'] = contacto.is_cliente numeros_tels = NumeroTelefonico.objects.get(contacto=contacto) data_formTelefono = {} data_formTelefono['numero'] = numeros_tels.numero data_formTelefono['tipo_numero'] = numeros_tels.tipo_numero formPozo = PozoForm(data_formPozo) formNumeroTelefonico = NumeroTelefonicoForm(data_formTelefono) #formPozo['correo_electronico'] = contacto.correo_electronico #formPozo['calificacion'] = contacto.calificacion.pk es_vendedor = no_es_vendedor(request.user) forms = {'contacto': contacto,'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} return render(request, 'contactos/editar_contacto.html', forms)
def editar_contacto(request, id_contacto): """ En esta vista se presenta la interfaz para editar la información básica de un contacto. """ contacto = Pozo.objects.get(pk=id_contacto) if request.method == 'POST': formPozo = PozoForm(request.POST) formNumeroTelefonico = NumeroTelefonicoForm(request.POST) if not formNumeroTelefonico.has_changed(): formNumeroTelefonico = NumeroTelefonicoForm() es_vendedor = no_es_vendedor(request.user) forms = {'contacto': contacto, 'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} es_valido = True if formPozo.is_valid(): if formNumeroTelefonico.has_changed(): if not formNumeroTelefonico.is_valid: es_valido = False if es_valido: data = formPozo.cleaned_data nombre = data['nombre'] apellido = data['apellido'] correo_electronico = data['correo_electronico'] empresa = data['empresa'] area = data['area'] is_cliente = data['is_cliente'] calificacion = data['calificacion'] contacto.nombre = nombre contacto.apellido = apellido contacto.correo_electronico = correo_electronico contacto.calificacion = calificacion contacto.is_cliente = is_cliente contacto.save() pertenece = Pertenece.objects.get(contacto=contacto) pertenece.empresa = empresa pertenece.area = area pertenece.save() if formNumeroTelefonico.has_changed() and formNumeroTelefonico.is_valid(): numeros_tels = NumeroTelefonico.objects.get(contacto=contacto) tel_data = formNumeroTelefonico.cleaned_data numero = tel_data['numero'] tipo_numero = tel_data['tipo_numero'] numeros_tels.numero = numero numeros_tels.tipo_numero = tipo_numero numeros_tels.save() return render(request, 'principal/exito.html', {'no_es_vendedor':es_vendedor}) else: contacto = Pozo.objects.get(id=id_contacto) data_formPozo = {} data_formPozo['nombre'] = contacto.nombre data_formPozo['apellido'] = contacto.apellido pertenece = Pertenece.objects.filter(contacto=contacto) pertenece = pertenece[len(pertenece) - 1] empresa = pertenece.empresa data_formPozo['empresa'] = empresa.pk data_formPozo['area'] = pertenece.area.pk data_formPozo['correo_electronico'] = contacto.correo_electronico data_formPozo['calificacion'] = contacto.calificacion data_formPozo['is_cliente'] = contacto.is_cliente numeros_tels = NumeroTelefonico.objects.get(contacto=contacto) data_formTelefono = {} data_formTelefono['numero'] = numeros_tels.numero data_formTelefono['tipo_numero'] = numeros_tels.tipo_numero formPozo = PozoForm(data_formPozo) formNumeroTelefonico = NumeroTelefonicoForm(data_formTelefono) #formPozo['correo_electronico'] = contacto.correo_electronico #formPozo['calificacion'] = contacto.calificacion.pk es_vendedor = no_es_vendedor(request.user) forms = {'contacto': contacto,'formPozo':formPozo, 'formNumeroTelefonico':formNumeroTelefonico, \ 'no_es_vendedor':es_vendedor} return render(request, 'contactos/editar_contacto.html', forms)