from django.db import models
import datetime

from TransitoApp.snnipers import qr_generador


# Create your models here.
class GestorAutorizado(models.Model):
    numero=models.CharField(max_length=60,null=True,blank=True)
    nombres=models.CharField(max_length=60)
    apellidos=models.CharField(max_length=60)
    cedula=models.CharField(max_length=13)
    concesionario=models.CharField(max_length=60)
    ruc_empresa=models.CharField(max_length=13)
    canton=models.CharField(max_length=60)
    fecha_emision=models.DateField()
    fecha_caducidad=models.DateField()
    codigo_qr=models.ImageField(upload_to='gestor',null=True,blank=True)
    costo=models.DecimalField(default=0, decimal_places=2, max_digits=9)

    def save(
        self, force_insert=False, force_update=False, using=None, update_fields=None
    ):
        cadenafecha = str(datetime.datetime.now().date().day) + str(datetime.datetime.now().date().month) + str(
            datetime.datetime.now().date().year)
        contador=GestorAutorizado.objects.filter(fecha_emision__year=datetime.datetime.now().year).count()+1
        if not self.numero:
            self.numero="NO. %s-GA-007-%s-EPMTG"%(str.zfill(str(contador),3),datetime.datetime.now().year)
        self.nombres=self.nombres.upper()
        self.apellidos=self.apellidos.upper()
        self.concesionario=self.concesionario.upper()
        self.canton=self.canton.upper()

        if not self.codigo_qr:
            self.codigo_qr = "gestor/%s_%s.png" % (cadenafecha, self.cedula)
            qr_generador(nombres=self.nombres,apellidos=self.apellidos,cedula=self.cedula)
        super(GestorAutorizado,self).save()
