from django.db import models
from Models.oportunidad_de_venta_model import OportunidadDeVenta
from Models.Empresa import Empresa
from Models.contacto_model import Contacto
from api_login.models import Usuario
from Models.tipo_incidencia_model import TipoIncidencia
from Models.estado_incidencia_model import EstadoIncidencia

class Incidencia(models.Model):
    id = models.AutoField(primary_key=True)
    titulo = models.CharField(max_length=255)
    descripcion = models.TextField(blank=True, null=True)
    empresa = models.ForeignKey(Empresa, models.DO_NOTHING, blank=True, null=True)
    contacto = models.ForeignKey(Contacto, models.DO_NOTHING, blank=True, null=True)
    usuario = models.ForeignKey(Usuario, models.DO_NOTHING, blank=True, null=True)
    tipo_incidencia = models.ForeignKey(TipoIncidencia, models.DO_NOTHING, blank=True, null=True, db_column='tipo_incidencia_id')
    estado_incidencia = models.ForeignKey(EstadoIncidencia, models.DO_NOTHING, blank=True, null=True, db_column='estado_incidencia_id')
    oportunidad = models.ForeignKey(OportunidadDeVenta, models.CASCADE, blank=True, null=True, db_column='oportunidad_de_venta_id', related_name='incidencias')
    fecha_creacion = models.DateTimeField(blank=True, null=True, auto_now_add=True)
    fecha_ultima_actualizacion = models.DateTimeField(blank=True, null=True, auto_now=True)
    
    class Meta:
        managed = True
        db_table = 'incidencia'

    def __str__(self):
        return f"{self.id} - {self.titulo}"
