from django.db import models from django.contrib.auth.models import User import os from tinymce import models as tinymce_models from model_utils import Choices # Create your models here. class area(models.Model): nombre = models.CharField(max_length=250, null=False, unique=True, verbose_name='Nombre') ib = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Asignado IB') def __str__(self): return self.nombre class Meta: verbose_name = 'Area' verbose_name_plural = 'Areas' ordering = ['nombre'] class equipo(models.Model): nombre = models.CharField(max_length=250, null=False, unique=True, verbose_name='Nombre') def __str__(self): return self.nombre class Meta: verbose_name = 'Tipo de Equipo' verbose_name_plural = 'Tipo de Equipos' ordering = ['nombre'] class marca(models.Model): nombre = models.CharField(max_length=250, null=False, unique=True, verbose_name='Nombre') def __str__(self): return self.nombre class Meta: verbose_name = 'Marca' verbose_name_plural = 'Marcas' ordering = ['nombre'] class ubicacion(models.Model): nombre = models.CharField(max_length=200, null=False, unique=True, verbose_name='Nombre') def __str__(self): return self.nombre class Meta: verbose_name = 'Ubicacion' verbose_name_plural = 'Ubicacion' ordering = ['nombre'] class pieza(models.Model): STATUS = Choices('Nuevo', 'Usado') usuario = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) n_pedido = models.CharField(max_length=200, null=True, blank=True, verbose_name='No. Pedido', default=' ') referencia = models.CharField(max_length=200, unique=True, null=False, verbose_name='Referencia') equipo = models.ForeignKey(equipo, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Equipo') descripcion_etiqueta = tinymce_models.HTMLField(null=True, verbose_name='Descripción de Etiqueta') descripcion_pieza = tinymce_models.HTMLField(null=True, verbose_name='Descripción de la Pieza') marca = models.ForeignKey(marca, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Marca') estatus = models.CharField(choices=STATUS, default=STATUS.Nuevo, max_length=20, verbose_name='Estatus') ubicacion = models.ForeignKey(ubicacion, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Ubicacion') cantidad = models.IntegerField(null=True, blank=True, default=0, verbose_name='Cantidad') fecha_alta = models.DateField(auto_now_add=True, verbose_name='Fecha alta') fecha_actualizacion = models.DateField(auto_now=True, verbose_name='Fecha de Actualización') Column1 = models.CharField(max_length=100, null=True, blank=True, verbose_name='Column1', default=' ') def delete(self, *args, **kwargs): if os.path.isfile(self.imagen.path): os.remove(self.imagen.path) super(pieza, self).delete(*args, **kwargs) def __str__(self): return self.referencia class Meta: verbose_name = 'pieza' verbose_name_plural = 'piezas' ordering = ['ubicacion'] class rentrada(models.Model): usuario = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) autor = models.CharField(max_length=250, null=True, blank=True) n_pedido = models.CharField(max_length=200, null=True, blank=True, verbose_name='No. Pedido') referencia = models.ForeignKey(pieza, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Referencia') cantidad = models.IntegerField(verbose_name='Cantidad') fecha_alta = models.DateField(auto_now_add=True, verbose_name='Fecha Entrada') def __str__(self): return self.referencia class Meta: verbose_name = 'Entrada' verbose_name_plural = 'Entradas' ordering = ['-id'] class rsalida(models.Model): usuario = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) autor = models.CharField(max_length=250, null=True, blank=True) referencia = models.ForeignKey(pieza, on_delete=models.CASCADE, null=False, blank=False, verbose_name='Referencia') cantidad = models.IntegerField(verbose_name='Cantidad') fecha_alta = models.DateField(auto_now_add=True, verbose_name='Fecha alta') def delete(self, *args, **kwargs): if os.path.isfile(self.imagen.path): os.remove(self.imagen.path) super(pieza, self).delete(*args, **kwargs) def __str__(self): return self.referencia class Meta: verbose_name = 'Salida' verbose_name_plural = 'Salidas' ordering = ['-id']