#encoding:utf-8 from django.db import models from django.contrib.auth.models import User from datetime import * class cat_municipio(models.Model): nombre = models.CharField(max_length=50) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'municipios' verbose_name_plural = 'municipios' unique_together = ['nombre'] class cat_tipo_institucion(models.Model): nombre = models.CharField(max_length=150) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'El Tipo de Institución' verbose_name_plural = 'Tipo de Institución' unique_together = ['nombre'] class cat_niveles(models.Model): folio = models.CharField(max_length=5) nombre = models.CharField(max_length=100) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Niveles' verbose_name_plural = 'Niveles' unique_together = ['nombre'] class cat_tipo_participacion(models.Model): nombre = models.CharField(max_length=200) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Tipo de Participación' verbose_name_plural = 'Tipo de Participación' unique_together = ['nombre'] class cat_personas(models.Model): participacion = models.ForeignKey(cat_tipo_participacion, blank=True, null=True) municipio = models.ForeignKey(cat_municipio, blank=True, null=True) nombre = models.CharField(max_length=70, blank=True, null=True) telefono = models.CharField(max_length=15, blank=True, null=True) extencion = models.CharField(max_length=6, blank = True, null = True ) celular = models.CharField(max_length=15, blank=True, null=True) correo = models.EmailField(max_length=100, blank=True, null=True) admin_municipio = models.BooleanField(default=False) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Catalogo de Personas' verbose_name_plural = 'Catalogo de Personas' class institucion(models.Model): nombre = models.CharField(max_length=250) direccion = models.CharField(max_length=200) poblacion = models.CharField(max_length=150, blank=True, null=True) municipio = models.ForeignKey(cat_municipio) codigo_postal = models.CharField(max_length=5) telefono = models.CharField(max_length=20, blank = True, null = True ) extencion = models.CharField(max_length=6, blank = True, null = True ) correo =models.EmailField(max_length=100) pagina_web = models.URLField(max_length=400, blank=True, null=True) fecha_registro = models.DateField(default = datetime.now()) fax = models.CharField(max_length=100, blank=True, null=True) tipo_institucion = models.ForeignKey(cat_tipo_institucion) participacion = models.ForeignKey(cat_personas) usuario = models.ForeignKey(User) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Institución' verbose_name_plural = 'Instituciones' #unique_together = ['nombre'] class cat_tipo_actividad(models.Model): nombre = models.CharField(max_length=250) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Actividad' verbose_name_plural = 'Actividades' unique_together = ['nombre'] class cat_tipo_publico(models.Model): nombre = models.CharField(max_length=250) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Tipo de publico' verbose_name_plural = 'Tipo de Publico' unique_together = ['nombre'] class cat_fechas(models.Model): fecha = models.DateField() def __unicode__(self): return u'%s' % self.fecha class registro_actividad(models.Model): titulo = models.CharField(max_length=250) tipo_actividad = models.ForeignKey(cat_tipo_actividad) especificar_actividad = models.CharField(max_length=250, blank=True, null=True) tema = models.CharField(max_length=250) fecha = models.ForeignKey(cat_fechas) hora = models.TimeField(blank=True, null=True) lugar = models.CharField(max_length=250, blank=True, null=True) municipio = models.ForeignKey(cat_municipio) direccion = models.CharField(max_length=250, blank=True, null=True) tipo_publico = models.ManyToManyField(cat_tipo_publico, through='paso_tipo_publico' ) cupo = models.IntegerField() descripcion = models.CharField(max_length=500, blank=True, null=True) responsable_actividad = models.ForeignKey(cat_personas , blank=True, null=True , related_name='responsable') expositor = models.ManyToManyField(cat_personas, blank=True, null=True) participantes = models.ManyToManyField(cat_personas, blank=True, null=True , related_name='participantes') organizadores = models.ManyToManyField(cat_personas, blank=True, null=True , related_name='organizadores') patrocinadores = models.ManyToManyField(cat_personas, blank=True, null=True , related_name='patrocinadores') bandera = models.BooleanField(default=False) generar_folio = models.BooleanField(default=False) usuario = models.ForeignKey(User) def __unicode__(self): return u'%s' % self.titulo class Meta: ordering = ['titulo'] verbose_name = 'Registro de Actividades' verbose_name_plural = 'Registro de Actividades' class paso_tipo_publico(models.Model): tipo_publico = models.ForeignKey(cat_tipo_publico) actividad = models.ForeignKey(registro_actividad) cantidad = models.IntegerField() def __unicode__(self): return u'%s' % self.tipo_publico def id_tag(self): return u'%s' % self.tipo_publico.nombre.replace(' ', '_') class Meta: verbose_name = 'Paso tipo publico' verbose_name_plural = 'Paso tipo publico' class tipo_usuario(models.Model): nombre = models.CharField(max_length=250) def __unicode__(self): return u'%s' % self.nombre class Meta: ordering = ['nombre'] verbose_name = 'Tipo de usuario' verbose_name_plural = 'Tipo de usuario' unique_together = ['nombre'] class constancia(models.Model): folio = models.CharField(max_length=10) institucion = models.ForeignKey(institucion) class tipo_usuario_perfil(models.Model): clave = models.CharField('Clave', max_length = 50, help_text = 'Ingrese la clave del usuario') nombre = models.CharField('Nombre', max_length = 50, help_text = 'Ingrese su nombre') def __unicode__(self): return self.nombre class perfil(models.Model): usuario = models.OneToOneField(User) municipio = models.OneToOneField(cat_municipio) tipo_usuario = models.ForeignKey(tipo_usuario_perfil) def __unicode__(self): return self.usuario.username class convocatorias(models.Model): tema = models.CharField(max_length = 200, blank=True, null=True) imagen = models.ImageField(upload_to= 'cargas', blank=True, null=True) descripcion = models.CharField(max_length = 3000, blank=True, null=True) convocatoria = models.FileField(upload_to = 'cargas', blank=True, null=True) def __unicode__(self): return u'%s' % self.tema class Meta: verbose_name = 'convocatorias' verbose_name_plural = 'convocatorias' class graficos(models.Model): imagen = models.ImageField(upload_to= 'cargas', blank=True, null=True) descripcion = models.CharField(max_length = 300, blank=True, null=True) def __unicode__(self): return u'%s' % self.descripcion class Meta: verbose_name = 'Graficos' verbose_name_plural = 'Graficos'