Exemplo n.º 1
0
def grid_pais():
    db = current.db
    model.definir_tabla()
    db.pais.id.readable = False
    db.pais.id.writable = False
    return tools.manejo_simple(db.pais,
        [db.pais.codigo, db.pais.nombre],
        buscar=True,
        borrar=puede_borrar,
        editable=puede_borrar)
Exemplo n.º 2
0
profesor.definir_tabla()
funsionario.definir_tabla(db, T)
nivel_academico.definir_tabla()
asignatura.definir_tabla()
plan_curricular.definir_tabla()
plazas.definir_tabla()
evento.definir_tabla()
profesor_asignatura.definir_tabla()
asignatura_plan.definir_tabla()
grupo.definir_tabla()
pago.definir_tabla(db, T)
examen.definir_tabla()
examen_aula_estudiante.definir_tabla()
nota.definir_tabla()
asignacion_carrera.definir_tabla()
pais.definir_tabla()
carrera_escuela.definir_tabla(db, T)
especialidad.definir_tabla(db, T)
turma.definir_tabla(db, T)
matricula.definir_tabla(db, T)

# configurar otras
db.auth_user.id.readable = False

## database initialization
from agiscore import tools

if not tools.probar_base_de_datos():
    # create default users groups
    tools.inicializar_seguridad()
    tools.inicializar_base_datos()
Exemplo n.º 3
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