from django.http import HttpResponse
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render
from ClientesApp.models import Clientes
from django.template.loader import render_to_string
from django.contrib.auth.decorators import login_required
from django.contrib import messages


# Create your views here.

# 1.  Cargar la pagina con la informacion del perfil del cliente
@login_required(login_url='/acceder/acceder/')
def clientes(request):
    
    
    #importar los datos del cliente que se encuentra registrado
    
    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except: cliente_registrado ="no_registrado"
   
    
    return render(request, 'ClientesApp/perfil_cliente.html', {"cliente_registrado": cliente_registrado})


# 2. Cargar la pagina para actulizar la informacion del telefono secundario
@login_required(login_url='/acceder/acceder/')
def editar_telefono_2(request):
    
    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"
    
    return render(request, "ClientesApp/telefono2_edit.html", {"cliente_registrado": cliente_registrado})
 
    
    # 2.1 Actualizacion la informacion del telefono secundario en la base de datos
@login_required(login_url='/acceder/acceder/')
def actualizar_telefono_2(request):
    user =request.user
    if request.method == 'GET':
        telefono2_act = request.GET['telefono2_act']
        try:
            Clientes.objects.filter(user=user).update(telefono2=telefono2_act)

            t = {'telefono2_act': telefono2_act }
            return JsonResponse({"data": t})
        
        except:
            return JsonResponse('')
        



# 3. Cargar la pagina para actulizar la informacion de la direccion de envio
@login_required(login_url='/acceder/acceder/')
def editar_direccion_envio(request):
    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"

    return render(request, "ClientesApp/direccion_envio_edit.html", {"cliente_registrado": cliente_registrado})



    # 3.1 Actualizacion la informacion de la direccion de envio
@login_required(login_url='/acceder/acceder/')
def actualizar_direccion_envio(request):
    
    user = request.user
    
    if request.method == 'GET':
        direccion_envio_act = request.GET['direccion_envio_act']
        try:
            Clientes.objects.filter(user=user).update(direccion_envio=direccion_envio_act)

            t = {'direccion_envio_act': direccion_envio_act}
            return JsonResponse({"data": t})

        except:
            return JsonResponse('')


# 4. Cargar la pagina para actulizar la informacion de la direccion fiscal.
@login_required(login_url='/acceder/acceder/')
def editar_direccion_fiscal(request):
    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"

    return render(request, "ClientesApp/direccion_fiscal_edit.html", {"cliente_registrado": cliente_registrado})

  # 4.1 Actualizacion la informacion de la direccion de envio
@login_required(login_url='/acceder/acceder/')
def actualizar_direccion_fiscal(request):
    
    user = request.user
    
    if request.method == 'GET':
        direccion_fiscal_act = request.GET['direccion_fiscal_act']
        try:
            Clientes.objects.filter(user=user).update(direccion_fiscal=direccion_fiscal_act)

            t = {'direccion_fiscal_act': direccion_fiscal_act}
            return JsonResponse({"data": t})

        except:
            return JsonResponse('')
        

# 5. Cargar la pagina para actulizar la informacion del telefono principal
@login_required(login_url='/acceder/acceder/')
def editar_telefono(request):

    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"

    return render(request, "ClientesApp/telefono_edit.html", {"cliente_registrado": cliente_registrado})


    # 5.1 Actualizacion la informacion del telefono principal en la base de datos
@login_required(login_url='/acceder/acceder/')
def actualizar_telefono(request):
    
    user = request.user
    
    if request.method == 'GET':
        telefono_act = request.GET['telefono_act']
        
        try:
            Clientes.objects.filter(user=user).update(telefono1=telefono_act)

            t = {'telefono_act': telefono_act}
            return JsonResponse({"data": t})

        except:
            return JsonResponse('')
        

# 6. Cargar la pagina para actulizar la informacion del RIF de la empresa
@login_required(login_url='/acceder/acceder/')
def editar_rif(request):

    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"

    return render(request, "ClientesApp/rif_edit.html", {"cliente_registrado": cliente_registrado})

    # 6.1 Actualizacion la informacion del RIF de la empresa
@login_required(login_url='/acceder/acceder/')
def actualizar_rif(request):

    user = request.user

    if request.method == 'GET':
        rif_act = request.GET['rif_act']
        rif_tipo = request.GET['rif_tipo']
        
        rif_act_t = rif_tipo + rif_act

        try:
            Clientes.objects.filter(user=user).update(rif=rif_act_t)

            t = {'rif_act_t': rif_act_t}
            return JsonResponse({"data": t})

        except:
            return JsonResponse('')

# 7. Cargar la pagina para actulizar la informacion del ID del cliente
@login_required(login_url='/acceder/acceder/')
def editar_id(request):

    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"

    return render(request, "ClientesApp/id_edit.html", {"cliente_registrado": cliente_registrado})


   # 7.1 Actualizacion la informacion del ID del cliente
@login_required(login_url='/acceder/acceder/')
def actualizar_id(request):

    user = request.user

    if request.method == 'GET':
        id_act = request.GET['id_act']
        id_tipo = request.GET['id_tipo']

        id_act_t = id_tipo + id_act

        try:
            Clientes.objects.filter(user=user).update(cedula=id_act_t)

            t = {'id_act_t': id_act_t}
            return JsonResponse({"data": t})

        except:
            return JsonResponse('')

# 8. Cargar la pagina para actulizar la informacion del nombre de la empresa
@login_required(login_url='/acceder/acceder/')
def editar_cliente(request):

    #importar los datos del cliente que se encuentra registrado

    try:
        cliente_registrado = Clientes.objects.get(user=request.user)
    except:
        cliente_registrado = "no_registrado"

    return render(request, "ClientesApp/cliente_edit.html", {"cliente_registrado": cliente_registrado})

   
   # 8.1 Actualizacion la informacion del nombre de la empresa.
@login_required(login_url='/acceder/acceder/')
def actualizar_cliente(request):

    user = request.user

    if request.method == 'GET':
        cliente_act = request.GET['cliente_act']

        try:
            Clientes.objects.filter(user=user).update(cliente=cliente_act)

            t = {'cliente_act': cliente_act}
            return JsonResponse({"data": t})

        except:
            return JsonResponse('')
