#encoding:utf-8 from django.db import models from django.contrib.auth.models import User # Create your models here. usuarioestado = (('activo','activo'),('inactivo','inactivo'),) alimentaciontipo = (('regulador','regulador'),('ups','ups'),) enlacetipo = (('inalambrico','inalambrico'),('fibra optica','fibra optica'),) signaltipo = (('analogica','analogica'),('digital','digital'),) contactotipo = (('informatico','informatico'),('administrativo','administrativo'),) class importacion(models.Model): archivo = models.FileField(upload_to='importar') def __unicode__(self): return unicode(self.archivo) class CatDependencia(models.Model): nombre_dependencia = models.CharField("Dependencia",max_length=250) def __unicode__(self): return unicode(self.nombre_dependencia) class Meta: ordering = ['id'] class Radiografia(models.Model): dependencia = models.ForeignKey(CatDependencia,verbose_name="Dependencia") direccion = models.TextField("Dirección") nomcontacto = models.CharField("Nombre Contacto informático",max_length=50,null=True,blank=True) appcontacto = models.CharField("Apellido Paterno Contacto informático",max_length=50,null=True,blank=True) apmcontacto = models.CharField("Apellido Materno Contacto informático",max_length=50,null=True,blank=True) tipocontacto = models.CharField("Tipo de Contacto",max_length=20, choices=contactotipo) telefono = models.CharField("teléfono",max_length=20) correoins = models.EmailField("Correo Institucional",max_length=50) correopar = models.EmailField("Correo Particular",max_length=50) area = models.IntegerField("Metros cuadrados del area de trabajo para informática aproximadamente",default=0) usuario = models.ForeignKey(User,verbose_name="Usuario") def __unicode__(self): return unicode(self.dependencia) class Meta: unique_together = ['usuario'] ordering = ['id'] class Aplicacion (models.Model): radiografia = models.ForeignKey(Radiografia,verbose_name="Dependencia") nombre_app = models.CharField("Nombre de la Aplicación",max_length=250) descripcion = models.TextField("Descripción") produccion = models.BooleanField("¿Esta en Producción?") manual = models.BooleanField("¿Cuenta con un Manual?") motor_bd = models.CharField("Motor de la Base de Datos",max_length=50) version_bd = models.CharField("Versión de la Base de Datos",max_length=50) host_app = models.CharField("URL de la Aplicación",max_length=50) nombre_bd = models.CharField("Nombre de la Base de Datos",max_length=50) usuario_bd = models.CharField("Usuario de la Base de Datos",max_length=50,help_text="Usuario Admin o Root de la Base de Datos") pass_bd = models.CharField("Contraseña de la Base de Datos",max_length=50) usuario_app = models.CharField("Usuario de la Aplicacion",max_length=50,help_text="Usuario Admin o Root de la Aplicacion") pass_app = models.CharField("Contraseña de la Aplicacion",max_length=50) archivo_er = models.FileField("Archivo Diagrama",upload_to = 'diagramas',null=True,blank=True) respaldo_tiempo = models.CharField("Periodo de Tiempo de respaldo:",max_length=50) lenguaje = models.CharField("Lenguaje de Desarrollo",max_length=50) version = models.CharField("Versión",max_length=50) framework = models.TextField("Frameworks y herramientas utilizados") web_tiposerv = models.BooleanField("¿Cuenta con Servicio Web?") servapp_tiposerv = models.BooleanField("¿Cuenta con Servidor de Aplicación?") version_servapp = models.CharField("Sistema Operativo y Versión del Servidor de Producción",max_length=50,null=True,blank=True) direccion_servapp = models.CharField("Dirección IP del Servidor de Producción",max_length=50,null=True,blank=True) accesopublico = models.BooleanField("¿La Aplicación es accesible al publico?") respaldo_codigo = models.BooleanField("¿Esta respalda la ultima version de la aplicacion?") clienteservidor = models.BooleanField("¿La Aplicación cuenta con arquitectura cliente-servidor?") instaladores = models.BooleanField("¿La Aplicación cuenta con instaladores?") fuentes = models.BooleanField("¿La Aplicación cuenta con fuentes?") observaciones = models.TextField("Observaciones",null=True,blank=True) def __unicode__(self): return unicode(self.nombre_app) class Meta: ordering = ['id'] class Usuario (models.Model): aplicacion = models.ForeignKey(Aplicacion,verbose_name="Aplicación") nombre_usuario = models.CharField("Nombre del Usuario",max_length=50) activoinactivo = models.CharField("Estado del Usuario",max_length=50, choices=usuarioestado) rol = models.CharField("Rol del Usuario",max_length=50) permisos = models.TextField("Permisos del Usuario") def __unicode__(self): return unicode(self.nombre_usuario) class Meta: ordering = ['id'] class Infraestructura(models.Model): radiografia = models.ForeignKey(Radiografia,verbose_name="Dependencia") centrotrabajo = models.CharField("Centro de Trabajo",max_length=100,help_text="Nombre del centro de trabajo que se registra en caso de tener varias subdependencias. ejemplo: dif (centro), dif (balancan)") lugarfisico = models.TextField("Lugar Físico",help_text="Dirección Especifica del Centro de Trabajo" ) servicio = models.BooleanField("¿Cuenta con servicios de energia regulada o acondicionada?") capacidad = models.IntegerField("Capacidad del Equipo en KVA",default=0) alimentacion = models.CharField("Regulador o ups",max_length=20, choices=alimentaciontipo) aireacondicionado = models.TextField("equipos de aire acondicionado (capacidad)") tierras = models.TextField("tierras físicas para el site o centro de datos") iluminacion = models.BooleanField("Iluminación") acceso = models.BooleanField("Control de acceso") incendios = models.BooleanField("Sistema contra incendios") tableros = models.BooleanField("Tableros Independientes") otros = models.TextField("Otros") def __unicode__(self): return unicode(self.centrotrabajo) class Meta: ordering = ['id'] class Cableado(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") categoria = models.CharField("Categoria",max_length=50) nodos = models.IntegerField("Número de nodos",default=0) patch = models.IntegerField("Patch panel",default=0) rack = models.IntegerField("Racks",default=0) orgverticales = models.IntegerField("Organizadores Verticales",default=0) orghorizontale = models.IntegerField("Organizadores Horizontales",default=0) def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Equipos(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") equiposcomputo = models.IntegerField("Número de Equipos de Computo",default=0) capacidades = models.TextField("Capacidades Tecnológicas") equiposconectados = models.IntegerField("Numero de Equipos Conectados a la Red",default=0) def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Conectividad(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") switch = models.IntegerField("Número de Switch",default=0) puertos = models.IntegerField("Número de Puertos en Total",default=0) adquisicion = models.CharField("Tiempo de Adquisición (en caso de conocerlo)",max_length=50,null=True,blank=True) def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Telecomunicaciones(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") lineasanalogicas = models.IntegerField("Número de Líneas Analogicas",default=0) lineasdigitales = models.IntegerField("Número de Líneas Digitales",default=0) extensionesanalogicas = models.IntegerField("Número de Extensiones Analógicas",default=0) extensionesdigitales = models.IntegerField("Número de Extensiones Digitales",default=0) extensionesip = models.IntegerField("Número de Extensiones IP",default=0) conmutador = models.BooleanField("Conmutador") marcamodelo = models.TextField("Marca y Modelo") def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Enlaces(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") puntaa = models.TextField("Punta A") puntab = models.TextField("Punta B") tipo = models.CharField("Tipo de Enlace",max_length=20, choices=enlacetipo) def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class ServidoresDatos(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") servidores = models.IntegerField("Número de Servidores",default=0) aplicaciones = models.TextField("Tipo de Aplicaciones (especifique)") def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Terminales(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") computadoras = models.IntegerField("Número de Computadoras",default=0) computadorasfuncionales = models.IntegerField("Número de Computadoras Funcionales",default=0) impresoraslaser = models.IntegerField("Número de Impresoras Laser",default=0) impresoraslaserfuncionales = models.IntegerField("Número de Impresoras Laser Funcionales",default=0) impresorasinyeccion = models.IntegerField("Número de Impresoras de Inyección de Tinta",default=0) impresorasinyeccionfuncionales = models.IntegerField("Numero de Impresoras de Inyección de Tinta Funcionales",default=0) def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Descripcionservidores(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") marca = models.CharField("Marca",max_length=50) modelo = models.CharField("Modelo",max_length=50) procesadores = models.CharField("Procesadores",max_length=50) ram = models.CharField("RAM",max_length=50) discoduro = models.CharField("Disco Duro",max_length=150) def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Descripcionred(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") switch = models.TextField("Switch Marca/Modelo") ethernet = models.IntegerField("Número de Puertos Ethernet",default=0) fibra = models.IntegerField("Número de Puertos de Fibra Óptica",default=0) estado = models.TextField("Estado que guarda") def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id'] class Descripciontelefonia(models.Model): infraestructura = models.ForeignKey(Infraestructura,verbose_name="Centro de Trabajo") conmutador = models.TextField("Conmutador Marca Modelo") troncales = models.IntegerField("Número de Troncales que recibe",default=0) troncalestipo = models.CharField("Tipo de Troncal",max_length=20, choices=signaltipo,null=True,blank=True) extensiones = models.IntegerField("Número de Extensiones",default=0) extensionestipo = models.CharField("Tipo de Extensiones",max_length=20, choices=signaltipo,null=True,blank=True) infinitum = models.IntegerField("Número de Enlaces infinitum",default=0) velocidad = models.TextField("Velocidad") conexiongobierno = models.BooleanField("¿Existe Conexión a Gobierno?") formaconexion= models.TextField("Forma de Conexión") def __unicode__(self): return unicode(self.radiografia) class Meta: ordering = ['id']