Ejemplo n.º 1
0
def configurar():
    """Configuración del evento"""
    C = Storage()
    C.evento = db.evento(request.args(0))
    C.ano = db.ano_academico(C.evento.ano_academico_id)
    C.unidad = db.unidad_organica(C.ano.unidad_organica_id)
    C.escuela = db.escuela(C.unidad.escuela_id)

    # breadcumbs
    u_link = Accion(C.unidad.abreviatura or C.unidad.nombre,
                    URL('unidad', 'index', args=[C.unidad.id]),
                    True)  # siempre dentro de esta funcion
    menu_migas.append(u_link)
    a_links = Accion(C.ano.nombre,
                     URL('unidad', 'index', args=[C.unidad.id]),
                     True)
    menu_migas.append(a_links)
    e_link = Accion(C.evento.nombre,
                    URL('index', args=[C.evento.id]),
                    True)
    menu_migas.append(e_link)
    menu_migas.append(T("Ajustes"))

    back_url = URL('index', args=[C.evento.id])

    C.form = form_configurar_evento(C.evento, back_url,
                                    db=db,
                                    request=request,
                                    T=T)
    if C.form.process().accepted:
        session.flash = T("Ajustes guardados")
        redirect(back_url)

    return dict(C=C)
Ejemplo n.º 2
0
def user():
    from gluon.storage import Storage
    objects = Storage()
    if request.args(0) in ['register', 'login']:
        objects.login = auth.login()
        objects.register = auth.register()
    else:
        objects.form = auth()
    return dict(objects=objects)
Ejemplo n.º 3
0
def user():
	objects = Storage()
	if request.args(0) in ['login','register']:
		objects.login = auth.login()
		response.flash = "logged in"
		objects.register = auth.register()
	else:
		objects.form = auth()
	return dict(objects=objects)
Ejemplo n.º 4
0
def editar():
    C = Storage()
    C.escuela = db.escuela(1)
    menu_migas.append(T("Configurar escuela"))
    db.escuela.id.readable = False
    C.form = SQLFORM(db.escuela,
                     record=C.escuela,
                     upload=URL('default', 'download'),
                     submit_button=T("Guardar"))
    C.form.add_button(T("Cancelar"), URL('index'))
    if C.form.process().accepted:
        redirect(URL('index'))

    return dict(C=C)
Ejemplo n.º 5
0
def formulario():
    """Muestra formulario para realizar pago"""
    C = Storage()
    C.evento = db.evento(request.args(0))
    C.persona = db.persona(request.args(1))
    C.ano = db.ano_academico(C.evento.ano_academico_id)
    C.unidad = db.unidad_organica(C.ano.unidad_organica_id)
    C.escuela = db.escuela(C.unidad.escuela_id)

    concepto = db(
        db.tipo_pago.nombre == "PROPINA"
    ).select().first()

    C.titulo = T("Agregar pago")

    fld_forma_pago = db.pago.forma_pago
    fld_numero_transaccion = db.pago.numero_transaccion
    fld_transaccion = db.pago.transaccion
    fld_cantidad = db.pago.cantidad
    fld_codigo_recivo = db.pago.codigo_recivo
    fld_fecha_recivo = db.pago.fecha_recivo

    form = SQLFORM.factory(
        # campos...
        fld_forma_pago,
        fld_numero_transaccion,
        fld_transaccion,
        fld_codigo_recivo,
        fld_fecha_recivo,
        fld_cantidad,
        formstyle="bootstrap3_stacked"
    )

    if form.process().accepted:
        data = form.vars
        data.tipo_pago_id = concepto.id
        data.persona_id = C.persona.id
        data.evento_id = C.evento.id
        pago_id = db.pago.insert(**db.pago._filter_fields(data))
        # Intentar pagar las propinas que se deben
        pagar_propinas(C.evento.id, C.persona.id, db)
        response.js = "jQuery('#formulario_cmp').get(0).reload();jQuery('#pagos_cmp').get(0).reload();jQuery('#propinas_cmp').get(0).reload()"
        return T("Procesando...")

    C.form = form
    return dict(C=C)
Ejemplo n.º 6
0
def pago():
    C = Storage()
    C.evento = db.evento(request.args(0))
    C.ano = db.ano_academico(C.evento.ano_academico_id)
    C.unidad = db.unidad_organica(C.ano.unidad_organica_id)
    C.escuela = db.escuela(C.unidad.escuela_id)
    C.persona = db.persona(request.args(1))
    C.estudiante = db.estudiante(persona_id=C.persona.id)

    if C.persona is None:
        raise HTTP(404)

    # buscar un tipo de pago que coincida en nombre con el tipo de evento
    concepto = db(
        db.tipo_pago.nombre == "MATRÍCULA E CONFIRMAÇÃO DE MATRÍCULA"
    ).select().first()
    if not concepto:
        raise HTTP(404)

    # breadcumbs
    u_link = Accion(C.unidad.abreviatura or C.unidad.nombre,
                    URL('unidad', 'index', args=[C.unidad.id]),
                    True)  # siempre dentro de esta funcion
    menu_migas.append(u_link)
    a_links = Accion(C.ano.nombre,
                     URL('unidad', 'index', args=[C.unidad.id]),
                     True)
    menu_migas.append(a_links)
    e_link = Accion(C.evento.nombre,
                    URL('index', args=[C.evento.id]),
                    True)
    menu_migas.append(e_link)
    menu_migas.append(T("Pago") + " de {}".format(concepto.nombre))

    campos = list()
    fld_cantidad = db.pago.get("cantidad")
    fld_cantidad.requires.append(
        IS_FLOAT_IN_RANGE(concepto.cantidad,
                          9999999999.99,
                          error_message=T("Debe ser mayor que {0}".format(concepto.cantidad))))
    campos.append(db.pago.get("forma_pago"))
    campos.append(fld_cantidad)
    campos.append(db.pago.get("numero_transaccion"))
    campos.append(db.pago.get("transaccion"))
    campos.append(db.pago.get("codigo_recivo"))
    campos.append(db.pago.get("fecha_recivo"))
    back = URL('index', args=[C.evento.id])
    manejo = SQLFORM.factory(*campos, submit_button=T('Guardar'))
    manejo.add_button(T("Cancel"), back)
    C.form = manejo
    C.titulo = "{} {} - {}".format(T("Pago"),
                         concepto.nombre,
                         C.persona.nombre_completo)
    if manejo.process().accepted:
        valores = manejo.vars
        valores.tipo_pago_id = concepto.id
        valores.persona_id = C.persona.id
        valores.evento_id = C.evento.id
        db.pago.insert(**db.pago._filter_fields(valores))

        # crear la matricula con los valores por defecto para nuevo ingreso
        mat_vals = Storage()
        mat_vals.estudiante_id = C.estudiante.id
        mat_vals.ano_academico_id = C.ano.id
        from agiscore.db.nivel_academico import _1RO
        nv = db.nivel_academico(nivel=_1RO, unidad_organica_id=C.unidad.id)
        mat_vals.nivel = nv.id
        mat_vals.situacion = '1'
        mat_vals.estado_uo = SIN_MATRICULAR
        cand = db.candidatura(estudiante_id=C.estudiante.id,
                              ano_academico_id=C.ano.id)
        mat_vals.regimen_id = cand.regimen_id
        a_carr = db.asignacion_carrera(candidatura_id=cand.id)
        mat_vals.carrera_id = a_carr.carrera_id
        db.matricula.insert(**db.matricula._filter_fields(mat_vals))

        session.flash = T('Pago registrado')
        redirect(back)

    return dict(C=C)