# encoding:utf-8 import os from django.db import models # Create your models here. opcionnumero = (('AVERIGUACION PREVIA', 'AVERIGUACION PREVIA'), ('EXPEDIENTE', 'EXPEDIENTE'), ('CARPETA DE INVESTIGACION', 'CARPETA DE INVESTIGACIÓN'),('FOLIO', 'FOLIO')) opcionpropietario = (('PROPIETARIO', 'PROPIETARIO'), ('APODERADO', 'APODERADO'), ('AUTORIZADO', 'AUTORIZADO'), ('DEPOSITARIA', 'DEPOSITARIA'), ('DEPOSITARIO', 'DEPOSITARIO'),) class Autoridad(models.Model): autoridad = models.CharField("Autoridad", max_length=100, help_text='Ingrese la autoridad que remite') def __unicode__(self): return unicode(self.autoridad) class Meta: verbose_name_plural = 'Autoridades' class Persona(models.Model): nombre = models.CharField("Nombre", max_length=50, help_text='Ingrese su nombre') apellidopaterno = models.CharField("Apellido Paterno", max_length=50, help_text='Ingrese su apellido paterno') apellidomaterno = models.CharField("Apellido Materno", max_length=50, help_text='Ingrese su apellido materno') cargo = models.CharField("Cargo o Puesto", max_length=250, help_text='Ingrese su cargo dentro de la dependencia') dependencia = models.ForeignKey(Autoridad) estatus = models.BooleanField(default=True) def __unicode__(self): return u'%s %s %s' % (self.nombre, self.apellidopaterno, self.apellidomaterno) class Meta: verbose_name_plural = 'Personas' class CalidadBien(models.Model): calidad_bien = models.CharField("Calidad del Bien", max_length=50, help_text='Ingrese la calidad del bien') def __unicode__(self): return unicode(self.calidad_bien) class Meta: verbose_name_plural = 'calidad bien' class TipoBien(models.Model): tipo_bien = models.CharField("Tipo de Bien", max_length=50, help_text='Ingrese el tipo de bien') def __unicode__(self): return unicode(self.tipo_bien) class Meta: verbose_name_plural = 'tipo bien' class Enlace(models.Model): texto = models.CharField(max_length=250) tipo_bien = models.ForeignKey(TipoBien) class Meta: verbose_name = "Enlace" verbose_name_plural = "Enlaces" db_table = "Enlace" def __unicode__(self): return self.texto class Oficios(models.Model): fecha = models.DateField("Fecha de Ingreso") numero_averiguacion = models.CharField("Numero de Averiguación", max_length=50, help_text='Ingrese el número de averiguación o causa penal.') autoridad = models.ForeignKey(Autoridad, verbose_name="Autoridad", blank=True, null=True) numero_oficio = models.CharField("Numero de Oficio", max_length=50, help_text='Ingrese el número de oficio.') persona_entrega = models.ForeignKey(Persona, verbose_name="Persona que entrega", blank=True, null=True) identificacion = models.TextField("Identificación", help_text='Ingrese la identificación de quien envia el bien.') def __unicode__(self): return unicode(self.numero_averiguacion) class Meta: verbose_name_plural = 'bienes' class Bienes(models.Model): oficio = models.ForeignKey(Oficios, blank=True, null=True) calidad_bien = models.ForeignKey(CalidadBien, verbose_name="Calidad del Bien", blank=True, null=True) tipo_bien = models.ForeignKey(TipoBien, verbose_name="Tipo de Bien", blank=True, null=True) enlace = models.ForeignKey(Enlace, verbose_name="Direccion", blank=True, null=True) descripcion = models.TextField("Descripcion", help_text='Ingrese la descripción del bien.') situacion_juridica = models.CharField(max_length=50, help_text='Ingrese la situación juridica') observaciones = models.TextField("Observaciones", blank=True, null=True, help_text='Escriba si el bien posee alguna observación.') fecha_devolucion = models.DateField("Fecha de Devolución", blank=True, null=True) devuelto = models.BooleanField("Devuelto", default=False, blank=True) diligencias = models.TextField("Diligencias", help_text='Ingrese la descripción del bien.', blank=True, null=True) estatus = models.BooleanField(default=True) no_inventario = models.CharField(max_length=50, blank=True, null=True) def __unicode__(self): return unicode(self.descripcion) class FotosBienes(models.Model): def create_path(instance, filename): return os.path.join(str(instance.bienes_id),filename) foto= models.ImageField(upload_to=create_path,blank=True, null=True) bienes = models.ForeignKey(Bienes, blank=True, null=True) def __unicode__(self): return unicode(self.foto) class Recepcion(models.Model): oficio = models.ForeignKey(Oficios, blank=True, null=True) bien = models.ForeignKey(Bienes, blank=True, null=True, verbose_name="Bien", help_text="Seleccione el numero de averiguación o expediente del bien") numero_acta = models.CharField("Número de Acta", max_length=50, help_text="Ingrese el numero de acta de recepción a generar") fecha = models.CharField("Fecha", max_length=100, help_text="Ingrese la fecha de generación del acta con letras") hora = models.CharField("Hora", max_length=100, help_text="Ingrese la hora de generación del acta con letras") expedienteacta = models.CharField("Expediente o Acta", max_length=50, choices=opcionnumero, help_text="Elija si el bien es identificado con un numero de acta o de expediente") fechaoficio = models.DateField("Fecha del oficio", help_text="Ingrese la fecha del oficio") envia = models.ForeignKey(Persona, related_name="persona_envia", verbose_name="Persona que envia", help_text="Seleccione de la lista la persona que envia el bien") recibe = models.ForeignKey(Persona, related_name="persona_recibe", verbose_name="Persona que recibe", help_text="Seleccione de la lista la persona que recibe el bien") capturo = models.ForeignKey(Persona, related_name="persona_capturo", verbose_name="Persona que capturo", help_text="Seleccione de la lista la persona que capturo el acta") reviso = models.ForeignKey(Persona, related_name="persona_reviso", verbose_name="Persona que reviso", help_text="Seleccione de la lista la persona que reviso el bien") testigo1 = models.CharField("Testigo 1", max_length=300, blank=True, null=True) testigo2 = models.CharField("Testigo 2", max_length=300, blank=True, null=True) estatus = models.BooleanField(default=True) def __unicode__(self): return unicode(self.numero_acta) class Director(models.Model): titulo = models.CharField("Abreviatura del Titulo:", max_length=50, help_text="Ejemplo de la Abreviatura LIC. , ING. ,etc..") nombre = models.CharField("Nombre:", max_length=50) apellidopaterno = models.CharField("Apellido Paterno:", max_length=50) apellidomaterno = models.CharField("Apellido materno:", max_length=50) cargo = models.CharField("cargo o Puesto", max_length=250) fecha_nombramiento = models.DateField("Fecha de Nombramiento") fecha_baja = models.DateField("Fecha de Baja de Nombramiento", blank=True, null=True) estatus = models.BooleanField(default=True, null=False) def __unicode__(self): return unicode(self.nombre) class Devolucion(models.Model): recepcion = models.ForeignKey(Recepcion, verbose_name="Recepcion", help_text="Seleccione el numero del acta de recepción", blank=True, null=True) bien = models.ForeignKey(Bienes, blank=True, null=True) numero_acta = models.CharField("Numero de Acta", max_length=50, help_text="Ingrese el numero de acta de devolución a generar") fechahora = models.TextField("Fecha y hora", help_text="Escriba la fecha y hora con letras de la apertura del acta de devolución") tipopropietario = models.CharField("Tipo del Propietario", max_length=50, choices=opcionpropietario, help_text="Elija de la lista el tipo de propietario del bien", blank=True, null=True) propietario = models.CharField("Propietario", max_length=250, help_text="Ingrese el nombre completo del propietario del bien") numero_oficio = models.CharField("Numero de Oficio", max_length=20, help_text='Ingrese el numero de oficio') fecha_oficio = models.CharField("Fecha del oficio", max_length=250, help_text="Ingrese la fecha del oficio con letras") fecha_recepcion_oficio = models.CharField("Fecha de Recepcion del oficio", max_length=250, help_text="Ingrese la fecha de Recepcion del oficio con letras") expedienteacta = models.CharField("Expediente o Acta", max_length=50, choices=opcionnumero, help_text="Elija si el bien es identificado con un numero de acta o de expediente") numero_expedienteacta = models.CharField("Numero de Averiguación o Expediente", max_length=50, help_text="Ingrese el numero de expediente o averiguación") signado = models.ForeignKey(Persona, related_name="persona_signado", verbose_name="Persona que signa", help_text="Seleccione de la lista la persona que signa el oficio") observaciones = models.TextField("Observaciones", help_text="Escriba las observaciones pertinentes al bien") pago = models.CharField("Pago", max_length=150, help_text="Ingrese el pago que se realizara para la devolución") folio = models.CharField("Folio", max_length=20, help_text='Ingrese el folio del pago') cantidad = models.TextField("Cantidad", help_text="Escriba la cantidad del pago con numero y letra") identificacion = models.TextField("Identificación", help_text="Describa el documento oficial con el que se identifica quien es propietaria el bien") horacierre = models.CharField("Hora de cierre del oficio", max_length=250, help_text="Ingrese la hora de cierre del acta con letras") autoriza = models.ForeignKey(Persona, related_name="persona_autoriza", verbose_name="Persona que autoriza", help_text="Seleccione de la lista la persona que autoriza el acta") capturo = models.ForeignKey(Persona, related_name="persona_captura", verbose_name="Persona que capturo", help_text="Seleccione de la lista la persona que capturo el acta") reviso = models.ForeignKey(Persona, related_name="persona_revisa", verbose_name="Persona que reviso", help_text="Seleccione de la lista la persona que reviso el bien") testigo1 = models.CharField("Testigo 1", max_length=300, blank=True, null=True) testigo2 = models.CharField("Testigo 2", max_length=300, blank=True, null=True) fecha_devolucion = models.DateField("Fecha de Devolución", blank=True, null=True) estatus = models.BooleanField(default=True) director = models.ForeignKey(Director, verbose_name="Director") def __unicode__(self): return unicode(self.numero_acta) class HistoricoBienes(models.Model): DESCRIPCION_CHOICE = ( (1, 'Oficio Creado'), (2, 'Bien Agregado'), (3, 'Bien Editado'), (4, 'Bien Eliminado'), (5, 'Acta Recepción Capturada'), (6, 'Acta Recepción Editada'), (7, 'Acta Recepción Eliminada'), (8, 'Acta Devolución Capturada'), (9, 'Acta Devolución Editada'), (10, 'Acta Devolución Eliminada'), ) fecha_registro = models.DateField(auto_now_add=True) usuario_id = models.IntegerField() id_movimiento = models.IntegerField() descripcion_movimiento = models.TextField() descripcion = models.IntegerField(choices=DESCRIPCION_CHOICE) def __unicode__(self): return unicode(self.descripcion_movimiento)