Example #1
0
  public static void updateEstadosSolicitudUsuario() {
    java.util.List<TableKeyValue> rows =
        TableKeyValue.find("select tableKeyValue from TableKeyValue tableKeyValue").fetch();

    Secure secure = InjectorConfig.getInjector().getInstance(Secure.class);

    Map<String, Long> ids = new HashMap<String, Long>();

    List<TableKeyValue> rowsFiltered = new ArrayList<TableKeyValue>();
    for (TableKeyValue tableKeyValue : rows) {
      Map<String, Object> vars = new HashMap<String, Object>();
      vars.put("tableKeyValue", tableKeyValue);
      if (secure.check("tableKeyOnlyEstadosSolicitud", "read", ids, vars)) {
        rowsFiltered.add(tableKeyValue);
      }
    }

    // Ahora en "rowsFiltered" tenemos los estados de la solicitud original
    // Si no existe alguno de los estados originales en la lista de los usuarios, lo creamos
    for (TableKeyValue tableKeyValue : rowsFiltered) {
      if (!TableKeyValue.contains(USER_TABLE_NAME, tableKeyValue.key)) {
        play.Logger.info(
            "Creamos el estado \""
                + tableKeyValue.key
                + "\" para la visibilidad del estado del usuario");
        TableKeyValue.setValue(USER_TABLE_NAME, tableKeyValue.key, tableKeyValue.key);
      }
    }
  }
  public static List<ComboItem> comboEstadoInterno() {
    List<ComboItem> result = new ArrayList<ComboItem>();

    java.util.List<TableKeyValue> rows =
        TableKeyValue.find(
                "select tableKeyValue from TableKeyValue tableKeyValue where tableKeyValue.table = ?",
                "estadosSolicitud")
            .fetch();
    for (TableKeyValue tableKeyValue : rows) {
      result.add(new ComboItem(tableKeyValue.key, tableKeyValue.value));
    }
    return result;
  }
  public static void editar(Long idTableKeyValue, TableKeyValue tableKeyValue) {
    checkAuthenticity();
    if (!permiso("update")) {
      Messages.error("No tiene permisos suficientes para realizar la acción");
    }

    TableKeyValue dbTableKeyValue = null;
    if (!Messages.hasErrors()) {
      dbTableKeyValue = getTableKeyValue(idTableKeyValue);
    }

    if (!Messages.hasErrors()) {
      play.Logger.info("Almaceno nuevo: " + dbTableKeyValue.toString());
      TableKeyValue.setValue(dbTableKeyValue.table, dbTableKeyValue.key, tableKeyValue.value);
    }

    if (!Messages.hasErrors()) {
      renderJSON(utils.RestResponse.ok("Registro actualizado correctamente"));
    } else {
      Messages.keep();
      abrir("editar", idTableKeyValue);
    }
  }
  @Util
  // Este @Util es necesario porque en determinadas circunstancias crear(..) llama a editar(..).
  public static void formHabilitarFH(
      Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String btnHabilitarFH) {
    checkAuthenticity();
    if (!permisoFormHabilitarFH("editar")) {
      Messages.error("No tiene permisos suficientes para realizar la acción");
    }

    SolicitudGenerica dbSolicitud =
        SolicitudPresentarModificacionFAPController.getSolicitudGenerica(idSolicitud);
    idRegistroModificacion =
        dbSolicitud.registroModificacion.get(dbSolicitud.registroModificacion.size() - 1).id;
    RegistroModificacion registroModificacion =
        RegistroModificacion.findById(idRegistroModificacion);
    idRegistro = registroModificacion.registro.id;
    Registro dbRegistro =
        SolicitudPresentarModificacionFAPController.getRegistro(idRegistroModificacion, idRegistro);

    if (!Messages.hasErrors()) {
      try {
        PresentacionModificacionFapController.invoke(
            "comprobarFechaLimitePresentacion", idSolicitud);
      } catch (Throwable e1) {
        log.error(
            "Hubo un problema al invocar los métodos comprobarFechaLimitePresentacion: "
                + e1.getMessage());
        Messages.error("Error al validar las comprobaciones de la Fecha Límite de Presentación");
      }
    }

    if (!Messages.hasErrors()) {
      try {
        TramiteBase tramite =
            PresentacionModificacionFapController.invoke("getTramiteObject", idSolicitud);
        boolean encontrado = false;
        for (Documento doc : tramite.getDocumentos()) {
          if (doc.tipo.equals(
              FapProperties.get("fap.firmaYRegistro.funcionarioHabilitado.tipoDocumento"))) {
            encontrado = true;
            break;
          }
        }
        if (!encontrado) {
          log.error(
              "El documento que autoriza la firma de un funcionario habilitado no ha sido subido o su tipo no es correcto. Uri del tipo correcto: "
                  + FapProperties.get("fap.firmaYRegistro.funcionarioHabilitado.tipoDocumento"));
          Messages.error(
              "El documento que autoriza la firma de un funcionario habilitado no ha sido subido o su tipo no es correcto.");
          Messages.error(
              "Asegurese de haber subido el documento pertinente con tipo: "
                  + TableKeyValue.getValue(
                      "tiposDocumentos",
                      FapProperties.get("fap.firmaYRegistro.funcionarioHabilitado.tipoDocumento")));
        }
      } catch (Throwable e) {
        log.error(
            "Hubo un problema al intentar verificar la presencia del documento de autorizacion funcionario habilitado: "
                + e.getMessage());
        Messages.error("No se pudo habilitar la firma de un Funcionario");
      }
    }
    if (!Messages.hasErrors()) {
      SolicitudPresentarModificacionFAPController.formHabilitarFHValidateRules();
    }
    if (!Messages.hasErrors()) {
      dbRegistro.habilitaFuncionario = true;
      dbRegistro.save();
      Messages.ok("Se ha habilitado a un funcionario correctamente.");
      log.info(
          "Acción Editar de página: "
              + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html"
              + " , intentada con éxito");
    } else
      log.info(
          "Acción Editar de página: "
              + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html"
              + " , intentada sin éxito (Problemas de Validación)");
    SolicitudPresentarModificacionFAPController.formHabilitarFHRender(
        idSolicitud, idRegistroModificacion, idRegistro);
  }
 public String getEstadoUsuario() {
   if (!TableKeyValue.contains("estadosSolicitudUsuario", estado))
     utils.DataBaseUtils.updateEstadosSolicitudUsuario();
   return TableKeyValue.getValue("estadosSolicitudUsuario", estado);
 }