@Util public static void prepararParaFirmarFuncionarioHabilitadoFormPreparar(Long idSolicitud) { play.Logger.info("Preparamos para firmar por el funcionario Habilitado (no hace nada aún)"); prepararParaFirmarFormPreparar(idSolicitud); Solicitud dbSolicitud = PaginaFirmaController.getSolicitud(idSolicitud); if (!Messages.hasErrors()) { // Borra firmantes anteriores List<Firmante> firmantesBack = new ArrayList<Firmante>(dbSolicitud.registro.firmantes); dbSolicitud.registro.firmantes.clear(); dbSolicitud.registro.save(); FirmaUtils.borrarFirmantes(firmantesBack); // Calcula quién puede firmar la solicitud (los funcionarios habilitados) dbSolicitud.registro.firmantes = FuncionariosHabilitados.getFirmantes(); dbSolicitud.registro.save(); play.Logger.info("FIRMANTES"); for (Firmante f : dbSolicitud.registro.firmantes) { play.Logger.info(f.toString()); } dbSolicitud.solicitante.autorizaFuncionario = true; dbSolicitud.registro.fasesRegistro.setFase(FaseRegistroEnum.preparadaFuncionario); dbSolicitud.save(); // Debemos comprobar que el documento con el tipo de URI haya sido añadido a la documentación Messages.ok("Preparado para firmar por el funcionario correctamente"); } }
@Util public static void prepararParaFirmarFormPreparar(Long idSolicitud) { // Sobreescribir este método para asignar una acción Solicitud dbSolicitud = PaginaFirmaController.getSolicitud(idSolicitud); play.Logger.info("Preparamos para firmar"); FirmaService firmaService = InjectorConfig.getInjector().getInstance(FirmaService.class); FirmaUtils.generarOficial(dbSolicitud); if (!Messages.hasErrors()) { dbSolicitud.registro.fasesRegistro.borrador = true; dbSolicitud.solicitante.autorizaFuncionario = false; dbSolicitud.registro.fasesRegistro.setFase(FaseRegistroEnum.preparada); dbSolicitud.save(); // Borra firmantes anteriores List<Firmante> firmantesBack = new ArrayList<Firmante>(dbSolicitud.registro.firmantes); dbSolicitud.registro.firmantes.clear(); dbSolicitud.registro.save(); FirmaUtils.borrarFirmantes(firmantesBack); // Calcula quién puede firmar la solicitud dbSolicitud.registro.firmantes = dbSolicitud.solicitante.calcularFirmantes(); // dbSolicitud.solicitante.autorizaFuncionario = true; dbSolicitud.registro.save(); play.Logger.info("FIRMANTES"); for (Firmante f : dbSolicitud.registro.firmantes) { play.Logger.info(f.toString()); } } if (!Messages.hasErrors()) Messages.ok("Solicitud preparada para firmar"); }