#encoding:utf-8 from django.db import models from catalogos.models import * from django.contrib.auth.models import User import datetime from datetime import date from django.utils import timezone # Create your models here. class Usuario(models.Model): idUser = models.ForeignKey(User) nombre = models.CharField(max_length = 300) cargo = models.CharField(max_length = 300) adscripcion = models.ForeignKey(cat_direcciones) area = models.ForeignKey(cat_area) def __unicode__(self): return self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Usuario' verbose_name_plural = 'Usuario' unique_together = ['nombre'] class cat_personas(models.Model): idUser = models.ForeignKey(User) noPersona = models.IntegerField('No',primary_key= True) noExpediente = models.CharField('No. Exp.',max_length = 20) nombre = models.CharField(verbose_name='Nombre',max_length = 500) apellidoPaterno = models.CharField(verbose_name='Apellido Paterno',max_length = 100) apellidoMaterno = models.CharField(verbose_name='Apellido Materno',max_length = 100) curp = models.CharField(verbose_name='CURP',max_length=30) rfc = models.CharField(verbose_name='RFC',max_length=30) categoria = models.CharField(max_length=30) area = models.ForeignKey(cat_area) def __unicode__(self): return u'%s %s %s' %(self.nombre, self.apellidoPaterno, self.apellidoMaterno) class Meta: ordering = ['noPersona'] verbose_name = 'Cat Pesona' verbose_name_plural = 'Cat Personas' unique_together = ['noExpediente'] class Meta: permissions = ( ('agregar_funcionario', 'Agregar Funcionario'), ) class proyecto_datos(bitacora): fecha_solicitud = models.DateTimeField('Fecha de solicitud', blank = True, null = True ) dependencias = models.ForeignKey(cat_area) nombreProyecto = models.CharField(max_length=500, verbose_name='Nombre del Proyecto') responsable = models.ForeignKey(cat_personas) responsableAdmin = models.ForeignKey(Usuario) telefono = models.CharField('Teléfono / fax', max_length=15, help_text = 'Teléfono o fax', blank = True, null = True, ) correo_electronico = models.EmailField('Correo electrónico', max_length=150, help_text = 'Correo electrónico', blank = True, null = True, ) descripcion = models.CharField(max_length=900, verbose_name='Descripción del Proyecto') fechaInicio = models.DateTimeField('Fecha de Inicio') fechaFinal = models.DateTimeField('Fecha de Finalizacion') fechaFinalizacion = models.DateTimeField('Fecha de Terminacion del Proyecto',) estatus = models.ForeignKey(estatus, default = 1, help_text = 'Estatus del proyecto') def __unicode__(self): return u'%s' % ( self.id ) def estatus_(self): return '
    
%s
' % (self.estatus.color,self.estatus.color, self.estatus.nombre) estatus_.allow_tags = True def diasprogramados(self): resultado = self.fechaFinal - self.fechaInicio return resultado class Meta: permissions = ( ('agregar_proyecto', 'Agregar Proyecto'), ) class proyecto_tarea(bitacora): proyecto = models.ForeignKey( proyecto_datos ) no_tarea = models.CharField(max_length=3, blank=True, null= True, help_text = 'Número de tarea al que pertenece el artículo') Resposable = models.ForeignKey(cat_personas) descripcion = models.TextField(max_length = 800, help_text = 'Descripción breve') porcentaje = models.IntegerField() def __unicode__(self): return u'%s - %s' % ( self.proyecto.id, self.id ) class Meta: ordering = ['Resposable'] verbose_name = 'Proyecto tarea' verbose_name_plural = 'Protecto tareas' class Meta: permissions = ( ('agregar_tareas', 'Agregar Tareas'), ) class proyecto_observacion(bitacora): tarea = models.ForeignKey( proyecto_tarea ) no_observacion = models.CharField(max_length=3, blank=True, null= True, help_text = 'Número de tarea al que pertenece el artículo') observaciones = models.TextField('Observaciones', max_length = 300, blank = True, null = True, help_text = 'Escriba aquí si desea agregar alguna Observacion') evidencia = models.FileField("Archivo", upload_to = 'cargas',blank = True, null = True) def __unicode__(self): return u'%s - %s' % ( self.tarea.id, self.id ) def evidencia_tipo(self): r = None if self.evidencia != '': r = u'%s' % (self.evidencia) r = r.split('.')[1].upper() r = asigna_icono(r) return u'%s' % (r) class Meta: permissions = ( ('agregar_Observaciones', 'Agregar Observaciones'), )