Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)