Example #1
0
def definir_tabla():
    db = current.db
    T = current.T
    provincia.definir_tabla()
    if not hasattr(db, 'municipio'):
        db.define_table('municipio',
            Field('codigo','string',length=2,required=True,notnull=True,
                label=T('Código'),comment=T('Código de 2 digitos'),),
            Field('nombre','string',length=80,required=True,
                unique=True,notnull=True,label=T('Nombre'),),
            Field('provincia_id', 'reference provincia',label=T('Provincia')),
            db.my_signature,
            plural=T('Municipios'),
            singular=T('Municipio'),
            format='%(nombre)s',
        )
        db.municipio.codigo.requires = [
            IS_NOT_EMPTY(error_message=T('Código es requerido')),
            IS_MATCH('^\d\d$', error_message=T('No es un código valido')),
        ]
        db.municipio.nombre.requires = [
            IS_UPPER(),
            IS_NOT_EMPTY(error_message=T('Nombre es requerido')),
            IS_NOT_IN_DB(db, 'municipio.nombre'),
        ]
        db.municipio.provincia_id.requires = IS_IN_DB(db,'provincia.id',
            '%(nombre)s',
            zero=None,
        )
        db.municipio.obtener_por_uuid = obtener_por_uuid
Example #2
0
def definir_tabla():
    db = current.db
    T = current.T
    tipo_escuela.definir_tabla()
    provincia.definir_tabla()
    municipio.definir_tabla()
    if not hasattr(db, 'escuela_media'):
        db.define_table('escuela_media',
            Field('codigo','string',length=4,label=T('Código'),required=True,notnull=True,),
            Field('nombre','string',length=100,label=T('Nombre'),required=True,notnull=True,),
            Field('tipo_escuela_media_id', 'reference tipo_escuela_media',label=T('Tipo de enseñanza media')),
            Field('provincia_id', 'reference provincia',label=T('Provincia')),
            Field('municipio_id', 'reference municipio',label=T('Municipio')),
            format="%(nombre)s",
        )
        db.escuela_media.codigo.requires = [
            IS_NOT_EMPTY(),IS_MATCH('^\d{4,4}$'),IS_NOT_IN_DB(db,'escuela_media.codigo'),
        ]
        db.escuela_media.nombre.requires = [
            IS_UPPER(),
            IS_NOT_EMPTY(),IS_NOT_IN_DB(db, 'escuela_media.nombre'),
        ]
        db.escuela_media.tipo_escuela_media_id.requires = IS_IN_DB(db,'tipo_escuela_media.id',
            '%(nombre)s',
            zero=None,
        )
Example #3
0
from agiscore.db import examen_aula_estudiante
from agiscore.db import nota
from agiscore.db import asignacion_carrera
from agiscore.db import pais
from agiscore.db import carrera_escuela
from agiscore.db import funsionario
from agiscore.db import especialidad
from agiscore.db import turma
from agiscore.db import matricula
#
# TODO: Depués de migrar todas las tablas a este formato comentar
#       esto y en cada vista solo llamar las tablas necesarias.
#
ano_academico.definir_tabla()
region_academica.definir_tabla()
provincia.definir_tabla()
municipio.definir_tabla()
comuna.definir_tabla()
escuela.definir_tabla()
unidad_organica.definir_tabla()
descripcion_carrera.definir_tabla()
regimen.definir_tabla()
tipos_ensennanza.definir_tabla()
escuela_media.definir_tabla()
tipo_documento_identidad.definir_tabla()
discapacidad.definir_tabla()
regimen_uo.definir_tabla()
carrera_uo.definir_tabla()
persona.definir_tabla()
estudiante.definir_tabla()
candidatura.definir_tabla()
Example #4
0
def definir_tabla():
    db = current.db
    T = current.T
    comuna.definir_tabla()
    municipio.definir_tabla()
    provincia.definir_tabla()
    pais.definir_tabla()
    tipo_documento_identidad.definir_tabla()
    if not hasattr(db, 'persona'):
        tbl = db.define_table('persona',
            Field('nombre', 'string', length=30, label=T("Nombre")),
            # iss129: el primer apellido puede ser omitido
            Field('apellido1', 'string', length=30, label=T("Primer apellido")),
            Field('apellido2', 'string', length=30,
                  label=T("Segundo apellido")),
            Field('fecha_nacimiento', 'date', label=T("Fecha de nacimiento")),
            Field('genero', 'string', length=1, label=T('Género')),
            Field('nombre_padre', 'string', length=250,
                  label=T('Nombre del padre')),
            Field('nombre_madre', 'string', length=250,
                  label=T('Nombre de la madre')),
            Field('pais_origen', 'reference pais', label=T("País de origen")),
            Field('lugar_nacimiento', 'reference comuna',
                  label=T("Lugar de nacimiento")),
            Field('estado_civil', 'string', length=1, label=T("Estado civil")),
            Field('tipo_documento_identidad_id',
                  'reference tipo_documento_identidad',
                  label=T('Documento de identidad')),
            Field('numero_identidad', 'string', length=20,
                  label=T('Número de identidad')),
            Field('estado_politico', 'string', length=1, default='C',
                  label=T('Estado militar')),
            Field('situacion_militar', 'string', length=1, default='1',
                  label=T("¿Receseamento Militar?"),),
            Field('pais_residencia', 'reference pais',
                  label=T("País de residencia")),
            Field('dir_comuna_id', 'reference comuna', label=T("Localidad")),
            Field('direccion', 'text', length=300, label=T("Dirección")),
            Field('telefono', 'string', length=20, label=T("Teléfono")),
            Field('telefono_alternativo', 'string', length=20,
                  label=T("Teléfono alternativo")),
            # --iss129: email puede ser de más de 20 caracteres.
            Field('email', 'string', length=50, required=False),
            Field('user_id', 'reference auth_user',
                  notnull=False,
                  required=False,
                  default=None),
            Field('nombre_completo', 'string', length=100,
                  compute=__nombre_completo, label=T('Nombre completo')),
            db.my_signature,
            format="%(nombre_completo)s",
        )
        tbl._after_insert.append(_after_insert)
        tbl._after_update.append(_after_update)
        tbl.telefono.label = T('Teléfono de contacto')
        # -- iss168: el número de telefono debe ser unico entre las personas
        tbl.telefono.requires = IS_EMPTY_OR(
            IS_NOT_IN_DB(db, 'persona.telefono',
                         error_message=T('Value already in database')))
        # -------
        # -- no repetir numeros de identidad
        tbl.numero_identidad.requires = IS_NOT_IN_DB(db,
                                                     'persona.numero_identidad')
        # ---------------------------------------------------------------------
        tbl.email.label = T('E-Mail')
        tbl.genero.represent = persona_genero_represent
        tbl.genero.requires = IS_IN_SET(
            PERSONA_GENERO_VALUES, zero=None)
        tbl.estado_civil.represent = persona_estado_civil_represent
        tbl.estado_civil.requires = IS_IN_SET(
            PERSONA_ESTADO_CIVIL_VALUES, zero=None)
        tbl.estado_politico.represet = persona_estado_politico_represent
        tbl.estado_politico.requires = IS_IN_SET(
            PERSONA_ESTADO_POLITICO_VALUES, zero=None)
        tbl.situacion_militar.represent = situacion_militar_represent
        tbl.situacion_militar.requires = IS_IN_SET(
            SITUACION_MILITAR_VALUES, zero=None)
        tbl.id.readable = False
        tbl.user_id.readable = False
        tbl.user_id.writable = False
Example #5
0
def definir_tabla():
    db = current.db
    T = current.T
    escuela.definir_tabla()
    provincia.definir_tabla()
    if not hasattr(db, 'unidad_organica'):
        db.define_table('unidad_organica',
            Field('codigo',compute=calcular_codigo,notnull=True,label=T('Código'),),
            Field('nombre','string',required=True,notnull=True,length=100,label=T('Nombre'),),
            Field('abreviatura', 'string', length=8, required=False,
                  notnull=False, default=''),
            Field('direccion','text',required=False,notnull=False,label=T('Dirección'),),
            Field('nivel_agregacion','string',required=True,length=1,
                label=T('Nivel de agregación'),),
            Field('clasificacion','string',length=2,required=True,
                label=T('Clasificación'),),
            Field('codigo_registro','string',length=3,required=True,
                label=T('Código de registro'),
                comment=T("Código de registro en el Ministerio de Educación"),),
            Field('codigo_escuela', 'string',length=2,required=True,notnull=True,
                label=T('Código en la Escuela'),
                comment=T("Código de registro asignado por la Escuela"),),
            # referencias
            Field('escuela_id', 'reference escuela',required=True,
                label=T('Escuela'),),
            Field('provincia_id', 'reference provincia',label=T('Provincia')),
            # -----------
            format=uo_format,
            singular=T('Unidad Organica'),
            plural=T('Unidades Organicas'),
        )
        db.unidad_organica.abreviatura.label = T('Abreviatura')
        db.unidad_organica.abreviatura.requires = [IS_UPPER()]
        db.unidad_organica.abreviatura.represent = abreviatura_represent
        db.unidad_organica.nivel_agregacion.requires = IS_IN_SET(NIVELES,zero=None)
        db.unidad_organica.nivel_agregacion.represent = nivel_agregacion_represent
        db.unidad_organica.clasificacion.requires = IS_IN_SET(CLASIFICACIONES,zero=None)
        db.unidad_organica.clasificacion.represent = clasificacion_represent
        db.unidad_organica.codigo_registro.requires = [
            IS_NOT_EMPTY(error_message=T('Se require el código de registro')),
            IS_MATCH('^\d{3,3}$', error_message=T('No es un código valido')),
            IS_NOT_IN_DB(db,'unidad_organica.codigo_registro'),
        ]
        db.unidad_organica.codigo_escuela.requires = [
            IS_NOT_EMPTY(error_message=T('Se requiere el código asignado por la escuela')),
            IS_MATCH('^\d{2,2}$', error_message=T('No es un código valido')),
            IS_NOT_IN_DB(db,'unidad_organica.codigo_escuela',
                error_message=T('Ya existe una UO con ese código'),
            ),
        ]
        db.unidad_organica.nombre.requires = [IS_UPPER(), IS_NOT_EMPTY()]
        db.unidad_organica.provincia_id.requires = IS_IN_DB(db, 'provincia.id',
            '%(nombre)s',
            zero=T('Escoger provincia'),
        )
        db.unidad_organica.escuela_id.requires = IS_IN_DB(db, 'escuela.id',
            '%(nombre)s',
            zero=T('Escoger una escuela'),
        )
        
        # callbacks
        db.unidad_organica._after_insert.append(despues_de_insertar)