import datetime

from django.contrib import messages
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt

from Consultas.models import Extenos
from Index.models import Archivos
from Oficios.models import TipoDocumento, Siglas, Documento
from TransitoApp.snnipers import render_to_pdf


# Create your views here.
def secuencias(request):
    if request.POST:
        print(request.POST)
        Siglas.objects.create(
            usuario=request.user,
            tipo_id=request.POST.get('documento'),
            nomenclatura=request.POST.get('nomenclatura'),
            secuencia=request.POST.get('secuencia')
        ).save()
        messages.add_message(request,messages.SUCCESS,"El registro se ha creado exitosamente..!")
    contexto={
        'consultas': Extenos.objects.all(),
        'documentos': TipoDocumento.objects.all(),
        'siglas':Siglas.objects.filter(usuario=request.user),

    }
    return render(request,'sec_documentos.html',contexto)

def documentos(request):
    doc=""
    documento = None
    if request.GET.get('numero'):
        documento = Documento.objects.get(id=request.GET.get('numero'))
    if request.GET.get('id'):
        doc=Siglas.objects.filter(usuario=request.user, tipo_id=request.GET.get('id')).last()
    if request.POST:
        if request.GET.get('numero'):
            documento = Documento.objects.get(id=request.GET.get('numero'))
        else:
            documento=Documento()
            documento.fecha=datetime.datetime.now().date()
        if request.GET.get('numero'):
            documento=Documento.objects.get(id=request.GET.get('numero'))
        documento.usuario=request.user
        documento.siglas=doc
        documento.de=request.user.get_full_name()
        documento.para=request.POST.get('para')
        documento.numero=request.POST.get('numero')
        documento.asunto=request.POST.get('asunto')
        documento.cuerpo=request.POST.get('cuerpo')
        documento.cargo = request.POST.get('cargo')
        documento.save()
        messages.add_message(request,messages.SUCCESS,"Registro creado exitosamente..!")
        return HttpResponseRedirect('docs?id=%s&numero=%s'%(request.GET.get('id'),documento.id))
    contexto={
        'documentos': TipoDocumento.objects.all(),
        'siglas': Siglas.objects.filter(usuario=request.user),
        'doc':doc,
        'secuencia':Documento.objects.filter(usuario=request.user, siglas=doc).count()+doc.secuencia+1,
        'documento':documento,
        'consultas': Extenos.objects.all(),
    }
    return render(request,'documentos.html',contexto)

def _documento(request):
    document=Documento.objects.filter(usuario=request.user)
    if request.GET.get('numero'):
        documento=Documento.objects.get(id=request.GET.get('numero'))
        return render_to_pdf('d_impresion.html', {'documento':documento})

    contexto={
        'consultas': Extenos.objects.all(),
        'documentos': TipoDocumento.objects.all(),
        'siglas': Siglas.objects.filter(usuario=request.user),
        'documents': document,
    }
    return render(request,'todo_docs.html',contexto)