コード例 #1
0
ファイル: escuela_media.py プロジェクト: eadomenech/agis
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,
        )
コード例 #2
0
ファイル: comuna.py プロジェクト: eadomenech/agis
def definir_tabla():
    db = current.db
    T = current.T
    municipio.definir_tabla()
    if not hasattr(db, 'comuna'):
        db.define_table('comuna',
            Field('codigo','string',length=2,label=T('Código'),
                required=True,notnull=True,),
            Field('nombre','string',length=80,label=T('Nombre'),
                required=True,notnull=True,),
            Field('municipio_id','reference municipio',required=True,
                label=T('Municipio'),),
            db.my_signature,
            format='%(nombre)s',
            plural=T('Comunas'),
            singular=T('Comuna'),
        )
        db.comuna.codigo.requires = [
            IS_NOT_EMPTY(error_message=T('Código es requerido')),
            IS_MATCH('^\d\d$', error_message=T('Código no es valido')),
        ]
        db.comuna.nombre.requires = [
            IS_NOT_EMPTY(error_message=T('Nombre es requerido')),
            IS_UPPER()
        ]
        db.comuna.municipio_id.requires = IS_IN_DB(db,'municipio.id',
            '%(nombre)s',
            zero=None,
            error_message=T('Debe seleccionar un municipio'),
        )
コード例 #3
0
ファイル: tables.py プロジェクト: eadomenech/agis
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()
candidatura_carrera.definir_tabla()
コード例 #4
0
ファイル: persona.py プロジェクト: eadomenech/agis
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