public static void index(Long idEvaluacion, String accion) {
    Map<String, Long> ids = (Map<String, Long>) tags.TagMapStack.top("idParams");
    if (secure.checkGrafico("accesoEvaluacion", "visible", "leer", ids, null)) {
      TipoEvaluacion tipoEvaluacion = TipoEvaluacion.all().first();
      Evaluacion evaluacion = Evaluacion.findById(idEvaluacion);
      if (evaluacion != null) {
        BaremacionUtils.ordenarTiposCEconomicos(evaluacion.tipo.ceconomicos);
        BaremacionUtils.ordenarCEconomicos(evaluacion.ceconomicos);
        BaremacionUtils.ordenarTiposCriterios(evaluacion.tipo.criterios);
        BaremacionUtils.ordenarCriterios(evaluacion.criterios);
      }
      notFoundIfNull(evaluacion);
      String expedienteUrl = redirectToFirstPage(evaluacion.solicitud.id);
      int duracion = tipoEvaluacion.duracion - 1;
      // Stupid hack
      boolean admin = "administradorgestor".contains(AgenteController.getAgente().rolActivo);

      if (!EstadosEvaluacionEnum.evaluada.name().equals(evaluacion.estado)) {
        BaremacionService.calcularTotales(evaluacion, admin, true);
      }
      boolean puedoGuardar =
          secure.checkGrafico("guardarEvaluacion", "editable", accion, ids, null);
      renderTemplate(
          "fap/Baremacion/fichaEvaluador.html",
          evaluacion,
          expedienteUrl,
          duracion,
          idEvaluacion,
          accion,
          puedoGuardar);
    } else {
      play.Logger.error("No se cumple el permiso \"accesoEvaluacion\" con ids: " + ids);
      forbidden();
    }
  }
 @Util
 public static void generaPDF(Long idEvaluacion, Integer duracion) {
   Evaluacion evaluacion = Evaluacion.findById(idEvaluacion);
   if (evaluacion == null) {
     Messages.error("Error al recuperar la evaluacion");
   }
   try {
     if (evaluacion != null) {
       BaremacionUtils.ordenarTiposCEconomicos(evaluacion.tipo.ceconomicos);
       BaremacionUtils.ordenarCEconomicos(evaluacion.ceconomicos);
       BaremacionUtils.ordenarTiposCriterios(evaluacion.tipo.criterios);
       BaremacionUtils.ordenarCriterios(evaluacion.criterios);
     }
     // Stupid hack
     boolean admin = "administradorgestor".contains(AgenteController.getAgente().rolActivo);
     if (!EstadosEvaluacionEnum.evaluada.name().equals(evaluacion.estado)) {
       BaremacionService.calcularTotales(evaluacion, admin, true);
     }
     new Report("reports/baremacion/Borrador.html")
         .header("reports/header.html")
         .footer("reports/footer-borrador.html")
         .renderResponse(evaluacion, duracion);
   } catch (Exception e) {
     play.Logger.error("Error al generar el borrador del documento %s", e.getMessage());
     Messages.error("Error al generar el borrador del documento");
   }
 }