Пример #1
0
def cargar_datos_comunes(investigacion_id):
    session.di = Storage()
    di = session.di

    di.investigacion = get_investigacion(investigacion_id)
    itemes = get_investigacion_itemes(di.investigacion)

    session.di.itemes_empaquetados = list()
    for item in itemes:
        item_empaquetado = Storage()
        item_empaquetado.item = item
        item_empaquetado.atributos = get_investigacion_item_atributos(item)
        item_empaquetado.opciones = get_investigacion_item_opciones(item)
        session.di.itemes_empaquetados.append(item_empaquetado)

    di.botones = list()
    di.rol_nombre = get_rol_byequipo_usuario(session.di.investigacion.equipo, auth.user).rol.role
    di.x1 = session.di.investigacion.nombre
    di.x2 = session.di.investigacion.estado.nombre
    di.x3 = session.di.investigacion.descripcion
    di.url1 = ''

    valor_disabled = 'disabled'

    # prevalidar
    if (session.di.investigacion.estado.nombre == nombres.estados.editable) & \
            (
                        (session.di.rol_nombre == nombres.roles.administrador) | (
                                session.di.rol_nombre == nombres.roles.asistente)
            ):
        session.di.valor_prevalidar = ''
    else:
        session.di.valor_prevalidar = valor_disabled

    # validar
    if (session.di.investigacion.estado.nombre == nombres.estados.prevalidado) & \
            (
                    (session.di.rol_nombre == nombres.roles.administrador)
            ):
        session.di.valor_validar = ''
    else:
        session.di.valor_validar = valor_disabled

    # asignar
    if (session.di.investigacion.estado.nombre == nombres.estados.validado) & \
            (
                        (session.di.rol_nombre == nombres.roles.administrador) | (
                                session.di.rol_nombre == nombres.roles.asistente)
            ):
        session.di.valor_asignar = ''
    else:
        session.di.valor_asignar = valor_disabled

    # empadronar
    if (session.di.investigacion.estado.nombre == nombres.estados.distribuido) & \
            (
                    (session.di.rol_nombre == nombres.roles.empadronador)
            ):

        # seleccionar la cantidad asignada
        response.flash = auth.user.id
        di.cantidad_asignada = get_distribucion_usuario(di.investigacion, auth.user).distribucion.cantidad

        # seleccionar la cantidad realizada
        di.cantidad_realizada = get_soluciones_generales_usuario_count(di.investigacion, auth.user)

        # calcular la cantidad restante
        if di.cantidad_asignada == di.cantidad_realizada:
            session.di.valor_empadronar = valor_disabled
        else:
            session.di.valor_empadronar = ''

    else:
        session.di.valor_empadronar = valor_disabled

    return di