Пример #1
0
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()
candidatura_carrera.definir_tabla()
campus.definir_tabla()
Пример #2
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