diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/SismicaAdministrationPortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/SismicaAdministrationPortlet.java index fc563867..1f27a0fb 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/SismicaAdministrationPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/SismicaAdministrationPortlet.java @@ -7,18 +7,27 @@ import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.Pagamento; +import it.tref.liferay.portos.bo.model.Soggetto; import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; import it.tref.liferay.portos.bo.service.ConfigurazioneServiceUtil; +import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; +import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; +import it.tref.liferay.portos.bo.service.SoggettoServiceUtil; +import it.tref.liferay.portos.bo.shared.bean.FirmeBean; import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; +import it.tref.liferay.portos.bo.shared.util.FirmeUtil; +import it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil; import it.tref.liferay.portos.bo.util.PraticaUtil; +import it.tref.liferay.portos.bo.util.ValidazionePraticaUtil; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; @@ -34,15 +43,19 @@ import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.repository.model.FileEntry; import com.liferay.portal.kernel.repository.model.Folder; +import com.liferay.portal.kernel.servlet.SessionErrors; import com.liferay.portal.kernel.upload.UploadPortletRequest; +import com.liferay.portal.kernel.util.HttpUtil; import com.liferay.portal.kernel.util.MimeTypesUtil; import com.liferay.portal.kernel.util.ParamUtil; import com.liferay.portal.kernel.util.FileUtil; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.kernel.util.WebKeys; +import com.liferay.portal.model.User; import com.liferay.portal.service.ServiceContext; import com.liferay.portal.service.ServiceContextFactory; +import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.theme.ThemeDisplay; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.documentlibrary.NoSuchFolderException; @@ -54,10 +67,11 @@ import com.liferay.util.bridges.mvc.MVCPortlet; */ public class SismicaAdministrationPortlet extends MVCPortlet { - private static final Log _log = LogFactoryUtil.getLog(SismicaAdministrationPortlet.class); + private static final Log _log = LogFactoryUtil + .getLog(SismicaAdministrationPortlet.class); - public void mostraConfigurazione(ActionRequest actionRequest, ActionResponse actionResponse) - throws SystemException { + public void mostraConfigurazione(ActionRequest actionRequest, + ActionResponse actionResponse) throws SystemException { List esito = new ArrayList(); esito.add("

Env

"); @@ -66,25 +80,36 @@ public class SismicaAdministrationPortlet extends MVCPortlet { } esito.add("

Properties

"); - for (Map.Entry entry : System.getProperties().entrySet()) { + for (Map.Entry entry : System.getProperties() + .entrySet()) { esito.add(entry.getKey() + "=" + entry.getValue()); } - actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); + actionResponse.setRenderParameter("esito", + esito.toArray(new String[esito.size()])); } - public void generaDocumenti(ActionRequest actionRequest, ActionResponse actionResponse) { - ThemeDisplay td = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + public void generaDocumenti(ActionRequest actionRequest, + ActionResponse actionResponse) { + ThemeDisplay td = (ThemeDisplay) actionRequest + .getAttribute(WebKeys.THEME_DISPLAY); List esito = new ArrayList<>(); try { esito = SismicaUtil.generaDocumenti(td.getCompanyId()); } catch (PortalException | SystemException e) { esito.add("Errore durante l'invio " + e.getMessage()); } - actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); + actionResponse.setRenderParameter("esito", + esito.toArray(new String[esito.size()])); } +<<<<<<< HEAD public void sostituisciDL(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException, PortalException, IOException { +======= + public void sostituisciDL(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { + SismicaUtil.sostituisciDL(actionRequest, actionResponse); + +>>>>>>> 096838dd46c4f289d1b3f53893c6727c14619a1e long userId = 0; String title = null; String description = null; @@ -109,170 +134,259 @@ public class SismicaAdministrationPortlet extends MVCPortlet { String sourceFileName = uploadRequest.getFileName("file"); File file = uploadRequest.getFile("file"); Folder folder = null; - - switch (className) { - case "it.tref.liferay.portos.bo.model.DocPratica": - DocPratica pratica = DocPraticaLocalServiceUtil.getDocPratica(idOggetto); - userId = pratica.getUserId(); - companyId = pratica.getCompanyId(); - groupId = pratica.getGroupId(); - - serviceContext.setCompanyId(companyId); - serviceContext.setScopeGroupId(groupId); - serviceContext.setUserId(userId); - - defaultFolderId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, - ConfigurazioneConstants.ATTACHMENT_FOLDER_ID); - defaultFolder = DLAppLocalServiceUtil.getFolder(defaultFolderId); - folderName = PraticaUtil.getFolderName(pratica.getClassPk()); - folderId = defaultFolder.getFolderId(); - repositoryId = defaultFolder.getRepositoryId(); - - try { - folder = DLAppLocalServiceUtil.getFolder(repositoryId, folderId, folderName); - } catch (NoSuchFolderException e) { - folder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, folderId, folderName, - StringPool.BLANK, serviceContext); - } - - bytes = FileUtil.getBytes(file); - title = pratica.getTipologia() + StringPool.UNDERLINE + sourceFileName; - description = sourceFileName; - mimeType = MimeTypesUtil.getContentType(sourceFileName); - - /* - * try { - * DLAppLocalServiceUtil.deleteFileEntry(pratica.getDlFileEntryId - * ()); } catch(PortalException e){ - * - * } - */ - - try { - fileEntry = DLAppLocalServiceUtil.getFileEntry(pratica.getDlFileEntryId()); - fileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, fileEntry.getFileEntryId(), - now.getTime() + "_" + sourceFileName, mimeType, title, description, changeLog, false, - bytes, serviceContext); - } catch (PortalException e) { - fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, folder.getRepositoryId(), - folder.getFolderId(), now.getTime() + "_" + sourceFileName, mimeType, title, - description, changeLog, bytes, serviceContext); - } - - pratica.setDlFileEntryId(fileEntry.getFileEntryId()); - pratica.setSha256(DigestUtils.sha256Hex(bytes)); - DocPraticaLocalServiceUtil.updateDocPratica(pratica); - break; - - case "it.tref.liferay.portos.bo.model.Pagamento": - Pagamento pagamento = PagamentoLocalServiceUtil.getPagamento(idOggetto); - userId = pagamento.getUserId(); - companyId = pagamento.getCompanyId(); - groupId = pagamento.getGroupId(); - - serviceContext.setCompanyId(companyId); - serviceContext.setScopeGroupId(groupId); - serviceContext.setUserId(userId); - - defaultFolderId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, - ConfigurazioneConstants.ATTACHMENT_FOLDER_ID); - defaultFolder = DLAppLocalServiceUtil.getFolder(defaultFolderId); - folderName = PraticaUtil.getFolderName(pagamento.getClassPk()); - folderId = defaultFolder.getFolderId(); - repositoryId = defaultFolder.getRepositoryId(); - - try { - folder = DLAppLocalServiceUtil.getFolder(repositoryId, folderId, folderName); - } catch (NoSuchFolderException e) { - folder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, folderId, folderName, - StringPool.BLANK, serviceContext); - } - - bytes = FileUtil.getBytes(file); - title = now.getTime() + StringPool.UNDERLINE + "pagamento_manuale" + StringPool.UNDERLINE - + pagamento.getPagamentoId() + StringPool.UNDERLINE + sourceFileName; - description = StringPool.BLANK; - mimeType = MimeTypesUtil.getContentType(sourceFileName); - - /* - * try { - * DLAppLocalServiceUtil.deleteFileEntry(pagamento.getFileEntryId - * ()); } catch(PortalException e){ - * - * } - */ - - try { - fileEntry = DLAppLocalServiceUtil.getFileEntry(pagamento.getFileEntryId()); - fileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, fileEntry.getFileEntryId(), - now.getTime() + "_" + sourceFileName, mimeType, title, description, changeLog, false, - bytes, serviceContext); - } catch (PortalException e) { - fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, folder.getRepositoryId(), - folder.getFolderId(), now.getTime() + "_" + sourceFileName, mimeType, title, - description, changeLog, bytes, serviceContext); - } - - pagamento.setFileEntryId(fileEntry.getFileEntryId()); - PagamentoLocalServiceUtil.updatePagamento(pagamento); - break; - - default: - - break; - + + switch(className){ + case "it.tref.liferay.portos.bo.model.DocPratica": + DocPratica pratica = DocPraticaLocalServiceUtil.getDocPratica(idOggetto); + userId = pratica.getUserId(); + companyId = pratica.getCompanyId(); + groupId = pratica.getGroupId(); + + serviceContext.setCompanyId(companyId); + serviceContext.setScopeGroupId(groupId); + serviceContext.setUserId(userId); + + defaultFolderId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, ConfigurazioneConstants.ATTACHMENT_FOLDER_ID); + defaultFolder = DLAppLocalServiceUtil.getFolder(defaultFolderId); + folderName = PraticaUtil.getFolderName(pratica.getClassPk()); + folderId = defaultFolder.getFolderId(); + repositoryId = defaultFolder.getRepositoryId(); + + try { + folder = DLAppLocalServiceUtil.getFolder(repositoryId, folderId, folderName); + } catch (NoSuchFolderException e) { + folder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, folderId, folderName, + StringPool.BLANK, serviceContext); + } + + bytes = FileUtil.getBytes(file); + title = pratica.getTipologia() + StringPool.UNDERLINE + sourceFileName; + description = sourceFileName; + mimeType = MimeTypesUtil.getContentType(sourceFileName); + + try { + fileEntry = DLAppLocalServiceUtil.getFileEntry(pratica.getDlFileEntryId()); + fileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, fileEntry.getFileEntryId(), + now.getTime() + "_" + sourceFileName, mimeType, title, description, changeLog, false, bytes, + serviceContext); + } catch (PortalException e) { + fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, folder.getRepositoryId(), folder.getFolderId(), now.getTime() + "_" + sourceFileName, + mimeType, title, description, changeLog, bytes, serviceContext); + } + + pratica.setDlFileEntryId(fileEntry.getFileEntryId()); + pratica.setSha256(DigestUtils.sha256Hex(bytes)); + DocPraticaLocalServiceUtil.updateDocPratica(pratica); + break; + + case "it.tref.liferay.portos.bo.model.Pagamento": + Pagamento pagamento = PagamentoLocalServiceUtil.getPagamento(idOggetto); + userId = pagamento.getUserId(); + companyId = pagamento.getCompanyId(); + groupId = pagamento.getGroupId(); + + serviceContext.setCompanyId(companyId); + serviceContext.setScopeGroupId(groupId); + serviceContext.setUserId(userId); + + defaultFolderId = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, ConfigurazioneConstants.ATTACHMENT_FOLDER_ID); + defaultFolder = DLAppLocalServiceUtil.getFolder(defaultFolderId); + folderName = PraticaUtil.getFolderName(pagamento.getClassPk()); + folderId = defaultFolder.getFolderId(); + repositoryId = defaultFolder.getRepositoryId(); + + try { + folder = DLAppLocalServiceUtil.getFolder(repositoryId, folderId, folderName); + } catch (NoSuchFolderException e) { + folder = DLAppLocalServiceUtil.addFolder(userId, repositoryId, folderId, folderName, + StringPool.BLANK, serviceContext); + } + + bytes = FileUtil.getBytes(file); + title = now.getTime() + StringPool.UNDERLINE + "pagamento_manuale" + StringPool.UNDERLINE + + pagamento.getPagamentoId() + StringPool.UNDERLINE + sourceFileName; + description = StringPool.BLANK; + mimeType = MimeTypesUtil.getContentType(sourceFileName); + + try { + fileEntry = DLAppLocalServiceUtil.getFileEntry(pagamento.getFileEntryId()); + fileEntry = DLAppLocalServiceUtil.updateFileEntry(userId, fileEntry.getFileEntryId(), + now.getTime() + "_" + sourceFileName, mimeType, title, description, changeLog, false, bytes, + serviceContext); + } catch (PortalException e) { + fileEntry = DLAppLocalServiceUtil.addFileEntry(userId, folder.getRepositoryId(), folder.getFolderId(), now.getTime() + "_" + sourceFileName, + mimeType, title, description, changeLog, bytes, serviceContext); + } + + pagamento.setFileEntryId(fileEntry.getFileEntryId()); + PagamentoLocalServiceUtil.updatePagamento(pagamento); + break; + + case "var_soggetti_no_docpratica": + Soggetto soggetto = SoggettoLocalServiceUtil.getSoggetto(idOggetto); + DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(soggetto.getDettPraticaId()); + long intPraticaId = dettPratica.getIntPraticaId(); + serviceContext = ServiceContextFactory.getInstance(Soggetto.class.getName(), actionRequest); + + byte[] content = null; + String jsonFirmatari = ""; + boolean isSigned = false; + FirmeBean firmeBean = new FirmeBean(); + + + User user = UserLocalServiceUtil.getUser(serviceContext.getUserId()); + + if (!firmeBean.allSignatures().contains(user.getScreenName())) { + jsonFirmatari = FirmeUtil.addFirma(firmeBean, user.getScreenName()); + } else { + jsonFirmatari = FirmeUtil.serialize(firmeBean); + } + + if (file.exists()) { + + if (Validator.isNotNull(sourceFileName) && file != null) { + // validazione: solo alcune estensioni + String ext = FileUtil.getExtension(sourceFileName); + if (!ext.equalsIgnoreCase("p7m") + && !ext.equalsIgnoreCase("pdf")) { + SessionErrors + .add(actionRequest, + "error.geniocivilefe.variazione-soggetto.allegato.ext.valid"); + } + // lunghezza fissata a 200 + if (sourceFileName.length() > 200) { + SessionErrors + .add(actionRequest, + "error.geniocivilefe.variazione-soggetto.allegato.length.valid"); + } + } else if (!TipoSoggettoUtil.COMMITTENTE + .equalsIgnoreCase(soggetto.getTipologiaSoggetto())) { + SessionErrors + .add(actionRequest, + "error.geniocivilefe.variazione-soggetto.allegato.is.request"); + } + + if (!SessionErrors.isEmpty(actionRequest)) { + throw new SystemException( + "error.geniocivilefe.variazione-soggetto.allegato"); + } else if (file != null) { + content = FileUtil.getBytes(file); + } + + } + + if (TipoSoggettoUtil.COMMITTENTE.equals(soggetto + .getTipologiaSoggetto())) { + String[] titolare = new String[] { dettPratica + .getCodiceFiscaleDelegatoCommittente() }; + isSigned = ValidazionePraticaUtil.isAllegatoSignedBySubjects( + sourceFileName, content, serviceContext.getCompanyId(), + Arrays.asList(titolare), jsonFirmatari); + } else { + List soggettiValidi = SoggettoServiceUtil + .getValidTmpByIntPratica(intPraticaId); + List codiciFiscaliValidi = new ArrayList(); + for (Soggetto valido : soggettiValidi) { + if (!codiciFiscaliValidi + .contains(valido.getCodiceFiscale()) + && !valido.getCodiceFiscale().equalsIgnoreCase( + soggetto.getCodiceFiscale())) { + codiciFiscaliValidi.add(valido.getCodiceFiscale()); + } + } + isSigned = ValidazionePraticaUtil + .isAllegatoSignedBySubjectsAndPerson(sourceFileName, + content, serviceContext.getCompanyId(), + codiciFiscaliValidi, + soggetto.getCodiceFiscale(), jsonFirmatari); + } + + if(isSigned){ + userId = PortalUtil.getUserId(actionRequest); + + try { + SoggettoServiceUtil.allegaFileModifica(soggetto.getSoggettoId(), userId, intPraticaId, content, sourceFileName, jsonFirmatari, + serviceContext); + } catch (PortalException e) { + _log.error(e, e); + throw e; + } + } + + break; + + default: + + break; + } } - public void resetFirme(ActionRequest actionRequest, ActionResponse actionResponse) { - ThemeDisplay td = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); - String numeroProgetto = ParamUtil.getString(actionRequest, "numeroProgetto"); + public void resetFirme(ActionRequest actionRequest, + ActionResponse actionResponse) { + ThemeDisplay td = (ThemeDisplay) actionRequest + .getAttribute(WebKeys.THEME_DISPLAY); + String numeroProgetto = ParamUtil.getString(actionRequest, + "numeroProgetto"); List esito = new ArrayList<>(); try { esito = SismicaUtil.resetFirme(td.getCompanyId(), numeroProgetto); } catch (SystemException | PortalException e) { esito.add("Errore durante l'invio " + e.getMessage()); } - actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); + actionResponse.setRenderParameter("esito", + esito.toArray(new String[esito.size()])); } - public void reIndexFasciolo(ActionRequest actionRequest, ActionResponse actionResponse) - throws PortalException, SystemException { + public void reIndexFasciolo(ActionRequest actionRequest, + ActionResponse actionResponse) throws PortalException, + SystemException { - ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest + .getAttribute(WebKeys.THEME_DISPLAY); long intPraticaId = ParamUtil.getLong(actionRequest, "intPraticaId"); if (Validator.isNotNull(intPraticaId)) { - IntPraticaLocalServiceUtil.reIndexFasciolo(intPraticaId, themeDisplay.getCompanyId()); + IntPraticaLocalServiceUtil.reIndexFasciolo(intPraticaId, + themeDisplay.getCompanyId()); } - String numeroProgetto = ParamUtil.getString(actionRequest, "numeroProgetto"); + String numeroProgetto = ParamUtil.getString(actionRequest, + "numeroProgetto"); if (Validator.isNotNull(numeroProgetto)) { - IntPraticaLocalServiceUtil.reIndexFasciolo(numeroProgetto, themeDisplay.getCompanyId()); + IntPraticaLocalServiceUtil.reIndexFasciolo(numeroProgetto, + themeDisplay.getCompanyId()); } } - public void reIndexFascicoli(ActionRequest actionRequest, ActionResponse actionResponse) { - ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + public void reIndexFascicoli(ActionRequest actionRequest, + ActionResponse actionResponse) { + ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest + .getAttribute(WebKeys.THEME_DISPLAY); List esito = null; esito = SismicaUtil.reIndexFascicoli(themeDisplay.getCompanyId()); if (esito != null) - actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); + actionResponse.setRenderParameter("esito", + esito.toArray(new String[esito.size()])); } - public void lanciaSorteggio(ActionRequest actionRequest, ActionResponse actionResponse) { - ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); + public void lanciaSorteggio(ActionRequest actionRequest, + ActionResponse actionResponse) { + ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest + .getAttribute(WebKeys.THEME_DISPLAY); List esito = null; _log.info("Sorteggio lanciato manualmente"); try { - esito = SorteggioPraticaUtil.sorteggio(themeDisplay.getCompanyId(), new Date()); + esito = SorteggioPraticaUtil.sorteggio(themeDisplay.getCompanyId(), + new Date()); } catch (PortalException | SystemException e) { _log.error("error", e); } if (esito != null) - actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); + actionResponse.setRenderParameter("esito", + esito.toArray(new String[esito.size()])); } public void testInterno(ActionRequest actionRequest, ActionResponse actionResponse) @@ -287,18 +401,22 @@ public class SismicaAdministrationPortlet extends MVCPortlet { SismicaUtil.inviaAvviso(actionRequest, actionResponse); } - public void salvaDataProssimoSorteggio(ActionRequest actionRequest, ActionResponse actionResponse) - throws PortalException, SystemException { + public void salvaDataProssimoSorteggio(ActionRequest actionRequest, + ActionResponse actionResponse) throws PortalException, + SystemException { - ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); + ServiceContext serviceContext = ServiceContextFactory + .getInstance(actionRequest); serviceContext.setScopeGroupId(-1L); serviceContext.setCompanyId(serviceContext.getCompanyId()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - Date dataProssimoSorteggio = ParamUtil.getDate(actionRequest, "dataProssimoSorteggio", sdf); + Date dataProssimoSorteggio = ParamUtil.getDate(actionRequest, + "dataProssimoSorteggio", sdf); - ConfigurazioneServiceUtil.storeConfig("conf.geniocivile.sorteggio.data.prossimo.sorteggio", + ConfigurazioneServiceUtil.storeConfig( + "conf.geniocivile.sorteggio.data.prossimo.sorteggio", sdf.format(dataProssimoSorteggio), serviceContext); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp index 9302040f..0f75843c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp @@ -176,6 +176,10 @@ String dataProssimoSorteggio = value="<%=DocPratica.class.getName()%>"> + +