118 lines
4.7 KiB
Python
118 lines
4.7 KiB
Python
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'] |