From 912d42e764eafb3e3a193c528ebf7b085ae21b80 Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Fri, 9 Sep 2022 15:41:40 +0200 Subject: [PATCH] Nuova gestione fine lavori --- .../docroot/WEB-INF/liferay-portlet.xml | 26 +- .../docroot/WEB-INF/service.xml | 7 +- .../portos/bo/model/FineLavoriClp.java | 245 +- .../portos/bo/model/FineLavoriModel.java | 95 + .../portos/bo/model/FineLavoriSoap.java | 64 + .../portos/bo/model/FineLavoriWrapper.java | 175 + .../bo/service/FineLavoriLocalService.java | 3 +- .../bo/service/FineLavoriLocalServiceClp.java | 14 +- .../service/FineLavoriLocalServiceUtil.java | 9 +- .../FineLavoriLocalServiceWrapper.java | 11 +- .../portos/bo/service/FineLavoriService.java | 3 +- .../bo/service/FineLavoriServiceClp.java | 14 +- .../bo/service/FineLavoriServiceUtil.java | 9 +- .../bo/service/FineLavoriServiceWrapper.java | 11 +- .../bo/service/PagamentoLocalService.java | 12 - .../bo/service/PagamentoLocalServiceClp.java | 278 +- .../bo/service/PagamentoLocalServiceUtil.java | 18 - .../service/PagamentoLocalServiceWrapper.java | 19 - .../portos/bo/service/PagamentoService.java | 19 - .../bo/service/PagamentoServiceClp.java | 153 +- .../bo/service/PagamentoServiceUtil.java | 29 - .../bo/service/PagamentoServiceWrapper.java | 30 - .../portos/bo/util/PagamentiCommonUtil.java | 39 +- .../docroot/WEB-INF/sql/tables.sql | 6 + .../WEB-INF/src/META-INF/portlet-hbm.xml | 6 + .../src/META-INF/portlet-model-hints.xml | 6 + .../WEB-INF/src/META-INF/portlet-orm.xml | 6 + .../WEB-INF/src/content/Portal.properties | 9 +- .../bo/startup/DatabaseUpdateAction.java | 7 +- .../bo/model/impl/FineLavoriCacheModel.java | 86 +- .../bo/model/impl/FineLavoriModelImpl.java | 241 +- .../bo/portlet/PagamentiPendingPortlet.java | 60 +- .../bo/scheduler/SchedulerInvioDocumento.java | 48 +- .../scheduler/VerificaPagamentiScheduler.java | 81 - .../FineLavoriLocalServiceClpInvoker.java | 13 +- .../base/FineLavoriServiceClpInvoker.java | 13 +- .../base/PagamentoLocalServiceClpInvoker.java | 234 +- .../base/PagamentoServiceClpInvoker.java | 56 +- .../service/http/FineLavoriServiceSoap.java | 10 +- .../bo/service/http/PagamentoServiceSoap.java | 45 - .../service/impl/AvvisoLocalServiceImpl.java | 3 + .../impl/CollaudoLocalServiceImpl.java | 4 - .../impl/DettPraticaLocalServiceImpl.java | 5 - .../impl/FineLavoriLocalServiceImpl.java | 32 +- .../service/impl/FineLavoriServiceImpl.java | 16 +- .../impl/PagamentoLocalServiceImpl.java | 104 +- .../bo/service/impl/PagamentoServiceImpl.java | 42 - .../impl/SoggettoLocalServiceImpl.java | 39 +- .../FineLavoriPersistenceImpl.java | 6 + .../liferay/portos/bo/util/PagamentiUtil.java | 100 +- .../docroot/WEB-INF/src/service.properties | 4 +- .../docroot/html/pagamenti/view.jsp | 71 +- .../html/pagamenti/view_pagamenti_pending.jsp | 42 +- .../html/pagamenti/view_panel_generic.jsp | 8 - .../pagamenti/view_panel_pagamenti_bolli.jsp | 6 - .../pagamenti/view_panel_pagamenti_spese.jsp | 8 - .../portos/fe/portlet/FascicoloFePortlet.java | 51 +- .../html/fascicolofe/edit_fine-lavori.jsp | 26 +- .../html/fascicolofe/edit_inizio_lavori.jsp | 43 +- .../fascicolofe/pagamenti/confirm_iris.jsp | 217 - .../fascicolofe/pagamenti/replace_payment.jsp | 45 - .../pagamenti/rigenera_pagamento.jsp | 73 - .../fascicolofe/verify_cambio_soggetti.jsp | 180 +- .../fascicolofe/verify_collaudo_calcolo.jsp | 99 +- .../html/fascicolofe/verify_fascicolo.jsp | 29 +- .../fascicolofe/verify_fascicolo_calcolo.jsp | 106 +- .../verify_fine-lavori_calcolo.jsp | 201 +- .../verify_fine-lavori_calcolo_old.jsp | 312 -- .../portos-mapit-plugin-portlet/.classpath | 22 - .../portos-mapit-plugin-portlet/.project | 36 - .../.settings/.jsdtscope | 12 - .../.settings/org.eclipse.jdt.core.prefs | 7 - .../.settings/org.eclipse.jst.jsp.core.prefs | 3 - .../org.eclipse.wst.common.component | 8 - ...se.wst.common.project.facet.core.prefs.xml | 7 - ....eclipse.wst.common.project.facet.core.xml | 11 - ...rg.eclipse.wst.jsdt.ui.superType.container | 1 - .../org.eclipse.wst.jsdt.ui.superType.name | 1 - .../portos-mapit-plugin-portlet/.tern-project | 1 - .../portos-mapit-plugin-portlet/build.xml | 6 - .../docroot/META-INF/MANIFEST.MF | 3 - .../docroot/WEB-INF/lib/tref-mapit-shared.jar | Bin 32736 -> 0 bytes .../docroot/WEB-INF/lib/util-java.jar | Bin 213058 -> 0 bytes .../docroot/WEB-INF/liferay-display.xml | 9 - .../WEB-INF/liferay-plugin-package.properties | 15 - .../docroot/WEB-INF/liferay-portlet.xml | 31 - .../docroot/WEB-INF/portlet.xml | 38 - .../WEB-INF/src/content/Language.properties | 2 - .../portos/plugin/FascicoloPlugin.java | 53 - .../plugin/portlet/FascicoloMapPortlet.java | 11 - .../docroot/WEB-INF/src/portlet.properties | 7 - .../docroot/WEB-INF/tld/aui.tld | 2568 --------- .../WEB-INF/tld/liferay-portlet-ext.tld | 538 -- .../docroot/WEB-INF/tld/liferay-portlet.tld | 158 - .../docroot/WEB-INF/tld/liferay-security.tld | 106 - .../docroot/WEB-INF/tld/liferay-theme.tld | 65 - .../docroot/WEB-INF/tld/liferay-ui.tld | 4691 ----------------- .../docroot/WEB-INF/tld/liferay-util.tld | 141 - .../docroot/WEB-INF/web.xml | 3 - .../docroot/css/main.css | 0 .../docroot/html/fascicolomap/view.jsp | 6 - .../docroot/html/init.jsp | 42 - .../docroot/html/plugin/init.jsp | 7 - .../docroot/html/plugin/top.jsp | 518 -- .../docroot/icon.png | Bin 467 -> 0 bytes .../docroot/images/marker.png | Bin 23200 -> 0 bytes .../docroot/js/main.js | 0 .../docroot/view.jsp | 22 - .../portos-mapit-plugin-portlet/ivy.xml | 18 - .../portos-mapit-plugin-portlet/ivy.xml.MD5 | 1 - .../test/integration/arquillian.xml | 15 - .../bo/shared/util/PagamentoConstants.java | 27 +- 112 files changed, 1639 insertions(+), 11653 deletions(-) delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/VerificaPagamentiScheduler.java delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/confirm_iris.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/replace_payment.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/rigenera_pagamento.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo_old.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.classpath delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.project delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/.jsdtscope delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jdt.core.prefs delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jst.jsp.core.prefs delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.component delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.container delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.name delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.tern-project delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/build.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/META-INF/MANIFEST.MF delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/lib/tref-mapit-shared.jar delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/lib/util-java.jar delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-display.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-plugin-package.properties delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-portlet.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/portlet.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/content/Language.properties delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/FascicoloPlugin.java delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/portlet/FascicoloMapPortlet.java delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/portlet.properties delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/aui.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet-ext.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-security.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-theme.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-ui.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-util.tld delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/web.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/css/main.css delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/fascicolomap/view.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/init.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/init.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/top.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/icon.png delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/images/marker.png delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/js/main.js delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/view.jsp delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml.MD5 delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/test/integration/arquillian.xml diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-portlet.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-portlet.xml index e8e379b1..2039d4cb 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-portlet.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-portlet.xml @@ -11,8 +11,8 @@ it.tref.liferay.portos.bo.scheduler.SchedulerEstrazioneFirme - 30 - second + 1 + minute @@ -21,8 +21,8 @@ it.tref.liferay.portos.bo.scheduler.SchedulerInvioDocumento - 30 - second + 1 + minute @@ -31,8 +31,8 @@ it.tref.liferay.portos.bo.scheduler.SchedulerGeneraDocumento - 30 - second + 1 + minute @@ -45,23 +45,13 @@ - - Verifica Pagamenti - it.tref.liferay.portos.bo.scheduler.VerificaPagamentiScheduler - - - 30 - second - - - Pratiche it.tref.liferay.portos.bo.scheduler.SchedulerPratiche - 30 - second + 1 + minute diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml index 9ab719df..45c73310 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml @@ -704,14 +704,19 @@ - + + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriClp.java index 10dc9df1..8d9726f8 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriClp.java @@ -95,14 +95,20 @@ public class FineLavoriClp extends BaseModelImpl attributes.put("dataEffettuazione", getDataEffettuazione()); attributes.put("dataFineLavori", getDataFineLavori()); attributes.put("normEsenteBollo", getNormEsenteBollo()); + attributes.put("normEsenteSpese", getNormEsenteSpese()); attributes.put("normEsenteCollaudo", getNormEsenteCollaudo()); attributes.put("comunicazioneDirettoreLavori", getComunicazioneDirettoreLavori()); attributes.put("pagamentoId", getPagamentoId()); + attributes.put("pagamentoSpeseId", getPagamentoSpeseId()); attributes.put("codicePagamento", getCodicePagamento()); + attributes.put("codicePagamentoSpese", getCodicePagamentoSpese()); attributes.put("causalePagamento", getCausalePagamento()); + attributes.put("causalePagamentoSpese", getCausalePagamentoSpese()); attributes.put("mezzoPagamento", getMezzoPagamento()); + attributes.put("mezzoPagamentoSpese", getMezzoPagamentoSpese()); attributes.put("importoBolli", getImportoBolli()); + attributes.put("importoSpese", getImportoSpese()); attributes.put("richiestaAttestazione", getRichiestaAttestazione()); return attributes; @@ -225,6 +231,12 @@ public class FineLavoriClp extends BaseModelImpl setNormEsenteBollo(normEsenteBollo); } + Boolean normEsenteSpese = (Boolean)attributes.get("normEsenteSpese"); + + if (normEsenteSpese != null) { + setNormEsenteSpese(normEsenteSpese); + } + Boolean normEsenteCollaudo = (Boolean)attributes.get( "normEsenteCollaudo"); @@ -245,30 +257,63 @@ public class FineLavoriClp extends BaseModelImpl setPagamentoId(pagamentoId); } + Long pagamentoSpeseId = (Long)attributes.get("pagamentoSpeseId"); + + if (pagamentoSpeseId != null) { + setPagamentoSpeseId(pagamentoSpeseId); + } + String codicePagamento = (String)attributes.get("codicePagamento"); if (codicePagamento != null) { setCodicePagamento(codicePagamento); } + String codicePagamentoSpese = (String)attributes.get( + "codicePagamentoSpese"); + + if (codicePagamentoSpese != null) { + setCodicePagamentoSpese(codicePagamentoSpese); + } + String causalePagamento = (String)attributes.get("causalePagamento"); if (causalePagamento != null) { setCausalePagamento(causalePagamento); } + String causalePagamentoSpese = (String)attributes.get( + "causalePagamentoSpese"); + + if (causalePagamentoSpese != null) { + setCausalePagamentoSpese(causalePagamentoSpese); + } + String mezzoPagamento = (String)attributes.get("mezzoPagamento"); if (mezzoPagamento != null) { setMezzoPagamento(mezzoPagamento); } + String mezzoPagamentoSpese = (String)attributes.get( + "mezzoPagamentoSpese"); + + if (mezzoPagamentoSpese != null) { + setMezzoPagamentoSpese(mezzoPagamentoSpese); + } + String importoBolli = (String)attributes.get("importoBolli"); if (importoBolli != null) { setImportoBolli(importoBolli); } + String importoSpese = (String)attributes.get("importoSpese"); + + if (importoSpese != null) { + setImportoSpese(importoSpese); + } + Boolean richiestaAttestazione = (Boolean)attributes.get( "richiestaAttestazione"); @@ -747,6 +792,35 @@ public class FineLavoriClp extends BaseModelImpl } } + @Override + public boolean getNormEsenteSpese() { + return _normEsenteSpese; + } + + @Override + public boolean isNormEsenteSpese() { + return _normEsenteSpese; + } + + @Override + public void setNormEsenteSpese(boolean normEsenteSpese) { + _normEsenteSpese = normEsenteSpese; + + if (_fineLavoriRemoteModel != null) { + try { + Class clazz = _fineLavoriRemoteModel.getClass(); + + Method method = clazz.getMethod("setNormEsenteSpese", + boolean.class); + + method.invoke(_fineLavoriRemoteModel, normEsenteSpese); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public boolean getNormEsenteCollaudo() { return _normEsenteCollaudo; @@ -825,6 +899,30 @@ public class FineLavoriClp extends BaseModelImpl } } + @Override + public long getPagamentoSpeseId() { + return _pagamentoSpeseId; + } + + @Override + public void setPagamentoSpeseId(long pagamentoSpeseId) { + _pagamentoSpeseId = pagamentoSpeseId; + + if (_fineLavoriRemoteModel != null) { + try { + Class clazz = _fineLavoriRemoteModel.getClass(); + + Method method = clazz.getMethod("setPagamentoSpeseId", + long.class); + + method.invoke(_fineLavoriRemoteModel, pagamentoSpeseId); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public String getCodicePagamento() { return _codicePagamento; @@ -849,6 +947,30 @@ public class FineLavoriClp extends BaseModelImpl } } + @Override + public String getCodicePagamentoSpese() { + return _codicePagamentoSpese; + } + + @Override + public void setCodicePagamentoSpese(String codicePagamentoSpese) { + _codicePagamentoSpese = codicePagamentoSpese; + + if (_fineLavoriRemoteModel != null) { + try { + Class clazz = _fineLavoriRemoteModel.getClass(); + + Method method = clazz.getMethod("setCodicePagamentoSpese", + String.class); + + method.invoke(_fineLavoriRemoteModel, codicePagamentoSpese); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public String getCausalePagamento() { return _causalePagamento; @@ -873,6 +995,30 @@ public class FineLavoriClp extends BaseModelImpl } } + @Override + public String getCausalePagamentoSpese() { + return _causalePagamentoSpese; + } + + @Override + public void setCausalePagamentoSpese(String causalePagamentoSpese) { + _causalePagamentoSpese = causalePagamentoSpese; + + if (_fineLavoriRemoteModel != null) { + try { + Class clazz = _fineLavoriRemoteModel.getClass(); + + Method method = clazz.getMethod("setCausalePagamentoSpese", + String.class); + + method.invoke(_fineLavoriRemoteModel, causalePagamentoSpese); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public String getMezzoPagamento() { return _mezzoPagamento; @@ -897,6 +1043,30 @@ public class FineLavoriClp extends BaseModelImpl } } + @Override + public String getMezzoPagamentoSpese() { + return _mezzoPagamentoSpese; + } + + @Override + public void setMezzoPagamentoSpese(String mezzoPagamentoSpese) { + _mezzoPagamentoSpese = mezzoPagamentoSpese; + + if (_fineLavoriRemoteModel != null) { + try { + Class clazz = _fineLavoriRemoteModel.getClass(); + + Method method = clazz.getMethod("setMezzoPagamentoSpese", + String.class); + + method.invoke(_fineLavoriRemoteModel, mezzoPagamentoSpese); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public String getImportoBolli() { return _importoBolli; @@ -920,6 +1090,29 @@ public class FineLavoriClp extends BaseModelImpl } } + @Override + public String getImportoSpese() { + return _importoSpese; + } + + @Override + public void setImportoSpese(String importoSpese) { + _importoSpese = importoSpese; + + if (_fineLavoriRemoteModel != null) { + try { + Class clazz = _fineLavoriRemoteModel.getClass(); + + Method method = clazz.getMethod("setImportoSpese", String.class); + + method.invoke(_fineLavoriRemoteModel, importoSpese); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public boolean getRichiestaAttestazione() { return _richiestaAttestazione; @@ -1100,13 +1293,19 @@ public class FineLavoriClp extends BaseModelImpl clone.setDataEffettuazione(getDataEffettuazione()); clone.setDataFineLavori(getDataFineLavori()); clone.setNormEsenteBollo(getNormEsenteBollo()); + clone.setNormEsenteSpese(getNormEsenteSpese()); clone.setNormEsenteCollaudo(getNormEsenteCollaudo()); clone.setComunicazioneDirettoreLavori(getComunicazioneDirettoreLavori()); clone.setPagamentoId(getPagamentoId()); + clone.setPagamentoSpeseId(getPagamentoSpeseId()); clone.setCodicePagamento(getCodicePagamento()); + clone.setCodicePagamentoSpese(getCodicePagamentoSpese()); clone.setCausalePagamento(getCausalePagamento()); + clone.setCausalePagamentoSpese(getCausalePagamentoSpese()); clone.setMezzoPagamento(getMezzoPagamento()); + clone.setMezzoPagamentoSpese(getMezzoPagamentoSpese()); clone.setImportoBolli(getImportoBolli()); + clone.setImportoSpese(getImportoSpese()); clone.setRichiestaAttestazione(getRichiestaAttestazione()); return clone; @@ -1160,7 +1359,7 @@ public class FineLavoriClp extends BaseModelImpl @Override public String toString() { - StringBundler sb = new StringBundler(55); + StringBundler sb = new StringBundler(67); sb.append("{uuid="); sb.append(getUuid()); @@ -1200,20 +1399,32 @@ public class FineLavoriClp extends BaseModelImpl sb.append(getDataFineLavori()); sb.append(", normEsenteBollo="); sb.append(getNormEsenteBollo()); + sb.append(", normEsenteSpese="); + sb.append(getNormEsenteSpese()); sb.append(", normEsenteCollaudo="); sb.append(getNormEsenteCollaudo()); sb.append(", comunicazioneDirettoreLavori="); sb.append(getComunicazioneDirettoreLavori()); sb.append(", pagamentoId="); sb.append(getPagamentoId()); + sb.append(", pagamentoSpeseId="); + sb.append(getPagamentoSpeseId()); sb.append(", codicePagamento="); sb.append(getCodicePagamento()); + sb.append(", codicePagamentoSpese="); + sb.append(getCodicePagamentoSpese()); sb.append(", causalePagamento="); sb.append(getCausalePagamento()); + sb.append(", causalePagamentoSpese="); + sb.append(getCausalePagamentoSpese()); sb.append(", mezzoPagamento="); sb.append(getMezzoPagamento()); + sb.append(", mezzoPagamentoSpese="); + sb.append(getMezzoPagamentoSpese()); sb.append(", importoBolli="); sb.append(getImportoBolli()); + sb.append(", importoSpese="); + sb.append(getImportoSpese()); sb.append(", richiestaAttestazione="); sb.append(getRichiestaAttestazione()); sb.append("}"); @@ -1223,7 +1434,7 @@ public class FineLavoriClp extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(85); + StringBundler sb = new StringBundler(103); sb.append(""); sb.append("it.tref.liferay.portos.bo.model.FineLavori"); @@ -1305,6 +1516,10 @@ public class FineLavoriClp extends BaseModelImpl "normEsenteBollo"); + sb.append( + "normEsenteSpese"); sb.append( "normEsenteCollaudo "pagamentoId"); + sb.append( + "pagamentoSpeseId"); sb.append( "codicePagamento"); + sb.append( + "codicePagamentoSpese"); sb.append( "causalePagamento"); + sb.append( + "causalePagamentoSpese"); sb.append( "mezzoPagamento"); + sb.append( + "mezzoPagamentoSpese"); sb.append( "importoBolli"); + sb.append( + "importoSpese"); sb.append( "richiestaAttestazione private Date _dataEffettuazione; private Date _dataFineLavori; private boolean _normEsenteBollo; + private boolean _normEsenteSpese; private boolean _normEsenteCollaudo; private String _comunicazioneDirettoreLavori; private long _pagamentoId; + private long _pagamentoSpeseId; private String _codicePagamento; + private String _codicePagamentoSpese; private String _causalePagamento; + private String _causalePagamentoSpese; private String _mezzoPagamento; + private String _mezzoPagamentoSpese; private String _importoBolli; + private String _importoSpese; private boolean _richiestaAttestazione; private BaseModel _fineLavoriRemoteModel; private Class _clpSerializerClass = it.tref.liferay.portos.bo.service.ClpSerializer.class; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriModel.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriModel.java index 37b70bd9..2eb0a44c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriModel.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriModel.java @@ -391,6 +391,27 @@ public interface FineLavoriModel extends BaseModel, */ public void setNormEsenteBollo(boolean normEsenteBollo); + /** + * Returns the norm esente spese of this fine lavori. + * + * @return the norm esente spese of this fine lavori + */ + public boolean getNormEsenteSpese(); + + /** + * Returns true if this fine lavori is norm esente spese. + * + * @return true if this fine lavori is norm esente spese; false otherwise + */ + public boolean isNormEsenteSpese(); + + /** + * Sets whether this fine lavori is norm esente spese. + * + * @param normEsenteSpese the norm esente spese of this fine lavori + */ + public void setNormEsenteSpese(boolean normEsenteSpese); + /** * Returns the norm esente collaudo of this fine lavori. * @@ -442,6 +463,20 @@ public interface FineLavoriModel extends BaseModel, */ public void setPagamentoId(long pagamentoId); + /** + * Returns the pagamento spese ID of this fine lavori. + * + * @return the pagamento spese ID of this fine lavori + */ + public long getPagamentoSpeseId(); + + /** + * Sets the pagamento spese ID of this fine lavori. + * + * @param pagamentoSpeseId the pagamento spese ID of this fine lavori + */ + public void setPagamentoSpeseId(long pagamentoSpeseId); + /** * Returns the codice pagamento of this fine lavori. * @@ -457,6 +492,21 @@ public interface FineLavoriModel extends BaseModel, */ public void setCodicePagamento(String codicePagamento); + /** + * Returns the codice pagamento spese of this fine lavori. + * + * @return the codice pagamento spese of this fine lavori + */ + @AutoEscape + public String getCodicePagamentoSpese(); + + /** + * Sets the codice pagamento spese of this fine lavori. + * + * @param codicePagamentoSpese the codice pagamento spese of this fine lavori + */ + public void setCodicePagamentoSpese(String codicePagamentoSpese); + /** * Returns the causale pagamento of this fine lavori. * @@ -472,6 +522,21 @@ public interface FineLavoriModel extends BaseModel, */ public void setCausalePagamento(String causalePagamento); + /** + * Returns the causale pagamento spese of this fine lavori. + * + * @return the causale pagamento spese of this fine lavori + */ + @AutoEscape + public String getCausalePagamentoSpese(); + + /** + * Sets the causale pagamento spese of this fine lavori. + * + * @param causalePagamentoSpese the causale pagamento spese of this fine lavori + */ + public void setCausalePagamentoSpese(String causalePagamentoSpese); + /** * Returns the mezzo pagamento of this fine lavori. * @@ -487,6 +552,21 @@ public interface FineLavoriModel extends BaseModel, */ public void setMezzoPagamento(String mezzoPagamento); + /** + * Returns the mezzo pagamento spese of this fine lavori. + * + * @return the mezzo pagamento spese of this fine lavori + */ + @AutoEscape + public String getMezzoPagamentoSpese(); + + /** + * Sets the mezzo pagamento spese of this fine lavori. + * + * @param mezzoPagamentoSpese the mezzo pagamento spese of this fine lavori + */ + public void setMezzoPagamentoSpese(String mezzoPagamentoSpese); + /** * Returns the importo bolli of this fine lavori. * @@ -502,6 +582,21 @@ public interface FineLavoriModel extends BaseModel, */ public void setImportoBolli(String importoBolli); + /** + * Returns the importo spese of this fine lavori. + * + * @return the importo spese of this fine lavori + */ + @AutoEscape + public String getImportoSpese(); + + /** + * Sets the importo spese of this fine lavori. + * + * @param importoSpese the importo spese of this fine lavori + */ + public void setImportoSpese(String importoSpese); + /** * Returns the richiesta attestazione of this fine lavori. * diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriSoap.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriSoap.java index cba7c5fa..345261c7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriSoap.java @@ -50,13 +50,19 @@ public class FineLavoriSoap implements Serializable { soapModel.setDataEffettuazione(model.getDataEffettuazione()); soapModel.setDataFineLavori(model.getDataFineLavori()); soapModel.setNormEsenteBollo(model.getNormEsenteBollo()); + soapModel.setNormEsenteSpese(model.getNormEsenteSpese()); soapModel.setNormEsenteCollaudo(model.getNormEsenteCollaudo()); soapModel.setComunicazioneDirettoreLavori(model.getComunicazioneDirettoreLavori()); soapModel.setPagamentoId(model.getPagamentoId()); + soapModel.setPagamentoSpeseId(model.getPagamentoSpeseId()); soapModel.setCodicePagamento(model.getCodicePagamento()); + soapModel.setCodicePagamentoSpese(model.getCodicePagamentoSpese()); soapModel.setCausalePagamento(model.getCausalePagamento()); + soapModel.setCausalePagamentoSpese(model.getCausalePagamentoSpese()); soapModel.setMezzoPagamento(model.getMezzoPagamento()); + soapModel.setMezzoPagamentoSpese(model.getMezzoPagamentoSpese()); soapModel.setImportoBolli(model.getImportoBolli()); + soapModel.setImportoSpese(model.getImportoSpese()); soapModel.setRichiestaAttestazione(model.getRichiestaAttestazione()); return soapModel; @@ -278,6 +284,18 @@ public class FineLavoriSoap implements Serializable { _normEsenteBollo = normEsenteBollo; } + public boolean getNormEsenteSpese() { + return _normEsenteSpese; + } + + public boolean isNormEsenteSpese() { + return _normEsenteSpese; + } + + public void setNormEsenteSpese(boolean normEsenteSpese) { + _normEsenteSpese = normEsenteSpese; + } + public boolean getNormEsenteCollaudo() { return _normEsenteCollaudo; } @@ -307,6 +325,14 @@ public class FineLavoriSoap implements Serializable { _pagamentoId = pagamentoId; } + public long getPagamentoSpeseId() { + return _pagamentoSpeseId; + } + + public void setPagamentoSpeseId(long pagamentoSpeseId) { + _pagamentoSpeseId = pagamentoSpeseId; + } + public String getCodicePagamento() { return _codicePagamento; } @@ -315,6 +341,14 @@ public class FineLavoriSoap implements Serializable { _codicePagamento = codicePagamento; } + public String getCodicePagamentoSpese() { + return _codicePagamentoSpese; + } + + public void setCodicePagamentoSpese(String codicePagamentoSpese) { + _codicePagamentoSpese = codicePagamentoSpese; + } + public String getCausalePagamento() { return _causalePagamento; } @@ -323,6 +357,14 @@ public class FineLavoriSoap implements Serializable { _causalePagamento = causalePagamento; } + public String getCausalePagamentoSpese() { + return _causalePagamentoSpese; + } + + public void setCausalePagamentoSpese(String causalePagamentoSpese) { + _causalePagamentoSpese = causalePagamentoSpese; + } + public String getMezzoPagamento() { return _mezzoPagamento; } @@ -331,6 +373,14 @@ public class FineLavoriSoap implements Serializable { _mezzoPagamento = mezzoPagamento; } + public String getMezzoPagamentoSpese() { + return _mezzoPagamentoSpese; + } + + public void setMezzoPagamentoSpese(String mezzoPagamentoSpese) { + _mezzoPagamentoSpese = mezzoPagamentoSpese; + } + public String getImportoBolli() { return _importoBolli; } @@ -339,6 +389,14 @@ public class FineLavoriSoap implements Serializable { _importoBolli = importoBolli; } + public String getImportoSpese() { + return _importoSpese; + } + + public void setImportoSpese(String importoSpese) { + _importoSpese = importoSpese; + } + public boolean getRichiestaAttestazione() { return _richiestaAttestazione; } @@ -370,12 +428,18 @@ public class FineLavoriSoap implements Serializable { private Date _dataEffettuazione; private Date _dataFineLavori; private boolean _normEsenteBollo; + private boolean _normEsenteSpese; private boolean _normEsenteCollaudo; private String _comunicazioneDirettoreLavori; private long _pagamentoId; + private long _pagamentoSpeseId; private String _codicePagamento; + private String _codicePagamentoSpese; private String _causalePagamento; + private String _causalePagamentoSpese; private String _mezzoPagamento; + private String _mezzoPagamentoSpese; private String _importoBolli; + private String _importoSpese; private boolean _richiestaAttestazione; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriWrapper.java index 046e40d0..241940c4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/FineLavoriWrapper.java @@ -69,14 +69,20 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { attributes.put("dataEffettuazione", getDataEffettuazione()); attributes.put("dataFineLavori", getDataFineLavori()); attributes.put("normEsenteBollo", getNormEsenteBollo()); + attributes.put("normEsenteSpese", getNormEsenteSpese()); attributes.put("normEsenteCollaudo", getNormEsenteCollaudo()); attributes.put("comunicazioneDirettoreLavori", getComunicazioneDirettoreLavori()); attributes.put("pagamentoId", getPagamentoId()); + attributes.put("pagamentoSpeseId", getPagamentoSpeseId()); attributes.put("codicePagamento", getCodicePagamento()); + attributes.put("codicePagamentoSpese", getCodicePagamentoSpese()); attributes.put("causalePagamento", getCausalePagamento()); + attributes.put("causalePagamentoSpese", getCausalePagamentoSpese()); attributes.put("mezzoPagamento", getMezzoPagamento()); + attributes.put("mezzoPagamentoSpese", getMezzoPagamentoSpese()); attributes.put("importoBolli", getImportoBolli()); + attributes.put("importoSpese", getImportoSpese()); attributes.put("richiestaAttestazione", getRichiestaAttestazione()); return attributes; @@ -199,6 +205,12 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { setNormEsenteBollo(normEsenteBollo); } + Boolean normEsenteSpese = (Boolean)attributes.get("normEsenteSpese"); + + if (normEsenteSpese != null) { + setNormEsenteSpese(normEsenteSpese); + } + Boolean normEsenteCollaudo = (Boolean)attributes.get( "normEsenteCollaudo"); @@ -219,30 +231,63 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { setPagamentoId(pagamentoId); } + Long pagamentoSpeseId = (Long)attributes.get("pagamentoSpeseId"); + + if (pagamentoSpeseId != null) { + setPagamentoSpeseId(pagamentoSpeseId); + } + String codicePagamento = (String)attributes.get("codicePagamento"); if (codicePagamento != null) { setCodicePagamento(codicePagamento); } + String codicePagamentoSpese = (String)attributes.get( + "codicePagamentoSpese"); + + if (codicePagamentoSpese != null) { + setCodicePagamentoSpese(codicePagamentoSpese); + } + String causalePagamento = (String)attributes.get("causalePagamento"); if (causalePagamento != null) { setCausalePagamento(causalePagamento); } + String causalePagamentoSpese = (String)attributes.get( + "causalePagamentoSpese"); + + if (causalePagamentoSpese != null) { + setCausalePagamentoSpese(causalePagamentoSpese); + } + String mezzoPagamento = (String)attributes.get("mezzoPagamento"); if (mezzoPagamento != null) { setMezzoPagamento(mezzoPagamento); } + String mezzoPagamentoSpese = (String)attributes.get( + "mezzoPagamentoSpese"); + + if (mezzoPagamentoSpese != null) { + setMezzoPagamentoSpese(mezzoPagamentoSpese); + } + String importoBolli = (String)attributes.get("importoBolli"); if (importoBolli != null) { setImportoBolli(importoBolli); } + String importoSpese = (String)attributes.get("importoSpese"); + + if (importoSpese != null) { + setImportoSpese(importoSpese); + } + Boolean richiestaAttestazione = (Boolean)attributes.get( "richiestaAttestazione"); @@ -713,6 +758,36 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { _fineLavori.setNormEsenteBollo(normEsenteBollo); } + /** + * Returns the norm esente spese of this fine lavori. + * + * @return the norm esente spese of this fine lavori + */ + @Override + public boolean getNormEsenteSpese() { + return _fineLavori.getNormEsenteSpese(); + } + + /** + * Returns true if this fine lavori is norm esente spese. + * + * @return true if this fine lavori is norm esente spese; false otherwise + */ + @Override + public boolean isNormEsenteSpese() { + return _fineLavori.isNormEsenteSpese(); + } + + /** + * Sets whether this fine lavori is norm esente spese. + * + * @param normEsenteSpese the norm esente spese of this fine lavori + */ + @Override + public void setNormEsenteSpese(boolean normEsenteSpese) { + _fineLavori.setNormEsenteSpese(normEsenteSpese); + } + /** * Returns the norm esente collaudo of this fine lavori. * @@ -784,6 +859,26 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { _fineLavori.setPagamentoId(pagamentoId); } + /** + * Returns the pagamento spese ID of this fine lavori. + * + * @return the pagamento spese ID of this fine lavori + */ + @Override + public long getPagamentoSpeseId() { + return _fineLavori.getPagamentoSpeseId(); + } + + /** + * Sets the pagamento spese ID of this fine lavori. + * + * @param pagamentoSpeseId the pagamento spese ID of this fine lavori + */ + @Override + public void setPagamentoSpeseId(long pagamentoSpeseId) { + _fineLavori.setPagamentoSpeseId(pagamentoSpeseId); + } + /** * Returns the codice pagamento of this fine lavori. * @@ -804,6 +899,26 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { _fineLavori.setCodicePagamento(codicePagamento); } + /** + * Returns the codice pagamento spese of this fine lavori. + * + * @return the codice pagamento spese of this fine lavori + */ + @Override + public java.lang.String getCodicePagamentoSpese() { + return _fineLavori.getCodicePagamentoSpese(); + } + + /** + * Sets the codice pagamento spese of this fine lavori. + * + * @param codicePagamentoSpese the codice pagamento spese of this fine lavori + */ + @Override + public void setCodicePagamentoSpese(java.lang.String codicePagamentoSpese) { + _fineLavori.setCodicePagamentoSpese(codicePagamentoSpese); + } + /** * Returns the causale pagamento of this fine lavori. * @@ -824,6 +939,26 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { _fineLavori.setCausalePagamento(causalePagamento); } + /** + * Returns the causale pagamento spese of this fine lavori. + * + * @return the causale pagamento spese of this fine lavori + */ + @Override + public java.lang.String getCausalePagamentoSpese() { + return _fineLavori.getCausalePagamentoSpese(); + } + + /** + * Sets the causale pagamento spese of this fine lavori. + * + * @param causalePagamentoSpese the causale pagamento spese of this fine lavori + */ + @Override + public void setCausalePagamentoSpese(java.lang.String causalePagamentoSpese) { + _fineLavori.setCausalePagamentoSpese(causalePagamentoSpese); + } + /** * Returns the mezzo pagamento of this fine lavori. * @@ -844,6 +979,26 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { _fineLavori.setMezzoPagamento(mezzoPagamento); } + /** + * Returns the mezzo pagamento spese of this fine lavori. + * + * @return the mezzo pagamento spese of this fine lavori + */ + @Override + public java.lang.String getMezzoPagamentoSpese() { + return _fineLavori.getMezzoPagamentoSpese(); + } + + /** + * Sets the mezzo pagamento spese of this fine lavori. + * + * @param mezzoPagamentoSpese the mezzo pagamento spese of this fine lavori + */ + @Override + public void setMezzoPagamentoSpese(java.lang.String mezzoPagamentoSpese) { + _fineLavori.setMezzoPagamentoSpese(mezzoPagamentoSpese); + } + /** * Returns the importo bolli of this fine lavori. * @@ -864,6 +1019,26 @@ public class FineLavoriWrapper implements FineLavori, ModelWrapper { _fineLavori.setImportoBolli(importoBolli); } + /** + * Returns the importo spese of this fine lavori. + * + * @return the importo spese of this fine lavori + */ + @Override + public java.lang.String getImportoSpese() { + return _fineLavori.getImportoSpese(); + } + + /** + * Sets the importo spese of this fine lavori. + * + * @param importoSpese the importo spese of this fine lavori + */ + @Override + public void setImportoSpese(java.lang.String importoSpese) { + _fineLavori.setImportoSpese(importoSpese); + } + /** * Returns the richiesta attestazione of this fine lavori. * diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalService.java index 41659356..4dce10a0 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalService.java @@ -324,7 +324,7 @@ public interface FineLavoriLocalService extends BaseLocalService, long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.SystemException, @@ -342,6 +342,7 @@ public interface FineLavoriLocalService extends BaseLocalService, public it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceClp.java index 131b68f6..3d9dee36 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceClp.java @@ -141,8 +141,8 @@ public class FineLavoriLocalServiceClp implements FineLavoriLocalService { _methodParameterTypes24 = new String[] { "long", "long", "long", "boolean", "boolean", "java.util.Date", - "java.lang.String", "boolean", "boolean", "java.lang.String", - "boolean" + "java.lang.String", "boolean", "boolean", "boolean", + "java.lang.String", "boolean" }; _methodName25 = "getLastEditable"; @@ -157,6 +157,7 @@ public class FineLavoriLocalServiceClp implements FineLavoriLocalService { _methodParameterTypes27 = new String[] { "long", "java.lang.String", "java.lang.String", + "java.lang.String", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; @@ -1028,7 +1029,7 @@ public class FineLavoriLocalServiceClp implements FineLavoriLocalService { long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.SystemException, @@ -1055,6 +1056,8 @@ public class FineLavoriLocalServiceClp implements FineLavoriLocalService { normEsenteBollo, + normEsenteSpese, + normEsenteCollaudo, ClpSerializer.translateInput(comunicazioneDirettoreLavori), @@ -1146,6 +1149,7 @@ public class FineLavoriLocalServiceClp implements FineLavoriLocalService { @Override public it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, @@ -1160,6 +1164,10 @@ public class FineLavoriLocalServiceClp implements FineLavoriLocalService { ClpSerializer.translateInput(codiceFiscaleCommittente), + ClpSerializer.translateInput(importoBolli), + + ClpSerializer.translateInput(importoSpese), + ClpSerializer.translateInput(currentURL), ClpSerializer.translateInput(serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceUtil.java index d429d694..61bc6330 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceUtil.java @@ -349,7 +349,7 @@ public class FineLavoriLocalServiceUtil { long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.SystemException, @@ -357,8 +357,8 @@ public class FineLavoriLocalServiceUtil { return getService() .updateFineLavori(userId, fineLavoriId, intPraticaId, parziale, completata, dataFineLavori, codiceFiscaleDelegato, - normEsenteBollo, normEsenteCollaudo, comunicazioneDirettoreLavori, - richiestaAttestazione); + normEsenteBollo, normEsenteSpese, normEsenteCollaudo, + comunicazioneDirettoreLavori, richiestaAttestazione); } public static it.tref.liferay.portos.bo.model.FineLavori getLastEditable( @@ -375,13 +375,14 @@ public class FineLavoriLocalServiceUtil { public static it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return getService() .pagaInvia(fineLavoriId, codiceFiscaleCommittente, - currentURL, serviceContext); + importoBolli, importoSpese, currentURL, serviceContext); } public static void updateEsitoPagamento(long pagamentoId, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceWrapper.java index d35d2e96..c7a6a24c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriLocalServiceWrapper.java @@ -372,15 +372,16 @@ public class FineLavoriLocalServiceWrapper implements FineLavoriLocalService, long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchFineLavoriException { return _fineLavoriLocalService.updateFineLavori(userId, fineLavoriId, intPraticaId, parziale, completata, dataFineLavori, - codiceFiscaleDelegato, normEsenteBollo, normEsenteCollaudo, - comunicazioneDirettoreLavori, richiestaAttestazione); + codiceFiscaleDelegato, normEsenteBollo, normEsenteSpese, + normEsenteCollaudo, comunicazioneDirettoreLavori, + richiestaAttestazione); } @Override @@ -400,12 +401,14 @@ public class FineLavoriLocalServiceWrapper implements FineLavoriLocalService, @Override public it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return _fineLavoriLocalService.pagaInvia(fineLavoriId, - codiceFiscaleCommittente, currentURL, serviceContext); + codiceFiscaleCommittente, importoBolli, importoSpese, currentURL, + serviceContext); } @Override diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriService.java index d6cac0cf..f6c24139 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriService.java @@ -95,7 +95,7 @@ public interface FineLavoriService extends BaseService, InvokableService { long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.PortalException, @@ -121,6 +121,7 @@ public interface FineLavoriService extends BaseService, InvokableService { public it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceClp.java index dc0238c3..beffc256 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceClp.java @@ -62,8 +62,8 @@ public class FineLavoriServiceClp implements FineLavoriService { _methodParameterTypes8 = new String[] { "long", "long", "long", "boolean", "boolean", "java.util.Date", - "java.lang.String", "boolean", "boolean", "java.lang.String", - "boolean" + "java.lang.String", "boolean", "boolean", "boolean", + "java.lang.String", "boolean" }; _methodName9 = "getLastEditable"; @@ -89,6 +89,7 @@ public class FineLavoriServiceClp implements FineLavoriService { _methodParameterTypes13 = new String[] { "long", "java.lang.String", "java.lang.String", + "java.lang.String", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; @@ -347,7 +348,7 @@ public class FineLavoriServiceClp implements FineLavoriService { long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.PortalException, @@ -374,6 +375,8 @@ public class FineLavoriServiceClp implements FineLavoriService { normEsenteBollo, + normEsenteSpese, + normEsenteCollaudo, ClpSerializer.translateInput(comunicazioneDirettoreLavori), @@ -535,6 +538,7 @@ public class FineLavoriServiceClp implements FineLavoriService { @Override public it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, @@ -549,6 +553,10 @@ public class FineLavoriServiceClp implements FineLavoriService { ClpSerializer.translateInput(codiceFiscaleCommittente), + ClpSerializer.translateInput(importoBolli), + + ClpSerializer.translateInput(importoSpese), + ClpSerializer.translateInput(currentURL), ClpSerializer.translateInput(serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceUtil.java index 391857b5..be2b22e8 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceUtil.java @@ -102,7 +102,7 @@ public class FineLavoriServiceUtil { long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.PortalException, @@ -110,8 +110,8 @@ public class FineLavoriServiceUtil { return getService() .updateFineLavori(userId, fineLavoriId, intPraticaId, parziale, completata, dataFineLavori, codiceFiscaleDelegato, - normEsenteBollo, normEsenteCollaudo, comunicazioneDirettoreLavori, - richiestaAttestazione); + normEsenteBollo, normEsenteSpese, normEsenteCollaudo, + comunicazioneDirettoreLavori, richiestaAttestazione); } public static it.tref.liferay.portos.bo.model.FineLavori getLastEditable( @@ -143,13 +143,14 @@ public class FineLavoriServiceUtil { public static it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return getService() .pagaInvia(fineLavoriId, codiceFiscaleCommittente, - currentURL, serviceContext); + importoBolli, importoSpese, currentURL, serviceContext); } public static it.tref.liferay.portos.bo.model.FineLavori updateEsito( diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceWrapper.java index c9389dc5..ad906439 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/FineLavoriServiceWrapper.java @@ -101,15 +101,16 @@ public class FineLavoriServiceWrapper implements FineLavoriService, long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return _fineLavoriService.updateFineLavori(userId, fineLavoriId, intPraticaId, parziale, completata, dataFineLavori, - codiceFiscaleDelegato, normEsenteBollo, normEsenteCollaudo, - comunicazioneDirettoreLavori, richiestaAttestazione); + codiceFiscaleDelegato, normEsenteBollo, normEsenteSpese, + normEsenteCollaudo, comunicazioneDirettoreLavori, + richiestaAttestazione); } @Override @@ -145,12 +146,14 @@ public class FineLavoriServiceWrapper implements FineLavoriService, @Override public it.tref.liferay.portos.bo.model.FineLavori pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return _fineLavoriService.pagaInvia(fineLavoriId, - codiceFiscaleCommittente, currentURL, serviceContext); + codiceFiscaleCommittente, importoBolli, importoSpese, currentURL, + serviceContext); } @Override diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalService.java index 018321ee..48316926 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalService.java @@ -372,11 +372,6 @@ public interface PagamentoLocalService extends BaseLocalService, throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; - public it.tref.liferay.portos.bo.model.Pagamento annullaPagamento( - long pagamentoId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException; - public java.util.List findByCommittente_Mezzo( java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, int start, int end) @@ -461,13 +456,6 @@ public interface PagamentoLocalService extends BaseLocalService, public int countByIntPratica_Visible(long intPraticaId) throws com.liferay.portal.kernel.exception.SystemException; - public void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException; - public void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, com.liferay.portal.service.ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceClp.java index fc2c811d..9bf5e0ea 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceClp.java @@ -186,145 +186,134 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { _methodParameterTypes30 = new String[] { "long", "java.lang.String" }; - _methodName31 = "annullaPagamento"; + _methodName31 = "findByCommittente_Mezzo"; - _methodParameterTypes31 = new String[] { "long" }; - - _methodName32 = "findByCommittente_Mezzo"; - - _methodParameterTypes32 = new String[] { + _methodParameterTypes31 = new String[] { "java.lang.String", "java.lang.String", "int", "int" }; - _methodName33 = "countByCommittente_Mezzo"; + _methodName32 = "countByCommittente_Mezzo"; - _methodParameterTypes33 = new String[] { + _methodParameterTypes32 = new String[] { "java.lang.String", "java.lang.String" }; - _methodName34 = "findByCommittente_Mezzo_Utilizzata"; + _methodName33 = "findByCommittente_Mezzo_Utilizzata"; - _methodParameterTypes34 = new String[] { + _methodParameterTypes33 = new String[] { "java.lang.String", "java.lang.String", "java.lang.String", "int", "int" }; - _methodName35 = "countByCommittente_Mezzo_Utilizzata"; + _methodName34 = "countByCommittente_Mezzo_Utilizzata"; - _methodParameterTypes35 = new String[] { + _methodParameterTypes34 = new String[] { "java.lang.String", "java.lang.String", "java.lang.String" }; - _methodName36 = "findByMezzo_Utilizzata"; + _methodName35 = "findByMezzo_Utilizzata"; - _methodParameterTypes36 = new String[] { + _methodParameterTypes35 = new String[] { "java.lang.String", "java.lang.String", "int", "int" }; - _methodName37 = "findByOldPagamentoId"; + _methodName36 = "findByOldPagamentoId"; - _methodParameterTypes37 = new String[] { "long" }; + _methodParameterTypes36 = new String[] { "long" }; - _methodName38 = "countByMezzo_Utilizzata"; + _methodName37 = "countByMezzo_Utilizzata"; - _methodParameterTypes38 = new String[] { + _methodParameterTypes37 = new String[] { "java.lang.String", "java.lang.String" }; - _methodName39 = "findByMezzo_Utilizzata_CreateDate"; + _methodName38 = "findByMezzo_Utilizzata_CreateDate"; - _methodParameterTypes39 = new String[] { + _methodParameterTypes38 = new String[] { "java.lang.String", "java.lang.String", "java.util.Date", "int", "int" }; - _methodName40 = "countByMezzo_Utilizzata_EmailPending_CreateDate"; + _methodName39 = "countByMezzo_Utilizzata_EmailPending_CreateDate"; - _methodParameterTypes40 = new String[] { + _methodParameterTypes39 = new String[] { "java.lang.String", "java.lang.String", "boolean", "java.util.Date" }; - _methodName41 = "findByMezzo_Utilizzata_EmailPending_CreateDate"; + _methodName40 = "findByMezzo_Utilizzata_EmailPending_CreateDate"; - _methodParameterTypes41 = new String[] { + _methodParameterTypes40 = new String[] { "java.lang.String", "java.lang.String", "boolean", "java.util.Date", "int", "int" }; - _methodName42 = "findInPending"; + _methodName41 = "findInPending"; - _methodParameterTypes42 = new String[] { + _methodParameterTypes41 = new String[] { "java.util.Date", "int", "int", "com.liferay.portal.kernel.util.OrderByComparator" }; - _methodName43 = "countInPending"; + _methodName42 = "countInPending"; - _methodParameterTypes43 = new String[] { "java.util.Date" }; + _methodParameterTypes42 = new String[] { "java.util.Date" }; - _methodName44 = "countByMezzo_Utilizzata_CreateDate"; + _methodName43 = "countByMezzo_Utilizzata_CreateDate"; - _methodParameterTypes44 = new String[] { + _methodParameterTypes43 = new String[] { "java.lang.String", "java.lang.String", "java.util.Date" }; - _methodName45 = "updateEmailPendingPagamento"; + _methodName44 = "updateEmailPendingPagamento"; + + _methodParameterTypes44 = new String[] { "long", "boolean" }; + + _methodName45 = "countByClassPk"; - _methodParameterTypes45 = new String[] { "long", "boolean" }; + _methodParameterTypes45 = new String[] { "long" }; - _methodName46 = "countByClassPk"; + _methodName46 = "findByClassPk"; _methodParameterTypes46 = new String[] { "long" }; - _methodName47 = "findByClassPk"; + _methodName47 = "findByIntPratica"; _methodParameterTypes47 = new String[] { "long" }; - _methodName48 = "findByIntPratica"; + _methodName48 = "countByIntPratica"; _methodParameterTypes48 = new String[] { "long" }; - _methodName49 = "countByIntPratica"; + _methodName49 = "findByIntPratica_Visible"; _methodParameterTypes49 = new String[] { "long" }; - _methodName50 = "findByIntPratica_Visible"; + _methodName50 = "countByIntPratica_Visible"; _methodParameterTypes50 = new String[] { "long" }; - _methodName51 = "countByIntPratica_Visible"; - - _methodParameterTypes51 = new String[] { "long" }; - - _methodName52 = "sostituisciPagamento"; + _methodName51 = "updatePagamentoManuale"; - _methodParameterTypes52 = new String[] { - "long", "java.lang.String", "java.lang.String", - "java.lang.String", "com.liferay.portal.service.ServiceContext" - }; - - _methodName53 = "updatePagamentoManuale"; - - _methodParameterTypes53 = new String[] { + _methodParameterTypes51 = new String[] { "long", "byte[][]", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName54 = "updatePagamentoManualeFromImport"; + _methodName52 = "updatePagamentoManualeFromImport"; - _methodParameterTypes54 = new String[] { + _methodParameterTypes52 = new String[] { "long", "byte[][]", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName55 = "fetchByOldPagamentoId"; + _methodName53 = "fetchByOldPagamentoId"; - _methodParameterTypes55 = new String[] { "long" }; + _methodParameterTypes53 = new String[] { "long" }; - _methodName56 = "updateOtf"; + _methodName54 = "updateOtf"; - _methodParameterTypes56 = new String[] { "long", "boolean" }; + _methodParameterTypes54 = new String[] { "long", "boolean" }; } @Override @@ -1417,40 +1406,6 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { return (it.tref.liferay.portos.bo.model.Pagamento)ClpSerializer.translateOutput(returnObj); } - @Override - public it.tref.liferay.portos.bo.model.Pagamento annullaPagamento( - long pagamentoId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - Object returnObj = null; - - try { - returnObj = _invokableLocalService.invokeMethod(_methodName31, - _methodParameterTypes31, new Object[] { pagamentoId }); - } - catch (Throwable t) { - t = ClpSerializer.translateThrowable(t); - - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof RuntimeException) { - throw (RuntimeException)t; - } - else { - throw new RuntimeException(t.getClass().getName() + - " is not a valid exception"); - } - } - - return (it.tref.liferay.portos.bo.model.Pagamento)ClpSerializer.translateOutput(returnObj); - } - @Override public java.util.List findByCommittente_Mezzo( java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, @@ -1459,8 +1414,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName32, - _methodParameterTypes32, + returnObj = _invokableLocalService.invokeMethod(_methodName31, + _methodParameterTypes31, new Object[] { ClpSerializer.translateInput(codiceFiscaleCommittente), @@ -1497,8 +1452,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName33, - _methodParameterTypes33, + returnObj = _invokableLocalService.invokeMethod(_methodName32, + _methodParameterTypes32, new Object[] { ClpSerializer.translateInput(codiceFiscaleCommittente), @@ -1532,8 +1487,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName34, - _methodParameterTypes34, + returnObj = _invokableLocalService.invokeMethod(_methodName33, + _methodParameterTypes33, new Object[] { ClpSerializer.translateInput(codiceFiscaleCommittente), @@ -1573,8 +1528,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName35, - _methodParameterTypes35, + returnObj = _invokableLocalService.invokeMethod(_methodName34, + _methodParameterTypes34, new Object[] { ClpSerializer.translateInput(codiceFiscaleCommittente), @@ -1609,8 +1564,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName36, - _methodParameterTypes36, + returnObj = _invokableLocalService.invokeMethod(_methodName35, + _methodParameterTypes35, new Object[] { ClpSerializer.translateInput(mezzo), @@ -1647,8 +1602,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName37, - _methodParameterTypes37, new Object[] { oldPagamentoId }); + returnObj = _invokableLocalService.invokeMethod(_methodName36, + _methodParameterTypes36, new Object[] { oldPagamentoId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1676,8 +1631,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName38, - _methodParameterTypes38, + returnObj = _invokableLocalService.invokeMethod(_methodName37, + _methodParameterTypes37, new Object[] { ClpSerializer.translateInput(mezzo), @@ -1711,8 +1666,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName39, - _methodParameterTypes39, + returnObj = _invokableLocalService.invokeMethod(_methodName38, + _methodParameterTypes38, new Object[] { ClpSerializer.translateInput(mezzo), @@ -1752,8 +1707,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName40, - _methodParameterTypes40, + returnObj = _invokableLocalService.invokeMethod(_methodName39, + _methodParameterTypes39, new Object[] { ClpSerializer.translateInput(mezzo), @@ -1791,8 +1746,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName41, - _methodParameterTypes41, + returnObj = _invokableLocalService.invokeMethod(_methodName40, + _methodParameterTypes40, new Object[] { ClpSerializer.translateInput(mezzo), @@ -1834,8 +1789,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName42, - _methodParameterTypes42, + returnObj = _invokableLocalService.invokeMethod(_methodName41, + _methodParameterTypes41, new Object[] { ClpSerializer.translateInput(date), @@ -1871,8 +1826,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName43, - _methodParameterTypes43, + returnObj = _invokableLocalService.invokeMethod(_methodName42, + _methodParameterTypes42, new Object[] { ClpSerializer.translateInput(date) }); } catch (Throwable t) { @@ -1901,8 +1856,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName44, - _methodParameterTypes44, + returnObj = _invokableLocalService.invokeMethod(_methodName43, + _methodParameterTypes43, new Object[] { ClpSerializer.translateInput(mezzo), @@ -1938,8 +1893,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName45, - _methodParameterTypes45, + returnObj = _invokableLocalService.invokeMethod(_methodName44, + _methodParameterTypes44, new Object[] { pagamentoId, emailPending }); } catch (Throwable t) { @@ -1971,8 +1926,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName46, - _methodParameterTypes46, new Object[] { classPk }); + returnObj = _invokableLocalService.invokeMethod(_methodName45, + _methodParameterTypes45, new Object[] { classPk }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2000,8 +1955,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName47, - _methodParameterTypes47, new Object[] { classPk }); + returnObj = _invokableLocalService.invokeMethod(_methodName46, + _methodParameterTypes46, new Object[] { classPk }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2029,8 +1984,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName48, - _methodParameterTypes48, new Object[] { intPraticaId }); + returnObj = _invokableLocalService.invokeMethod(_methodName47, + _methodParameterTypes47, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2057,8 +2012,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName49, - _methodParameterTypes49, new Object[] { intPraticaId }); + returnObj = _invokableLocalService.invokeMethod(_methodName48, + _methodParameterTypes48, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2086,8 +2041,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName50, - _methodParameterTypes50, new Object[] { intPraticaId }); + returnObj = _invokableLocalService.invokeMethod(_methodName49, + _methodParameterTypes49, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2114,8 +2069,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName51, - _methodParameterTypes51, new Object[] { intPraticaId }); + returnObj = _invokableLocalService.invokeMethod(_methodName50, + _methodParameterTypes50, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2136,49 +2091,6 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { return ((Integer)returnObj).intValue(); } - @Override - public void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - try { - _invokableLocalService.invokeMethod(_methodName52, - _methodParameterTypes52, - new Object[] { - pagamentoId, - - ClpSerializer.translateInput(codiceFiscaleCommittente), - - ClpSerializer.translateInput(mezzo), - - ClpSerializer.translateInput(url), - - ClpSerializer.translateInput(serviceContext) - }); - } - catch (Throwable t) { - t = ClpSerializer.translateThrowable(t); - - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof RuntimeException) { - throw (RuntimeException)t; - } - else { - throw new RuntimeException(t.getClass().getName() + - " is not a valid exception"); - } - } - } - @Override public void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, @@ -2187,8 +2099,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { com.liferay.portal.kernel.exception.SystemException, java.io.IOException { try { - _invokableLocalService.invokeMethod(_methodName53, - _methodParameterTypes53, + _invokableLocalService.invokeMethod(_methodName51, + _methodParameterTypes51, new Object[] { pagamentoId, @@ -2231,8 +2143,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName54, - _methodParameterTypes54, + _invokableLocalService.invokeMethod(_methodName52, + _methodParameterTypes52, new Object[] { pagamentoId, @@ -2271,8 +2183,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName55, - _methodParameterTypes55, new Object[] { oldPagamentoId }); + returnObj = _invokableLocalService.invokeMethod(_methodName53, + _methodParameterTypes53, new Object[] { oldPagamentoId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2301,8 +2213,8 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName56, - _methodParameterTypes56, new Object[] { pagamentoId, otf }); + returnObj = _invokableLocalService.invokeMethod(_methodName54, + _methodParameterTypes54, new Object[] { pagamentoId, otf }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2436,8 +2348,4 @@ public class PagamentoLocalServiceClp implements PagamentoLocalService { private String[] _methodParameterTypes53; private String _methodName54; private String[] _methodParameterTypes54; - private String _methodName55; - private String[] _methodParameterTypes55; - private String _methodName56; - private String[] _methodParameterTypes56; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceUtil.java index e858f983..3437d960 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceUtil.java @@ -427,13 +427,6 @@ public class PagamentoLocalServiceUtil { return getService().updatePagamentoUtilizzata(pagamentoId, utilizzata); } - public static it.tref.liferay.portos.bo.model.Pagamento annullaPagamento( - long pagamentoId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - return getService().annullaPagamento(pagamentoId); - } - public static java.util.List findByCommittente_Mezzo( java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, int start, int end) @@ -573,17 +566,6 @@ public class PagamentoLocalServiceUtil { return getService().countByIntPratica_Visible(intPraticaId); } - public static void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - getService() - .sostituisciPagamento(pagamentoId, codiceFiscaleCommittente, mezzo, - url, serviceContext); - } - public static void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, com.liferay.portal.service.ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceWrapper.java index 7b60314c..780b6834 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoLocalServiceWrapper.java @@ -451,14 +451,6 @@ public class PagamentoLocalServiceWrapper implements PagamentoLocalService, utilizzata); } - @Override - public it.tref.liferay.portos.bo.model.Pagamento annullaPagamento( - long pagamentoId) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - return _pagamentoLocalService.annullaPagamento(pagamentoId); - } - @Override public java.util.List findByCommittente_Mezzo( java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, @@ -613,17 +605,6 @@ public class PagamentoLocalServiceWrapper implements PagamentoLocalService, return _pagamentoLocalService.countByIntPratica_Visible(intPraticaId); } - @Override - public void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - _pagamentoLocalService.sostituisciPagamento(pagamentoId, - codiceFiscaleCommittente, mezzo, url, serviceContext); - } - @Override public void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoService.java index e41e13d1..24f4158b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoService.java @@ -64,25 +64,6 @@ public interface PagamentoService extends BaseService, InvokableService { java.lang.String[] parameterTypes, java.lang.Object[] arguments) throws java.lang.Throwable; - public void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException; - - public void rigeneraPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException; - - public void annullaPagamento(long pagamentoId, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException; - public void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, com.liferay.portal.service.ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceClp.java index 769770f2..163aa272 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceClp.java @@ -32,29 +32,9 @@ public class PagamentoServiceClp implements PagamentoService { _methodParameterTypes1 = new String[] { "java.lang.String" }; - _methodName3 = "sostituisciPagamento"; + _methodName3 = "updatePagamentoManuale"; _methodParameterTypes3 = new String[] { - "long", "java.lang.String", "java.lang.String", - "java.lang.String", "com.liferay.portal.service.ServiceContext" - }; - - _methodName4 = "rigeneraPagamento"; - - _methodParameterTypes4 = new String[] { - "long", "java.lang.String", "java.lang.String", - "java.lang.String", "com.liferay.portal.service.ServiceContext" - }; - - _methodName5 = "annullaPagamento"; - - _methodParameterTypes5 = new String[] { - "long", "com.liferay.portal.service.ServiceContext" - }; - - _methodName6 = "updatePagamentoManuale"; - - _methodParameterTypes6 = new String[] { "long", "byte[][]", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; @@ -110,127 +90,6 @@ public class PagamentoServiceClp implements PagamentoService { throw new UnsupportedOperationException(); } - @Override - public void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - try { - _invokableService.invokeMethod(_methodName3, - _methodParameterTypes3, - new Object[] { - pagamentoId, - - ClpSerializer.translateInput(codiceFiscaleCommittente), - - ClpSerializer.translateInput(mezzo), - - ClpSerializer.translateInput(url), - - ClpSerializer.translateInput(serviceContext) - }); - } - catch (Throwable t) { - t = ClpSerializer.translateThrowable(t); - - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof RuntimeException) { - throw (RuntimeException)t; - } - else { - throw new RuntimeException(t.getClass().getName() + - " is not a valid exception"); - } - } - } - - @Override - public void rigeneraPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - try { - _invokableService.invokeMethod(_methodName4, - _methodParameterTypes4, - new Object[] { - pagamentoId, - - ClpSerializer.translateInput(codiceFiscaleCommittente), - - ClpSerializer.translateInput(mezzo), - - ClpSerializer.translateInput(url), - - ClpSerializer.translateInput(serviceContext) - }); - } - catch (Throwable t) { - t = ClpSerializer.translateThrowable(t); - - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof RuntimeException) { - throw (RuntimeException)t; - } - else { - throw new RuntimeException(t.getClass().getName() + - " is not a valid exception"); - } - } - } - - @Override - public void annullaPagamento(long pagamentoId, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - try { - _invokableService.invokeMethod(_methodName5, - _methodParameterTypes5, - new Object[] { - pagamentoId, - - ClpSerializer.translateInput(serviceContext) - }); - } - catch (Throwable t) { - t = ClpSerializer.translateThrowable(t); - - if (t instanceof com.liferay.portal.kernel.exception.PortalException) { - throw (com.liferay.portal.kernel.exception.PortalException)t; - } - - if (t instanceof com.liferay.portal.kernel.exception.SystemException) { - throw (com.liferay.portal.kernel.exception.SystemException)t; - } - - if (t instanceof RuntimeException) { - throw (RuntimeException)t; - } - else { - throw new RuntimeException(t.getClass().getName() + - " is not a valid exception"); - } - } - } - @Override public void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, @@ -239,8 +98,8 @@ public class PagamentoServiceClp implements PagamentoService { com.liferay.portal.kernel.exception.SystemException, java.io.IOException { try { - _invokableService.invokeMethod(_methodName6, - _methodParameterTypes6, + _invokableService.invokeMethod(_methodName3, + _methodParameterTypes3, new Object[] { pagamentoId, @@ -283,10 +142,4 @@ public class PagamentoServiceClp implements PagamentoService { private String[] _methodParameterTypes1; private String _methodName3; private String[] _methodParameterTypes3; - private String _methodName4; - private String[] _methodParameterTypes4; - private String _methodName5; - private String[] _methodParameterTypes5; - private String _methodName6; - private String[] _methodParameterTypes6; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceUtil.java index e8c55de6..b3f155ae 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceUtil.java @@ -63,35 +63,6 @@ public class PagamentoServiceUtil { return getService().invokeMethod(name, parameterTypes, arguments); } - public static void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - getService() - .sostituisciPagamento(pagamentoId, codiceFiscaleCommittente, mezzo, - url, serviceContext); - } - - public static void rigeneraPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - getService() - .rigeneraPagamento(pagamentoId, codiceFiscaleCommittente, mezzo, - url, serviceContext); - } - - public static void annullaPagamento(long pagamentoId, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - getService().annullaPagamento(pagamentoId, serviceContext); - } - public static void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, com.liferay.portal.service.ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceWrapper.java index a901e60f..7cffc0fd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/PagamentoServiceWrapper.java @@ -56,36 +56,6 @@ public class PagamentoServiceWrapper implements PagamentoService, return _pagamentoService.invokeMethod(name, parameterTypes, arguments); } - @Override - public void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - _pagamentoService.sostituisciPagamento(pagamentoId, - codiceFiscaleCommittente, mezzo, url, serviceContext); - } - - @Override - public void rigeneraPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - _pagamentoService.rigeneraPagamento(pagamentoId, - codiceFiscaleCommittente, mezzo, url, serviceContext); - } - - @Override - public void annullaPagamento(long pagamentoId, - com.liferay.portal.service.ServiceContext serviceContext) - throws com.liferay.portal.kernel.exception.PortalException, - com.liferay.portal.kernel.exception.SystemException { - _pagamentoService.annullaPagamento(pagamentoId, serviceContext); - } - @Override public void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java index 934d5d56..28a01f1c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PagamentiCommonUtil.java @@ -26,7 +26,6 @@ import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; -import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.Validator; public abstract class PagamentiCommonUtil { @@ -117,18 +116,10 @@ public abstract class PagamentiCommonUtil { public static boolean existsSpeseIstruttoria(String tipoIntegrazione) { - return !TipoIntegrazioneUtil.FINE_LAVORI_PARZIALE.equals(tipoIntegrazione) - && !TipoIntegrazioneUtil.FINE_LAVORI.equals(tipoIntegrazione) - && !TipoIntegrazioneUtil.COLLAUDO_PARZIALE.equals(tipoIntegrazione) + return !TipoIntegrazioneUtil.COLLAUDO_PARZIALE.equals(tipoIntegrazione) && !TipoIntegrazioneUtil.COLLAUDO.equals(tipoIntegrazione); } - public static boolean irisIsEnable(long companyId) throws SystemException { - - return GetterUtil.getBoolean(ConfigurazioneLocalServiceUtil.findByC_ChiaveString(companyId, - ConfigurazioneConstants.SCHEDULER_IRIS)); - } - public static boolean pagamentiInitialized(long classPK, String className) throws PortalException, SystemException { boolean normEsenteSpese = false; @@ -143,9 +134,9 @@ public abstract class PagamentiCommonUtil { pagamentoIdBolli = dettPratica.getPagamentoIdBolli(); } else if (FineLavori.class.getName().equals(className)) { FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPK); - normEsenteSpese = true; + normEsenteSpese = fineLavori.isNormEsenteSpese(); normEsenteBollo = fineLavori.isNormEsenteBollo(); - pagamentoIdSpese = 0L; + pagamentoIdSpese = fineLavori.getPagamentoSpeseId(); pagamentoIdBolli = fineLavori.getPagamentoId(); } else if (Collaudo.class.getName().equals(className)) { Collaudo collaudo = CollaudoLocalServiceUtil.getCollaudo(classPK); @@ -166,31 +157,31 @@ public abstract class PagamentiCommonUtil { public static boolean pagamentiCompleted(long classPK, String className) throws PortalException, SystemException { - boolean normEsenteSpese = false; - boolean normEsenteBollo = false; + boolean esenteSpese = false; + boolean esenteBollo = false; long pagamentoIdSpese = 0L; long pagamentoIdBolli = 0L; if (DettPratica.class.getName().equals(className)) { DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(classPK); - normEsenteSpese = dettPratica.isNormEsenteSpese(); - normEsenteBollo = dettPratica.isNormEsenteBollo(); + esenteSpese = dettPratica.isNormEsenteSpese(); + esenteBollo = dettPratica.isNormEsenteBollo(); pagamentoIdSpese = dettPratica.getPagamentoIdOneri(); pagamentoIdBolli = dettPratica.getPagamentoIdBolli(); } else if (FineLavori.class.getName().equals(className)) { FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPK); - normEsenteSpese = true; - normEsenteBollo = fineLavori.isNormEsenteBollo(); - pagamentoIdSpese = 0L; + esenteSpese = fineLavori.isNormEsenteSpese(); + esenteBollo = fineLavori.isNormEsenteBollo(); + pagamentoIdSpese = fineLavori.getPagamentoSpeseId(); pagamentoIdBolli = fineLavori.getPagamentoId(); } else if (Collaudo.class.getName().equals(className)) { Collaudo collaudo = CollaudoLocalServiceUtil.getCollaudo(classPK); - normEsenteSpese = true; - normEsenteBollo = collaudo.isNormEsenteBollo(); + esenteSpese = true; + esenteBollo = collaudo.isNormEsenteBollo(); pagamentoIdSpese = 0L; pagamentoIdBolli = collaudo.getPagamentoId(); } boolean completed = false; - if (!normEsenteBollo && !normEsenteSpese) { + if (!esenteBollo && !esenteSpese) { if (Validator.isNull(pagamentoIdBolli) || Validator.isNull(pagamentoIdSpese)) { return false; } @@ -199,10 +190,10 @@ public abstract class PagamentiCommonUtil { completed = PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoBolli.getUtilizzata()) && PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoSpese.getUtilizzata()); } else { - if (normEsenteBollo && Validator.isNotNull(pagamentoIdSpese)) { + if (esenteBollo && Validator.isNotNull(pagamentoIdSpese)) { Pagamento pagamentoSpese = PagamentoLocalServiceUtil.getPagamento(pagamentoIdSpese); completed = PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoSpese.getUtilizzata()); - } else if (normEsenteSpese && Validator.isNotNull(pagamentoIdBolli)) { + } else if (esenteSpese && Validator.isNotNull(pagamentoIdBolli)) { Pagamento pagamentoBolli = PagamentoLocalServiceUtil.getPagamento(pagamentoIdBolli); completed = PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoBolli.getUtilizzata()); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql index 62533e29..dc992a69 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql @@ -502,13 +502,19 @@ create table portos_bo_FineLavori ( dataEffettuazione DATE null, dataFineLavori DATE null, normEsenteBollo BOOLEAN, + normEsenteSpese BOOLEAN, normEsenteCollaudo BOOLEAN, comunicazioneDirettoreLavori STRING null, pagamentoId LONG, + pagamentoSpeseId LONG, codicePagamento VARCHAR(75) null, + codicePagamentoSpese VARCHAR(75) null, causalePagamento VARCHAR(75) null, + causalePagamentoSpese VARCHAR(75) null, mezzoPagamento VARCHAR(75) null, + mezzoPagamentoSpese VARCHAR(75) null, importoBolli VARCHAR(75) null, + importoSpese VARCHAR(75) null, richiestaAttestazione BOOLEAN ); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml index df55a38e..0b01cf48 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml @@ -555,13 +555,19 @@ + + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml index 75a838b6..c5e369b2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml @@ -607,15 +607,21 @@ + 4000 + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml index 0fed6264..9127926e 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml @@ -704,13 +704,19 @@ TIMESTAMP + + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties index 7dad840a..9bc8522a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties @@ -242,6 +242,7 @@ norm-lavori-in-proprio = il committente esegue i lavori in proprio (IN ECONOMIA) lavori-pubblici = lavori pubblici norm-esente-bollo = esente da bollo ai sensi di D.P.R. 26/10/1972 n. 642 e s.m.i. norm-esente-spese = esente da spese istruttoria +norm-esente-diritti = esente dal pagamento dei diritti fissi collaudo-statico = Trattandosi di opere di riparazione o intervento locale eseguibile su un edificio esistente ai sensi del D.M. 17/01/2018, punto 8.4, non si effettuerà il collaudo statico norm-art3com3 = Possono essere omessi i seguenti allegati @@ -915,6 +916,7 @@ pagamento-utilizzata-07 = Sostituito label-pagamenti-spese-istruttoria = Spese Istruttoria label-pagamenti-spese-bolli = Bolli +label-pagamenti-diritti = Diritti fissi label-pagamenti-nuove-costruzioni = Nuove costruzioni label-pagamenti-adeguamento-sismico = Nuove costruzioni / Adeguamento sismico label-pagamenti-miglioramento-sismico = Intervento di miglioramento sismico @@ -937,9 +939,10 @@ label-payment-otf-rigeneration = Solo nel caso in cui si è sicuri che il pagame label-pagamento = Pagamento label-pagamento-spese = Pagamento Spese Istruttoria label-pagamento-bolli = Pagamento Bolli -text-pagamento-iris = Il pagamento è stato correttamente inizializzato. Cliccare sul pulsante per procedere al saldo dell'importo -text-pagamento-manuale-oneri = text-pagamento-manuale-iris -text-pagamento-manuale-bolli = text-pagamento-manuale-bolli +label-pagamento-diritti = Pagamento diritti fissi +text-pagamento-iris = Il pagamento è stato correttamente inizializzato. Cliccare sul pulsante per procedere al saldo dell'importo +text-pagamento-manuale-oneri = Allegare file comprovante il pagamento +text-pagamento-manuale-bolli = Allegare file comprovante il pagamento sostituisci-pagamento-oneri = Cambia modalità pagamento Spese Istruttoria sostituisci-pagamento-bolli = Cambia modalità pagamento Bolli diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/startup/DatabaseUpdateAction.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/startup/DatabaseUpdateAction.java index 0c82c520..03fd05b4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/startup/DatabaseUpdateAction.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/startup/DatabaseUpdateAction.java @@ -104,7 +104,12 @@ public class DatabaseUpdateAction extends SimpleAction { if (!hasColumn(FineLavoriImpl.TABLE_NAME, "richiestaAttestazione")) { _log.info("Aggiornamento a v3 di " + FineLavoriImpl.TABLE_NAME); - s.executeUpdate("ALTER TABLE " + FineLavoriImpl.TABLE_NAME + " ADD COLUMN richiestaAttestazione BOOL"); + s.executeUpdate("ALTER TABLE " + FineLavoriImpl.TABLE_NAME + " ADD COLUMN normEsenteSpese BOOL," + + "ADD COLUMN pagamentoSpeseId BIGINT," + + "ADD COLUMN codicePagamentoSpese VARCHAR(75) NULL," + + "ADD COLUMN causalePagamentoSpese VARCHAR(75) NULL," + + "ADD COLUMN mezzoPagamentoSpese VARCHAR(75) NULL," + + "ADD COLUMN importoSpese VARCHAR(75) NULL,ADD COLUMN richiestaAttestazione BOOL"); } if (hasColumn(CollaudoImpl.TABLE_NAME, "oldDettPraticaId")) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriCacheModel.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriCacheModel.java index 7fdc87d9..b0c36c74 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriCacheModel.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriCacheModel.java @@ -38,7 +38,7 @@ public class FineLavoriCacheModel implements CacheModel, Externalizable { @Override public String toString() { - StringBundler sb = new StringBundler(55); + StringBundler sb = new StringBundler(67); sb.append("{uuid="); sb.append(uuid); @@ -78,20 +78,32 @@ public class FineLavoriCacheModel implements CacheModel, sb.append(dataFineLavori); sb.append(", normEsenteBollo="); sb.append(normEsenteBollo); + sb.append(", normEsenteSpese="); + sb.append(normEsenteSpese); sb.append(", normEsenteCollaudo="); sb.append(normEsenteCollaudo); sb.append(", comunicazioneDirettoreLavori="); sb.append(comunicazioneDirettoreLavori); sb.append(", pagamentoId="); sb.append(pagamentoId); + sb.append(", pagamentoSpeseId="); + sb.append(pagamentoSpeseId); sb.append(", codicePagamento="); sb.append(codicePagamento); + sb.append(", codicePagamentoSpese="); + sb.append(codicePagamentoSpese); sb.append(", causalePagamento="); sb.append(causalePagamento); + sb.append(", causalePagamentoSpese="); + sb.append(causalePagamentoSpese); sb.append(", mezzoPagamento="); sb.append(mezzoPagamento); + sb.append(", mezzoPagamentoSpese="); + sb.append(mezzoPagamentoSpese); sb.append(", importoBolli="); sb.append(importoBolli); + sb.append(", importoSpese="); + sb.append(importoSpese); sb.append(", richiestaAttestazione="); sb.append(richiestaAttestazione); sb.append("}"); @@ -179,6 +191,7 @@ public class FineLavoriCacheModel implements CacheModel, } fineLavoriImpl.setNormEsenteBollo(normEsenteBollo); + fineLavoriImpl.setNormEsenteSpese(normEsenteSpese); fineLavoriImpl.setNormEsenteCollaudo(normEsenteCollaudo); if (comunicazioneDirettoreLavori == null) { @@ -189,6 +202,7 @@ public class FineLavoriCacheModel implements CacheModel, } fineLavoriImpl.setPagamentoId(pagamentoId); + fineLavoriImpl.setPagamentoSpeseId(pagamentoSpeseId); if (codicePagamento == null) { fineLavoriImpl.setCodicePagamento(StringPool.BLANK); @@ -197,6 +211,13 @@ public class FineLavoriCacheModel implements CacheModel, fineLavoriImpl.setCodicePagamento(codicePagamento); } + if (codicePagamentoSpese == null) { + fineLavoriImpl.setCodicePagamentoSpese(StringPool.BLANK); + } + else { + fineLavoriImpl.setCodicePagamentoSpese(codicePagamentoSpese); + } + if (causalePagamento == null) { fineLavoriImpl.setCausalePagamento(StringPool.BLANK); } @@ -204,6 +225,13 @@ public class FineLavoriCacheModel implements CacheModel, fineLavoriImpl.setCausalePagamento(causalePagamento); } + if (causalePagamentoSpese == null) { + fineLavoriImpl.setCausalePagamentoSpese(StringPool.BLANK); + } + else { + fineLavoriImpl.setCausalePagamentoSpese(causalePagamentoSpese); + } + if (mezzoPagamento == null) { fineLavoriImpl.setMezzoPagamento(StringPool.BLANK); } @@ -211,6 +239,13 @@ public class FineLavoriCacheModel implements CacheModel, fineLavoriImpl.setMezzoPagamento(mezzoPagamento); } + if (mezzoPagamentoSpese == null) { + fineLavoriImpl.setMezzoPagamentoSpese(StringPool.BLANK); + } + else { + fineLavoriImpl.setMezzoPagamentoSpese(mezzoPagamentoSpese); + } + if (importoBolli == null) { fineLavoriImpl.setImportoBolli(StringPool.BLANK); } @@ -218,6 +253,13 @@ public class FineLavoriCacheModel implements CacheModel, fineLavoriImpl.setImportoBolli(importoBolli); } + if (importoSpese == null) { + fineLavoriImpl.setImportoSpese(StringPool.BLANK); + } + else { + fineLavoriImpl.setImportoSpese(importoSpese); + } + fineLavoriImpl.setRichiestaAttestazione(richiestaAttestazione); fineLavoriImpl.resetOriginalValues(); @@ -246,13 +288,19 @@ public class FineLavoriCacheModel implements CacheModel, dataEffettuazione = objectInput.readLong(); dataFineLavori = objectInput.readLong(); normEsenteBollo = objectInput.readBoolean(); + normEsenteSpese = objectInput.readBoolean(); normEsenteCollaudo = objectInput.readBoolean(); comunicazioneDirettoreLavori = objectInput.readUTF(); pagamentoId = objectInput.readLong(); + pagamentoSpeseId = objectInput.readLong(); codicePagamento = objectInput.readUTF(); + codicePagamentoSpese = objectInput.readUTF(); causalePagamento = objectInput.readUTF(); + causalePagamentoSpese = objectInput.readUTF(); mezzoPagamento = objectInput.readUTF(); + mezzoPagamentoSpese = objectInput.readUTF(); importoBolli = objectInput.readUTF(); + importoSpese = objectInput.readUTF(); richiestaAttestazione = objectInput.readBoolean(); } @@ -305,6 +353,7 @@ public class FineLavoriCacheModel implements CacheModel, objectOutput.writeLong(dataEffettuazione); objectOutput.writeLong(dataFineLavori); objectOutput.writeBoolean(normEsenteBollo); + objectOutput.writeBoolean(normEsenteSpese); objectOutput.writeBoolean(normEsenteCollaudo); if (comunicazioneDirettoreLavori == null) { @@ -315,6 +364,7 @@ public class FineLavoriCacheModel implements CacheModel, } objectOutput.writeLong(pagamentoId); + objectOutput.writeLong(pagamentoSpeseId); if (codicePagamento == null) { objectOutput.writeUTF(StringPool.BLANK); @@ -323,6 +373,13 @@ public class FineLavoriCacheModel implements CacheModel, objectOutput.writeUTF(codicePagamento); } + if (codicePagamentoSpese == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(codicePagamentoSpese); + } + if (causalePagamento == null) { objectOutput.writeUTF(StringPool.BLANK); } @@ -330,6 +387,13 @@ public class FineLavoriCacheModel implements CacheModel, objectOutput.writeUTF(causalePagamento); } + if (causalePagamentoSpese == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(causalePagamentoSpese); + } + if (mezzoPagamento == null) { objectOutput.writeUTF(StringPool.BLANK); } @@ -337,6 +401,13 @@ public class FineLavoriCacheModel implements CacheModel, objectOutput.writeUTF(mezzoPagamento); } + if (mezzoPagamentoSpese == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(mezzoPagamentoSpese); + } + if (importoBolli == null) { objectOutput.writeUTF(StringPool.BLANK); } @@ -344,6 +415,13 @@ public class FineLavoriCacheModel implements CacheModel, objectOutput.writeUTF(importoBolli); } + if (importoSpese == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(importoSpese); + } + objectOutput.writeBoolean(richiestaAttestazione); } @@ -366,12 +444,18 @@ public class FineLavoriCacheModel implements CacheModel, public long dataEffettuazione; public long dataFineLavori; public boolean normEsenteBollo; + public boolean normEsenteSpese; public boolean normEsenteCollaudo; public String comunicazioneDirettoreLavori; public long pagamentoId; + public long pagamentoSpeseId; public String codicePagamento; + public String codicePagamentoSpese; public String causalePagamento; + public String causalePagamentoSpese; public String mezzoPagamento; + public String mezzoPagamentoSpese; public String importoBolli; + public String importoSpese; public boolean richiestaAttestazione; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriModelImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriModelImpl.java index 6df9d218..115ec0cc 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriModelImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/FineLavoriModelImpl.java @@ -86,16 +86,22 @@ public class FineLavoriModelImpl extends BaseModelImpl { "dataEffettuazione", Types.TIMESTAMP }, { "dataFineLavori", Types.TIMESTAMP }, { "normEsenteBollo", Types.BOOLEAN }, + { "normEsenteSpese", Types.BOOLEAN }, { "normEsenteCollaudo", Types.BOOLEAN }, { "comunicazioneDirettoreLavori", Types.VARCHAR }, { "pagamentoId", Types.BIGINT }, + { "pagamentoSpeseId", Types.BIGINT }, { "codicePagamento", Types.VARCHAR }, + { "codicePagamentoSpese", Types.VARCHAR }, { "causalePagamento", Types.VARCHAR }, + { "causalePagamentoSpese", Types.VARCHAR }, { "mezzoPagamento", Types.VARCHAR }, + { "mezzoPagamentoSpese", Types.VARCHAR }, { "importoBolli", Types.VARCHAR }, + { "importoSpese", Types.VARCHAR }, { "richiestaAttestazione", Types.BOOLEAN } }; - public static final String TABLE_SQL_CREATE = "create table portos_bo_FineLavori (uuid_ VARCHAR(75) null,fineLavoriId LONG not null primary key,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,groupId LONG,intPraticaId LONG,protocollo VARCHAR(75) null,dtProtocollo DATE null,parziale BOOLEAN,completata BOOLEAN,gestita BOOLEAN,numero LONG,codiceFiscaleDelegato VARCHAR(75) null,dataEffettuazione DATE null,dataFineLavori DATE null,normEsenteBollo BOOLEAN,normEsenteCollaudo BOOLEAN,comunicazioneDirettoreLavori STRING null,pagamentoId LONG,codicePagamento VARCHAR(75) null,causalePagamento VARCHAR(75) null,mezzoPagamento VARCHAR(75) null,importoBolli VARCHAR(75) null,richiestaAttestazione BOOLEAN)"; + public static final String TABLE_SQL_CREATE = "create table portos_bo_FineLavori (uuid_ VARCHAR(75) null,fineLavoriId LONG not null primary key,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,groupId LONG,intPraticaId LONG,protocollo VARCHAR(75) null,dtProtocollo DATE null,parziale BOOLEAN,completata BOOLEAN,gestita BOOLEAN,numero LONG,codiceFiscaleDelegato VARCHAR(75) null,dataEffettuazione DATE null,dataFineLavori DATE null,normEsenteBollo BOOLEAN,normEsenteSpese BOOLEAN,normEsenteCollaudo BOOLEAN,comunicazioneDirettoreLavori STRING null,pagamentoId LONG,pagamentoSpeseId LONG,codicePagamento VARCHAR(75) null,codicePagamentoSpese VARCHAR(75) null,causalePagamento VARCHAR(75) null,causalePagamentoSpese VARCHAR(75) null,mezzoPagamento VARCHAR(75) null,mezzoPagamentoSpese VARCHAR(75) null,importoBolli VARCHAR(75) null,importoSpese VARCHAR(75) null,richiestaAttestazione BOOLEAN)"; public static final String TABLE_SQL_DROP = "drop table portos_bo_FineLavori"; public static final String ORDER_BY_JPQL = " ORDER BY fineLavori.fineLavoriId ASC"; public static final String ORDER_BY_SQL = " ORDER BY portos_bo_FineLavori.fineLavoriId ASC"; @@ -153,13 +159,19 @@ public class FineLavoriModelImpl extends BaseModelImpl model.setDataEffettuazione(soapModel.getDataEffettuazione()); model.setDataFineLavori(soapModel.getDataFineLavori()); model.setNormEsenteBollo(soapModel.getNormEsenteBollo()); + model.setNormEsenteSpese(soapModel.getNormEsenteSpese()); model.setNormEsenteCollaudo(soapModel.getNormEsenteCollaudo()); model.setComunicazioneDirettoreLavori(soapModel.getComunicazioneDirettoreLavori()); model.setPagamentoId(soapModel.getPagamentoId()); + model.setPagamentoSpeseId(soapModel.getPagamentoSpeseId()); model.setCodicePagamento(soapModel.getCodicePagamento()); + model.setCodicePagamentoSpese(soapModel.getCodicePagamentoSpese()); model.setCausalePagamento(soapModel.getCausalePagamento()); + model.setCausalePagamentoSpese(soapModel.getCausalePagamentoSpese()); model.setMezzoPagamento(soapModel.getMezzoPagamento()); + model.setMezzoPagamentoSpese(soapModel.getMezzoPagamentoSpese()); model.setImportoBolli(soapModel.getImportoBolli()); + model.setImportoSpese(soapModel.getImportoSpese()); model.setRichiestaAttestazione(soapModel.getRichiestaAttestazione()); return model; @@ -244,14 +256,20 @@ public class FineLavoriModelImpl extends BaseModelImpl attributes.put("dataEffettuazione", getDataEffettuazione()); attributes.put("dataFineLavori", getDataFineLavori()); attributes.put("normEsenteBollo", getNormEsenteBollo()); + attributes.put("normEsenteSpese", getNormEsenteSpese()); attributes.put("normEsenteCollaudo", getNormEsenteCollaudo()); attributes.put("comunicazioneDirettoreLavori", getComunicazioneDirettoreLavori()); attributes.put("pagamentoId", getPagamentoId()); + attributes.put("pagamentoSpeseId", getPagamentoSpeseId()); attributes.put("codicePagamento", getCodicePagamento()); + attributes.put("codicePagamentoSpese", getCodicePagamentoSpese()); attributes.put("causalePagamento", getCausalePagamento()); + attributes.put("causalePagamentoSpese", getCausalePagamentoSpese()); attributes.put("mezzoPagamento", getMezzoPagamento()); + attributes.put("mezzoPagamentoSpese", getMezzoPagamentoSpese()); attributes.put("importoBolli", getImportoBolli()); + attributes.put("importoSpese", getImportoSpese()); attributes.put("richiestaAttestazione", getRichiestaAttestazione()); return attributes; @@ -374,6 +392,12 @@ public class FineLavoriModelImpl extends BaseModelImpl setNormEsenteBollo(normEsenteBollo); } + Boolean normEsenteSpese = (Boolean)attributes.get("normEsenteSpese"); + + if (normEsenteSpese != null) { + setNormEsenteSpese(normEsenteSpese); + } + Boolean normEsenteCollaudo = (Boolean)attributes.get( "normEsenteCollaudo"); @@ -394,30 +418,63 @@ public class FineLavoriModelImpl extends BaseModelImpl setPagamentoId(pagamentoId); } + Long pagamentoSpeseId = (Long)attributes.get("pagamentoSpeseId"); + + if (pagamentoSpeseId != null) { + setPagamentoSpeseId(pagamentoSpeseId); + } + String codicePagamento = (String)attributes.get("codicePagamento"); if (codicePagamento != null) { setCodicePagamento(codicePagamento); } + String codicePagamentoSpese = (String)attributes.get( + "codicePagamentoSpese"); + + if (codicePagamentoSpese != null) { + setCodicePagamentoSpese(codicePagamentoSpese); + } + String causalePagamento = (String)attributes.get("causalePagamento"); if (causalePagamento != null) { setCausalePagamento(causalePagamento); } + String causalePagamentoSpese = (String)attributes.get( + "causalePagamentoSpese"); + + if (causalePagamentoSpese != null) { + setCausalePagamentoSpese(causalePagamentoSpese); + } + String mezzoPagamento = (String)attributes.get("mezzoPagamento"); if (mezzoPagamento != null) { setMezzoPagamento(mezzoPagamento); } + String mezzoPagamentoSpese = (String)attributes.get( + "mezzoPagamentoSpese"); + + if (mezzoPagamentoSpese != null) { + setMezzoPagamentoSpese(mezzoPagamentoSpese); + } + String importoBolli = (String)attributes.get("importoBolli"); if (importoBolli != null) { setImportoBolli(importoBolli); } + String importoSpese = (String)attributes.get("importoSpese"); + + if (importoSpese != null) { + setImportoSpese(importoSpese); + } + Boolean richiestaAttestazione = (Boolean)attributes.get( "richiestaAttestazione"); @@ -773,6 +830,22 @@ public class FineLavoriModelImpl extends BaseModelImpl _normEsenteBollo = normEsenteBollo; } + @JSON + @Override + public boolean getNormEsenteSpese() { + return _normEsenteSpese; + } + + @Override + public boolean isNormEsenteSpese() { + return _normEsenteSpese; + } + + @Override + public void setNormEsenteSpese(boolean normEsenteSpese) { + _normEsenteSpese = normEsenteSpese; + } + @JSON @Override public boolean getNormEsenteCollaudo() { @@ -817,6 +890,17 @@ public class FineLavoriModelImpl extends BaseModelImpl _pagamentoId = pagamentoId; } + @JSON + @Override + public long getPagamentoSpeseId() { + return _pagamentoSpeseId; + } + + @Override + public void setPagamentoSpeseId(long pagamentoSpeseId) { + _pagamentoSpeseId = pagamentoSpeseId; + } + @JSON @Override public String getCodicePagamento() { @@ -833,6 +917,22 @@ public class FineLavoriModelImpl extends BaseModelImpl _codicePagamento = codicePagamento; } + @JSON + @Override + public String getCodicePagamentoSpese() { + if (_codicePagamentoSpese == null) { + return StringPool.BLANK; + } + else { + return _codicePagamentoSpese; + } + } + + @Override + public void setCodicePagamentoSpese(String codicePagamentoSpese) { + _codicePagamentoSpese = codicePagamentoSpese; + } + @JSON @Override public String getCausalePagamento() { @@ -849,6 +949,22 @@ public class FineLavoriModelImpl extends BaseModelImpl _causalePagamento = causalePagamento; } + @JSON + @Override + public String getCausalePagamentoSpese() { + if (_causalePagamentoSpese == null) { + return StringPool.BLANK; + } + else { + return _causalePagamentoSpese; + } + } + + @Override + public void setCausalePagamentoSpese(String causalePagamentoSpese) { + _causalePagamentoSpese = causalePagamentoSpese; + } + @JSON @Override public String getMezzoPagamento() { @@ -865,6 +981,22 @@ public class FineLavoriModelImpl extends BaseModelImpl _mezzoPagamento = mezzoPagamento; } + @JSON + @Override + public String getMezzoPagamentoSpese() { + if (_mezzoPagamentoSpese == null) { + return StringPool.BLANK; + } + else { + return _mezzoPagamentoSpese; + } + } + + @Override + public void setMezzoPagamentoSpese(String mezzoPagamentoSpese) { + _mezzoPagamentoSpese = mezzoPagamentoSpese; + } + @JSON @Override public String getImportoBolli() { @@ -881,6 +1013,22 @@ public class FineLavoriModelImpl extends BaseModelImpl _importoBolli = importoBolli; } + @JSON + @Override + public String getImportoSpese() { + if (_importoSpese == null) { + return StringPool.BLANK; + } + else { + return _importoSpese; + } + } + + @Override + public void setImportoSpese(String importoSpese) { + _importoSpese = importoSpese; + } + @JSON @Override public boolean getRichiestaAttestazione() { @@ -953,13 +1101,19 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriImpl.setDataEffettuazione(getDataEffettuazione()); fineLavoriImpl.setDataFineLavori(getDataFineLavori()); fineLavoriImpl.setNormEsenteBollo(getNormEsenteBollo()); + fineLavoriImpl.setNormEsenteSpese(getNormEsenteSpese()); fineLavoriImpl.setNormEsenteCollaudo(getNormEsenteCollaudo()); fineLavoriImpl.setComunicazioneDirettoreLavori(getComunicazioneDirettoreLavori()); fineLavoriImpl.setPagamentoId(getPagamentoId()); + fineLavoriImpl.setPagamentoSpeseId(getPagamentoSpeseId()); fineLavoriImpl.setCodicePagamento(getCodicePagamento()); + fineLavoriImpl.setCodicePagamentoSpese(getCodicePagamentoSpese()); fineLavoriImpl.setCausalePagamento(getCausalePagamento()); + fineLavoriImpl.setCausalePagamentoSpese(getCausalePagamentoSpese()); fineLavoriImpl.setMezzoPagamento(getMezzoPagamento()); + fineLavoriImpl.setMezzoPagamentoSpese(getMezzoPagamentoSpese()); fineLavoriImpl.setImportoBolli(getImportoBolli()); + fineLavoriImpl.setImportoSpese(getImportoSpese()); fineLavoriImpl.setRichiestaAttestazione(getRichiestaAttestazione()); fineLavoriImpl.resetOriginalValues(); @@ -1144,6 +1298,8 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriCacheModel.normEsenteBollo = getNormEsenteBollo(); + fineLavoriCacheModel.normEsenteSpese = getNormEsenteSpese(); + fineLavoriCacheModel.normEsenteCollaudo = getNormEsenteCollaudo(); fineLavoriCacheModel.comunicazioneDirettoreLavori = getComunicazioneDirettoreLavori(); @@ -1157,6 +1313,8 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriCacheModel.pagamentoId = getPagamentoId(); + fineLavoriCacheModel.pagamentoSpeseId = getPagamentoSpeseId(); + fineLavoriCacheModel.codicePagamento = getCodicePagamento(); String codicePagamento = fineLavoriCacheModel.codicePagamento; @@ -1165,6 +1323,15 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriCacheModel.codicePagamento = null; } + fineLavoriCacheModel.codicePagamentoSpese = getCodicePagamentoSpese(); + + String codicePagamentoSpese = fineLavoriCacheModel.codicePagamentoSpese; + + if ((codicePagamentoSpese != null) && + (codicePagamentoSpese.length() == 0)) { + fineLavoriCacheModel.codicePagamentoSpese = null; + } + fineLavoriCacheModel.causalePagamento = getCausalePagamento(); String causalePagamento = fineLavoriCacheModel.causalePagamento; @@ -1173,6 +1340,15 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriCacheModel.causalePagamento = null; } + fineLavoriCacheModel.causalePagamentoSpese = getCausalePagamentoSpese(); + + String causalePagamentoSpese = fineLavoriCacheModel.causalePagamentoSpese; + + if ((causalePagamentoSpese != null) && + (causalePagamentoSpese.length() == 0)) { + fineLavoriCacheModel.causalePagamentoSpese = null; + } + fineLavoriCacheModel.mezzoPagamento = getMezzoPagamento(); String mezzoPagamento = fineLavoriCacheModel.mezzoPagamento; @@ -1181,6 +1357,15 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriCacheModel.mezzoPagamento = null; } + fineLavoriCacheModel.mezzoPagamentoSpese = getMezzoPagamentoSpese(); + + String mezzoPagamentoSpese = fineLavoriCacheModel.mezzoPagamentoSpese; + + if ((mezzoPagamentoSpese != null) && + (mezzoPagamentoSpese.length() == 0)) { + fineLavoriCacheModel.mezzoPagamentoSpese = null; + } + fineLavoriCacheModel.importoBolli = getImportoBolli(); String importoBolli = fineLavoriCacheModel.importoBolli; @@ -1189,6 +1374,14 @@ public class FineLavoriModelImpl extends BaseModelImpl fineLavoriCacheModel.importoBolli = null; } + fineLavoriCacheModel.importoSpese = getImportoSpese(); + + String importoSpese = fineLavoriCacheModel.importoSpese; + + if ((importoSpese != null) && (importoSpese.length() == 0)) { + fineLavoriCacheModel.importoSpese = null; + } + fineLavoriCacheModel.richiestaAttestazione = getRichiestaAttestazione(); return fineLavoriCacheModel; @@ -1196,7 +1389,7 @@ public class FineLavoriModelImpl extends BaseModelImpl @Override public String toString() { - StringBundler sb = new StringBundler(55); + StringBundler sb = new StringBundler(67); sb.append("{uuid="); sb.append(getUuid()); @@ -1236,20 +1429,32 @@ public class FineLavoriModelImpl extends BaseModelImpl sb.append(getDataFineLavori()); sb.append(", normEsenteBollo="); sb.append(getNormEsenteBollo()); + sb.append(", normEsenteSpese="); + sb.append(getNormEsenteSpese()); sb.append(", normEsenteCollaudo="); sb.append(getNormEsenteCollaudo()); sb.append(", comunicazioneDirettoreLavori="); sb.append(getComunicazioneDirettoreLavori()); sb.append(", pagamentoId="); sb.append(getPagamentoId()); + sb.append(", pagamentoSpeseId="); + sb.append(getPagamentoSpeseId()); sb.append(", codicePagamento="); sb.append(getCodicePagamento()); + sb.append(", codicePagamentoSpese="); + sb.append(getCodicePagamentoSpese()); sb.append(", causalePagamento="); sb.append(getCausalePagamento()); + sb.append(", causalePagamentoSpese="); + sb.append(getCausalePagamentoSpese()); sb.append(", mezzoPagamento="); sb.append(getMezzoPagamento()); + sb.append(", mezzoPagamentoSpese="); + sb.append(getMezzoPagamentoSpese()); sb.append(", importoBolli="); sb.append(getImportoBolli()); + sb.append(", importoSpese="); + sb.append(getImportoSpese()); sb.append(", richiestaAttestazione="); sb.append(getRichiestaAttestazione()); sb.append("}"); @@ -1259,7 +1464,7 @@ public class FineLavoriModelImpl extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(85); + StringBundler sb = new StringBundler(103); sb.append(""); sb.append("it.tref.liferay.portos.bo.model.FineLavori"); @@ -1341,6 +1546,10 @@ public class FineLavoriModelImpl extends BaseModelImpl "normEsenteBollo"); + sb.append( + "normEsenteSpese"); sb.append( "normEsenteCollaudo "pagamentoId"); + sb.append( + "pagamentoSpeseId"); sb.append( "codicePagamento"); + sb.append( + "codicePagamentoSpese"); sb.append( "causalePagamento"); + sb.append( + "causalePagamentoSpese"); sb.append( "mezzoPagamento"); + sb.append( + "mezzoPagamentoSpese"); sb.append( "importoBolli"); + sb.append( + "importoSpese"); sb.append( "richiestaAttestazione private Date _dataEffettuazione; private Date _dataFineLavori; private boolean _normEsenteBollo; + private boolean _normEsenteSpese; private boolean _normEsenteCollaudo; private String _comunicazioneDirettoreLavori; private long _pagamentoId; + private long _pagamentoSpeseId; private String _codicePagamento; + private String _codicePagamentoSpese; private String _causalePagamento; + private String _causalePagamentoSpese; private String _mezzoPagamento; + private String _mezzoPagamentoSpese; private String _importoBolli; + private String _importoSpese; private boolean _richiestaAttestazione; private long _columnBitmask; private FineLavori _escapedModel; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PagamentiPendingPortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PagamentiPendingPortlet.java index 5751fe34..e87b585c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PagamentiPendingPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PagamentiPendingPortlet.java @@ -1,63 +1,5 @@ package it.tref.liferay.portos.bo.portlet; -import it.tref.liferay.portos.bo.model.Pagamento; -import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; -import it.tref.liferay.portos.bo.service.PagamentoServiceUtil; - -import javax.portlet.ActionRequest; -import javax.portlet.ActionResponse; - -import com.liferay.portal.kernel.exception.PortalException; -import com.liferay.portal.kernel.exception.SystemException; -import com.liferay.portal.kernel.log.Log; -import com.liferay.portal.kernel.log.LogFactoryUtil; -import com.liferay.portal.kernel.util.ParamUtil; -import com.liferay.portal.kernel.util.Validator; -import com.liferay.portal.service.ServiceContext; -import com.liferay.portal.service.ServiceContextFactory; -import com.liferay.portal.util.PortalUtil; import com.liferay.util.bridges.mvc.MVCPortlet; -public class PagamentiPendingPortlet extends MVCPortlet { - - private static final Log _log = LogFactoryUtil.getLog(PagamentiPendingPortlet.class); - - public void rigeneraPagamento(ActionRequest actionRequest, ActionResponse actionResponse) throws PortalException, - SystemException { - - try { - - ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); - long pagamentoId = ParamUtil.getLong(actionRequest, "pagamentoId"); - String url = ParamUtil.getString(actionRequest, "redirect"); - - Pagamento pagamento = PagamentoLocalServiceUtil.fetchPagamento(pagamentoId); - if (Validator.isNotNull(pagamento)) { - PagamentoServiceUtil.rigeneraPagamento(pagamentoId, pagamento.getCodiceFiscaleCommittente(), - pagamento.getMezzo(), url, serviceContext); - } - - } catch (Exception e) { - PortalUtil.copyRequestParameters(actionRequest, actionResponse); - _log.error("Error", e); - throw new SystemException(e); - } - } - - public void annullaPagamento(ActionRequest actionRequest, ActionResponse actionResponse) throws PortalException, - SystemException { - - try { - - ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); - long pagamentoId = ParamUtil.getLong(actionRequest, "pagamentoId"); - PagamentoServiceUtil.annullaPagamento(pagamentoId, serviceContext); - - } catch (Exception e) { - PortalUtil.copyRequestParameters(actionRequest, actionResponse); - _log.error("Error", e); - throw new SystemException(e); - } - } - -} +public class PagamentiPendingPortlet extends MVCPortlet {} diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java index 4df6087c..0ec55e1d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerInvioDocumento.java @@ -162,17 +162,13 @@ public class SchedulerInvioDocumento implements MessageListener { for (int cursor = 0; cursor <= count; cursor += SIZE) { List avvisi = AvvisoLocalServiceUtil.getAvvisiInvioSignal(cursor, cursor + SIZE); for (Avviso avviso : avvisi) { - long controlloPraticaId = avviso.getControlloPraticaId(); - if (controlloPraticaId != 0) { - try { - ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil - .getControlloPratica(avviso.getControlloPraticaId()); - invioSignal(avviso, controlloPratica); - } catch (Exception e) { - _log.info(e.getMessage() + StringPool.SPACE + avviso.getAvvisoId() + StringPool.SPACE - + avviso.getControlloPraticaId()); - _log.debug("Error", e); - } + try { + ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil.getControlloPratica(avviso + .getControlloPraticaId()); + invioSignal(avviso, controlloPratica); + } catch (Exception e) { + _log.info(e.getMessage() + StringPool.SPACE + avviso.getAvvisoId() + StringPool.SPACE + + avviso.getControlloPraticaId()); } } } @@ -221,17 +217,13 @@ public class SchedulerInvioDocumento implements MessageListener { for (int cursor = 0; cursor <= count; cursor += SIZE) { List avvisi = AvvisoLocalServiceUtil.getAvvisiTempistica(cursor, cursor + SIZE); for (Avviso avviso : avvisi) { - long controlloPraticaId = avviso.getControlloPraticaId(); - if (controlloPraticaId > 0) { - try { - ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil - .getControlloPratica(controlloPraticaId); - gestioneTempistica(avviso, controlloPratica); - } catch (Exception e) { - _log.debug(e.getMessage() + StringPool.SPACE + avviso.getAvvisoId() + StringPool.SPACE - + avviso.getControlloPraticaId()); - _log.debug("Error", e); - } + try { + ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil.getControlloPratica(avviso + .getControlloPraticaId()); + gestioneTempistica(avviso, controlloPratica); + } catch (Exception e) { + _log.info(e.getMessage() + StringPool.SPACE + avviso.getAvvisoId() + StringPool.SPACE + + avviso.getControlloPraticaId()); } } } @@ -466,11 +458,7 @@ public class SchedulerInvioDocumento implements MessageListener { if (tipoDocumento.equals(StatoPraticaConstants.SOTTOPOSTA_A_PARERE)) { long intPraticaId = controlloPratica.getIntPraticaId(); IntPratica intPratica = null; - try { - intPratica = IntPraticaLocalServiceUtil.getIntPratica(controlloPratica.getIntPraticaId()); - } catch (PortalException e) { - _log.error(e, e); - } + intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(controlloPratica.getIntPraticaId()); // FIX prendo la data di vidimazione e non quella di sottoposto a parere per avvio dei tempi Avviso avvisoExtra = null; if (Validator.isNotNull(intPratica.getDtSorteggio())) { @@ -478,8 +466,10 @@ public class SchedulerInvioDocumento implements MessageListener { } else { List documentiVid = AvvisoLocalServiceUtil.findByIntPraticaId_tipoDocumento(intPraticaId, StatoPraticaConstants.VIDIMATA); - avvisoExtra = documentiVid.get(0); - dtInvio = avvisoExtra.getDtInvio(); + if (documentiVid.size() > 0) { + avvisoExtra = documentiVid.get(0); + dtInvio = avvisoExtra.getDtInvio(); + } } // fino qui Date now = new Date(); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/VerificaPagamentiScheduler.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/VerificaPagamentiScheduler.java deleted file mode 100644 index 4bd18360..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/VerificaPagamentiScheduler.java +++ /dev/null @@ -1,81 +0,0 @@ -package it.tref.liferay.portos.bo.scheduler; - -import it.tref.liferay.portos.bo.model.Pagamento; -import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; -import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; -import it.tref.liferay.portos.bo.util.PagamentiCommonUtil; -import it.tref.liferay.portos.bo.util.PagamentiUtil; - -import java.io.IOException; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - -import com.liferay.portal.kernel.exception.PortalException; -import com.liferay.portal.kernel.exception.SystemException; -import com.liferay.portal.kernel.log.Log; -import com.liferay.portal.kernel.log.LogFactoryUtil; -import com.liferay.portal.kernel.messaging.Message; -import com.liferay.portal.kernel.messaging.MessageListener; -import com.liferay.portal.kernel.messaging.MessageListenerException; -import com.liferay.portal.model.Company; -import com.liferay.portal.service.CompanyLocalServiceUtil; - -public class VerificaPagamentiScheduler implements MessageListener { - - private static final Log _log = LogFactoryUtil.getLog(VerificaPagamentiScheduler.class); - - private static final Lock lock = new ReentrantLock(); - - private final int SIZE = 10; - - // parametro per recupero dei pagamenti IRIS avviati dopo XX minuti - private final int DELAY_IN_MINUTE = 5; - - @Override - public void receive(Message message) throws MessageListenerException { - - if (lock.tryLock()) { - try { - for (Company company : CompanyLocalServiceUtil.getCompanies()) { - boolean irisDisabled = !PagamentiCommonUtil.irisIsEnable(company.getCompanyId()); - if (!irisDisabled) { - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.MINUTE, -DELAY_IN_MINUTE); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - Date date = calendar.getTime(); - int count = PagamentoLocalServiceUtil.countByMezzo_Utilizzata_CreateDate( - PagamentoConstants.MEZZO_IRIS, PagamentoConstants.UTILIZZATA_IN_CORSO, date); - if (count > 0) { - for (int cursor = 0; cursor <= count; cursor += SIZE) { - List pagamenti = PagamentoLocalServiceUtil - .findByMezzo_Utilizzata_CreateDate(PagamentoConstants.MEZZO_IRIS, - PagamentoConstants.UTILIZZATA_IN_CORSO, date, cursor, cursor - + SIZE); - for (Pagamento pagamento : pagamenti) { - process(pagamento); - } - } - } - } - } - } catch (SystemException e) { - _log.error("Errore", e); - } finally { - lock.unlock(); - } - } - } - - private void process(Pagamento pagamento) { - - try { - PagamentiUtil.verificaPagamentoIRIS(pagamento); - } catch (IOException | PortalException | SystemException e) { - _log.error("Errore", e); - } - } -} diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriLocalServiceClpInvoker.java index 73c502ef..d315e5af 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriLocalServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriLocalServiceClpInvoker.java @@ -150,8 +150,8 @@ public class FineLavoriLocalServiceClpInvoker { _methodParameterTypes186 = new String[] { "long", "long", "long", "boolean", "boolean", "java.util.Date", - "java.lang.String", "boolean", "boolean", "java.lang.String", - "boolean" + "java.lang.String", "boolean", "boolean", "boolean", + "java.lang.String", "boolean" }; _methodName187 = "getLastEditable"; @@ -166,6 +166,7 @@ public class FineLavoriLocalServiceClpInvoker { _methodParameterTypes189 = new String[] { "long", "java.lang.String", "java.lang.String", + "java.lang.String", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; @@ -458,8 +459,9 @@ public class FineLavoriLocalServiceClpInvoker { (java.util.Date)arguments[5], (java.lang.String)arguments[6], ((Boolean)arguments[7]).booleanValue(), ((Boolean)arguments[8]).booleanValue(), - (java.lang.String)arguments[9], - ((Boolean)arguments[10]).booleanValue()); + ((Boolean)arguments[9]).booleanValue(), + (java.lang.String)arguments[10], + ((Boolean)arguments[11]).booleanValue()); } if (_methodName187.equals(name) && @@ -476,7 +478,8 @@ public class FineLavoriLocalServiceClpInvoker { Arrays.deepEquals(_methodParameterTypes189, parameterTypes)) { return FineLavoriLocalServiceUtil.pagaInvia(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], (java.lang.String)arguments[2], - (com.liferay.portal.service.ServiceContext)arguments[3]); + (java.lang.String)arguments[3], (java.lang.String)arguments[4], + (com.liferay.portal.service.ServiceContext)arguments[5]); } if (_methodName190.equals(name) && diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriServiceClpInvoker.java index f1c14363..6c5f58a6 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/FineLavoriServiceClpInvoker.java @@ -62,8 +62,8 @@ public class FineLavoriServiceClpInvoker { _methodParameterTypes167 = new String[] { "long", "long", "long", "boolean", "boolean", "java.util.Date", - "java.lang.String", "boolean", "boolean", "java.lang.String", - "boolean" + "java.lang.String", "boolean", "boolean", "boolean", + "java.lang.String", "boolean" }; _methodName168 = "getLastEditable"; @@ -89,6 +89,7 @@ public class FineLavoriServiceClpInvoker { _methodParameterTypes172 = new String[] { "long", "java.lang.String", "java.lang.String", + "java.lang.String", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; @@ -169,8 +170,9 @@ public class FineLavoriServiceClpInvoker { (java.util.Date)arguments[5], (java.lang.String)arguments[6], ((Boolean)arguments[7]).booleanValue(), ((Boolean)arguments[8]).booleanValue(), - (java.lang.String)arguments[9], - ((Boolean)arguments[10]).booleanValue()); + ((Boolean)arguments[9]).booleanValue(), + (java.lang.String)arguments[10], + ((Boolean)arguments[11]).booleanValue()); } if (_methodName168.equals(name) && @@ -202,7 +204,8 @@ public class FineLavoriServiceClpInvoker { Arrays.deepEquals(_methodParameterTypes172, parameterTypes)) { return FineLavoriServiceUtil.pagaInvia(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], (java.lang.String)arguments[2], - (com.liferay.portal.service.ServiceContext)arguments[3]); + (java.lang.String)arguments[3], (java.lang.String)arguments[4], + (com.liferay.portal.service.ServiceContext)arguments[5]); } if (_methodName173.equals(name) && diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoLocalServiceClpInvoker.java index 16d42f8a..2ceee641 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoLocalServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoLocalServiceClpInvoker.java @@ -186,155 +186,144 @@ public class PagamentoLocalServiceClpInvoker { _methodParameterTypes194 = new String[] { "long", "java.lang.String" }; - _methodName195 = "annullaPagamento"; + _methodName195 = "findByCommittente_Mezzo"; - _methodParameterTypes195 = new String[] { "long" }; - - _methodName196 = "findByCommittente_Mezzo"; - - _methodParameterTypes196 = new String[] { + _methodParameterTypes195 = new String[] { "java.lang.String", "java.lang.String", "int", "int" }; - _methodName197 = "countByCommittente_Mezzo"; + _methodName196 = "countByCommittente_Mezzo"; - _methodParameterTypes197 = new String[] { + _methodParameterTypes196 = new String[] { "java.lang.String", "java.lang.String" }; - _methodName198 = "findByCommittente_Mezzo_Utilizzata"; + _methodName197 = "findByCommittente_Mezzo_Utilizzata"; - _methodParameterTypes198 = new String[] { + _methodParameterTypes197 = new String[] { "java.lang.String", "java.lang.String", "java.lang.String", "int", "int" }; - _methodName199 = "countByCommittente_Mezzo_Utilizzata"; + _methodName198 = "countByCommittente_Mezzo_Utilizzata"; - _methodParameterTypes199 = new String[] { + _methodParameterTypes198 = new String[] { "java.lang.String", "java.lang.String", "java.lang.String" }; - _methodName200 = "findByMezzo_Utilizzata"; + _methodName199 = "findByMezzo_Utilizzata"; - _methodParameterTypes200 = new String[] { + _methodParameterTypes199 = new String[] { "java.lang.String", "java.lang.String", "int", "int" }; - _methodName201 = "findByOldPagamentoId"; + _methodName200 = "findByOldPagamentoId"; - _methodParameterTypes201 = new String[] { "long" }; + _methodParameterTypes200 = new String[] { "long" }; - _methodName202 = "countByMezzo_Utilizzata"; + _methodName201 = "countByMezzo_Utilizzata"; - _methodParameterTypes202 = new String[] { + _methodParameterTypes201 = new String[] { "java.lang.String", "java.lang.String" }; - _methodName203 = "findByMezzo_Utilizzata_CreateDate"; + _methodName202 = "findByMezzo_Utilizzata_CreateDate"; - _methodParameterTypes203 = new String[] { + _methodParameterTypes202 = new String[] { "java.lang.String", "java.lang.String", "java.util.Date", "int", "int" }; - _methodName204 = "countByMezzo_Utilizzata_EmailPending_CreateDate"; + _methodName203 = "countByMezzo_Utilizzata_EmailPending_CreateDate"; - _methodParameterTypes204 = new String[] { + _methodParameterTypes203 = new String[] { "java.lang.String", "java.lang.String", "boolean", "java.util.Date" }; - _methodName205 = "findByMezzo_Utilizzata_EmailPending_CreateDate"; + _methodName204 = "findByMezzo_Utilizzata_EmailPending_CreateDate"; - _methodParameterTypes205 = new String[] { + _methodParameterTypes204 = new String[] { "java.lang.String", "java.lang.String", "boolean", "java.util.Date", "int", "int" }; - _methodName206 = "findInPending"; + _methodName205 = "findInPending"; - _methodParameterTypes206 = new String[] { + _methodParameterTypes205 = new String[] { "java.util.Date", "int", "int", "com.liferay.portal.kernel.util.OrderByComparator" }; - _methodName207 = "countInPending"; + _methodName206 = "countInPending"; - _methodParameterTypes207 = new String[] { "java.util.Date" }; + _methodParameterTypes206 = new String[] { "java.util.Date" }; - _methodName209 = "countByMezzo_Utilizzata_CreateDate"; + _methodName208 = "countByMezzo_Utilizzata_CreateDate"; - _methodParameterTypes209 = new String[] { + _methodParameterTypes208 = new String[] { "java.lang.String", "java.lang.String", "java.util.Date" }; - _methodName210 = "deletePagamento"; + _methodName209 = "deletePagamento"; - _methodParameterTypes210 = new String[] { "long" }; + _methodParameterTypes209 = new String[] { "long" }; - _methodName211 = "deletePagamento"; + _methodName210 = "deletePagamento"; - _methodParameterTypes211 = new String[] { + _methodParameterTypes210 = new String[] { "it.tref.liferay.portos.bo.model.Pagamento" }; - _methodName212 = "updateEmailPendingPagamento"; + _methodName211 = "updateEmailPendingPagamento"; + + _methodParameterTypes211 = new String[] { "long", "boolean" }; - _methodParameterTypes212 = new String[] { "long", "boolean" }; + _methodName214 = "countByClassPk"; - _methodName215 = "countByClassPk"; + _methodParameterTypes214 = new String[] { "long" }; + + _methodName215 = "findByClassPk"; _methodParameterTypes215 = new String[] { "long" }; - _methodName216 = "findByClassPk"; + _methodName216 = "findByIntPratica"; _methodParameterTypes216 = new String[] { "long" }; - _methodName217 = "findByIntPratica"; + _methodName217 = "countByIntPratica"; _methodParameterTypes217 = new String[] { "long" }; - _methodName218 = "countByIntPratica"; + _methodName218 = "findByIntPratica_Visible"; _methodParameterTypes218 = new String[] { "long" }; - _methodName219 = "findByIntPratica_Visible"; + _methodName219 = "countByIntPratica_Visible"; _methodParameterTypes219 = new String[] { "long" }; - _methodName220 = "countByIntPratica_Visible"; - - _methodParameterTypes220 = new String[] { "long" }; + _methodName221 = "updatePagamentoManuale"; - _methodName222 = "sostituisciPagamento"; - - _methodParameterTypes222 = new String[] { - "long", "java.lang.String", "java.lang.String", - "java.lang.String", "com.liferay.portal.service.ServiceContext" - }; - - _methodName223 = "updatePagamentoManuale"; - - _methodParameterTypes223 = new String[] { + _methodParameterTypes221 = new String[] { "long", "byte[][]", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName224 = "updatePagamentoManualeFromImport"; + _methodName222 = "updatePagamentoManualeFromImport"; - _methodParameterTypes224 = new String[] { + _methodParameterTypes222 = new String[] { "long", "byte[][]", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName225 = "fetchByOldPagamentoId"; + _methodName223 = "fetchByOldPagamentoId"; - _methodParameterTypes225 = new String[] { "long" }; + _methodParameterTypes223 = new String[] { "long" }; - _methodName226 = "updateOtf"; + _methodName224 = "updateOtf"; - _methodParameterTypes226 = new String[] { "long", "boolean" }; + _methodParameterTypes224 = new String[] { "long", "boolean" }; } public Object invokeMethod(String name, String[] parameterTypes, @@ -539,74 +528,69 @@ public class PagamentoLocalServiceClpInvoker { if (_methodName195.equals(name) && Arrays.deepEquals(_methodParameterTypes195, parameterTypes)) { - return PagamentoLocalServiceUtil.annullaPagamento(((Long)arguments[0]).longValue()); - } - - if (_methodName196.equals(name) && - Arrays.deepEquals(_methodParameterTypes196, parameterTypes)) { return PagamentoLocalServiceUtil.findByCommittente_Mezzo((java.lang.String)arguments[0], (java.lang.String)arguments[1], ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName197.equals(name) && - Arrays.deepEquals(_methodParameterTypes197, parameterTypes)) { + if (_methodName196.equals(name) && + Arrays.deepEquals(_methodParameterTypes196, parameterTypes)) { return PagamentoLocalServiceUtil.countByCommittente_Mezzo((java.lang.String)arguments[0], (java.lang.String)arguments[1]); } - if (_methodName198.equals(name) && - Arrays.deepEquals(_methodParameterTypes198, parameterTypes)) { + if (_methodName197.equals(name) && + Arrays.deepEquals(_methodParameterTypes197, parameterTypes)) { return PagamentoLocalServiceUtil.findByCommittente_Mezzo_Utilizzata((java.lang.String)arguments[0], (java.lang.String)arguments[1], (java.lang.String)arguments[2], ((Integer)arguments[3]).intValue(), ((Integer)arguments[4]).intValue()); } - if (_methodName199.equals(name) && - Arrays.deepEquals(_methodParameterTypes199, parameterTypes)) { + if (_methodName198.equals(name) && + Arrays.deepEquals(_methodParameterTypes198, parameterTypes)) { return PagamentoLocalServiceUtil.countByCommittente_Mezzo_Utilizzata((java.lang.String)arguments[0], (java.lang.String)arguments[1], (java.lang.String)arguments[2]); } - if (_methodName200.equals(name) && - Arrays.deepEquals(_methodParameterTypes200, parameterTypes)) { + if (_methodName199.equals(name) && + Arrays.deepEquals(_methodParameterTypes199, parameterTypes)) { return PagamentoLocalServiceUtil.findByMezzo_Utilizzata((java.lang.String)arguments[0], (java.lang.String)arguments[1], ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName201.equals(name) && - Arrays.deepEquals(_methodParameterTypes201, parameterTypes)) { + if (_methodName200.equals(name) && + Arrays.deepEquals(_methodParameterTypes200, parameterTypes)) { return PagamentoLocalServiceUtil.findByOldPagamentoId(((Long)arguments[0]).longValue()); } - if (_methodName202.equals(name) && - Arrays.deepEquals(_methodParameterTypes202, parameterTypes)) { + if (_methodName201.equals(name) && + Arrays.deepEquals(_methodParameterTypes201, parameterTypes)) { return PagamentoLocalServiceUtil.countByMezzo_Utilizzata((java.lang.String)arguments[0], (java.lang.String)arguments[1]); } - if (_methodName203.equals(name) && - Arrays.deepEquals(_methodParameterTypes203, parameterTypes)) { + if (_methodName202.equals(name) && + Arrays.deepEquals(_methodParameterTypes202, parameterTypes)) { return PagamentoLocalServiceUtil.findByMezzo_Utilizzata_CreateDate((java.lang.String)arguments[0], (java.lang.String)arguments[1], (java.util.Date)arguments[2], ((Integer)arguments[3]).intValue(), ((Integer)arguments[4]).intValue()); } - if (_methodName204.equals(name) && - Arrays.deepEquals(_methodParameterTypes204, parameterTypes)) { + if (_methodName203.equals(name) && + Arrays.deepEquals(_methodParameterTypes203, parameterTypes)) { return PagamentoLocalServiceUtil.countByMezzo_Utilizzata_EmailPending_CreateDate((java.lang.String)arguments[0], (java.lang.String)arguments[1], ((Boolean)arguments[2]).booleanValue(), (java.util.Date)arguments[3]); } - if (_methodName205.equals(name) && - Arrays.deepEquals(_methodParameterTypes205, parameterTypes)) { + if (_methodName204.equals(name) && + Arrays.deepEquals(_methodParameterTypes204, parameterTypes)) { return PagamentoLocalServiceUtil.findByMezzo_Utilizzata_EmailPending_CreateDate((java.lang.String)arguments[0], (java.lang.String)arguments[1], ((Boolean)arguments[2]).booleanValue(), @@ -615,83 +599,73 @@ public class PagamentoLocalServiceClpInvoker { ((Integer)arguments[5]).intValue()); } - if (_methodName206.equals(name) && - Arrays.deepEquals(_methodParameterTypes206, parameterTypes)) { + if (_methodName205.equals(name) && + Arrays.deepEquals(_methodParameterTypes205, parameterTypes)) { return PagamentoLocalServiceUtil.findInPending((java.util.Date)arguments[0], ((Integer)arguments[1]).intValue(), ((Integer)arguments[2]).intValue(), (com.liferay.portal.kernel.util.OrderByComparator)arguments[3]); } - if (_methodName207.equals(name) && - Arrays.deepEquals(_methodParameterTypes207, parameterTypes)) { + if (_methodName206.equals(name) && + Arrays.deepEquals(_methodParameterTypes206, parameterTypes)) { return PagamentoLocalServiceUtil.countInPending((java.util.Date)arguments[0]); } - if (_methodName209.equals(name) && - Arrays.deepEquals(_methodParameterTypes209, parameterTypes)) { + if (_methodName208.equals(name) && + Arrays.deepEquals(_methodParameterTypes208, parameterTypes)) { return PagamentoLocalServiceUtil.countByMezzo_Utilizzata_CreateDate((java.lang.String)arguments[0], (java.lang.String)arguments[1], (java.util.Date)arguments[2]); } - if (_methodName210.equals(name) && - Arrays.deepEquals(_methodParameterTypes210, parameterTypes)) { + if (_methodName209.equals(name) && + Arrays.deepEquals(_methodParameterTypes209, parameterTypes)) { return PagamentoLocalServiceUtil.deletePagamento(((Long)arguments[0]).longValue()); } - if (_methodName211.equals(name) && - Arrays.deepEquals(_methodParameterTypes211, parameterTypes)) { + if (_methodName210.equals(name) && + Arrays.deepEquals(_methodParameterTypes210, parameterTypes)) { return PagamentoLocalServiceUtil.deletePagamento((it.tref.liferay.portos.bo.model.Pagamento)arguments[0]); } - if (_methodName212.equals(name) && - Arrays.deepEquals(_methodParameterTypes212, parameterTypes)) { + if (_methodName211.equals(name) && + Arrays.deepEquals(_methodParameterTypes211, parameterTypes)) { return PagamentoLocalServiceUtil.updateEmailPendingPagamento(((Long)arguments[0]).longValue(), ((Boolean)arguments[1]).booleanValue()); } + if (_methodName214.equals(name) && + Arrays.deepEquals(_methodParameterTypes214, parameterTypes)) { + return PagamentoLocalServiceUtil.countByClassPk(((Long)arguments[0]).longValue()); + } + if (_methodName215.equals(name) && Arrays.deepEquals(_methodParameterTypes215, parameterTypes)) { - return PagamentoLocalServiceUtil.countByClassPk(((Long)arguments[0]).longValue()); + return PagamentoLocalServiceUtil.findByClassPk(((Long)arguments[0]).longValue()); } if (_methodName216.equals(name) && Arrays.deepEquals(_methodParameterTypes216, parameterTypes)) { - return PagamentoLocalServiceUtil.findByClassPk(((Long)arguments[0]).longValue()); + return PagamentoLocalServiceUtil.findByIntPratica(((Long)arguments[0]).longValue()); } if (_methodName217.equals(name) && Arrays.deepEquals(_methodParameterTypes217, parameterTypes)) { - return PagamentoLocalServiceUtil.findByIntPratica(((Long)arguments[0]).longValue()); + return PagamentoLocalServiceUtil.countByIntPratica(((Long)arguments[0]).longValue()); } if (_methodName218.equals(name) && Arrays.deepEquals(_methodParameterTypes218, parameterTypes)) { - return PagamentoLocalServiceUtil.countByIntPratica(((Long)arguments[0]).longValue()); + return PagamentoLocalServiceUtil.findByIntPratica_Visible(((Long)arguments[0]).longValue()); } if (_methodName219.equals(name) && Arrays.deepEquals(_methodParameterTypes219, parameterTypes)) { - return PagamentoLocalServiceUtil.findByIntPratica_Visible(((Long)arguments[0]).longValue()); - } - - if (_methodName220.equals(name) && - Arrays.deepEquals(_methodParameterTypes220, parameterTypes)) { return PagamentoLocalServiceUtil.countByIntPratica_Visible(((Long)arguments[0]).longValue()); } - if (_methodName222.equals(name) && - Arrays.deepEquals(_methodParameterTypes222, parameterTypes)) { - PagamentoLocalServiceUtil.sostituisciPagamento(((Long)arguments[0]).longValue(), - (java.lang.String)arguments[1], (java.lang.String)arguments[2], - (java.lang.String)arguments[3], - (com.liferay.portal.service.ServiceContext)arguments[4]); - - return null; - } - - if (_methodName223.equals(name) && - Arrays.deepEquals(_methodParameterTypes223, parameterTypes)) { + if (_methodName221.equals(name) && + Arrays.deepEquals(_methodParameterTypes221, parameterTypes)) { PagamentoLocalServiceUtil.updatePagamentoManuale(((Long)arguments[0]).longValue(), (byte[])arguments[1], (java.lang.String)arguments[2], (com.liferay.portal.service.ServiceContext)arguments[3]); @@ -699,8 +673,8 @@ public class PagamentoLocalServiceClpInvoker { return null; } - if (_methodName224.equals(name) && - Arrays.deepEquals(_methodParameterTypes224, parameterTypes)) { + if (_methodName222.equals(name) && + Arrays.deepEquals(_methodParameterTypes222, parameterTypes)) { PagamentoLocalServiceUtil.updatePagamentoManualeFromImport(((Long)arguments[0]).longValue(), (byte[])arguments[1], (java.lang.String)arguments[2], (com.liferay.portal.service.ServiceContext)arguments[3]); @@ -708,13 +682,13 @@ public class PagamentoLocalServiceClpInvoker { return null; } - if (_methodName225.equals(name) && - Arrays.deepEquals(_methodParameterTypes225, parameterTypes)) { + if (_methodName223.equals(name) && + Arrays.deepEquals(_methodParameterTypes223, parameterTypes)) { return PagamentoLocalServiceUtil.fetchByOldPagamentoId(((Long)arguments[0]).longValue()); } - if (_methodName226.equals(name) && - Arrays.deepEquals(_methodParameterTypes226, parameterTypes)) { + if (_methodName224.equals(name) && + Arrays.deepEquals(_methodParameterTypes224, parameterTypes)) { return PagamentoLocalServiceUtil.updateOtf(((Long)arguments[0]).longValue(), ((Boolean)arguments[1]).booleanValue()); } @@ -806,16 +780,16 @@ public class PagamentoLocalServiceClpInvoker { private String[] _methodParameterTypes205; private String _methodName206; private String[] _methodParameterTypes206; - private String _methodName207; - private String[] _methodParameterTypes207; + private String _methodName208; + private String[] _methodParameterTypes208; private String _methodName209; private String[] _methodParameterTypes209; private String _methodName210; private String[] _methodParameterTypes210; private String _methodName211; private String[] _methodParameterTypes211; - private String _methodName212; - private String[] _methodParameterTypes212; + private String _methodName214; + private String[] _methodParameterTypes214; private String _methodName215; private String[] _methodParameterTypes215; private String _methodName216; @@ -826,16 +800,12 @@ public class PagamentoLocalServiceClpInvoker { private String[] _methodParameterTypes218; private String _methodName219; private String[] _methodParameterTypes219; - private String _methodName220; - private String[] _methodParameterTypes220; + private String _methodName221; + private String[] _methodParameterTypes221; private String _methodName222; private String[] _methodParameterTypes222; private String _methodName223; private String[] _methodParameterTypes223; private String _methodName224; private String[] _methodParameterTypes224; - private String _methodName225; - private String[] _methodParameterTypes225; - private String _methodName226; - private String[] _methodParameterTypes226; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoServiceClpInvoker.java index ca4b5efa..db1deb16 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/PagamentoServiceClpInvoker.java @@ -32,29 +32,9 @@ public class PagamentoServiceClpInvoker { _methodParameterTypes161 = new String[] { "java.lang.String" }; - _methodName166 = "sostituisciPagamento"; + _methodName166 = "updatePagamentoManuale"; _methodParameterTypes166 = new String[] { - "long", "java.lang.String", "java.lang.String", - "java.lang.String", "com.liferay.portal.service.ServiceContext" - }; - - _methodName167 = "rigeneraPagamento"; - - _methodParameterTypes167 = new String[] { - "long", "java.lang.String", "java.lang.String", - "java.lang.String", "com.liferay.portal.service.ServiceContext" - }; - - _methodName168 = "annullaPagamento"; - - _methodParameterTypes168 = new String[] { - "long", "com.liferay.portal.service.ServiceContext" - }; - - _methodName169 = "updatePagamentoManuale"; - - _methodParameterTypes169 = new String[] { "long", "byte[][]", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; @@ -76,34 +56,6 @@ public class PagamentoServiceClpInvoker { if (_methodName166.equals(name) && Arrays.deepEquals(_methodParameterTypes166, parameterTypes)) { - PagamentoServiceUtil.sostituisciPagamento(((Long)arguments[0]).longValue(), - (java.lang.String)arguments[1], (java.lang.String)arguments[2], - (java.lang.String)arguments[3], - (com.liferay.portal.service.ServiceContext)arguments[4]); - - return null; - } - - if (_methodName167.equals(name) && - Arrays.deepEquals(_methodParameterTypes167, parameterTypes)) { - PagamentoServiceUtil.rigeneraPagamento(((Long)arguments[0]).longValue(), - (java.lang.String)arguments[1], (java.lang.String)arguments[2], - (java.lang.String)arguments[3], - (com.liferay.portal.service.ServiceContext)arguments[4]); - - return null; - } - - if (_methodName168.equals(name) && - Arrays.deepEquals(_methodParameterTypes168, parameterTypes)) { - PagamentoServiceUtil.annullaPagamento(((Long)arguments[0]).longValue(), - (com.liferay.portal.service.ServiceContext)arguments[1]); - - return null; - } - - if (_methodName169.equals(name) && - Arrays.deepEquals(_methodParameterTypes169, parameterTypes)) { PagamentoServiceUtil.updatePagamentoManuale(((Long)arguments[0]).longValue(), (byte[])arguments[1], (java.lang.String)arguments[2], (com.liferay.portal.service.ServiceContext)arguments[3]); @@ -120,10 +72,4 @@ public class PagamentoServiceClpInvoker { private String[] _methodParameterTypes161; private String _methodName166; private String[] _methodParameterTypes166; - private String _methodName167; - private String[] _methodParameterTypes167; - private String _methodName168; - private String[] _methodParameterTypes168; - private String _methodName169; - private String[] _methodParameterTypes169; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/FineLavoriServiceSoap.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/FineLavoriServiceSoap.java index dc44ad17..92d3184a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/FineLavoriServiceSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/FineLavoriServiceSoap.java @@ -143,15 +143,15 @@ public class FineLavoriServiceSoap { long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, java.util.Date dataFineLavori, java.lang.String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, + boolean normEsenteSpese, boolean normEsenteCollaudo, java.lang.String comunicazioneDirettoreLavori, boolean richiestaAttestazione) throws RemoteException { try { it.tref.liferay.portos.bo.model.FineLavori returnValue = FineLavoriServiceUtil.updateFineLavori(userId, fineLavoriId, intPraticaId, parziale, completata, dataFineLavori, codiceFiscaleDelegato, normEsenteBollo, - normEsenteCollaudo, comunicazioneDirettoreLavori, - richiestaAttestazione); + normEsenteSpese, normEsenteCollaudo, + comunicazioneDirettoreLavori, richiestaAttestazione); return it.tref.liferay.portos.bo.model.FineLavoriSoap.toSoapModel(returnValue); } @@ -225,12 +225,14 @@ public class FineLavoriServiceSoap { public static it.tref.liferay.portos.bo.model.FineLavoriSoap pagaInvia( long fineLavoriId, java.lang.String codiceFiscaleCommittente, + java.lang.String importoBolli, java.lang.String importoSpese, java.lang.String currentURL, com.liferay.portal.service.ServiceContext serviceContext) throws RemoteException { try { it.tref.liferay.portos.bo.model.FineLavori returnValue = FineLavoriServiceUtil.pagaInvia(fineLavoriId, - codiceFiscaleCommittente, currentURL, serviceContext); + codiceFiscaleCommittente, importoBolli, importoSpese, + currentURL, serviceContext); return it.tref.liferay.portos.bo.model.FineLavoriSoap.toSoapModel(returnValue); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/PagamentoServiceSoap.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/PagamentoServiceSoap.java index 28aeffb8..fe9b0ba9 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/PagamentoServiceSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/http/PagamentoServiceSoap.java @@ -62,51 +62,6 @@ import java.rmi.RemoteException; * @generated */ public class PagamentoServiceSoap { - public static void sostituisciPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws RemoteException { - try { - PagamentoServiceUtil.sostituisciPagamento(pagamentoId, - codiceFiscaleCommittente, mezzo, url, serviceContext); - } - catch (Exception e) { - _log.error(e, e); - - throw new RemoteException(e.getMessage()); - } - } - - public static void rigeneraPagamento(long pagamentoId, - java.lang.String codiceFiscaleCommittente, java.lang.String mezzo, - java.lang.String url, - com.liferay.portal.service.ServiceContext serviceContext) - throws RemoteException { - try { - PagamentoServiceUtil.rigeneraPagamento(pagamentoId, - codiceFiscaleCommittente, mezzo, url, serviceContext); - } - catch (Exception e) { - _log.error(e, e); - - throw new RemoteException(e.getMessage()); - } - } - - public static void annullaPagamento(long pagamentoId, - com.liferay.portal.service.ServiceContext serviceContext) - throws RemoteException { - try { - PagamentoServiceUtil.annullaPagamento(pagamentoId, serviceContext); - } - catch (Exception e) { - _log.error(e, e); - - throw new RemoteException(e.getMessage()); - } - } - public static void updatePagamentoManuale(long pagamentoId, byte[] content, java.lang.String sourceFileName, com.liferay.portal.service.ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AvvisoLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AvvisoLocalServiceImpl.java index 1598bdf1..68bac8fd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AvvisoLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AvvisoLocalServiceImpl.java @@ -603,6 +603,7 @@ public class AvvisoLocalServiceImpl extends AvvisoLocalServiceBaseImpl { dynamicQuery.add(PropertyFactoryUtil.forName("dtInvioSignal").isNull()); dynamicQuery.add(PropertyFactoryUtil.forName("errore").eq(false)); dynamicQuery.add(PropertyFactoryUtil.forName("annullato").eq(false)); + dynamicQuery.add(PropertyFactoryUtil.forName("controlloPraticaId").ne(0L)); Disjunction disjunction = RestrictionsFactoryUtil.disjunction(); disjunction.add(PropertyFactoryUtil.forName("inviato").eq(AvvisoUtil.DOCUMENTO_INVIATO)); disjunction.add(PropertyFactoryUtil.forName("rifiutato").eq(true)); @@ -647,6 +648,7 @@ public class AvvisoLocalServiceImpl extends AvvisoLocalServiceBaseImpl { dynamicQuery.add(PropertyFactoryUtil.forName("dtTempistica").isNull()); dynamicQuery.add(PropertyFactoryUtil.forName("errore").eq(false)); dynamicQuery.add(PropertyFactoryUtil.forName("annullato").eq(false)); + dynamicQuery.add(PropertyFactoryUtil.forName("controlloPraticaId").ne(0L)); if (Validator.isNotNull(avvisoId)) { dynamicQuery.add(PropertyFactoryUtil.forName("avvisoId").eq(avvisoId)); } @@ -1106,6 +1108,7 @@ public class AvvisoLocalServiceImpl extends AvvisoLocalServiceBaseImpl { return avviso; } + @Override public Avviso simulaFirma(long avvisoId, ServiceContext serviceContext) throws Exception { if (configurazioneLocalService.isDeveloper(serviceContext.getUserId())) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/CollaudoLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/CollaudoLocalServiceImpl.java index 8483ec80..8a990fe4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/CollaudoLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/CollaudoLocalServiceImpl.java @@ -194,10 +194,6 @@ public class CollaudoLocalServiceImpl extends CollaudoLocalServiceBaseImpl { inviaMailnotifica(collaudoId, intPratica.getStatusByUserId(), now); } pagamentoLocalService.updatePagamentoUtilizzata(pagamentoId, stato); - } else if (stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE) - || stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA) - || stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO)) { - pagamentoLocalService.updatePagamentoUtilizzata(pagamentoId, stato); } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java index 2029a79c..dca4d12e 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java @@ -1152,11 +1152,6 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl } pagamentoLocalService.updatePagamentoUtilizzata(pagamentoId, stato); delegaLocalService.concludiDeleghePagamento(dettPraticaId); - - } else if (stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE) - || stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA) - || stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO)) { - pagamentoLocalService.updatePagamentoUtilizzata(pagamentoId, stato); } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriLocalServiceImpl.java index 1cb9bef9..7cd51383 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriLocalServiceImpl.java @@ -16,14 +16,11 @@ import it.tref.liferay.portos.bo.model.IntPratica; import it.tref.liferay.portos.bo.model.Pagamento; import it.tref.liferay.portos.bo.service.base.FineLavoriLocalServiceBaseImpl; import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; -import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; import it.tref.liferay.portos.bo.util.AzioniPraticheUtil; import it.tref.liferay.portos.bo.util.MailUtil; -import it.tref.liferay.portos.bo.util.PagamentiCommonUtil; import it.tref.liferay.portos.bo.util.PagamentiUtil; import it.tref.liferay.portos.bo.util.WorkflowUtil; -import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -38,6 +35,8 @@ import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.json.JSONObject; import com.liferay.portal.kernel.language.LanguageUtil; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.search.Indexable; import com.liferay.portal.kernel.search.IndexableType; import com.liferay.portal.kernel.util.FastDateFormatFactoryUtil; @@ -68,6 +67,8 @@ public class FineLavoriLocalServiceImpl extends FineLavoriLocalServiceBaseImpl { * it.tref.liferay.portos.bo.service.FineLavoriLocalServiceUtil} to access the fine lavori local service. */ + private static final Log _log = LogFactoryUtil.getLog(FineLavoriLocalServiceImpl.class); + private FineLavori initFineLavori(ServiceContext serviceContext) throws PortalException, SystemException { User user = userLocalService.getUser(serviceContext.getUserId()); @@ -132,8 +133,8 @@ public class FineLavoriLocalServiceImpl extends FineLavoriLocalServiceBaseImpl { @Indexable(type = IndexableType.REINDEX) public FineLavori updateFineLavori(long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, Date dataFineLavori, String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, String comunicazioneDirettoreLavori, boolean richiestaAttestazione) - throws NoSuchFineLavoriException, SystemException { + boolean normEsenteSpese, boolean normEsenteCollaudo, String comunicazioneDirettoreLavori, + boolean richiestaAttestazione) throws NoSuchFineLavoriException, SystemException { FineLavori fineLavori = fineLavoriPersistence.findByPrimaryKey(fineLavoriId); fineLavori.setParziale(parziale); @@ -141,6 +142,7 @@ public class FineLavoriLocalServiceImpl extends FineLavoriLocalServiceBaseImpl { fineLavori.setDataFineLavori(dataFineLavori); fineLavori.setCodiceFiscaleDelegato(codiceFiscaleDelegato); fineLavori.setNormEsenteBollo(normEsenteBollo); + fineLavori.setNormEsenteSpese(normEsenteSpese); fineLavori.setNormEsenteCollaudo(normEsenteCollaudo); fineLavori.setComunicazioneDirettoreLavori(comunicazioneDirettoreLavori); fineLavori.setRichiestaAttestazione(richiestaAttestazione); @@ -173,16 +175,18 @@ public class FineLavoriLocalServiceImpl extends FineLavoriLocalServiceBaseImpl { } @Override - public FineLavori pagaInvia(long fineLavoriId, String codiceFiscaleCommittente, String currentURL, - ServiceContext serviceContext) throws SystemException, PortalException { + public FineLavori pagaInvia(long fineLavoriId, String codiceFiscaleCommittente, String importoBolli, + String importoSpese, String currentURL, ServiceContext serviceContext) throws SystemException, + PortalException { FineLavori fineLavori = fineLavoriPersistence.findByPrimaryKey(fineLavoriId); - BigDecimal importoBolli = PagamentiCommonUtil.getImportoBolli(fineLavori.getCompanyId(), - fineLavori.getFineLavoriId(), FineLavori.class.getName(), TipoIntegrazioneUtil.FINE_LAVORI); - fineLavori.setImportoBolli(importoBolli.toString()); + fineLavori.setImportoBolli(importoBolli); + fineLavori.setImportoSpese(importoSpese); fineLavori = updateFineLavori(fineLavori); - PagamentiUtil.nuovoPagamento(currentURL, fineLavori.getFineLavoriId(), FineLavori.class.getName(), - PagamentoConstants.PAGAMENTO_BOLLI, importoBolli.toString(), codiceFiscaleCommittente, serviceContext); + PagamentiUtil.nuovoPagamento(currentURL, fineLavoriId, FineLavori.class.getName(), + PagamentoConstants.PAGAMENTO_BOLLI, importoBolli, codiceFiscaleCommittente, serviceContext); + PagamentiUtil.nuovoPagamento(currentURL, fineLavoriId, FineLavori.class.getName(), + PagamentoConstants.PAGAMENTO_ONERI, importoSpese, codiceFiscaleCommittente, serviceContext); return fineLavori; } @@ -214,10 +218,6 @@ public class FineLavoriLocalServiceImpl extends FineLavoriLocalServiceBaseImpl { this.inviaMailnotifica(fineLavoriId, intPratica.getStatusByUserId(), now); } pagamentoLocalService.updatePagamentoUtilizzata(pagamentoId, stato); - } else if (stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE) - || stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA) - || stato.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO)) { - pagamentoLocalService.updatePagamentoUtilizzata(pagamentoId, stato); } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriServiceImpl.java index 7043b147..41d81b0e 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/FineLavoriServiceImpl.java @@ -73,14 +73,14 @@ public class FineLavoriServiceImpl extends FineLavoriServiceBaseImpl { @Override public FineLavori updateFineLavori(long userId, long fineLavoriId, long intPraticaId, boolean parziale, boolean completata, Date dataFineLavori, String codiceFiscaleDelegato, boolean normEsenteBollo, - boolean normEsenteCollaudo, String comunicazioneDirettoreLavori, boolean richiestaAttestazione) - throws PortalException, SystemException { + boolean normEsenteSpese, boolean normEsenteCollaudo, String comunicazioneDirettoreLavori, + boolean richiestaAttestazione) throws PortalException, SystemException { FineLavori fineLavori = getFineLavori(fineLavoriId); if (fineLavori.getUserId() == userId) { fineLavori = fineLavoriLocalService.updateFineLavori(userId, fineLavoriId, intPraticaId, parziale, - completata, dataFineLavori, codiceFiscaleDelegato, normEsenteBollo, normEsenteCollaudo, - comunicazioneDirettoreLavori, richiestaAttestazione); + completata, dataFineLavori, codiceFiscaleDelegato, normEsenteBollo, normEsenteSpese, + normEsenteCollaudo, comunicazioneDirettoreLavori, richiestaAttestazione); } return fineLavori; } @@ -112,10 +112,12 @@ public class FineLavoriServiceImpl extends FineLavoriServiceBaseImpl { } @Override - public FineLavori pagaInvia(long fineLavoriId, String codiceFiscaleCommittente, String currentURL, - ServiceContext serviceContext) throws SystemException, PortalException { + public FineLavori pagaInvia(long fineLavoriId, String codiceFiscaleCommittente, String importoBolli, + String importoSpese, String currentURL, ServiceContext serviceContext) throws SystemException, + PortalException { - return fineLavoriLocalService.pagaInvia(fineLavoriId, codiceFiscaleCommittente, currentURL, serviceContext); + return fineLavoriLocalService.pagaInvia(fineLavoriId, codiceFiscaleCommittente, importoBolli, importoSpese, + currentURL, serviceContext); } @Override diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoLocalServiceImpl.java index a6ff66dc..28a9d20b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoLocalServiceImpl.java @@ -17,8 +17,6 @@ import it.tref.liferay.portos.bo.model.impl.PagamentoModelImpl; import it.tref.liferay.portos.bo.service.base.PagamentoLocalServiceBaseImpl; import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; -import it.tref.liferay.portos.bo.util.PagamentiCommonUtil; -import it.tref.liferay.portos.bo.util.PagamentiUtil; import it.tref.liferay.portos.bo.util.PraticaUtil; import java.io.IOException; @@ -161,7 +159,11 @@ public class PagamentoLocalServiceImpl extends PagamentoLocalServiceBaseImpl { if (updateReference) { switch (tipoPagamento) { case PagamentoConstants.PAGAMENTO_ONERI: - throw new SystemException("error.fields.fineLavori.pagamento.classPk.invalid"); + fineLavori.setPagamentoSpeseId(pagamento.getPagamentoId()); + fineLavori.setCodicePagamentoSpese(pagamento.getCodice()); + fineLavori.setCausalePagamento(pagamento.getCausale()); + fineLavori.setMezzoPagamento(mezzo); + break; case PagamentoConstants.PAGAMENTO_BOLLI: fineLavori.setPagamentoId(pagamento.getPagamentoId()); fineLavori.setCodicePagamento(pagamento.getCodice()); @@ -220,14 +222,6 @@ public class PagamentoLocalServiceImpl extends PagamentoLocalServiceBaseImpl { return updatePagamento(pagamento); } - @Override - public Pagamento annullaPagamento(long pagamentoId) throws PortalException, SystemException { - - Pagamento pagamento = pagamentoPersistence.findByPrimaryKey(pagamentoId); - pagamento.setUtilizzata(PagamentoConstants.UTILIZZATA_ANNULLATO); - return updatePagamento(pagamento); - } - @SuppressWarnings("unchecked") @Override public List findByCommittente_Mezzo(String codiceFiscaleCommittente, String mezzo, int start, int end) @@ -331,8 +325,8 @@ public class PagamentoLocalServiceImpl extends PagamentoLocalServiceBaseImpl { private DynamicQuery createPendingQuery(Date date) { DynamicQuery dynamicQuery = dynamicQuery(); - dynamicQuery.add(RestrictionsFactoryUtil.in("utilizzata", new String[] { - PagamentoConstants.UTILIZZATA_IN_CORSO, PagamentoConstants.UTILIZZATA_ANNULLATO })); + dynamicQuery.add(RestrictionsFactoryUtil.in("utilizzata", + new String[] { PagamentoConstants.UTILIZZATA_IN_CORSO })); dynamicQuery.add(RestrictionsFactoryUtil.le("createDate", date)); return dynamicQuery; } @@ -445,90 +439,6 @@ public class PagamentoLocalServiceImpl extends PagamentoLocalServiceBaseImpl { return dynamicQuery; } - @Override - public void sostituisciPagamento(long pagamentoId, String codiceFiscaleCommittente, String mezzo, String url, - ServiceContext serviceContext) throws PortalException, SystemException { - - Pagamento pagamento = getPagamento(pagamentoId); - long intPraticaId = pagamento.getIntPraticaId(); - String currentUtilizzata = pagamento.getUtilizzata(); - String currentMezzo = pagamento.getMezzo(); - String tipoPagamento = pagamento.getTipoPagamento(); - boolean irisEnable = PagamentiCommonUtil.irisIsEnable(pagamento.getCompanyId()); - if (mezzo.equalsIgnoreCase(PagamentoConstants.MEZZO_MANUALE)) { - if (irisEnable) { - throw new PortalException("Creazione pagamento manuale con iris enable non possibile"); - } else if (currentUtilizzata.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE) - || currentUtilizzata.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA) - || currentUtilizzata.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO)) { - if (DettPratica.class.getName().equals(pagamento.getClassName())) { - DettPratica dettPratica = dettPraticaLocalService.getDettPratica(pagamento.getClassPk()); - if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { - dettPratica.setPagamentoIdOneri(0L); - } else { - dettPratica.setPagamentoIdBolli(0L); - } - dettPratica = dettPraticaLocalService.updateDettPratica(dettPratica); - } else if (FineLavori.class.getName().equals(pagamento.getClassName())) { - FineLavori fineLavori = fineLavoriLocalService.getFineLavori(pagamento.getClassPk()); - fineLavori.setPagamentoId(0L); - fineLavori = fineLavoriLocalService.updateFineLavori(fineLavori); - } else if (Collaudo.class.getName().equals(pagamento.getClassName())) { - Collaudo collaudo = collaudoLocalService.getCollaudo(pagamento.getClassPk()); - collaudo.setPagamentoId(0L); - collaudo = collaudoLocalService.updateCollaudo(collaudo); - } else { - throw new RuntimeException("unable to replace pagamento for entity type " - + pagamento.getClassName() + " with id " + pagamento.getClassPk()); - } - pagamento.setUtilizzata(PagamentoConstants.UTILIZZATA_SOSTITUITA); - pagamento.setUtilizzataSostituita(currentUtilizzata); - updatePagamento(pagamento); - PagamentiUtil.nuovoPagamento(url, pagamento.getClassPk(), pagamento.getClassName(), tipoPagamento, - pagamento.getImporto(), codiceFiscaleCommittente, serviceContext); - } else { - throw new PortalException("Creazione pagamento manuale con stato " + currentUtilizzata - + " non possibile"); - } - } else if (mezzo.equalsIgnoreCase(PagamentoConstants.MEZZO_IRIS)) { - if (irisEnable - && (currentMezzo.equalsIgnoreCase(PagamentoConstants.MEZZO_MANUALE) || (currentUtilizzata - .equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE) - || currentUtilizzata.equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA) || currentUtilizzata - .equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO)))) { - if (DettPratica.class.getName().equals(pagamento.getClassName())) { - DettPratica dettPratica = dettPraticaLocalService.getDettPratica(pagamento.getClassPk()); - if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { - dettPratica.setPagamentoIdOneri(0L); - } else { - dettPratica.setPagamentoIdBolli(0L); - } - dettPratica = dettPraticaLocalService.updateDettPratica(dettPratica); - } else if (FineLavori.class.getName().equals(pagamento.getClassName())) { - FineLavori fineLavori = fineLavoriLocalService.getFineLavori(pagamento.getClassPk()); - fineLavori.setPagamentoId(0L); - fineLavori = fineLavoriLocalService.updateFineLavori(fineLavori); - } else if (Collaudo.class.getName().equals(pagamento.getClassName())) { - Collaudo collaudo = collaudoLocalService.getCollaudo(pagamento.getClassPk()); - collaudo.setPagamentoId(0L); - collaudo = collaudoLocalService.updateCollaudo(collaudo); - } else { - throw new RuntimeException("unable to replace pagamento for entity type " - + pagamento.getClassName() + " with id " + pagamento.getClassPk()); - } - pagamento.setUtilizzata(PagamentoConstants.UTILIZZATA_SOSTITUITA); - pagamento.setUtilizzataSostituita(currentUtilizzata); - updatePagamento(pagamento); - PagamentiUtil.nuovoPagamento(url, pagamento.getClassPk(), pagamento.getClassName(), - pagamento.getTipoPagamento(), pagamento.getImporto(), codiceFiscaleCommittente, serviceContext); - } else { - throw new PortalException("Pagamento IRIS non sostituibile per intPratica " + intPraticaId); - } - } else { - throw new PortalException("Mezzo non presente"); - } - } - @Override public void updatePagamentoManuale(long pagamentoId, byte[] content, String sourceFileName, ServiceContext serviceContext) throws IOException, PortalException, SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoServiceImpl.java index e397564f..b56a1446 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/PagamentoServiceImpl.java @@ -13,8 +13,6 @@ import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.FineLavori; import it.tref.liferay.portos.bo.model.Pagamento; import it.tref.liferay.portos.bo.service.base.PagamentoServiceBaseImpl; -import it.tref.liferay.portos.bo.service.permission.PendingPagamentiPermission; -import it.tref.liferay.portos.bo.shared.util.ActionKeys; import it.tref.liferay.portos.bo.util.DelegheUtil; import java.io.IOException; @@ -43,46 +41,6 @@ public class PagamentoServiceImpl extends PagamentoServiceBaseImpl { * it.tref.liferay.portos.bo.service.PagamentoServiceUtil} to access the pagamento remote service. */ - @Override - public void sostituisciPagamento(long pagamentoId, String codiceFiscaleCommittente, String mezzo, String url, - ServiceContext serviceContext) throws PortalException, SystemException { - - Pagamento pagamento = pagamentoLocalService.getPagamento(pagamentoId); - long userId = findTitolare(pagamentoId); - if (getUserId() == userId || DelegheUtil.hasDelegaPagamento(userId, pagamento.getClassPk())) { - pagamentoLocalService.sostituisciPagamento(pagamentoId, codiceFiscaleCommittente, mezzo, url, - serviceContext); - } else { - throw new SystemException("pagamento aggiornabile solo da titolare digitale del " - + pagamento.getClassName()); - } - } - - @Override - public void rigeneraPagamento(long pagamentoId, String codiceFiscaleCommittente, String mezzo, String url, - ServiceContext serviceContext) throws PortalException, SystemException { - - if (PendingPagamentiPermission.contains(getPermissionChecker(), serviceContext.getScopeGroupId(), - ActionKeys.PAGAMENTI_PENDING)) { - pagamentoLocalService.sostituisciPagamento(pagamentoId, codiceFiscaleCommittente, mezzo, url, - serviceContext); - } else { - throw new SystemException("pagamento rigenerabile solo da personale autorizzato"); - } - } - - @Override - public void annullaPagamento(long pagamentoId, ServiceContext serviceContext) throws PortalException, - SystemException { - - if (PendingPagamentiPermission.contains(getPermissionChecker(), serviceContext.getScopeGroupId(), - ActionKeys.PAGAMENTI_PENDING)) { - pagamentoLocalService.annullaPagamento(pagamentoId); - } else { - throw new SystemException("pagamento annullabile solo da personale autorizzato"); - } - } - @Override public void updatePagamentoManuale(long pagamentoId, byte[] content, String sourceFileName, ServiceContext serviceContext) throws IOException, PortalException, SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java index 08d16a22..95aa7dc8 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/SoggettoLocalServiceImpl.java @@ -1359,7 +1359,6 @@ public class SoggettoLocalServiceImpl extends SoggettoLocalServiceBaseImpl { String nome; String comuneNascita; String dataNascita; - Comune comune; String residenzaCommittente; String via; String civico; @@ -1368,7 +1367,8 @@ public class SoggettoLocalServiceImpl extends SoggettoLocalServiceBaseImpl { comuneNascita = HtmlUtil.escape(committente.getComuneNascita() + " (" + committente.getProvinciaNascita() + ')'); dataNascita = SDF.format(committente.getDataNascita()); - comune = comuneLocalService.fetchComune(Long.parseLong(committente.getComune())); + residenzaCommittente = getDenominazione(committente.getProvincia(), committente.getComune(), + committente.getComuneEstero()); via = HtmlUtil.escape(committente.getVia()); civico = HtmlUtil.escape(committente.getNumeroCivico()); } else { @@ -1376,24 +1376,13 @@ public class SoggettoLocalServiceImpl extends SoggettoLocalServiceBaseImpl { comuneNascita = HtmlUtil.escape(committente.getComuneNascitaRap() + " (" + committente.getProvinciaNascitaRap() + ')'); dataNascita = SDF.format(committente.getDataNascitaRap()); - comune = comuneLocalService.fetchComune(Long.parseLong(committente.getComuneRap())); + residenzaCommittente = getDenominazione(committente.getProvinciaRap(), committente.getComuneRap(), + committente.getComuneRapEstero()); via = HtmlUtil.escape(committente.getViaRap()); civico = HtmlUtil.escape(committente.getNumeroCivicoRap()); } - try { - Provincia provincia = provinciaLocalService.findByC_C(comune.getCompanyId(), comune.getCodiceProvincia()); - residenzaCommittente = comune.getDenominazione() + " (" + provincia.getSigla() + ')'; - } catch (NoSuchProvinciaException e) { - residenzaCommittente = comune.getDenominazione(); - } - comune = comuneLocalService.fetchComune(Long.parseLong(titolare.getComune())); - String residenzaTitolare; - try { - Provincia provincia = provinciaLocalService.findByC_C(comune.getCompanyId(), comune.getCodiceProvincia()); - residenzaTitolare = comune.getDenominazione() + " (" + provincia.getSigla() + ')'; - } catch (NoSuchProvinciaException e) { - residenzaTitolare = comune.getDenominazione(); - } + String residenzaTitolare = getDenominazione(titolare.getProvincia(), titolare.getComune(), + titolare.getComuneEstero()); String diCommittente = Validator.isNull(ParamUtil.getString(request, "dicommittente")) ? getDelegaPlaceholder() : HtmlUtil.escape(ParamUtil.getString(request, "dicommittente")); String niCommittente = Validator.isNull(ParamUtil.getString(request, "nicommittente")) ? getDelegaPlaceholder() @@ -1476,4 +1465,20 @@ public class SoggettoLocalServiceImpl extends SoggettoLocalServiceBaseImpl { delega = delega.replace("{{professionisti}}", professionisti); return delega; } + + private String getDenominazione(String codiceProvincia, String comuneId, String comuneEstero) + throws SystemException { + + if ("ee".equalsIgnoreCase(codiceProvincia)) { + return comuneEstero; + } else { + Comune comune = comuneLocalService.fetchComune(Long.parseLong(comuneId)); + try { + Provincia provincia = provinciaLocalService.findByC_C(comune.getCompanyId(), codiceProvincia); + return comune.getDenominazione() + " (" + provincia.getSigla() + ')'; + } catch (NoSuchProvinciaException e) { + return comune.getDenominazione(); + } + } + } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java index 31070936..338d3b51 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java @@ -5947,13 +5947,19 @@ public class FineLavoriPersistenceImpl extends BasePersistenceImpl fineLavoriImpl.setDataEffettuazione(fineLavori.getDataEffettuazione()); fineLavoriImpl.setDataFineLavori(fineLavori.getDataFineLavori()); fineLavoriImpl.setNormEsenteBollo(fineLavori.isNormEsenteBollo()); + fineLavoriImpl.setNormEsenteSpese(fineLavori.isNormEsenteSpese()); fineLavoriImpl.setNormEsenteCollaudo(fineLavori.isNormEsenteCollaudo()); fineLavoriImpl.setComunicazioneDirettoreLavori(fineLavori.getComunicazioneDirettoreLavori()); fineLavoriImpl.setPagamentoId(fineLavori.getPagamentoId()); + fineLavoriImpl.setPagamentoSpeseId(fineLavori.getPagamentoSpeseId()); fineLavoriImpl.setCodicePagamento(fineLavori.getCodicePagamento()); + fineLavoriImpl.setCodicePagamentoSpese(fineLavori.getCodicePagamentoSpese()); fineLavoriImpl.setCausalePagamento(fineLavori.getCausalePagamento()); + fineLavoriImpl.setCausalePagamentoSpese(fineLavori.getCausalePagamentoSpese()); fineLavoriImpl.setMezzoPagamento(fineLavori.getMezzoPagamento()); + fineLavoriImpl.setMezzoPagamentoSpese(fineLavori.getMezzoPagamentoSpese()); fineLavoriImpl.setImportoBolli(fineLavori.getImportoBolli()); + fineLavoriImpl.setImportoSpese(fineLavori.getImportoSpese()); fineLavoriImpl.setRichiestaAttestazione(fineLavori.isRichiestaAttestazione()); return fineLavoriImpl; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/PagamentiUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/PagamentiUtil.java index e107e30c..ba4d10d9 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/PagamentiUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/PagamentiUtil.java @@ -1,8 +1,5 @@ package it.tref.liferay.portos.bo.util; -import it.toscana.rete.cart.www.servizi.iris_1_1.IdpEsito.InformazioniPagamentoType; -import it.toscana.rete.cart.www.servizi.iris_1_1.IdpEsito.VerificaStatoPagamentoDettagliato; -import it.tref.liferay.portos.bo.iris.IrisVerificaPagamenti; import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.FineLavori; @@ -14,17 +11,12 @@ import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; -import java.io.IOException; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Calendar; import java.util.Date; -import java.util.List; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; -import com.liferay.portal.kernel.log.Log; -import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.util.CalendarFactoryUtil; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; @@ -32,82 +24,6 @@ import com.liferay.portal.service.ServiceContext; public abstract class PagamentiUtil { - private static final Log _log = LogFactoryUtil.getLog(PagamentiUtil.class); - - public static void verificaPagamentoIRIS(Pagamento pagamento) throws IOException, SystemException, PortalException { - - String statoPagamento = callVerificaPagamenti(pagamento); - if (Validator.isNotNull(statoPagamento)) { - if (DettPratica.class.getName().equals(pagamento.getClassName())) { - DettPraticaLocalServiceUtil.updateEsitoPagamento(pagamento.getPagamentoId(), pagamento.getClassPk(), - statoPagamento); - } else if (FineLavori.class.getName().equals(pagamento.getClassName())) { - FineLavoriLocalServiceUtil.updateEsitoPagamento(pagamento.getPagamentoId(), pagamento.getClassPk(), - statoPagamento); - } else if (Collaudo.class.getName().equals(pagamento.getClassName())) { - CollaudoLocalServiceUtil.updateEsitoPagamento(pagamento.getPagamentoId(), pagamento.getClassPk(), - statoPagamento); - } else { - throw new RuntimeException("unable to update pagamento esito for entity type " - + pagamento.getClassName() + " with id " + pagamento.getClassPk()); - } - } - } - - private static String callVerificaPagamenti(Pagamento pagamento) throws SystemException { - - long companyId = pagamento.getCompanyId(); - long groupId = pagamento.getGroupId(); - if (PagamentoConstants.PAGAMENTO_ONERI.equals(pagamento.getTipoPagamento())) { - InformazioniPagamentoType[] statoPagamentiType = IrisVerificaPagamenti.verificaPagamenti(companyId, - groupId, pagamento.getCodice(), pagamento.getTipoPagamento()); - return checkStatoPagamento(statoPagamentiType); - } else if (PagamentoConstants.PAGAMENTO_BOLLI.equals(pagamento.getTipoPagamento())) { - List statiPagamento = new ArrayList(); - if (statiPagamento.size() > 1) { - return StringPool.BLANK; - } - return statiPagamento.get(0); - } - throw new SystemException("error.geniocivile.tipopagamento.notexist"); - } - - private static String checkStatoPagamento(InformazioniPagamentoType[] statoPagamentiType) { - - if (statoPagamentiType == null) { - return null; - } - InformazioniPagamentoType statoPagamentoType = statoPagamentiType[0]; - String statoPendenza = statoPagamentoType.getStato().getValue(); - String statoPagamento = StringPool.BLANK; - if (statoPendenza.equals(VerificaStatoPagamentoDettagliato._POSIZIONE_NON_PAGATA)) { - if (statoPagamentoType.getDescrizioneStato().equalsIgnoreCase( - VerificaStatoPagamentoDettagliato._POSIZIONE_NON_PAGATA)) { - // "Posizione non presente" -> si riprova successivamente - return StringPool.BLANK; - } else if (statoPagamentoType.getDescrizioneStato().equalsIgnoreCase("PAG_NON_ESEGUITO")) { - statoPagamento = PagamentoConstants.UTILIZZATA_RIFIUTATA; - } else if (statoPagamentoType.getDescrizioneStato().equalsIgnoreCase("PAG_IN_ERRORE")) { - statoPagamento = PagamentoConstants.UTILIZZATA_NON_PAGABILE; - } - _log.debug(statoPagamento); - } else if (statoPendenza.equals(VerificaStatoPagamentoDettagliato._POSIZIONE_NON_PAGABILE)) { - // "Posizione non pagabile" -> esito negativo - statoPagamento = PagamentoConstants.UTILIZZATA_NON_PAGABILE; - _log.debug(statoPagamento); - } else if (statoPendenza.equals(VerificaStatoPagamentoDettagliato._POSIZIONE_PAGATA) - || statoPendenza.equals(VerificaStatoPagamentoDettagliato._POSIZIONE_PAGATA_SBF)) { - // "Pagamento eseguito" -> esito positivo - statoPagamento = PagamentoConstants.UTILIZZATA_PAGATA; - _log.debug(statoPagamento); - } else if (statoPendenza.equalsIgnoreCase(VerificaStatoPagamentoDettagliato._POSIZIONE_CON_PAG_IN_CORSO)) { - // "Pagamento non eseguito" -> esito in corso - statoPagamento = PagamentoConstants.UTILIZZATA_IN_CORSO; - return StringPool.BLANK; - } - return statoPagamento; - } - public static BigDecimal getImportoBolli(long companyId, long dettPraticaId, String tipoIntegrazione) throws PortalException, SystemException { @@ -148,10 +64,10 @@ public abstract class PagamentiUtil { } else if (FineLavori.class.getName().equals(className)) { FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPk); esenzioneBolli = fineLavori.isNormEsenteBollo(); - esenzioneSpeseIstruttoria = true; + esenzioneSpeseIstruttoria = fineLavori.isNormEsenteSpese(); tipoIntegrazione = TipoIntegrazioneUtil.FINE_LAVORI; if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { - throw new SystemException("error.fields.fineLavori.pagamento.classPk.invalid"); + pagamentoId = fineLavori.getPagamentoSpeseId(); } else if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento)) { pagamentoId = fineLavori.getPagamentoId(); } @@ -168,7 +84,6 @@ public abstract class PagamentiUtil { } else { throw new SystemException("error.fields.pratica.pagamento.classPk.invalid"); } - List importi = new ArrayList<>(); if (esenzioneSpeseIstruttoria && esenzioneBolli) { throw new SystemException("error.fields.pratica.pagamento.esente.oneri.bolli"); } else { @@ -179,15 +94,6 @@ public abstract class PagamentiUtil { try { BigDecimal importoVal = new BigDecimal(importo); importo = importoVal.toPlainString(); - if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento)) { - int numeroBolli = PagamentiCommonUtil.getNumeroBolli(tipoIntegrazione); - BigDecimal singoloImporto = importoVal.divide(new BigDecimal(numeroBolli)); - for (int i = 0; i < numeroBolli; i++) { - importi.add(singoloImporto.toPlainString()); - } - } else if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { - importi.add(importo); - } } catch (NumberFormatException e) { throw new SystemException("error.fields.pratica.pagamento." + (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento) ? "bolli" @@ -217,7 +123,7 @@ public abstract class PagamentiUtil { if (add) { return PagamentoLocalServiceUtil.addPagamentoAndUpdate(StringPool.BLANK, StringPool.BLANK, PagamentoConstants.MEZZO_MANUALE, codiceFiscaleCommittente, tipoPagamento, importo, - PagamentoConstants.UTILIZZATA_IN_CORSO, classPk, className, 0l, serviceContext); + PagamentoConstants.UTILIZZATA_IN_CORSO, classPk, className, 0L, serviceContext); } return null; } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index c24b6a60..e403df55 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=2837 - build.date=1658222378941 + build.number=2849 + build.date=1659108769615 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view.jsp index fda63bdd..5595a8c5 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view.jsp @@ -42,7 +42,7 @@ - + <% String result = ""; if(dettPratica.isNormEsenteSpese()){ @@ -82,46 +82,37 @@ <% - String[] notAllowed = new String[]{PagamentoConstants.UTILIZZATA_SOSTITUITA, PagamentoConstants.UTILIZZATA_RIFIUTATA, PagamentoConstants.UTILIZZATA_NON_PAGABILE}; + String[] notAllowed = new String[]{}; + String buttonId = "pagamentoButton_"+index; + String contentId = "pagamentoContent_"+index; %> - - <% - String buttonId = "pagamentoButton_"+index; - String contentId = "pagamentoContent_"+index; - %> - - - -
- - - - - - - - - - - - - - - -
- - - - - - -
+ + + +
+ + + + + + + + + + +
+ + + + + +
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_pagamenti_pending.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_pagamenti_pending.jsp index 9e891e13..3ea4ccb5 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_pagamenti_pending.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_pagamenti_pending.jsp @@ -44,7 +44,7 @@ <% IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(pagamento.getIntPraticaId()); - if(Validator.isNotNull(intPratica)){ + if (Validator.isNotNull(intPratica)) { out.println(intPratica.getNumeroProgetto()); } %> @@ -64,44 +64,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Azione non consentita - - - - - - + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_generic.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_generic.jsp index e6b8a592..77cdca62 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_generic.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_generic.jsp @@ -60,14 +60,6 @@ <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-04") %> <% } else if(pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_IN_CORSO)) {%> <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-03") %> - <% } else if(pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-05") %> - <% } else if(pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-06") %> - <% } else if(pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_SOSTITUITA)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-07") %> - <% } else if(pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_SI)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-04") %> <% } else {%> <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-00") %> <% } %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_bolli.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_bolli.jsp index 14ffbb73..5cdd04d2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_bolli.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_bolli.jsp @@ -35,12 +35,6 @@ <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-04") %> <% } else if(pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_IN_CORSO)) {%> <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-03") %> - <% } else if(pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-05") %> - <% } else if(pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-06") %> - <% } else if(pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_SOSTITUITA)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-07") %> <% } else {%> <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-00") %> <% } %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_spese.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_spese.jsp index 96a69398..ea69fb11 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_spese.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/pagamenti/view_panel_pagamenti_spese.jsp @@ -35,14 +35,6 @@ <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-04") %> <% } else if(pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_IN_CORSO)) {%> <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-03") %> - <% } else if(pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-05") %> - <% } else if(pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-06") %> - <% } else if(pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_SOSTITUITA)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-07") %> - <% } else if(pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_SI)) {%> - <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-04") %> <% } else {%> <%= LanguageUtil.get(pageContext, "pagamento-utilizzata-00") %> <% } %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java index f20aef94..8f79f646 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java @@ -781,6 +781,7 @@ public class FascicoloFePortlet extends MVCPortlet { DateFormatFactoryUtil.getDate(request.getLocale()), null); String codiceFiscaleDelegato = ParamUtil.getString(request, "direttoreLavori"); boolean normEsenteBollo = ParamUtil.getBoolean(request, "normEsenteBollo"); + boolean normEsenteSpese = ParamUtil.getBoolean(request, "normEsenteSpese"); boolean normEsenteCollaudo = ParamUtil.getBoolean(request, "normEsenteCollaudo"); boolean isCheckedAltro = ParamUtil.getBoolean(request, "altro_checkbox"); String comunicazioneDirettoreLavori = isCheckedAltro ? ParamUtil.getString(request, @@ -792,7 +793,8 @@ public class FascicoloFePortlet extends MVCPortlet { if (!fineLavori.isCompletata()) { FineLavoriServiceUtil.updateFineLavori(userId, fineLavori.getFineLavoriId(), fineLavori.getIntPraticaId(), parziale, false, dataFineLavori, codiceFiscaleDelegato, - normEsenteBollo, normEsenteCollaudo, comunicazioneDirettoreLavori, richiestaAttestazione); + normEsenteBollo, normEsenteSpese, normEsenteCollaudo, comunicazioneDirettoreLavori, + richiestaAttestazione); } String redirect = ParamUtil.getString(request, "redirect"); if (Validator.isNull(redirect)) { @@ -2002,6 +2004,9 @@ public class FascicoloFePortlet extends MVCPortlet { } else if (fineLavoriId != 0) { fineLavori = FineLavoriLocalServiceUtil.getFineLavori(fineLavoriId); pagamento = PagamentoLocalServiceUtil.fetchPagamento(fineLavori.getPagamentoId()); + if (Validator.isNull(pagamento)) { + pagamento = PagamentoLocalServiceUtil.fetchPagamento(fineLavori.getPagamentoSpeseId()); + } } else if (collaudoId != 0) { collaudo = CollaudoLocalServiceUtil.getCollaudo(collaudoId); pagamento = PagamentoLocalServiceUtil.fetchPagamento(collaudo.getPagamentoId()); @@ -2090,8 +2095,10 @@ public class FascicoloFePortlet extends MVCPortlet { } } else if (Validator.isNotNull(fineLavori)) { if (ValidazionePraticaUtil.pagamentoFineLavoriIsEnable(fineLavoriId)) { - _log.debug("pagamento inizializzato per fineLavori" + fineLavoriId); - FineLavoriServiceUtil.pagaInvia(fineLavoriId, codiceFiscaleCommittente, url, serviceContext); + String importoBolli = ParamUtil.getString(request, "importoBolli"); + String importoSpese = ParamUtil.getString(request, "importoSpese"); + FineLavoriServiceUtil.pagaInvia(fineLavoriId, codiceFiscaleCommittente, importoBolli, importoSpese, + url, serviceContext); } else { throw new PortalException("You have not permission to create the payment for Fine Lavori " + fineLavoriId); @@ -2107,24 +2114,6 @@ public class FascicoloFePortlet extends MVCPortlet { } } - public void sostituisciPagamento(ActionRequest request, ActionResponse response) throws PortalException, - SystemException { - - try { - ServiceContext serviceContext = ServiceContextFactory.getInstance(request); - long pagamentoId = ParamUtil.getLong(request, "pagamentoId"); - String mezzo = ParamUtil.getString(request, "mezzo"); - String codiceFiscaleCommittente = ParamUtil.getString(request, "codiceFiscaleCommittente"); - String url = ParamUtil.getString(request, "url"); - PagamentoServiceUtil - .sostituisciPagamento(pagamentoId, codiceFiscaleCommittente, mezzo, url, serviceContext); - } catch (Exception e) { - PortalUtil.copyRequestParameters(request, response); - _log.error(e, e); - throw new SystemException(e); - } - } - public void invioMailDelega(ActionRequest request, ActionResponse response) throws PortalException, SystemException { try { @@ -2323,24 +2312,4 @@ public class FascicoloFePortlet extends MVCPortlet { SessionErrors.add(request, "clone-fascicolo-not-possible"); } } - - public void rigeneraPagamento(ActionRequest request, ActionResponse response) throws PortalException, - SystemException, InterruptedException { - - ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); - ServiceContext serviceContext = ServiceContextFactory.getInstance(request); - serviceContext.setCompanyId(themeDisplay.getCompanyId()); - HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(request); - String url = PortalUtil.getCurrentCompleteURL(httpRequest); - long pagamentoId = ParamUtil.getLong(request, "pagamentoId", 0L); - if (pagamentoId != 0L) { - PagamentoLocalServiceUtil.annullaPagamento(pagamentoId); - Thread.sleep(2000); - Pagamento pagamento = PagamentoLocalServiceUtil.fetchPagamento(pagamentoId); - if (Validator.isNotNull(pagamento)) { - PagamentoLocalServiceUtil.sostituisciPagamento(pagamentoId, pagamento.getCodiceFiscaleCommittente(), - pagamento.getMezzo(), url, serviceContext); - } - } - } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_fine-lavori.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_fine-lavori.jsp index 3642236e..1bcea7d2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_fine-lavori.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_fine-lavori.jsp @@ -91,15 +91,17 @@ request.setAttribute("bean.fineLavori", fineLavori);
- -
-
-
- <%= dateFormatDate.format(dettPratica.getDataInizioLavoriOpera()) %> + + +
+
+
+ <%= dateFormatDate.format(dettPratica.getDataInizioLavoriOpera()) %> +
-
- + +
@@ -237,14 +239,20 @@ request.setAttribute("bean.fineLavori", fineLavori);
- + * <%= LanguageUtil.get(pageContext, "fl-attestazione-note") %>

- + +
+
+

diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_inizio_lavori.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_inizio_lavori.jsp index 0b3eba18..f01688e4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_inizio_lavori.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_inizio_lavori.jsp @@ -1,8 +1,11 @@ <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="it.tref.liferay.portos.bo.model.DettPratica"%> +<%@page import="it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil"%> <%@include file="/html/fascicolofe/init.jsp"%> <% String backURL = ParamUtil.getString(request, "backURL"); long dettPraticaId = ParamUtil.getLong(request, "dettPraticaId"); +DettPratica dettPratica = DettPraticaLocalServiceUtil.fetchDettPratica(dettPraticaId); String fmName = "fmInizioLavori"; %> @@ -12,22 +15,30 @@ String fmName = "fmInizioLavori";
-
-
-
- Data inizio lavori - - - - -
-
- - - -
+
+ +
+
+
+ + + +
+
+
+
+
+
+ + Data inizio lavori + + + + +
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/confirm_iris.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/confirm_iris.jsp deleted file mode 100644 index 8e6a5146..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/confirm_iris.jsp +++ /dev/null @@ -1,217 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.PagamentoConstants"%> -<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%> -<%@page import="java.util.Calendar"%> -<%@page import="java.util.Date"%> -<%@page import="java.util.UUID"%> -<%@page import="it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.model.Pagamento"%> -<%@ include file="/html/init.jsp" %> - - - -<% - long pagamentoId = ParamUtil.getLong(request, "pagamentoId"); - Pagamento pagamento = PagamentoLocalServiceUtil.getPagamento(pagamentoId); - String random = UUID.randomUUID().toString(); -%> - - -
- <%= LanguageUtil.get(pageContext, "text-pagamento-iris") %> -
-
- <%-- - --%> - <% - String buttonOtf = "btnOtf_"+random; - String contentOtf = "saveAndCloseDiv_otf_"+random; - %> - - - - - - - - - - - <% - String functionOtf = - "var newWin = window.open('"+pagamento.getUrl()+"','_blank');"+ - "if(!newWin || newWin.closed || typeof newWin.closed=='undefined'){"+ - "A.io.request('"+resetOtfUrl+"',{"+ - "dataType: 'json',on: {"+ - "complete: function(event, id, obj) {"+ - "modalIrisPopupDisabled.show();"+ - "}"+ - "}"+ - "});"+ - "} else {"+ - "A.io.request('"+confirmOtfUrl+"',{"+ - "dataType: 'json',on: {"+ - "success: function(event, id, obj) {"+ - "var response = this.get('responseData');"+ - "if(response.isCompleted){"+ - "window.location.reload();"+ - "}"+ - "}"+ - "}"+ - "});"+ - "}"; - %> - -
- <%= LanguageUtil.get(pageContext, "label-confirm-payment-otf") %> -
- - - - - - - - - - - -
-
- - - -
- <%= LanguageUtil.get(pageContext, "label-payment-otf-initialized") %> -
- - - - <% - - Calendar calDataPagamento = Calendar.getInstance(); - calDataPagamento.setTime(pagamento.getOtfCreateDate()); - calDataPagamento.add(Calendar.MINUTE, 15); - - Date dataPagamento = calDataPagamento.getTime(); - Date nowDate = new Date(); - - %> - - - - - - - - -
- - <%= LanguageUtil.get(pageContext, "label-payment-otf-rigeneration") %> - <% - String buttonId = "pagamentoButton_" + pagamento.getPagamentoId(); - %> - -
- - - - - Liferay.provide(window, 'refreshPortlet', function() { - var curPortlet = '#p_p_id'; - Liferay.Portlet.refresh(curPortlet); - }, - ['aui-dialog','aui-dialog-iframe'] - ); - - - - Liferay.provide(window, 'closePopup', function(dialogId) { - var A = AUI(); - var dialog = Liferay.Util.getWindow(dialogId); - dialog.destroy(); - - }, - ['liferay-util-window'] - ); - - -
- -
- -
- - -
-<% - String msgIris = LanguageUtil.get(pageContext, "help_message_iris_popup"); -%> - - var modalIrisPopupDisabled = null; - AUI().ready( - 'aui-modal', - function(A) { - - modalIrisPopupDisabled = new A.Modal( - { - bodyContent: '<%= msgIris %>', - centered: true, - destroyOnHide: false, - headerContent: '', - modal: true, - render: '#help_message_iris_popup', - visible: false, - close: true, - resizable: { - handles: '' - } - }).render(); - - modalIrisPopupDisabled.addToolbar( - [ - { - label: 'Chiudi', - on: { - click: function() { - modalIrisPopupDisabled.hide(); - window.location.reload(); - } - } - } - ] - ); - - } - ); - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/replace_payment.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/replace_payment.jsp deleted file mode 100644 index c97cb29f..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/replace_payment.jsp +++ /dev/null @@ -1,45 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.PagamentoConstants"%> -<%@page import="it.tref.liferay.portos.bo.util.PagamentiCommonUtil"%> -<%@page import="java.util.UUID"%> -<%@page import="it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.model.Pagamento"%> -<%@ include file="/html/init.jsp" %> - -<% - long companyId = company.getCompanyId(); - long pagamentoId = ParamUtil.getLong(request, "pagamentoId"); - String verifyPagamentoURL = ParamUtil.getString(request, "verifyPagamentoURL"); - Pagamento pagamento = PagamentoLocalServiceUtil.getPagamento(pagamentoId); - String random = UUID.randomUUID().toString(); - - String formSostituisciPagamento = "fmSostituisci_"+random; - String buttonSubmit = "buttonSubmit_"+random; - String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request); -%> - - - - - - - - - - - - - - - - - <%-- - A.one('<%= "#"+renderResponse.getNamespace()+buttonSubmit %>').on( - 'click', - function(event) { - event.preventDefault(); - submitForm('#<%= renderResponse.getNamespace()+formSostituisciPagamento %>'); - } - ); - --%> - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/rigenera_pagamento.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/rigenera_pagamento.jsp deleted file mode 100644 index 84556bc1..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/pagamenti/rigenera_pagamento.jsp +++ /dev/null @@ -1,73 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ include file="/html/init.jsp" %> - -<% -long pagamentoId = ParamUtil.getLong(request, "pagamentoId", 0L); -String dialogId = "dialogRigeneraPagamentoId_" + pagamentoId; -String portletNameApp = "#p_p_id_"+ themeDisplay.getPortletDisplay().getId() +"_"; -%> - - - - - - - -
-
-
- Si è sicuri di voler rigenerare il pagamento? Questa azione sarà irreversibile! -
-
- -
-
- -
-
- -
-
- - - -
- -
- - - - -Liferay.provide( - window, - 'closePopup', - function() { - - Liferay.Util.getOpener().closePopup('<%= dialogId %>'); - - }, - ['aui-base','liferay-util-window'] -); - - - -Liferay.provide( - window, - 'closePopupRefresh', - function() { - Liferay.Util.getOpener().closePopup('<%= dialogId %>'); - Liferay.Util.getOpener().refreshPortlet(); - }, - ['aui-base','liferay-util-window'] -); - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_cambio_soggetti.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_cambio_soggetti.jsp index 07640bf1..b3a88dd4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_cambio_soggetti.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_cambio_soggetti.jsp @@ -1,166 +1,124 @@ <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@page import="com.liferay.portal.kernel.workflow.WorkflowConstants"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil"%> -<%@page import="it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.util.SezioniUtil"%> -<%@page import="com.liferay.portal.kernel.util.UniqueList"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.FirmeUtil"%> -<%@page import="it.tref.liferay.portos.bo.shared.bean.FirmeBean"%> -<%@page import="it.tref.liferay.portos.bo.model.Soggetto"%> -<%@page import="it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil"%> -<%@page import="java.util.ArrayList"%> -<%@page import="it.tref.liferay.portos.bo.model.Asseverazione"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil"%> -<%@page import="it.tref.liferay.portos.bo.util.AsseverazioniUtil"%> -<%@page import="it.tref.liferay.portos.bo.service.AsseverazioneLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.util.ValidazionePraticaUtil"%> -<%@page import="it.tref.liferay.portos.bo.service.DettPraticaServiceUtil"%> <%@page import="it.tref.liferay.portos.bo.model.DettPratica"%> -<%@page import="it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.model.DocPratica"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.DocumentiPraticaUtil"%> -<%@page import="it.tref.liferay.portos.bo.model.IntPratica"%> +<%@page import="it.tref.liferay.portos.bo.service.DettPraticaServiceUtil"%> <%@page import="it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil"%> -<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%> +<%@page import="it.tref.liferay.portos.bo.util.SezioniUtil"%> +<%@page import="it.tref.liferay.portos.bo.util.ValidazionePraticaUtil"%> <%@ include file="/html/fascicolofe/init.jsp" %> - <% - long intPraticaId = ParamUtil.getLong(request, "intPraticaId",0l); - long dettPraticaId = ParamUtil.getLong(request, "dettPraticaId",0l); - IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); - DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); - - if(dettPratica==null){ - dettPratica = DettPraticaServiceUtil.getLastEditableByIntPratica(intPraticaId); - if(dettPratica==null){ - dettPratica = DettPraticaServiceUtil.getLastCompletedByIntPratica(intPraticaId); - } +long intPraticaId = ParamUtil.getLong(request, "intPraticaId"); +long dettPraticaId = ParamUtil.getLong(request, "dettPraticaId"); +IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); +DettPratica dettPratica = DettPraticaServiceUtil.fetchDettPratica(dettPraticaId); +if (dettPratica == null) { + dettPratica = DettPraticaServiceUtil.getLastEditableByIntPratica(intPraticaId); + if (dettPratica == null) { + dettPratica = DettPraticaServiceUtil.getLastCompletedByIntPratica(intPraticaId); } +} %> - - + - - + + - - + - - + - - - - - + + +
- - - - - - + + +
-
+
- -
+
-
+
Sezione
-
+
Completata
-
+
- <% + <% String section = SezioniUtil.SEZIONE_ANAGRAFE_SOGGETTI; - %> + %>
-
+
<%= LanguageUtil.get(pageContext, "sezione-" + section) %>
-
+
<% - boolean isSectionCompleted = ValidazionePraticaUtil.notCompletedSection(section, dettPraticaId).isEmpty(); - StringBuilder tooltipSection = new StringBuilder(); - if(!isSectionCompleted){ - List notCompleted = ValidazionePraticaUtil.notCompletedSection(section, dettPraticaId); - if(!notCompleted.isEmpty()){ - tooltipSection.append("
    "); - for(String incomplete : notCompleted){ - tooltipSection.append("
  • "+LanguageUtil.get(pageContext, incomplete)+"
  • "); - } - tooltipSection.append("
"); - } + List notCompleted = ValidazionePraticaUtil.notCompletedSection(section, dettPraticaId); + StringBuilder tooltipSection = new StringBuilder(); + if (!notCompleted.isEmpty()) { + tooltipSection.append("
    "); + for (String incomplete : notCompleted) { + tooltipSection.append("
  • " + + LanguageUtil.get(pageContext, incomplete) + "
  • "); } + tooltipSection.append("
"); + } %> - +
-
+
-
<%= tooltipSection.toString() %>
- <% - String title = "Riepilogo Errori Sezione "+LanguageUtil.get(pageContext, "sezione-"+section); - String buttonId = section+"_button"; - String contentId = section+"_div"; +
<%= tooltipSection.toString() %>
+ <% + String title = "Riepilogo Errori Sezione " + LanguageUtil.get(pageContext, "sezione-" + section); + String buttonId = section + "_button"; + String contentId = section + "_div"; %> - - - - - + + + + +
- - window.parent.Liferay.fire('verifyPopup-ready'); - \ No newline at end of file + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_collaudo_calcolo.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_collaudo_calcolo.jsp index 8caf8e20..a6b58043 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_collaudo_calcolo.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_collaudo_calcolo.jsp @@ -38,17 +38,11 @@ boolean pagamentoIsPagato = false; boolean pagamentoIsPending = false; - boolean pagamentoNonPagabile = false; - boolean pagamentoRifiutato = false; - boolean pagamentoAnnullato = false; Pagamento pagamento = null; if( Validator.isNotNull(collaudo.getPagamentoId()) ){ pagamento = PagamentoLocalServiceUtil.getPagamento(collaudo.getPagamentoId()); pagamentoIsPagato = pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_PAGATA); pagamentoIsPending = pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_IN_CORSO); - pagamentoNonPagabile = pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE); - pagamentoRifiutato = pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA); - pagamentoAnnullato = pagamento.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO); } String formRicevutaPagamento = "fmRicevuta"; @@ -123,39 +117,9 @@ - +
<%= LanguageUtil.get(pageContext, "text-pagamento-manuale-bolli") %> - - - - - - <%-- - - - - - - - - - -
- - - - - - - - - - - -
--%> -
@@ -172,63 +136,8 @@
- - - - - <%--
- <%= LanguageUtil.get(pageContext, "text-pagamento-iris") %> -
-
- - -
--%> -
- - -
- <%= LanguageUtil.get(pageContext, "text-pagamento-nonpagabile-bolli") %> -
-
- -
- <%= LanguageUtil.get(pageContext, "text-pagamento-rifiutato-bolli") %> -
-
-
- - - - -
- <%--
- - - - - - - - - - - - - - - - - - - - -
--%> -
- - <%= LanguageUtil.get(pageContext, "text-pagamento-annullato-bolli") %> -
@@ -345,11 +254,7 @@
<% String paymentConfirmText = ""; - if( PagamentiCommonUtil.irisIsEnable(companyId) ){ - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-iris"); - } else{ - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); - } + paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); %> <%= paymentConfirmText %>
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo.jsp index 222f734b..08630528 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo.jsp @@ -1,6 +1,3 @@ -<%@page import="it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants"%> -<%@page import="java.util.HashSet"%> -<%@page import="java.util.Set"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.liferay.portal.kernel.util.UniqueList"%> <%@page import="it.tref.liferay.portos.bo.model.Asseverazione"%> @@ -19,6 +16,7 @@ <%@page import="it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil"%> <%@page import="it.tref.liferay.portos.bo.util.SezioniUtil"%> <%@page import="it.tref.liferay.portos.bo.util.ValidazionePraticaUtil"%> +<%@page import="java.util.Set"%> <%@ include file="/html/fascicolofe/init.jsp" %> <% long intPraticaId = ParamUtil.getLong(request, "intPraticaId", 0L); @@ -32,6 +30,11 @@ if (dettPratica == null) { } dettPraticaId = dettPratica.getDettPraticaId(); } +Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); +boolean avvisoSP = (!Constants.TIPO_PRATICA_AUTORIZZAZIONE.equalsIgnoreCase(intPratica.getTipoPratica())) + && ((Constants.ZONA_1.equals(territorio.getZona()) || (Constants.ZONA_2.equals(territorio.getZona()) + && (dettPratica.getAg().replace(',', '.').compareTo("0.2") >= 0))) + && (dettPratica.isTcAdeguamentoSismico() || dettPratica.isTcMiglioramentoSismico())); %> @@ -151,6 +154,26 @@ List tipologiaAllegati = DocumentiPraticaUtil.getDocObbligatori(); List tipologiaSoggetti = Arrays.asList(TipoSoggettoUtil.COMMITTENTE, TipoSoggettoUtil.DITTA, TipoSoggettoUtil.PROGETTISTA, TipoSoggettoUtil.DIRETTORE_LAVORI, TipoSoggettoUtil.GEOLOGO, TipoSoggettoUtil.COLLAUDATORE); %>
+ +
+ ATTENZIONE! Questa istanza sarà SOTTOPOSTA A PARERE e + non sarà considerata un deposito.
+ L’inizio dei lavori rimane subordinato al successivo rilascio del PROVVEDIMENTO DI + AUTORIZZAZIONE, che sarà emesso dall’Ufficio ai sensi dell’art. 94 DPR 380/2001 (art. 18 L.64/74) e + nel rispetto del DDG 344/2020 del Dirigente Generale del DRT.
+
+ Si sono verificate le seguenti condizioni:
+ - Intervento in zona + <%= Constants.ZONA_1.equalsIgnoreCase(territorio.getZona()) ? "1" : "2" %>
+ - Valore di AG: <%= dettPratica.getAg() %>
+ + - Tipo di intervento: <%= LanguageUtil.get(pageContext, "tc-adeguamento-sismico") %>
+
+ + - Tipo di intervento: <%= LanguageUtil.get(pageContext, "tc-miglioramento-sismico") %>
+
+
+
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo_calcolo.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo_calcolo.jsp index 58b4e9c3..618cfb07 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo_calcolo.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fascicolo_calcolo.jsp @@ -43,32 +43,20 @@ boolean pagamentoOneriIsPagato = false; boolean pagamentoOneriIsPending = false; - boolean pagamentoOneriNonPagabile = false; - boolean pagamentoOneriRifiutato = false; - boolean pagamentoOneriAnnullato = false; Pagamento pagamentoOneri = null; if( Validator.isNotNull(dettPratica.getPagamentoIdOneri()) ){ pagamentoOneri = PagamentoLocalServiceUtil.getPagamento(dettPratica.getPagamentoIdOneri()); pagamentoOneriIsPagato = pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_PAGATA); pagamentoOneriIsPending = pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_IN_CORSO); - pagamentoOneriNonPagabile = pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE); - pagamentoOneriRifiutato = pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA); - pagamentoOneriAnnullato = pagamentoOneri.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO); } boolean pagamentoBolliIsPagato = false; boolean pagamentoBolliIsPending = false; - boolean pagamentoBolliNonPagabile = false; - boolean pagamentoBolliRifiutato = false; - boolean pagamentoBolliAnnullato = false; Pagamento pagamentoBolli = null; if( Validator.isNotNull(dettPratica.getPagamentoIdBolli()) ){ pagamentoBolli = PagamentoLocalServiceUtil.getPagamento(dettPratica.getPagamentoIdBolli()); pagamentoBolliIsPagato = pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_PAGATA); pagamentoBolliIsPending = pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_IN_CORSO); - pagamentoBolliNonPagabile = pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_NON_PAGABILE); - pagamentoBolliRifiutato = pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_RIFIUTATA); - pagamentoBolliAnnullato = pagamentoBolli.getUtilizzata().equalsIgnoreCase(PagamentoConstants.UTILIZZATA_ANNULLATO); } String formRicevutaPagamento = "fmRicevuta"; @@ -147,18 +135,9 @@ + test="<%= pagamentoOneri.getMezzo().equalsIgnoreCase(PagamentoConstants.MEZZO_MANUALE)%>">
<%=LanguageUtil.get(pageContext, "text-pagamento-manuale-spese")%> - - - - - -
- - - - - - - - - - -
- <%=LanguageUtil.get(pageContext, "text-pagamento-nonpagabile-spese")%> -
-
- -
- <%=LanguageUtil.get(pageContext, "text-pagamento-rifiutato-spese")%> -
-
- - - - -
-
- - <%=LanguageUtil.get(pageContext, "text-pagamento-annullato-spese")%>
@@ -244,19 +191,9 @@ + test="<%= pagamentoBolli.getMezzo().equalsIgnoreCase(PagamentoConstants.MEZZO_MANUALE)%>">
<%=LanguageUtil.get(pageContext, "text-pagamento-manuale-bolli")%> - - - - - -
- - - - - - - - - -
- <%=LanguageUtil.get(pageContext, "text-pagamento-nonpagabile-bolli")%> -
-
- -
- <%=LanguageUtil.get(pageContext, "text-pagamento-rifiutato-bolli")%> -
-
-
- - - - -
-
- - <%=LanguageUtil.get(pageContext, "text-pagamento-annullato-bolli")%> -
@@ -543,11 +447,7 @@
<% String paymentConfirmText = ""; - if( PagamentiCommonUtil.irisIsEnable(companyId) ){ - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-iris"); - } else{ - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); - } + paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); %> <%=paymentConfirmText%>
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo.jsp index 9327b0d2..5db9aebf 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo.jsp @@ -24,19 +24,21 @@ String formName = "fmpaga"; String buttonId = "fmbutton"; long companyId = company.getCompanyId(); boolean disabledInput = Validator.isNotNull(fineLavori.getPagamentoId()); -boolean pagamentoIsPagato = false; -boolean pagamentoIsPending = false; -boolean pagamentoNonPagabile = false; -boolean pagamentoRifiutato = false; -boolean pagamentoAnnullato = false; -Pagamento pagamento = null; -if (Validator.isNotNull(fineLavori.getPagamentoId())) { - pagamento = PagamentoLocalServiceUtil.getPagamento(fineLavori.getPagamentoId()); - pagamentoIsPagato = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_PAGATA); - pagamentoIsPending = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_IN_CORSO); - pagamentoNonPagabile = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_NON_PAGABILE); - pagamentoRifiutato = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_RIFIUTATA); - pagamentoAnnullato = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_ANNULLATO); +Pagamento pagamento = PagamentoLocalServiceUtil.fetchPagamento(fineLavori.getPagamentoId()); +boolean pagamentoIsPagato = Validator.isNotNull(pagamento) + && pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_PAGATA); +boolean pagamentoIsPending = Validator.isNotNull(pagamento) + && pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_IN_CORSO); +Pagamento pagamentoSpese = PagamentoLocalServiceUtil.fetchPagamento(fineLavori.getPagamentoSpeseId()); +boolean pagamentoSpeseIsPagato = Validator.isNotNull(pagamentoSpese) + && pagamentoSpese.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_PAGATA); +boolean pagamentoSpeseIsPending = Validator.isNotNull(pagamentoSpese) + && pagamentoSpese.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_IN_CORSO); +String codiceFiscaleCommittente = StringPool.BLANK; +if (Validator.isNotNull(pagamento)) { + codiceFiscaleCommittente = pagamento.getCodiceFiscaleCommittente(); +} else if (Validator.isNotNull(pagamentoSpese)) { + codiceFiscaleCommittente = pagamentoSpese.getCodiceFiscaleCommittente(); } String formRicevutaPagamento = "fmRicevuta"; String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request); @@ -105,23 +107,11 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request); value='<%= String.valueOf(pagamento.getPagamentoId()) %>'/> - +
<%= LanguageUtil.get(pageContext, "text-pagamento-manuale-bolli") %> - - - - - -
- - - - -
- - -
- <%= LanguageUtil.get(pageContext, - "text-pagamento-nonpagabile-bolli") %> +
+
+ +
+
+
+
+ +
+
+ +
+ + Pagamento diritti fissi completato +
- -
- <%= LanguageUtil.get(pageContext, - "text-pagamento-rifiutato-bolli") %> -
+ + + + + + + + + +
+ <%= LanguageUtil.get(pageContext, "text-pagamento-manuale-oneri") %> + +
+
+ +
+ + + 'p7m,pdf' + +
+ + + +
+
+
-
- - - - -
-
- - <%= LanguageUtil.get(pageContext, "text-pagamento-annullato-bolli") %> -
@@ -209,7 +221,8 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request);
+ required="true" showRequiredLabel="true" + disabled="<%= !codiceFiscaleCommittente.isEmpty() %>" > <% List committenti = SoggettoLocalServiceUtil.getValidByIntPratica_TipologiaSoggetto( intPraticaId, TipoSoggettoUtil.COMMITTENTE); @@ -217,9 +230,8 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request); %> + selected="<%= (committenti.size() == 1) + || codiceFiscaleCommittente.equalsIgnoreCase(committente.getCodiceFiscale()) %>" /> <% } %> @@ -252,18 +264,63 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request);
Totale importo
<% - BigDecimal importoBollo = null; + BigDecimal importoBolli = null; if (Validator.isNotNull(pagamento)) { - importoBollo = new BigDecimal(pagamento.getImporto()); + importoBolli = new BigDecimal(pagamento.getImporto()); } else { - importoBollo = fineLavori.isNormEsenteBollo() ? new BigDecimal("0.00") + importoBolli = fineLavori.isNormEsenteBollo() ? new BigDecimal("0.00") : PagamentiCommonUtil.getImportoBolli(companyId, fineLavori.getFineLavoriId(), FineLavori.class.getName(), TipoIntegrazioneUtil.FINE_LAVORI); } %> + +
<%= NumberFormat.getCurrencyInstance( + LocaleUtil.getSiteDefault()).format(importoBolli) %>
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+ +
    +
  1. + Esente Diritti fissi +
  2. +
+
+
+
+
+
Totale importo
+ <% + BigDecimal importoSpese = null; + if (Validator.isNotNull(pagamentoSpese)) { + importoSpese = new BigDecimal(pagamentoSpese.getImporto()); + } else { + importoSpese = fineLavori.isNormEsenteSpese() ? new BigDecimal("0.00") + : new BigDecimal("25.00"); + } + %> +
<%= NumberFormat.getCurrencyInstance( - LocaleUtil.getSiteDefault()).format(importoBollo) %>
+ LocaleUtil.getSiteDefault()).format(importoSpese) %>
@@ -271,7 +328,7 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request);
- +
@@ -279,7 +336,7 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request); cssClass="inline_toolbar" > -
@@ -288,11 +345,7 @@ String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request);
<% String paymentConfirmText = StringPool.BLANK; - if (PagamentiCommonUtil.irisIsEnable(companyId)) { - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-iris"); - } else { - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); - } + paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); %> <%= paymentConfirmText %>
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo_old.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo_old.jsp deleted file mode 100644 index dab62474..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori_calcolo_old.jsp +++ /dev/null @@ -1,312 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@page import="it.tref.liferay.portos.bo.model.FineLavori"%> -<%@page import="it.tref.liferay.portos.bo.model.Pagamento"%> -<%@page import="it.tref.liferay.portos.bo.service.FineLavoriServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.PagamentoConstants"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil"%> -<%@page import="it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil"%> -<%@page import="it.tref.liferay.portos.bo.util.PagamentiCommonUtil"%> -<%@page import="java.math.BigDecimal"%> -<%@page import="java.text.NumberFormat"%> -<%@ include file="/html/fascicolofe/init.jsp" %> -<% -long intPraticaId = ParamUtil.getLong(request, "intPraticaId", 0L); -long fineLavoriId = ParamUtil.getLong(request, "fineLavoriId", 0L); -IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); -FineLavori fineLavori = FineLavoriServiceUtil.getFineLavori(fineLavoriId); -if (fineLavori == null) { - fineLavori = FineLavoriServiceUtil.getLastEditable(intPraticaId); -} -String formName = "fmpaga"; -String buttonId = "fmbutton"; -long companyId = company.getCompanyId(); -boolean disabledInput = Validator.isNotNull(fineLavori.getPagamentoId()); -boolean pagamentoIsPagato = false; -boolean pagamentoIsPending = false; -boolean pagamentoNonPagabile = false; -boolean pagamentoRifiutato = false; -boolean pagamentoAnnullato = false; -Pagamento pagamento = null; -if (Validator.isNotNull(fineLavori.getPagamentoId())) { - pagamento = PagamentoLocalServiceUtil.getPagamento(fineLavori.getPagamentoId()); - pagamentoIsPagato = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_PAGATA); - pagamentoIsPending = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_IN_CORSO); - pagamentoNonPagabile = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_NON_PAGABILE); - pagamentoRifiutato = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_RIFIUTATA); - pagamentoAnnullato = pagamento.getUtilizzata().equals(PagamentoConstants.UTILIZZATA_ANNULLATO); -} -String formRicevutaPagamento = "fmRicevuta"; -String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(request); -%> - - - - - - - - - - -
-

Calcolo importo

-
- - - - - -
-
- - - -
-
-
- <%= intPratica.getTitle(false) %> - - <%= Validator.isNull(intPratica) ? StringPool.BLANK - : " - " + LanguageUtil.get(pageContext, "tipo-pratica-" + intPratica.getTipoPratica()) %> - -
-
-
- - -
-
-
-
- -
-
- - -
- <%= LanguageUtil.get(pageContext, "text-pagamento-completato-bolli") %> -
-
- - - - - - - - - -
- <%= LanguageUtil.get(pageContext, "text-pagamento-manuale-bolli") %> - - - - - - - -
-
- -
- - - 'p7m,pdf' - -
- - - -
-
-
- - - - - -
-
- - -
- <%= LanguageUtil.get(pageContext, - "text-pagamento-nonpagabile-bolli") %> -
-
- -
- <%= LanguageUtil.get(pageContext, - "text-pagamento-rifiutato-bolli") %> -
-
-
- - - - -
-
- - <%= LanguageUtil.get(pageContext, "text-pagamento-annullato-bolli") %> - -
-
-
-
-
-
-
-
- - - - - -
-
- - - - - - - - - - - -
-
-
- - <% - List committenti = SoggettoLocalServiceUtil.getValidByIntPratica_TipologiaSoggetto( - intPraticaId, TipoSoggettoUtil.COMMITTENTE); - for (Soggetto committente : committenti) { - %> - - <% - } - %> - -
-
-
-
-
- -
-
-
- -
-
-
- -
    -
  1. - Esente Bollo -
  2. -
-
-
-
-
-
Totale importo
- <% - BigDecimal importoBollo = null; - if (Validator.isNotNull(pagamento)) { - importoBollo = new BigDecimal(pagamento.getImporto()); - } else { - importoBollo = fineLavori.isNormEsenteBollo() ? new BigDecimal("0.00") - : PagamentiCommonUtil.getImportoBolli(companyId, - fineLavori.getFineLavoriId(), FineLavori.class.getName(), - TipoIntegrazioneUtil.FINE_LAVORI); - } - %> -
<%= NumberFormat.getCurrencyInstance( - LocaleUtil.getSiteDefault()).format(importoBollo) %>
-
-
-
-
-
-
-
- -
-
-
- - - - -
-
-
-
- <% - String paymentConfirmText = StringPool.BLANK; - if (PagamentiCommonUtil.irisIsEnable(companyId)) { - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-iris"); - } else { - paymentConfirmText = LanguageUtil.get(pageContext, "label-confirm-payment-manual"); - } - %> - <%= paymentConfirmText %> -
- - - - - - - - - -
-
-
diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.classpath b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.classpath deleted file mode 100644 index 9975372f..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.classpath +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.project b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.project deleted file mode 100644 index 82c63569..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.project +++ /dev/null @@ -1,36 +0,0 @@ - - - portos-mapit-plugin-portlet - - - - - - org.eclipse.wst.jsdt.core.javascriptValidator - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.wst.common.project.facet.core.builder - - - - - org.eclipse.wst.validation.validationbuilder - - - - - - org.eclipse.jem.workbench.JavaEMFNature - org.eclipse.wst.common.modulecore.ModuleCoreNature - org.eclipse.wst.common.project.facet.core.nature - org.eclipse.jdt.core.javanature - org.eclipse.wst.jsdt.core.jsNature - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/.jsdtscope b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/.jsdtscope deleted file mode 100644 index 840a01d5..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/.jsdtscope +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jdt.core.prefs b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f42de363..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jst.jsp.core.prefs b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jst.jsp.core.prefs deleted file mode 100644 index 3a5c98db..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.jst.jsp.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -validateFragments=false -validation.use-project-settings=true diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.component b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.component deleted file mode 100644 index 36386673..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.component +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml deleted file mode 100644 index 500dfccb..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.xml deleted file mode 100644 index fe24cce9..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.common.project.facet.core.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.container b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.container deleted file mode 100644 index 3bd5d0a4..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.container +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.name b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.name deleted file mode 100644 index 05bd71b6..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.settings/org.eclipse.wst.jsdt.ui.superType.name +++ /dev/null @@ -1 +0,0 @@ -Window \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.tern-project b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.tern-project deleted file mode 100644 index a185ba0d..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/.tern-project +++ /dev/null @@ -1 +0,0 @@ -{"ide":{"scriptPaths":[]},"plugins":{"aui":{},"liferay":{},"yui":{}},"libs":["ecma5","browser"]} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/build.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/build.xml deleted file mode 100644 index 9479e677..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/build.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/META-INF/MANIFEST.MF b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e1..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/lib/tref-mapit-shared.jar b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/lib/tref-mapit-shared.jar deleted file mode 100644 index 132e1a7d8e4e8898aad8633e530ab30c93dec3f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32736 zcmbTdV|Zn2wl$)GIz@(g=IsNA zaUmpo8gc1KaTTDjFQl{&5#L)f!WEIF6qTHQQVE<+JizSI!Z^jl$e^;kg(Jl~DxzlG zg+twjBT4zbu)4K;Z~5n0fPjvjrvG$okk7N2JJJ8wVgJ7ZpMUjl0!|J9lm8%v@GnwU z<|Y6K1GoPmjrRW|ZEaxpAJ0MXmurk{Z5*8pY@8hb!;XKw+8W^KXkcn?WBMOf@xYyZPilK*L`fsvEB?SHxh@&9xOfD6FpKUom}FK^%gaJ02@0XY1J^OOG1iwztd z0sn9NI{~citPGq0|6zaZzue#1$=vFn3;zf*(;12F_%A>})xbbNJb$_Hzx_q%zdVOT z#=uV5%?_YyVC4*;GqU>pOFv`RWY@kS1bq;a5A6fx93=@s7X*ZBf`!Et$HWas5^;Ww zrD&QV+nA1wKwgn0#Vb=wbf5XUog;55Bj}}J&)l|kf+q2YQpsx6kD_uPvV5!w$qlw^zng@Z_go%ST?C}B2YiGY>E7{V zNXz3pq`LNZQMbmH-nE*bwAHJ1UH{fL$72viOxRZs?7tFmL*>Xf2zJxm`r z{_)B8T<^a?>JMX!{%*`t|1>t|r?ENyuZ*o}Yis>CYyV;B#Mlu@5CIesTfnJo`UuA$ zVo#vGfzWg!k+>1TG~`$?|DrUWjKJH9u(n?r0>vCQ+T!!v*f9&F%_!4<9$M z>E2F17$GT9ca)G&o3T)cCvDeexwwNCgZ>SQ`A89$??-Nvc9+m#oI$G*{0 zroCYpQ2w$_wz|yo6Io*dDB`Z}lk&PSSoYj#RAKW7l0!{k{)YFhzp0IibA|QYqNd`1 zwEU_tFD+JN3$;$iqRXewlL|Ula1<`x*?@-CC{L2_V-i|OsB8}XSpyN|nIT=7o;h%V z2yfi0XGrHBL)cgH>~m!-jQ!nSKeSO=RHai&7HJBmAnGivyV?ySOumOs=x$02V}1Y+ z$5(rnA29O`4~!^~0whuWbwH~BKu`lnmJ*{b2^3UWT02~O2{{O~a{|KrCOSyS@grF^uV;B3DFoN$x z*x$>tiJ){PwenZ3?VH+&yv;^6t5+}LY#4X8o<^=j^FqnqfqW9UirOwz{X*Hyr+Anh zH)Ty7UiOZbu7FH#h=S>Y%;}NxrZ-T$Z0BHq>eO6X#g{EYq{Si&%P7c}v7xS z&ba!~&a8jGSj@$NW0GFLdQjGHLlljo@3imhei-;Ue8-IiBP3!zL06_Ip<5$m(UPkL zBW-jncwdVo?a`nB|WI2q=QbeMORY+k8Bj`aE@_^#ruLA7LZNJ(b=_-IpGdk(~%n2&7EQ`xYX(XjRDYX_Cfzmz1txBM+Go!aGtxUiijN@6E zrxqcW-KR(WHu{`fU#d}oCHqb~qdS8l!U{Tm4N3BBeYJHjGupK>bF|gb#mCAx)3q@p z*8$UOIPnNf-zqnkl2*xdKOC8C0~bEu@Y{VO9BiF_`wJcuj<(g+dFpIo8BeXUFHE3v zx{Y!rXXhA$Y|ZbYq_2GrU&!slw5Y){Y&4>wIp%8bfywN{48A=AFD;kYHs>5z*)14! z2;8cW-*Ytm>^K;dRd-D0h5LPS(=xa!z{@OzZ+sO*8iJJrnj!nF)3ew z;HXzW2qqp0-sH8xF0sdM9wr_!-qbbd%nk1|`LE-d<`KN3zNjVU3+LL7%!&Oh;?9_z z@cuc>PGL{dKDE#R7(MdLiEG$hEzC?}scxRjY4>CvnN#epeOvYKd;xNLc2%#;`O)%5 zL-f4PJiAdn4+#w^TSagCLT`RVykh1EZ=AvxX%WzA-AIuGAJ_WE@fr{4kciJ9e9=&cQEyN1#_7ac|P0u}^k2%J2Lggy>={Oah8%vq_FRAGY5Io&Dd zynl(?F{xV{Y=Yn53cS82TMaL0lPr@rtBV~?hT6q4TM*Kaa$FRYkKWoOqCPuF_zC%q zIq%$soy*Bi8=BZy&Lm5M&dNNM+4kCT_NZ3l3Ui1>ko0@(3?XU~@;@av`IB?JgmV8| zw$NvLFr)a1XXjv_&!GQ>ZslzqoU8y&pBbWwxv8_m- z2nh3XCk-@&Fu+biJcboZOIQ_Ks&UWCX;pGfHD-ZNan0Y2S~a83?=v^#c)P_|hgP*( zeQ6!-dM`a)%<}pD{uObfz!bGrf4W0>L4|Jcfdw->qw18IZ%CD3=M^>Qh7H!9lN2(>~~l!h-3AC7@f-h3A*U!1<$L3tN{VublTY zo^aKNm+%Pb89r-c)NeVgn^3cyIP=JfFs1fB^)L^v&XfRxVGcKY&wOGX*bZyr7)+BK zcB(;Iu)$Rb3RE4%Rm!8VdF_M9I^bzp-pOnHR9n_uTYFXy#HIy}DQ^ugsx&RYcBUPH z<8AUpm*(70zwk)_~J^Y@Ez!wbX)t)@b){n$XT-tT#9;W)TcCPN67$s_* z&$IB@u+B>)^xoF`2F2fD2&b?NS$eu*FOno4XH+tf6318$sGGT^lz9TTTak|jyp5(0 zWMo&O?sDN}Ju=b3T$b$RH--EwZ4?K?S!j2)LmZYn7or6R+k*nV`8LS_o+bIxVmQ{k zR&~1DX2{kUPS)}4@!^72MXl(|NngceS7PoWhz=>w&l}aTf1qu)KuRCLys`!%CKQ$M zK$G#VBvCVllSZLpMbEszfOGNYKgFbsJrl(rge|}Kkx0!G`@7g|p6`lulz-a09kwC3CL4oPv{yovdT|y_6h3=HBt`@-|`LX7&dYXw5#HV zd)t-O8~*LbAikfig(vh|&0v=Am6`TepUNAZYu?B%P@jUErEObQZ=iSCJ+bX8*2eC} zLGo>-$aHL2Dk&1IV5iVwY1(vemZV*v>vWMFHxMOX=M6eVW{I*?h3qmeX_2 zi`TY)MnQkTp!(crgaUt}AnpGmQq=&4QUJGqfS*Wok1VhNf^ZokuCRCn`x8(HC!|`G zF~cCNm5V^M@iL3CehO(_9obvj*UvQej`!#wBY6J=>}5YxAL3+wZ0!rrrK;8 zs)tt$cSm$lu9M0%o$_sDGQDRpXj;Hpr1#RSMN`t;K~Ok>ok%nN=!TD{-b;4HdabJ! z05{?{F~W;ElaG5Q&8#__)Vx)!iA6aRD`rWCU2?{b+x1{YaKPp9{GQ5MnifKUi|%6Q zc1?}+amI2q|B8B`9ilVlg8w(_%d;m-kP8k-_O8x5*gtCrqNIjx1QZA;0~!cO@GrIV z-=v1X-->g^f7JOhf9E;?(&mm%02_eAKk!V|S`AqY#T%Rmxz~_@igme^U?6}XTt19U z{9uAeR9B_m)};=!x7Q^8(gvaPo_{6NUw-Q3q{#a?+QP$>og}7T66&b?e52*j?QrvG za--}0{lXQBcs_*E~jb*8)mDRKcnPE(2oVkOkJELb2Eaw7;eE zq#A@CDDn}Xn`#c`&k4_h=`ib=H4|%-0_oyf_n_5KWZ7X>Wc02a!EZzoqbD~wr;Sa$EdEk%akOAzm z9!Qc2wZ)o2eq(Gm4@|oiszdP&5s)^iJ3tb-KzWeX5j(M~*oH2pa~Q%jVILeu)>tMW z*Gi13#9nKxrw~_!?bDn1AhS6h=4$n&xNjc|gsgQ|;g+)_)3yr3YmgB!H;snpv%uCEm;l zcBi<7c$QU#c4?Bgz^A%Nruz3_bNZrbua#I|# zGn1NIiLkw&9j6LoFs*psYUHNwk+w6B>9lcLyX2C{{MZh@(=*_qi6Z({nq#?o@b(PbVNMZ^tU_O0rN4DmLO^xMy$*p-D>vp}~9 zoW&Qd7Iy{9?^uDSuheUGEnBP7)c^e4C7YSBJ zB$$Hg|Tbj=j&U+l77T-3bRroFj1D?N&TK9|$VIZxKKhzRx+X&9~64 z#Js`HFL+Co%M(WT4TefswjP5Vn8+%7)uuRvd&RcpM2`sO+f)Nlv$piGg_bFK^pGRp zZf@+7)ql7|>_OkAT`$7uNvfWMKL-!j#)YhN3pOh0g&V2o z9;wI2za@ML?^%sZpN|lyPr`xjFM;wO{Ou?GC*dUjcP{r2P%Kc8k@`%ce=1+BT3DYA zi6B&=_V_NL34{w47#i?~Ay{H5&Ki$QqPcWuT5gc<)V=$AynIzqh z4u~U(*o6*0Hqk5Ll}x6nW7=wPi?!=bycAwKGZYj^#lwx}P)gC#kIlI47pb0!t-+@kfQA&*iQX zK<(|w>#am@R9$vAVAqeggB4WK58pMRw257s?6~+hx@Xvx3E}!v>+YWx;QpVq{|^fM zUyLB|cT)ThQ#i*=eAY84fpQiXW(~W!%}yIOFc6g{2ZA~J_GUd^(zd|~jL7laOr2@a z_}#%s@rblf$PnnAj&P4he=|fkXB5*tC>@N{ull4!jd-=GTY;7k?S+Iv$%2)6)yc$k z`lOGBa?b-6|x^q^f44Klljg_PxMq}Cpc}Y%vB-Lq7 z?$kOLEksFrCt$p6C>$SZaFvZeyiW&AX?I2UM=YS8?`8GBFIYI3-^T2G+rFQgZ=wWG z(n+^e8X%POzVJ!91^My=H-9PoXn6qWga-2$(N=Ul{u#r2-+uS;zwt2co)wbHt(+rhY5%Zelu^!ITW`5#qZX zZl=Djn`U~L-rg=;(F4)!)P#KrVjY{~O};v7Y?#uit5_NbZ^3dYv*6_7-;OFenh4sl zmXuTFKy$~{x&T+(F~V>k+l=2GE3tG9qL!VdhoVC8Q4s^CH%&&+fN1Mire$kf9i z`6L>|M=fg4oJ_|I>H;U-Hh|gNvSb{VY00Uw%AY`Mb%ZW?vhLD2T>U-)aDXJEZah%m zWb#LfOvLa^eZhn8#qZ~kP;ymmIcd<&tf?5CL%`UawF5&I=3Idc7o~S#qiZ!R5D4?u z^2h%{Fi%j35p))%P{K{ET4#`MUE?j|ALg4fVF6(f(m$#JM_+Hzw!XpSYF(nxVYo^< z*ATE_|AJk(mVeX6XJwd7o+7U=(D(Y}n_uQo<)qq3J+nMePbiG2hL{(0sxxPY%PubT zE;Lr34uiZ=&hC8;?tqO%vP1=vRct-Ax!aV6v)m~c3J!sl5jC`lMPt$ zScf$XJvHN)*I(Ssu&Qf8a9T%nZeNRkX;(EI8p7i1De9lKVri}$s$N!GW8as72nh(v zPZ%xBq7AAJ;a0AYZG%VWt-DP~NK!!o$XP-d#;i`iZdwFo>x*2EGYP*mq?#@J_7frA z%`B7ZMk2tJmwkVlI&DbDt1=%ZoMJF*O~_HSt;gK;f-<|eml!NHZm*$_YAVU`rN_K< z0Wr3!TakWiTiz|neZ{6))UpYz(%eOozR%n*T$Ym#S6zr*O4(V%i`YMqXq5J3>9cR9 zhVM?N>NIKo&3}C&`Y;yLDuSCkjsJt5m2wl&S5zee1Hl?3LMBwr-zw1xwy)kNpnRxa z>n%yPXLLt_l*h&InprsCZ2>(q;jsP#zBZ9qI1I3bSQtLVa2MY19o$LGR2QZom`U2s z*#bQJLU+jR=1s((cf)6Zv)A#&$oGaxg&7RGbdkcxGhq0P;?C)L2HG^@bA|CJcfFE@ zQZej_IN}yEnQf3UZAy8^Ga;;dK?9vMkb2W14+^qpv|o^1(kD`+aDF@FBXWBEhVkVj zxPxK>b(J*#&}yVE%c4qFubbEIK4Mu8LpcA?pq{>M zl+v~MWY}`t9-AbQBHj*lf>ONCzrhEj+&R|%Cv4Py;xOm`8+`nM!WA(xpIs7!K)s=q zP@`O=-QEu9x*CCG8{l_+g734uNx^>^gS6dKKg!pVv{ss`)9Up*^|=6Gy}dD23{VYMQsrvhti>xPLPkO zWZe4Sm2z&dwM!#oxuO6MY00S!s03B^>{aesRCn2pb?d{Qu-*r}ni2kF65>Y0nfHkj zx@e)|))ecj!~b)o1umqQO7OJ3uBS6O17-02Z#nvBsi({S@NNxNKs%z!rSeQb)OE{js(MWYfB-&215^BzB1urgL+F$M! z9%G2_k*LdeBIQSdB6-4vfWMd#Ws;1Brt=%L zX~?3RV8EGd#r~e5S0O^U9S&Ph7fHbRg)^FS-g=u+N?-Wvp92JcwB91^^RzKO^Qz3x zLX__>z3QK;`J+KBEG=qo1rV`ua&Y^zihe3d+0K1KcqfzCW0TO!Nl?_Kg{M65Mbt(p zai;(k7SAD)pTsuBZq!+uaYx<(`GAxqfO`Y-Mln2ZCd^I5QmHj{Il7r>YGdyDczXle zM!e)4M$Du*(U%2ZqCmpS^lzaiYC(4?;OikmX;R5Pha=Qm<03%GtZ5728AattA*E?lCfI^` zi(R#PnfU2* zfX{}M!2j0gByF7?Yz(Xf9GuLJtN?#@y8;z!rBAo>uB?wtAc8t5@T2I|*GkNOVgpS@ z6vH%97^HgXp%>#gO=LOIu7r6byf&W{JYL5(-Vb$Ub`NYM>MV-f#jY}23xA!aD zHrpk(ID@)kx@M@%Tw=Q5jZWPpc71{HcH5d@Di1^en{`(S&n2ItCRgQmRBBif%*pvD zHg=s$m5Jmt)*Ukt^Pm+vo8<2Vs&BA6m#>E6^x|@-B0-sg_K}3oDf5{3+4RsLMHt|t zv&i&m56(Hdcg|`IFiBp)ZI;?2cDS}=51%bV9-0p^eKes)s{1bzL4rMv;eeqk{ASB1 zNynw~;FmtT;o2smGQ1@j5#vq#8LJ%FJ){=RaBZ0PpQR0E0EP$!5Mr2LUF9G-jRnM9 z0jtVUA&Tne0-I(hCX7KmLYci+R^Li!okB{mx4az7;P*Ie_5F5wB)p6nL!n_Xcbm)K zO!ihpm04Vl-KoN*n%7^vYcz@{QNs@U1S`x)JE%ynsVXs3Ow_r&f!C1LzSW3Oi89cj zpZ`*d&f*^Hb`ENR1Jsiyh}qTbg#;yanpTRw%Kcgbx51mKuEjP};AhBZA}a%bbm=>1 zOz*MNwn$w#f+23`LK%D;Df7$e%5AA@=*70jH>HX_EP+Aa`}yibCQa8T`#i-xe7gAC z`f)0h3qdJ+G>=_`-NKJVN15f<>?p~Ic%h_T%rj0&9ZO-}gtz;*GYH=~3<3#u%1I;( zhF&-kS-!YCmXVPX-u*+R=Xte^yiF4OSOa)9z7D`n^mR7{s|{t`UbBG9j`>_{G9k%` zB^D=_bIKqNp;%0Gj8RIq#&Dr91sA0W@}x;FLGKF9gdmxJvxpB4<@k&Zc&ID5q!jqi zr0$;~4;v}JJN~VPrP%I^F!}WPs?VmyUsqB8hO=tsmge#XrvK*cKb6-Mkp&QVapTGZ z2qb+WbZ`75gpv#6y&ydgjjUlZ)$3>=rMCl(j zaW8C>n>x9;{QZ3P3J(;nUW-7?qrAHKW4%$Qffi(@5j%IJ^jlD88##zpK+gQH!c`Si zg=AZ93uyb^K-?N~E4A;=ug=zDT&sd{3_gH+(;w+Xt0F#EUI0Z+_q zMGU?bHZ znLVsZN6u6!H5Eu@Bbi1S<^;u*L0V{b$mppISKH1e`(XVW+}KoxHL)lWXje$7A!SE3 za6InO=qM|T0}q#h<1E)Hv|Ce9)wP_YNFf4Ox<@NOq?k=tks-8K zayWzbLhp(W`o!dZe(B(?ph)mdUOXfE1ZNLD{?Er<^Y}&Pv)}hT$(iZCACT|b1M0U; zzDojpD>R{i+-uYl`oWAtR`Z0uH;}AIkV&He(k@PI<0^%{bVdQb8@drDZZF>&^3aif zc4MRDhYtLHm|_9R2~~r594GlU9??FbWCFy?0H#4&>PE772nQ zPp{AbESu+Qilshe5Qwvt?J+tu6SFNOv=kWDg8Xha+-B+v4GQXK^etlvJb;2dF!r)? zSBwv)6bhCg3&M~+5{}KiEB{&g+T9OPkX7=;hdNODbkC{|tLHB}88CrR7Dh{7D6O4W z>S3`S_ye02c4H^T!q5*X)=dFHbrF{0L* zv?(+>xz_4=S3?AJwwv2nUF13y7s6)hN~0Oe}P z9{rJm(vVa4dK75kwAE&puW!WSEy>9tv&~@pOW!vy-L%TF8lqz9%5@zmbFxDf4Z+U= z3>hAhc;)5tYj`I2@#!*VMG-|z+90G?xBQW)Epg4lf_htWisY~_tfq-MRWsAXu#XFi zzc%Pq8>D%1T!NuTXGwh|`|_^bb`nPfNY^v67+~19EE`Uo544M`ankH51b4Tph?!DK z`%%f!ZKj2?P=%U!3_qOlR-HTC5m`1+V3daRj9K&+Y>PzsMetl|$!yVP5iZ(O^F{kqmX1#4aW zK81&Lm)9PB(|N?v#ntN}>N8lNS{}46uuG@znG$`=IMDdS(KR{5`a;$NB93Xdx>8%9`bN86JH_3iXvWxTKTZ9sO4fY;FuX;n;*~>q_ScnwM<#;x#&4PG< ze-r&&q-n^DxPU~=FE1Kfjm7tJeEuU8lsBNmiCe7g9eA*$9Jx6_3pBo2I@}xx-VXH+ z6yFF!j=@hx{hA?&NFa-aZ-~`Xpv%9LCo=sBF8&Em=?QY~377c^xv6h->bTSp z1k;a9mk3&5WBV!b{IK|a?+MMVSMww@SV}#hoTOSr9c69d(p)CG8dzb{@3&B89=Is% zJ@)bJN526|!KuZ`zdeZal%#71;DLagKgVII{xbRe`$X#B8*cvsT^f+u%8x%k-u1U( z`|hwnNf|}+L}kTh%y1$plM#i5!5NDoy}FS_gH!F{h#O_%7uOkOtYq>|3T4_Vc&!#! z(Q?=ZJ8Iij@;scbWFF1h9=-6bm#;oLQVo2+`en%(Wjt579>_Bx!aQ5-*)!K<*y=W z1^cNb_f zc!wJ8A*NxD6)p>0&G zrWAv$w3)`Y#vqcp8H z-Ww@KybNC^Sj@@HWY+ILi@y;zwlkfEDHvbY_LgU~ny*pfY|EUO_SeadO$Py2d;OcOQhk@oVFcBJ%e)N4;?-PPE!Cqps!K&H(qK8cD zG8-XtKX22nCoc}9RHwYD#WujodOsd=Bn%hGFkRFKx{#S{o!+ciy-q0R&fuGe<>%Li zlcMfWuW{8ly=HHPq)f?mFab3y0GO7AzmpRdLm7h9Br?>{dj4&^k%9~gW-PUYt$0cG zw&+2g9~BtS&IlT5F6dFy2a0KH(~{V%xImmz6OrT&xXcu^<}$KU8ZAgva9hgxhWg7S z*m9(Qo(Dyy=%|e>r`oHQ|B9eOM+t2sZZmBDS9)BUs(FK#u5ZEZG9Ix-XjKW9lc|fd zc*O)A(x_?X>$hqYw- z*o+$HcyAZ9kg~O50To*YwR#kl-jVWnSMDAUUCh|`eJB?W`_%9}bvIv)>Irce2rMfH za%NG>x~z-Cn|#cy7rHUVb{GoKLD)^H};xkTPsML#oEfH^SQ}jyJa7joGk%@-JpT()iFtQh&nU-5yd; znITjahK>Z`mF3lSmSK~~%&Q)D<(Zd5l95@F;gNdV?NW<5(L(!cS@uqmk6#K;J>tvg zq*=~0c3rEF*0{F2T>j%BqUNju4>Hp!+2I2(K~Y&Mqs_>O9&yi%CLna`e02@x5yEJ8 zehsn)OsEDn+A%J>liAP1?=HV!vnbOE2WNrnm+Rt%%v`ihkKR>_E{!P)LkHtKOjr;j z0`{;rB_6vL)5asPy9P52`(9v2mAr+9T$SmICK0W3^s}(LM8;RKwXm_)+SXhaz_ECr zaNjC}uAoML=1WmZ`YO(tsa;;yf88g@=~hz@4Rcm+NYzDxG$$vWyf{sPAJsVFZh6$*<8yXsQ8@fwWmGM(-p z@6?a@aWTjbm7Vfd7viuz5whoX~Ti&o$y^}$Y+~B6^<+(-71AzNAs#{VJ4;` zboAzcoWX@dx*0=MQeetL1Uqb(GQeS9+`Vgtw#wsPhVL5eZ*g^kV?tVwZ1j; zjZGCEKIz-PBytiO5}vxK!<}xR8q(zg>kd<>$iEu=n!KF^rc5GDOStAaJHGV@$)l4h zNB}>vvfyD*i7O9GB569SmAsITBN=#q-1d4e#A zd5es0dpFFbQ571UYM-R#w36+|EZ0y>BNp8XK(1+mqqAvko0}wMeL}YkMx51_SMN#SJ-l_Iq~XJjf}9~Dc#QdK@py%uEi);` zGF(GNhgK8mRZSJ&rO0O?XPNq=#>ueAtQ3DRWJ}3MF?C`>Ad|VpZ7RE%RT>rp8;gr4 z3qa2K{=yPik|RQJ0YkRO;-r!W8~PdTqr`rUlpL@D#wzSyvd`tb}#O z&_$+9Mw1ZlAQ?{>eCWOUyVdg>-|%A4xvh7zOfpKNTJ-6y!2-iUok4AD!O#L}gEKk< zeI_i<-MMxS8qMYB8yV&bKTEI1M?z}vjXnCxjZ=^L=Pi6y(+HRT2;gDdS$~U`Z|>Bd3GZWItPc z$n_Ng=IrSlZ#d$Bc9Hxc&a`NG2~!H)^PKAArcs1uNGcAsePw;R<&_PGW@GjyRrzM| z1NyWJ_1U&}F7a$3n2~?_;Fhj2(`^&!;f*WFJJQlY9OPP)+Z*xjhArvFjeK#}#ZuK? zBPr*6FMfmjma1|$>gM8kF}p*g2|cDCiVu1|GP8rz6gG8yZ~3vxKxIj#e5KA4)U`=9 z+AlJS|BA>Z;V?2+)DGnFMQ2P(C+`|sw0e(6Rj)_!VI#W}zu9*{C3S^24`P4YcXc%L zsdxDS5$CpTzCJh22eD`N4Mn9dt0?IKDiJ1sv-K_WEFIc`y^Y?`vZQEPXKx9Ge!{R$ zllQd=MKuvcGeVHF*%$1De&AQVR@lY>SXFdKMYB4vXS)UH&Y1EXKwvJ6=v@`5$2p)d z4XAv`!s;9B$GibC@SAr?a2cM}0OgZC*4i~zA%r3AeD4?^{%>>bK~$ay__;&cg%Qzl zl7xKaZ-Ly_7SVuW-bu#vK{4^YJnaXDdPW+NOerDO5AwuFU!RDCTP2~?8ODSjX1?Mc z`93171!0*<3|!Muyw*`<^JGG{mL&K?de_M9k+FCj8`q@1gQ98qwyZ|iG1*JHeRYNd zy9%df(*#GSXXr{>mm`}+y4;-lZ1p?q5$X}_9!KKu26aWtj(DVFlYLqhgNi|&Aq4}O z&=i`YUx)GdD_y-?Gl_TvU z8Qr0^4GG_vXwLN-VdF8KHT-i$(Yebf2$Se{3lcxf{BURKq2N8j6v#2fSZWd^>UhCqYWNW@&kN39`&6DfSE?IwuRc# z&8|>tL5lG$+>bTdvjW-9aBPj1`}m&VH*MGuvjP>51^> ztOrwbMA#De+0GvJeNW;m&E~RNxs@hs`dMQr^TlZpm?AkLOER$#?7K1_5&pq26HfBn zE$D?_w27NyX0AD$kv|XZRE#d@*a2wCcN$yGFPOw_z>7#KHZU?4tmbq5^CYDjK@Y_~ z*`iTAWiWJ88b}-2kO_!Q$`PY?ezxe1`=O4}7f)zjhv3xjTFt>H0G<^q#Kd8hKuvP0Sm-6y5l**M`SJiUKFTVD zFejp>&+sc!tj3^8A|0+%s#{KUU{scsf6;#O`7^Bvhq2C#@Hvjtjsyfm^PkB8k?(c} zHpaI9O$St{X}KaVVQvhyM$o`N0rx@_f8pk+EuppQmbpmSwTvOwin6w1kQgC|y!fJn zV=jDN*pd+QSs=31ho%>X^Ep@0@y8_3-{+LcO=$i`{|)UWEBMHX6&YZimV!oaGI_wg zwc_Ek^*ni;rT6||3*>(D6_yqFA_=$Q?$D6Mnl{bNh&GK;l|#9{!pX_Wd0@EE0exk0 z8`Z4YW}PM1oVX1|M!U_1%=*hmo$6xk6y$dzTu0!|9qmz=UVlwoz9+ELJ=Mhw8k5S@ zXN^70RTQ(Zqc~Cb$ziS9D;W0+Kp6o-s1Gj-2rwaWqJyYmcs!?v(*o796JmHo^bj?N z>3Msi4wkz5aR|91=F){Eoo$f}w?z_%J8er^rT(gIb`EnHK7xX!1CkJzSN;4N4c4YK8s6EhERu<@t58D(dllQ_z zma*alMaj0**#HzlF^phPV5!0j3eHC251nc?Z*Y=9Vy@1db|ni|&EPza%AJ&NkC*Ew zW+K=RG<^{T%DoX^?SbVi&CoH{1Ca`ztdfcR;C^UcDlo}wzR4+agc2xZ&fmy5&G0r* zwE5VOKh}`n&?79^L-CF$>`IPS%M5+fXRNh!m5V#WlJ%Lm&s5yAaaTgD%q?TZRAQu) zPnO0G?9Go=Q21rC5)pJq9H~u|Om!+rS7{-(vuGNT!kn;h2j-Qt zdwCpR7QGz|sL9Q+z;Mq8N>Vq&FgSNPNw4HIQ59)%I}+kn3pUW6MvM|rIcM#~b6HJZQcOT$dzvGJqe=F}jUk#&7)t+YzcKafe z^d+hU3nAW3K4e6iL21@PUP!+M0)M;FtEhaW?+0RNkY+-Xe~!MPGtiPy-qdG zm#PdL_z6!cX0(MaJ<9((<`N5rboIu|Y-|9HLBKFJ3(}T5y<&;AkN}OLMjw)GOVzT? zq_`Fha7#NJ^im>U`!-ql2}@PS@MI4TD6~GfG|)w1EL~cth&lGzvJI`Znp3-9`*@sM zm}qPDfORTJ^!}GuM#STdj`sr)Jt(i=wF($?Xy@7{<4kjut@n)3+-Sh+c{}~v%2vND zJnd8$2bY|ri4eQbcziGW7oclmV`oNyHp^4Umwy`!P%xfgNRZo}r3eT%ZqC?4LRM1Y z#x@(Mt(ImdGO0$M*;pivXHc4}vL=p=YQMBZ>1`*Ehb0opWUUa&bN?*17Wz_*@LMzJ z&I>a&5I169;5jmCYZnABp?42{bmd}cNNuphNOm#E8MmuX4EPnVC1zBGtl`!2B$Th) z#9_d57N>5Xbz1)6%Q7u$kG<#|$a7T^t+(xMNe%je*7e2N8#HiMwSqrEmN%<hteMeXAh#3{aag zJPY^`U-^W}xaZ}&LS;EIZUf)ak1yeiQGdJ!TT80Gi|QuaitMzpqir)79kh&Rk!r6YSk2w71gB?~N>m4&v<%AqVzY;c(GsPbD6rBh2+&5alM6$6ODaAx8W z&J-J|4qtB_DaaLxF8kBBN%33W)}CZy9NN(KGw{!RiCXxR0wT%4CyK#F#1G<*F;|b& z2Kw_d!wdLV{B6!3G7(apS;g%6w?hoIoww;xfM=J`?*Ob&q zxK0p@4+*YRf=p1;LWEvuD6OK|=9PiPb3;p)>IM6s!uv`gX$p6oX~oAvm`+wpk9Z;;2{j%l7XYsI{tk2w$3TlN^}xmnk+s8IYsZ^?W!n0|#`XbWRF<_=IX}T{cY9CPoZlG)imGNPsW7t_lO_z%H!^7W_Mx3aZ zDKC?a$BcJrYg1@GM>yONXjbXwUcd>9AUTT4rzkIiwBv;6MhKIQtAv=wg{iv_!;onN zL?$i5zC-iq8GgeJOqOtm{*ATU5~?QkHsEnjTw@dSaZ1)H=V0~wTLTNd(&pUJK{xj0 zyw-wJXN)WEbBrx+>gj78kGN>d-)2l_n5ZVbN&TW;E4@Gs< zOH5;we(@q=x@4ci_Xth@aerf!LZsjtN!rEY&9eCm*3ujB!5cEcghkS$f$j#cD+eOdPsZYQyW0qgyF!Q1iSFDh1U_r2G3j z&gT~v?j;Gn{OSC;tzCwXQRgl$yxkjEPBy!Jua(lYqcgaCTjUFEJOKP^8!zz^zTK(A z=rUQgXi3`UM78F`rl2xzl~y;D3Qf0GIEKDov&WC8NFPu9f6gr25v>FPh(JIwpFM`Z ze(Cz}ZHCX8-p}0E$=Tsw+N2j6&`vlDZtvb5CJk5`v!iS<@Wf-_Bee&tY|GWPu(c$_ zBXKnCwUOPTx-PP6Nim7k5AgU#vp7=E-c_~$0LOV+-| zY|m_4%d2mCTCTQgj(X|cORSvaX5@J{Ib^aHHM^ADC{3;bhURnrin0AK;!Zv?9B7gS zZ1bFLY_}^Z)kr78dq2#03~`IgBv$em9ff{2Y)M~+YJ3Imn-TAiSX!_uPc?7AZ7?!% zvA_6X){h6L-Ez8HC_s(L7$51MWUWQ~BP{_nT-4(Kbas_taV6U}!QEX01a}&DcXto& z?oJ@MGzsqR5IhO40fM``OK^7{Gjr#1FK;sQzE}K#5B6GTANo{vSM9x4d`(TwxOOu8 zw6c;^an@e^iW8GDDJV2G&bI+0C7nog#O~}BZ(NH6g0NuGeq~}bRzxjmK>CP6`D}f& z%??qO(X4k^V23lcMHQ&d$W?QPb6>Ir8y$~P*Z%spWN=@{&wC=9p9Rc-KD4ht#O8UG zNV96JSt5nkBFj=)O4L4QGg#_adxcJ(V7WMa#GfkbxtzXyjq+&E+kMC^aCSxqpiKuTYXaWezU&wkxyBa4bJj` zx#@7WnKIcVSwxPWOfI#9d__K6q={@5MI6)d9gT7@7k7M`zSU;;=PM)L_wQc68{zNA zL7~}!(IP<=m?6SDJp{zq12(t7d=v88i%oex<3-JCtEsnGL8^UIM;?O(-Lhntt1wU{ zP7%_dlLQvODqjQ9rl7#izD9?&{OL&S9v+=%K7&_F6}U`{KaogZ_y*XYe)c0XX%7~@ zOF9m})Q;jSNo+*1k4c456G;GOpn7o*1}tR=51tHkyz2l5p8`JV*9q+TSrT@2KF}OW zKr9^M?OcvaanGltOaPI|?1S!Q(?BDKb^e}tOFl}!3E7uV?6tGc3&`nih{4~3hFc^@aBgNYi?Mqr%Z;J!FBA99|Vq(_+5OiLuzS$oM zjI0ey|0J#iG`mllOy&ZZ=71t5gJU{5TiMJ_&hsHz*)C2_at==|PA;$x&mtR1?$8Ut z&NA0H%t~L4Rbo#;IdK|Q%K#zASkpG5x&7CP89M@l5ZXH3Yrh5$Adf8-q<^-#qw2(P zvfM_g*}D8HOv8f~c{^|)QQ7;Gb5GYaR|cMj$2-%OS$}uCO;zx{v8Wga}D;W5eg4jZs{IK*vRM3EGF+C0*)!Yej`=~ek)8=4*8&|K0ZFq5Hc6M@21m!D4@k8$z zH1$~`q=vmPjcYLLw`xl4NVp{Y;}CZSY9USY^7e?}q)%*O1M0%oJDsm1EZ8a3IUNmt zR_IV2Dk@8oH{Lwa;Jiqd1ypvK&K0o5NfS*+NbszBhJc-o{a2TS=`TO zw5d>lNq*EwrQ4lkJ^&C7Vh>5+>)Y=L_=6b!?98$h}N_`0X=ld6#P?E z%6w?~_7zIA^xACvtpY;}Z`3Q}E12f|l@kBH#ZaxCE6!#jiXl$N6iE>O&AJ)-Lj(lq z-eKU=u^Fnb@Gv{2A0!k&42nFUE(dMZ*-NW~5Ef^%IS_cb+@L%xzxjqc>A*okE~kob z=9rm8$z85f9A-JU>&ndOIu?o!tt&D3M+QUUWKBEj z!$li~?GvzHP9Cs}e8+4%vxVH2dBCkx--_%wxF=;rI zFvu>bZ1wm=yr=01Fh!Mnt7JAvGq-w!S}Ip^xOj^ZpXuDJuoCekqe zbZP|N3gh9#U`5(*Id4m#A^X78>r}wHTcvns6Vhkq3Ub35NV6cjyV z8Zf<|R$FUzu`$ZG=E(26uzPxk-BjTkI7*w!8~W<J~9aWm`z>|7EWcp%=48~?vNu5Ny^iN~~X07!{5}n$k^&X{X>`goz;eMuF zGd0vVc|-=rpKVvEpv&&cFL1ga4muWSm-Mls8%nxGuQMtR9E=$^B=4&%CJ|smlZx?F z#e@ys2ey;k!-XjM#2x*BAI$ApBIT}1Ns+zRZzlnbxVZKKKZ26$H0DS+Fjl10*CFnO zkBjrHYAA7dL@$SvP>xxdp{LPyu6^xXzUN5wYD=4JyLYY1{S7;ta(qvSdh&PhaMLF5 zDN-UfKz(9Qu1Em$c*f2(2Z=Wv3#9U>KJ$dI@m`NDs%x*ZE|9aR3R=i&X|fYe+8)zs zLt|1Tf`QX9^Xuzj|efEc{djRl8k5k>kEC9(xK^*AIcfXD+jT^t}BccFN- z!4Y!`St72-+98qQtjV;%w1N?@bYpcOhy3BQgO}x4}lFK5Y z{M(!aOs)0TBG-K|QiwYzJ}bw~i3I3hPEEggO$7;`ila zhWPBnWMu;^MwL4sCsb0Ua?l<@HdR>;5CG)$82YmuE|YK-l-BFj(mMzCMW|>K+ z0dwUQK9&#-&(5RJ!fhOXbFCU4j+@>c-D6BTnAsrgO1^BMoqfTNzsq5n1Sok0ubu^k z{*c-Po_k-!Sh|PZVeFSJx`Zw|!VVHRT{rJ~&d!RyY+M5wmcSQ0$an@J2{UEU-D!a( zM#v+jg@1%auynpQt@56qGUbD;Bituv-5e)4`}nl3v>6E9yq0!RcI1Uv*~tkbTe zbVCQA!b&6cczXj#oam0=;R(8E57q&qGPcSt?rsFt(yh0c?5aM?x~EmuwQ#;WUh<*% z`)V}^ub`pJTt-{G78&#DhY$tE5g(5%Uf`OD?Cnh8V(0~VL~$rbhR1928_Zopw*&Xo zv&f9^u&_B16rChvc>y|5rv)cXB3U2ojrruT>O%992ExCWeVsnc<-Xj(J>rau= zA`NEUg54+Np=87LBI>eQY$(<~*~^MP?>?y1rkZv+Pe)J>2fwmuh1lDC?eg)kNj(ay zOcZZG{MZ{xZG{1K8#L7$%-Ssx^0Ht!G)f{fx`Vt6361&QCoZJ8V5|h7ek5M-#+!3v4@l$?-;SYJ zu8Q-+t2#k?tw+CiNS{ScXdYrb(Xy4(yXcRpd+XE*T7B27i5vYY_hKou*?JpBb{(wtg@6klyt*i2zGZ$JOmu!Ce7(Y! z90Z2%=9EY1oV4K0#07cFd7HfJtwCMg`v_Ou^Vb*}hpm=8{#AahC!BVL{B3jUin+?b zoR;sr#Ftccv+zsc4fx*$!XmTrz%9eOay0^#(C;LRtmz*Uj$3SEo5S#xgA2Og88<{n z5^Hc~vy&Okx3(OFQlQv%FT%P4^M-1js^6K!MoJtq()3^>79Xz_D);&D7gOE2U7L(k zx^!6Al^0j7hqKSVQ>W$fzZaQs(5Yyt)ht82NKo!8(`!+sWrMionQ%~I0E|!&BnZ4F z$JHHVIg2rH__}K*ioJ!i(Z)FANSw(NED~g5wuV9-aQFjS?9j*h`KTfLiBm7& z$}Lv6+{^>EZl-lh>#O7F5B`ukB(jaqM@$>_j=S+&)v#h`J6p_0v{ypO&VC^;O8br=EV1+Ng6F5bto1)91tSYM^a^3@wfL zqw~fba4T%6Q+~2%!MFTFTOmK6h!f_Pbl#;>c;2qq7WbgFJh4i2F06UQfd$9*)xKQ^ zdk2{ZPRRzw(kFX&IU*1djdygcW@o26UWWr$6b+cwx6M5VO?`5`_emGDqR3jgR%oW& zZ1RHqJs%dR$6~*#a za_eB!XrO*?NN}DIPtq?+^X`*fzY@O%TQB6g{((xk<%TL1|HgNhZkBL~5@Dc2>34;% zkSEl+v5PS4$SNW|kQ)jGcPJP=-Rs9Ck&mzcd&kBF#4Z%#80v;=wA@+HiG5aQ`dGWSqzFN?Q$)bYs+R( zOlolA^=;#p;U@@Umo4QGb_LuN=yKoyZ~KAR@dQIagzX&y=hksjipt#lWXOpcqI6i% z3?2icx20h`;&ikqPjkpxiUF09I(nGQMqI^M5X-!xXG;;Dqryrsan|HLspe?!bg{81 z@jfawc3dKP+tQ57wpr}j}`o)=*7^Ayk9Pin0U<8 ziwAZ!b(oy^evsNi3w++D=^QWw0p^kxd#QJg7S%MYzNU$JGXZ%7WeYD*`rU$0bwSAV z;Vm}N_=&eUk8yGGqDe9eYh3?RuQ7riyvoRuop2)qP0nj%Xyc?<^N-aNHmT=Jwy2dd zOnEmHc_zD)6+Elrv^cFEbU3)Uf!(6mDHTZ!MpdBLJ~gj=gvv(W&n9#cPux4HQ+Z$f}<80kjs zlPnvg-Fq}?0!^Uq*|mL$vUJ^{oCz(Jdu@zGoITck#PkBjPxktpk^~Nw&UqazVFxiI zZoiyTx|}&^AQG#P5``vJws7?78Ql3UI5G2@xSVcO}awIE`dB`aWI#ZTr6St!jap{gkFQ*v^23Uv1y<$hs6J^w@ zVv=2vkQ^Eh-m{6Dw{k%iJ9~Y55&5OD`+lw7pW{dtFSPFyp#z0f21 zeTD2->p-dSQDgCl6%HjO3qdac>eu45<$0IW2^AY}A$^sa>G0Q$jfIJEUgZjP{ef(7jPs~3}l|?J{q%7j{h*zHmjvbmS zEXtfvVGO$YeTT9wrLk+;un%pD?9X`GSK8B32~A{^t%_3ml`VLj}&OTjx3?PIBdk_P%*O$}?_k3SZu*13#6t9E7RQuORFd{ad4O@i9RVb$D>ZvHE}#oN-0S zfxYl1b&VL_=Ap@#Jk6o?N>pBhlhocgu@{j!vPtU2rYU%J{$K4tjn%e zPK6o?!7coe>O7I|{iVssL(6zQ+<^eMcvku$f;Pvq(-n7*3xh5l=G)_T_Q}?t-I6V* zV79LYURPS-V}_;89?94YUtrebpZ0dHl@7#Q`md8?ZMap&^1e$hD_2$X)}_fCx?TNN zw|m+iz?(;Vb~?hUU64AsvLTh2)#%fd+5bq{=$1I@SuHNw>yQ=U`Xr3Q4sI48;B{Oh zVQpon`R#*e!tis=t9-+R0;Y3+HPN9z&q@7Nex8-lpy4o1rn|TF+QCRz9OoV_1T)2H$N5+SDFjG;9OeA%FHgH4?@@H4-xXeaXVpGG*>0Zfs>| z?C`u;MaC{Dj`5>)Kc>Xz=YmrW`@cWQn~oO*du`wAMntkE5;lld=R8^w%b)Bt3cdpF z1+vtp#YZPh|C_udPs7g9{_tQ;1Bd6}%+g~^%EQCyDdu|-?y)RJG#&l0kB7s%)VDMq40MrgQVV*Js&3UHy_Cfv4-bN|u`%?o`U%U^Xg08se3jxwvvcv3_V{n4{ zo|~@`y$_ON^)v;V`afzra!RA~7TTF4!~II)ez_kRad8Ket4~&bub6M+aMPZ*LxO!Pg~MO+(~thDGQ^9a zxJ`fi2wqM1TN^c|sc!ag-H4R%Arom|pHww_^zcsKu#B7|bFZ8$A6MWpd=mXxW>$s| zJdPiwq>KT-h;d3=wPK8@#=OcMaL-*s5IiT^DfT@PTpy1eCdvLPqA+P)P@)QVXW=X4$uX$0R=B*LuN)SjH?YIo-mJr7)o@icq4Orh7J=L_FeKr`CPhMF zOj2(ZI=DL_Gw}@C!F^NO0&MtIi#@#@4a8gqgIhP-l+>uozjfw4j5{+mEFoz&S9ZIAY=Y;?L{_Vqw zOL5$jdBHIGt5?*2|6nK?>pK{lJwFp)G+@1yH{u>M`ro=T)k(ZTG=hQAYX704jq=#q0o@m@~s1CTg6HIH8Yn3ql#Fo)J@%64&Eaz-A>R> z)ls#5JjPbg7nNIOgquobI5aqC;ao;$ty|VAx5-}1kz$gISoR&wf%>Q90Q@C%gc&pm zKDDlFVAEVtd4G*dFn-jmMR@c#6PalVd9TOf1)_!_=&RAc`cXW+UmL!R4mWieYkilW??uguii5igaR1D$>2M!`-rgOjTp=^iYK}!x7KKs zaSE3=0EU#pXOZ7_(O1m&p3UTo* zr`I9T4Gbu^4fARS!_;XEv=qE&(D5r5{N+VF*N(pcAjoD40cprz>hY-In4t!HT-JI+ zCNe6tgt8uLL*vZeYERlC*r3q#C%eufpM$GMvOv%w^{0H?CQGh}H>u!+p6;Wn3LJs% zDNM~m8z7tf@aAMh!ykz58k@sh=ZGt z5*!oyq$4ywacq<@6si|+-Ny=Q?Vl$`fLob{LoIMXVxKt#ByWfA21eV6o7JUWy`S_a z)KX!d2@99;LP&rLV_(2ItXZRmQ0*cn4( zP6$1KbNs>^phK!sV55{)FY~2Y=8K}@m!~2^G(MNisaMX`%j_NtnZah?g|j(KK4sv3 z%nng-LWdJG1@jB*t@)WR!^pG;M#3?b>WvrVF(t}{9KMHRvYDCjK;YWV6x@auM8Ef{wnA;%Ik2*-HE?#`gkZgZw%>q;nf2`%~CelSMpe_Tu7yS`On>tZC z9_|A&wT)}px3qMurv3IX`&Hu~6>F2Z@2Cz=itVFH)spr-P}!D6JzjCtX9MsMamn@t zwY>n%ddnDX<2m?dtKqeAi&(&eu>EC@@G(*ssZ>Ug{2;1sMC{tME2|-51jh>9Kz}Zo z`M?GxeL-v~2J)Yvu~FX8?^usa{jW8;9#lqbCJo94!j90}zGw({RGO2_Z6{e1DZjt1 zm}VB>3>QViwi6iAV5(^RqYW56xE-w$#}so zs0wJ_N`+5YVlFpaIf6zRm0d9r8m%gDi((f_ zwe3ZaPSp|-Hg^--#a;$E`*4RAz~QlzneNA7P6GjW$IVeKdf&$o@b-BnF*Hh;9t2Q7 zU>U#}-Yl9O?jZsit*X|Vtk8k@q+$-AI5$3WZkWeAV_#JGt8@+k$kJ6!Dz}Mz-7!klJp-&tXEq?Ck&R{zX|pMqt~k5a z*Z-(TS|jBey%UoM2m~uFV{1)94HCL`1?&<#Bj(rhcqU$U<8mT&z0GN9_ICd+hE;=9}%ch{?>LiQtPHt|3o-TUdf z2o72-{Xv<155@Upn;<$C6#90elmM=g2`)V&#ER_sUX=YPK2f7;_f;|W^n4GPkEY8} z{s1N`acY+Zq&r?-@h`VI>XfE@d=CgdULjHNUQYc6oTL&;HDim`-E6Z9PH8LsH_*Js zN8wd!(3(1|r~DRidNZNUH%0g7K~Ow);}Djm!if9Jn1x@TS|Rh-CDU(bvx#Q0rJI;e zRISDq60f9tFk66@vLA#l@b7^#ThvADAVCKXW3hsiiV6!ZbRpe0x5=D!?BBAzKT87o zjH4-I^1jPpl?nDyG3_Yz8if&U(6EtD8Ubn5*3sIUV^rJHKI(LdOZ^0^a`$C1iBUXd zR?6=yVzx3^w+`l#FsA>JFGxTwx`82NVx*);P$)6Ti!v`7Id%6MD%9xCS{mv;HHPsq(rYYnL@WqRt zEI8&qCL1;@V*M1ef(*zLnd>R^R?6Dp;pi4FqtT;}KR8M8Sgq`H7FVW^Iu*(($B49< zYTLFZ>5=w6)iU?d^a@BB{esG6{U!N4ikkfub^jE2g+JZ&ea zEIlzTX+Wh>R%t^#d3Amjbx9;h+MxfVd@oc=oq;aLJr}H$> ziOTBg_^Y;AuPF3re#3al)FfTpFb)7>dBEWlk??#{_f?&rnyrI2Pz$}=E5WdOgNu6*c1iod@Ou2qv zz8)Tbgu=uPpGgtGP5ISe*g5u~jM0{3o-fGCbl7Uhij1m-P3O9@kchF3QjAV_gb-MP zdeS57(Z$^&Oq%8MzFt`2K7TK|Z)R4*+q=FkIYFg5g|kW*pHZ)uAa2H6wm)6{Y=Nn8mZyidtW%oieu5`^~4x1o4fO5yKe(2mBOFpo5TnDU0n_p8K+ zdvX9Y@Yk-v`TAbFuOms$A!IiW5*|UG#3V+4KQs4KVDP4oNG0WvDuH0EE_W7xY4?Dn>W;+l z6Xqg^eK{lkd;NP~50uZR5S7P1dr<4UrrStg6;rJ(<{ID5)^V_fN?jk3jkJmBqPR#5 zz4?lmU0(K)2{V4LmnUMuIz9Sx8>?+k`tqAHG@#oo_v;vvUBxNznA)A-TG~*q+8jNk z%kiX*<|a29J%knAwhvb(trMiM&W4ont^^ zBnb%GUBzX|u4~C4kH6QE9t2hKYxH#Z^$3Zdgj7X$7sSG?KV|{T4}oQO4=jj>%W%m6zp$xPYmQ#)`!-w z0)tl%gH?!n6K_b}qM`1mTN>~|W%|QJErd)h>Q6huR}|f-bT< zu#{r}uW#GdoL6&S%wjjIS44PcE2(0LR32Kqv{Ww)j^rEMK@aA0V#@OT zhj`_({0E?Ndj3N?6K?VirLMo65?=?Oyw>#zlFwku6{D2RcfQq(9}C$KkJ$8MY6l%6 zSELVt4!!6e zBCDh~2dIw^-QY49uI|z3HaI~qvDF8B$H#-syfcV|u5TK~M=Q!(f*(hbS6kvl9d3$&nPop=QNha`y|BrXfno>gd*0Vv6)~oH$}&bA)?!9QzF}%Y+3l_e+Jf(aT}h zxSQCBOA55|`7QHvHzby+Ate~JWyVgTA2)U|#nEY@N%xw91QsyDfy4B{Z^Q&{@NUFj z4;fbJy5J;ijO84%zXed9Vmo*G8OSN}mhhRL-mT^;Gby7X^fcmeE2!B)9ex3aL6F?9 z=45D&bj1SGQL7J?1T8D@u*u!EA;YrqV>-8*7d>47*42gso!Qd136ig*oIcWzr5)s< z&WG;@^b>f2s~Hfw`o@)9+Mk1JU%zP{Y(ZQj;tsN1zP-W-+SaCD<^o%Hg>DdoDiec_ z>89+tG^-%5!JQX?Hp8nQvgADQeG@LeVYaKSs4J639*#bI?B{|aq|__n*gi_-b! zllIcMKKZ4gw3>SC?rPLpT6a-tF_O^!%)@HWmQMVij45wN$IW(>`F zZ7_9Zy?~aYUM}CtZ&a=itBu8t*Wuod%Ijwdl4F^rDZBWw@E@woi-)`iv13^Ur}%J^ zsG%AJuIIfGGu^1{zkWPxLJSkz?O#dq-gcF+l;`Zr^%QeeI?#vy=AKBtXmhH(9pegy zZiBfi!sUOrDoYS;rd4!?AA9w~NHH~cZ!@gOy(q1%zFo1-e-r|Sa%t;l|Gk}JRYZk$ zs%x~nBKc;8>_tv*n)EUDV%`@v6XVu$lyEW64iag6{%BQB@t<&`yh3LoLQu=tWC^C` zx2B0U2&e*l2AtQ7P0JiLsGd4-gAG{zQGSe`zNh_k$z`z5Cfrjp8Zb5et&ucg84;y3r3%$n z9OUrF#QbM&6U1W)F!NF&C77wb%nhnK(K6D_6J!1|k`3cpmvs+CcM9WkZ%|4?5R^%Q zg{VNQZJW0$t+!q@Y&!u*ARn#<9AJffcw8Hl{fk=DRGJxZ>oOFfc?HvKmRAVb-hdJo zEoG_shBWhKnX&SOd8-!tRR2(OcgXBbfe7ZP*_+q1BY?mDj?A(^c&<`1FLMIUCKi1| zOgS?CIafImYWt@rb3=*J-UTDyX7Rn_juLIU$l^Uze@U{^!RPbwVmaIWkMos#HiE2ybmrhy^xrhcBgA>1mO0@;{=+Y?@8sW}zWv?p@lVRX_MLnVnEoT+UoMotj(Xb4`PcX@ z$A|xjdUmD!b@Xq(lz)uhqG_IlKmT;T{4?76UoMru#(485#P5mf{SxEZh4Alg+kc~_ z{}S!l@Zs;!e)F;XWBiui{4de|?P~e!G~fP-^n03^PkYOMeXITj^>3HUUnBnJbNR>k z?cy~43GolD>%YtPH{Z)=z~o;7{#!rq@4%jffBpk(>Yu^>5Iy}n$p5}RoF|d*zrKb4 z7D)R$Fx)>c@AvHu`StsEE}AcyUYa&OGkHH9P5gEK zf5r6Q7LG4jUYZR)vrt3+e^~y*dhjLHOP{=Fs=22Y(f@Nof9Tx31b=A=_6#lu_s`&e zZ4dU6glB9V?0>-idmDw9L@$j6o{0=` z{(na{PlZ_Dimp63EY7R!@uPKjiZV*WU>uzodJqKKo3kNA`cD`)e)Qmqagh zLZ68UDSt)u??v&~s-Z7wUW)iV)9gI?jQ#cP`+d3meTH~G_9^cAKfj`yly?RCV^hNcw(q%gQ_S63W`wLpq diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/lib/util-java.jar b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/lib/util-java.jar deleted file mode 100644 index 6b5d95f809264fc39b70a46646976290b3a243f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213058 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

k8iVsVRER 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 Zd - - - - - - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-plugin-package.properties b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-plugin-package.properties deleted file mode 100644 index 34672657..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-plugin-package.properties +++ /dev/null @@ -1,15 +0,0 @@ -name=Portos Mapit Plugin -module-group-id=liferay -module-incremental-version=1 -tags= -short-description= -change-log= -page-url=http://www.liferay.com -author=Liferay, Inc. -licenses=LGPL -portal-dependency-jars=\ - jstl-api.jar,\ - jstl-impl.jar -portal-dependency-tlds=c.tld -long-description= -liferay-versions=6.2.0+ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-portlet.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-portlet.xml deleted file mode 100644 index 950a1514..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/liferay-portlet.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - 1 - /icon.png - /css/main.css - - /js/main.js - - 1-portlet - - - administrator - Administrator - - - guest - Guest - - - power-user - Power User - - - user - User - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/portlet.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/portlet.xml deleted file mode 100644 index 3d86dc0f..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/portlet.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - 1 - Fascicolo Map - - it.tref.liferay.portos.plugin.portlet.FascicoloMapPortlet - - - view-template - /html/fascicolomap/view.jsp - - 0 - - text/html - view - - - Fascicolo Map - 1 - - - - administrator - - - guest - - - power-user - - - user - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/content/Language.properties b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/content/Language.properties deleted file mode 100644 index 81b41bad..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/content/Language.properties +++ /dev/null @@ -1,2 +0,0 @@ -fascicolo = it.tref.liferay.portos.fascicolofe -comuni = Comuni Layer \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/FascicoloPlugin.java b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/FascicoloPlugin.java deleted file mode 100644 index 6a74fc7a..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/FascicoloPlugin.java +++ /dev/null @@ -1,53 +0,0 @@ -package it.tref.liferay.portos.plugin; - -import java.util.Set; - -import it.tref.liferay.mapit.plugin.MapItPlugin; -import it.tref.liferay.mapit.plugin.action.MapItPluginAction; -import it.tref.liferay.mapit.plugin.event.MapItPluginEvent; - -public class FascicoloPlugin implements MapItPlugin{ - - @Override - public String getBottomJspPage() { - // TODO Auto-generated method stub - return null; - } - - @Override - public Set> getMapItPluginActions() { - // TODO Auto-generated method stub - return null; - } - - @Override - public Set> getMapItPluginEvents() { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getPortalConfigurationPortletId() { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getPortletConfigurationJsp() { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getSiteConfigurationPortletId() { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getTopJspPage() { - return "/html/plugin/top.jsp"; - } - - -} diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/portlet/FascicoloMapPortlet.java b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/portlet/FascicoloMapPortlet.java deleted file mode 100644 index c1b91cfb..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/plugin/portlet/FascicoloMapPortlet.java +++ /dev/null @@ -1,11 +0,0 @@ -package it.tref.liferay.portos.plugin.portlet; - -import com.liferay.util.bridges.mvc.MVCPortlet; - -/** - * Portlet implementation class FascicoloMapPortlet - */ -public class FascicoloMapPortlet extends MVCPortlet { - - -} diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/portlet.properties b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/portlet.properties deleted file mode 100644 index 0300b575..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/src/portlet.properties +++ /dev/null @@ -1,7 +0,0 @@ -## -## MapIt -## - -mapit.plugin=it.tref.liferay.portos.plugin.FascicoloPlugin - -mapit.version = 6.2.0.101+ \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/aui.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/aui.tld deleted file mode 100644 index 1eeac884..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/aui.tld +++ /dev/null @@ -1,2568 +0,0 @@ - - - - aui:.]]> - 1.0 - aui - http://alloy.liferay.com/tld/aui - - - button-item - com.liferay.taglib.aui.ButtonItemTag - JSP - - ]]> - activeState - false - true - boolean - - - ]]> - boundingBox - false - true - java.lang.String - - - ]]> - classNames - false - true - java.lang.Object - - - ]]> - contentBox - false - true - java.lang.String - - - boundingBox.]]> - cssClass - false - true - java.lang.String - - - ]]> - defaultState - false - true - boolean - - - ]]> - depth - false - true - java.lang.Object - - - ]]> - destroyed - false - true - boolean - - - ]]> - disabled - false - true - boolean - - - ]]> - focused - false - true - boolean - - - {fn: // The function to execute - context: // The context to execute the function in - type: // The type of event to listen for (defaults to "click") - }]]> - handler - false - true - java.lang.Object - - - ]]> - height - false - true - java.lang.Object - - - boundingBox when - visible is set to - false.]]> - hideClass - false - true - java.lang.String - - - ]]> - hoverState - false - true - boolean - - - ]]> - icon - false - true - java.lang.String - - - aui-button-icon.]]> - iconNode - false - true - java.lang.String - - - ]]> - buttonitemId - false - true - java.lang.String - - - ]]> - index - false - true - java.lang.Object - - - ]]> - initialized - false - true - boolean - - - ]]> - label - false - true - java.lang.String - - - aui-button-label.]]> - labelNode - false - true - java.lang.String - - - ]]> - buttonitemParent - false - true - java.lang.Object - - - true the render phase will be autimatically invoked - preventing the .render() manual call.]]> - render - false - true - java.lang.Object - - - ]]> - rendered - false - true - boolean - - - ]]> - root - false - true - java.lang.Object - - - -

0
(Default) Not selected
-
1
Fully selected
-
2
Partially selected
- ]]> - selected - false - true - java.lang.Object - - - ]]> - srcNode - false - true - java.lang.String - - - ]]> - strings - false - true - java.lang.Object - - - ]]> - tabIndex - false - true - java.lang.Object - - - ]]> - title - false - true - java.lang.String - - - ]]> - type - false - true - java.lang.String - - - ]]> - useARIA - false - true - boolean - - - ]]> - visible - false - true - boolean - - - ]]> - width - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterActiveStateChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterBoundingBoxChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterClassNamesChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterContentBoxChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterCssClassChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterDefaultStateChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterDepthChange - false - true - java.lang.Object - - - - Lifecycle event for the destroy phase, - fired prior to destruction. Invoking the preventDefault - method on the event object provided to subscribers will - prevent destruction from proceeding. -

-

- Subscribers to the "after" moment of this event, will be notified - after destruction is complete (and as a result cannot prevent - destruction). -

]]>
- afterDestroy - false - true - java.lang.Object -
- - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterDestroyedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterDisabledChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterFocusedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterHandlerChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterHeightChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterHideClassChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterHoverStateChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterIconChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterIconNodeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterIdChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterIndexChange - false - true - java.lang.Object - - - - Lifecycle event for the init phase, fired prior to initialization. - Invoking the preventDefault() method on the event object provided - to subscribers will prevent initialization from occuring. -

-

- Subscribers to the "after" momemt of this event, will be notified - after initialization of the object is complete (and therefore - cannot prevent initialization). -

]]>
- afterInit - false - true - java.lang.Object -
- - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterInitializedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterLabelChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterLabelNodeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterParentChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterRenderChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterRenderedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterRootChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterSelectedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterSrcNodeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterStringsChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterTabIndexChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterTitleChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterTypeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterUseARIAChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterVisibleChange - false - true - java.lang.Object - - - ]]> - afterContentUpdate - false - true - java.lang.Object - - - - Subscribers to the "on" moment of this event, will be notified - before the widget is rendered. -

-

- Subscribers to the "after" moment of this event, will be notified - after rendering is complete. -

]]>
- afterRender - false - true - java.lang.Object -
- - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - afterWidthChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onActiveStateChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onBoundingBoxChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onClassNamesChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onContentBoxChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onCssClassChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onDefaultStateChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onDepthChange - false - true - java.lang.Object - - - - Lifecycle event for the destroy phase, - fired prior to destruction. Invoking the preventDefault - method on the event object provided to subscribers will - prevent destruction from proceeding. -

-

- Subscribers to the "after" moment of this event, will be notified - after destruction is complete (and as a result cannot prevent - destruction). -

]]>
- onDestroy - false - true - java.lang.Object -
- - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onDestroyedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onDisabledChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onFocusedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onHandlerChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onHeightChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onHideClassChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onHoverStateChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onIconChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onIconNodeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onIdChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onIndexChange - false - true - java.lang.Object - - - - Lifecycle event for the init phase, fired prior to initialization. - Invoking the preventDefault() method on the event object provided - to subscribers will prevent initialization from occuring. -

-

- Subscribers to the "after" momemt of this event, will be notified - after initialization of the object is complete (and therefore - cannot prevent initialization). -

]]>
- onInit - false - true - java.lang.Object -
- - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onInitializedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onLabelChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onLabelNodeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onParentChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onRenderChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onRenderedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onRootChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onSelectedChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onSrcNodeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onStringsChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onTabIndexChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onTitleChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onTypeChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onUseARIAChange - false - true - java.lang.Object - - - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onVisibleChange - false - true - java.lang.Object - - - ]]> - onContentUpdate - false - true - java.lang.Object - - - - Subscribers to the "on" moment of this event, will be notified - before the widget is rendered. -

-

- Subscribers to the "after" moment of this event, will be notified - after rendering is complete. -

]]>
- onRender - false - true - java.lang.Object -
- - on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.]]> - onWidthChange - false - true - java.lang.Object - - true - - - - a - com.liferay.taglib.aui.ATag - JSP - - <p> tag could be used for something other than a paragraph.]]> - ariaRole - false - true - java.lang.String - - - - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.util.Map - - - - href - true - true - java.lang.String - - - - id - false - true - java.lang.String - - - - label - false - true - java.lang.String - - - - lang - false - true - java.lang.String - - - - onClick - false - true - java.lang.String - - - self. Possible values are blank, self, parent, top, and a unique frame's name.]]> - target - false - true - java.lang.String - - - - title - false - true - java.lang.String - - true - - - button - com.liferay.taglib.aui.ButtonTag - JSP - - primary attribute.]]> - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.lang.Object - - - false.]]> - disabled - false - true - boolean - - - - href - false - true - java.lang.String - - - here.]]> - icon - false - true - java.lang.String - - - left.]]> - iconAlign - false - true - java.lang.String - - - - name - false - true - java.lang.String - - - - onClick - false - true - java.lang.String - - - type attribute is set to submit, this value is set to true. For all other types, the value is set to false by default.]]> - primary - false - true - java.lang.Object - - - button, submit, cancel and reset. The default value is button.]]> - type - false - true - java.lang.String - - - href location when a user clicks the button. The default value is false.]]> - useDialog - false - true - boolean - - - value - false - true - java.lang.String - - true - - - <div> tag to wrap <aui:button> components and offer additional styling.]]> - button-row - com.liferay.taglib.aui.ButtonRowTag - JSP - - - cssClass - false - true - java.lang.String - - - - id - false - true - java.lang.String - - true - - - <aui:row> component.]]> - col - com.liferay.taglib.aui.ColTag - JSP - - - cssClass - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - offset - false - true - int - - - offsetWidth - false - true - int - - - 12. For example, a span of 4 would result in a column width 4/12 (or 1/3) of the total width of the containing row.]]> - span - false - true - int - - - span attribute. The width is then converted to a span expressed as ((width/100) x 12), rounded to the nearest whole number. For example, a width of 33 would be converted to 3.96, which would be rounded up to a span value of 4.]]> - width - false - true - int - - true - - - aui:col.]]> - column - com.liferay.taglib.aui.ColumnTag - JSP - - 20 would be 20%. The default value is 0.]]> - columnWidth - false - true - int - - - - cssClass - false - true - java.lang.String - - - false.]]> - first - false - true - boolean - - - - id - false - true - java.lang.String - - - false.]]> - last - false - true - boolean - - true - - - component - com.liferay.taglib.aui.ComponentTag - JSP - - defineVar - false - true - boolean - - - excludeAttributes - false - true - java.lang.String - - - javaScriptAttributes - false - true - java.lang.String - - - module - false - true - java.lang.String - - - name - false - true - java.lang.String - - - options - false - true - java.util.Map - - - scriptPosition - false - true - java.lang.String - - - tagPageContext - true - true - javax.servlet.jsp.JspContext - - - useJavaScript - false - true - java.io.Serializable - - - var - false - true - java.lang.String - - true - - - <div> tag to wrap <aui:row> components and offer additional styling.]]> - container - com.liferay.taglib.aui.ContainerTag - JSP - - - cssClass - false - true - java.lang.String - - - true.]]> - fluid - false - true - boolean - - - - id - false - true - java.lang.String - - true - - - <div> tag to wrap form fields and offer additional styling.]]> - field-wrapper - com.liferay.taglib.aui.FieldWrapperTag - JSP - - - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.lang.Object - - - false.]]> - first - false - true - boolean - - - - helpMessage - false - true - java.lang.String - - - false.]]> - inlineField - false - true - boolean - - - right and left.]]> - inlineLabel - false - true - java.lang.String - - - - label - false - true - java.lang.String - - - false.]]> - last - false - true - boolean - - - - name - false - true - java.lang.String - - - - required - false - true - boolean - - - - <div> tag to group related form elements and offer additional styling.]]> - fieldset - com.liferay.taglib.aui.FieldsetTag - JSP - - - column - false - true - boolean - - - - cssClass - false - true - java.lang.String - - - - helpMessage - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - - label - false - true - java.lang.String - - true - - - - form - com.liferay.taglib.aui.FormTag - JSP - - - action - false - true - java.lang.String - - - - cssClass - false - true - java.lang.String - - - true.]]> - escapeXml - false - true - boolean - - - false.]]> - inlineLabels - false - true - boolean - - - post. Possible values are get and post.]]> - method - false - true - java.lang.String - - - fm.]]> - name - false - true - java.lang.String - - - - onSubmit - false - true - java.lang.String - - - - portletNamespace - false - true - java.lang.String - - - true.]]> - useNamespace - false - true - boolean - - true - - - - icon - com.liferay.taglib.aui.IconTag - JSP - - image attribute.]]> - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.util.Map - - - - id - false - true - java.lang.String - - - icon-edit CSS class by setting the value edit. If an icon image is referenced for cssClass and image, both icons are shown in the component.]]> - image - false - true - java.lang.String - - - - label - false - true - java.lang.String - - - self. Possible values are blank, self, parent, top, and a unique frame's name.]]> - target - false - true - java.lang.String - - - - url - false - true - java.lang.String - - true - - - - input - com.liferay.taglib.aui.InputTag - JSP - - - autoFocus - false - true - boolean - - - - autoSize - false - true - boolean - - - - bean - false - true - java.lang.Object - - - false.]]> - changesContext - false - true - boolean - - - type is radio or checkbox.]]> - checked - false - true - boolean - - - 0.]]> - classPK - false - true - long - - - - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.lang.Object - - - dateTogglerCheckboxLabel - false - true - java.lang.String - - - - defaultLanguageId - false - true - java.lang.String - - - false.]]> - disabled - false - true - boolean - - - field - false - true - java.lang.String - - - field of the component.]]> - fieldParam - false - true - java.lang.String - - - - first - false - true - boolean - - - - formName - false - true - java.lang.String - - - - helpMessage - false - true - java.lang.String - - - input-group-addon.]]> - helpTextCssClass - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - false.]]> - ignoreRequestValue - false - true - boolean - - - false.]]> - inlineField - false - true - boolean - - - right and left.]]> - inlineLabel - false - true - java.lang.String - - - name attribute's value.]]> - label - false - true - java.lang.String - - - languageId - false - true - java.lang.String - - - - last - false - true - boolean - - - false.]]> - localized - false - true - boolean - - - type is number or range. Note that the max value is inclusive if the input's type is range.]]> - max - false - true - java.lang.Object - - - - model - false - true - java.lang.Class - - - type is number or range. Note that the min value is inclusive if the input's type is range.]]> - min - false - true - java.lang.Object - - - multiple - false - true - boolean - - - - name - true - true - java.lang.String - - - - onChange - false - true - java.lang.String - - - - onClick - false - true - java.lang.String - - - - placeholder - false - true - java.lang.String - - - - prefix - false - true - java.lang.String - - - - required - false - true - boolean - - - textarea.]]> - resizable - false - true - boolean - - - - showRequiredLabel - false - true - boolean - - - - suffix - false - true - java.lang.String - - - - title - false - true - java.lang.String - - - text, hidden, assetCategories, assetTags, textarea, timeZone, password, checkbox, radio, submit, button, color, email, number, range, resource, url, and an empty value. If an empty value or no value is set, the input's type is obtained automatically from the input component's bean.]]> - type - false - true - java.lang.String - - - true.]]> - useNamespace - false - true - boolean - - - - value - false - true - java.lang.Object - - - div that wraps the input component.]]> - wrapperCssClass - false - true - java.lang.String - - true - - - - layout - com.liferay.taglib.aui.LayoutTag - JSP - - - cssClass - false - true - java.lang.String - - true - - - - model-context - com.liferay.taglib.aui.ModelContextTag - JSP - - - bean - false - true - java.lang.Object - - - - defaultLanguageId - false - true - java.lang.String - - - - model - false - true - java.lang.Class - - - - <nav:item> components for an <aui:nav-bar> component.]]> - nav - com.liferay.taglib.aui.NavTag - JSP - - - ariaLabel - false - true - java.lang.String - - - <p> tag could be used for something other than a paragraph.]]> - ariaRole - false - true - java.lang.String - - - collapsible - false - true - boolean - - - - cssClass - false - true - java.lang.String - - - icon - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - true.]]> - useNamespace - false - true - boolean - - true - - - - nav-bar - com.liferay.taglib.aui.NavBarTag - JSP - - - cssClass - false - true - java.lang.String - - - - id - false - true - java.lang.String - - true - - - <aui:nav-bar> component.]]> - nav-bar-search - com.liferay.taglib.aui.NavBarSearchTag - JSP - - - cssClass - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - file - false - true - java.lang.String - - - - searchContainer - false - true - com.liferay.portal.kernel.dao.search.SearchContainer - - true - - - <aui:nav> component.]]> - nav-item - com.liferay.taglib.aui.NavItemTag - JSP - - href attribute.]]> - anchorCssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - anchorData - false - true - java.lang.Object - - - href attribute.]]> - anchorId - false - true - java.lang.String - - - - ariaLabel - false - true - java.lang.String - - - <p> tag could be used for something other than a paragraph.]]> - ariaRole - false - true - java.lang.String - - - - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.lang.Object - - - false.]]> - dropdown - false - true - boolean - - - - href - false - true - java.lang.Object - - - - iconCssClass - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - - label - false - true - java.lang.String - - - localizeLabel - false - true - boolean - - - false.]]> - selected - false - true - boolean - - - state - false - true - java.lang.String - - - - title - false - true - java.lang.String - - - toggle - false - true - boolean - - - href location when a user clicks the navigation item. The default value is false.]]> - useDialog - false - true - boolean - - - drop-down-menu class. The default value is true.]]> - wrapDropDownMenu - false - true - boolean - - true - - - <aui:select> component.]]> - option - com.liferay.taglib.aui.OptionTag - JSP - - - cssClass - false - true - java.lang.String - - - HashMap<"class-name", foo> would render as the attribute data-class-name = foo;.]]> - data - false - true - java.util.Map - - - false.]]> - disabled - false - true - boolean - - - - label - false - true - java.lang.Object - - - false.]]> - selected - false - true - boolean - - - text-align:right;.]]> - style - false - true - java.lang.String - - - useModelValue - false - true - boolean - - - label attribute.]]> - value - false - true - java.lang.Object - - true - - - panel - com.liferay.taglib.aui.PanelTag - JSP - - collapsed - false - true - boolean - - - collapsible - false - true - boolean - - - id - false - true - java.lang.String - - - label - false - true - java.lang.String - - - - <aui:col> components.]]> - row - com.liferay.taglib.aui.RowTag - JSP - - - cssClass - false - true - java.lang.String - - - row-fluid CSS class to the row. The default value is true. If set to false, the row CSS class is assigned.]]> - fluid - false - true - boolean - - - - id - false - true - java.lang.String - - true - - - - script - com.liferay.taglib.aui.ScriptTag - JSP - - - position - false - true - java.lang.String - - - - use - false - true - java.lang.String - - - - <aui:option> components.]]> - select - com.liferay.taglib.aui.SelectTag - JSP - - - bean - false - true - java.lang.Object - - - false.]]> - changesContext - false - true - boolean - - - - cssClass - false - true - java.lang.String - - - HashMap<"class-name", "foo"> would render as the attribute data-class-name = "foo";.]]> - data - false - true - java.util.Map - - - false.]]> - disabled - false - true - boolean - - - false.]]> - first - false - true - boolean - - - - helpMessage - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - ignoreRequestValue - false - true - boolean - - - false.]]> - inlineField - false - true - boolean - - - right and left.]]> - inlineLabel - false - true - java.lang.String - - - - label - false - true - java.lang.String - - - false.]]> - last - false - true - boolean - - - ListTypeImpl.java.]]> - listType - false - true - java.lang.String - - - listTypeFieldName - false - true - java.lang.String - - - true, the select field expands to allow for multiple selections. The default value is false.]]> - multiple - false - true - boolean - - - label attribute and takes the place of the label.]]> - name - true - true - java.lang.String - - - - onChange - false - true - java.lang.String - - - - onClick - false - true - java.lang.String - - - - prefix - false - true - java.lang.String - - - false.]]> - required - false - true - boolean - - - false.]]> - showEmptyOption - false - true - boolean - - - required attribute is set to true. The default value is false.]]> - showRequiredLabel - false - true - boolean - - - - suffix - false - true - java.lang.String - - - - title - false - true - java.lang.String - - - true.]]> - useNamespace - false - true - boolean - - true - - - - spacer - com.liferay.taglib.aui.SpacerTag - JSP - - - - translation-manager - com.liferay.taglib.aui.TranslationManagerTag - JSP - - - availableLocales - false - true - java.util.Locale[] - - - - defaultLanguageId - false - true - java.lang.String - - - editingLanguageId - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - true. If this is set to false, the translation manager will not work entirely.]]> - initialize - false - true - boolean - - - false.]]> - readOnly - false - true - boolean - - - - - validator - com.liferay.taglib.aui.ValidatorTagImpl - JSP - - true.]]> - customValidatorRequired - false - true - boolean - - - - errorMessage - false - true - java.lang.String - - - acceptFiles, alpha, alphanum, date, digits, email, equalTo, iri, max, maxLength, min, minLength, number, required, and url.]]> - name - true - true - java.lang.String - - - - - workflow-status - com.liferay.taglib.aui.WorkflowStatusTag - JSP - - - bean - false - true - java.lang.Object - - - - helpMessage - false - true - java.lang.String - - - - id - false - true - java.lang.String - - - - model - false - true - java.lang.Class - - - true.]]> - showIcon - false - true - boolean - - - true.]]> - showLabel - false - true - boolean - - - 0 (Approved), 1 (Pending), 2 (Draft), 3 (Expired), 4 (Denied), 5 (Inactive), 6 (Incomplete), 7 (Scheduled), and 8 (In-Trash). Any other value defaults to status (Any).]]> - status - false - true - java.lang.Integer - - - - statusMessage - false - true - java.lang.String - - - - version - false - true - java.lang.String - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet-ext.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet-ext.tld deleted file mode 100644 index 7c046647..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet-ext.tld +++ /dev/null @@ -1,538 +0,0 @@ - - - - - 1.0 - 1.1 - liferay-portlet - http://liferay.com/tld/portlet - - - - - actionURL - com.liferay.taglib.portlet.ActionURLTag - com.liferay.taglib.portlet.ActionURLTei - JSP - - allowEmptyParam - false - true - - - anchor - false - true - - - copyCurrentRenderParameters - false - true - - - doAsGroupId - false - true - - - doAsUserId - false - true - - - encrypt - false - true - - - escapeXml - false - true - - - name - false - true - - - plid - false - true - - - portletConfiguration - false - true - - - portletMode - false - true - - - portletName - false - true - - - refererGroupId - false - true - - - refererPlid - false - true - - - secure - false - true - - - var - false - true - - - varImpl - false - true - - - windowState - false - true - - - - icon-back - com.liferay.taglib.portletext.IconBackTag - JSP - - - icon-close - com.liferay.taglib.portletext.IconCloseTag - JSP - - - icon-configuration - com.liferay.taglib.portletext.IconConfigurationTag - JSP - - - icon-edit - com.liferay.taglib.portletext.IconEditTag - JSP - - - icon-edit-defaults - com.liferay.taglib.portletext.IconEditDefaultsTag - JSP - - - icon-edit-guest - com.liferay.taglib.portletext.IconEditGuestTag - JSP - - - icon-export-import - com.liferay.taglib.portletext.IconExportImportTag - JSP - - - icon-help - com.liferay.taglib.portletext.IconHelpTag - JSP - - - icon-maximize - com.liferay.taglib.portletext.IconMaximizeTag - JSP - - - icon-minimize - com.liferay.taglib.portletext.IconMinimizeTag - JSP - - - icon-options - com.liferay.taglib.portletext.IconOptionsTag - JSP - - - icon-portlet - com.liferay.taglib.portletext.IconPortletTag - JSP - - ariaRole - false - true - - - id - false - true - - - label - false - true - - - portlet - false - true - - - url - false - true - - - - icon-portlet-css - com.liferay.taglib.portletext.IconPortletCssTag - JSP - - - icon-print - com.liferay.taglib.portletext.IconPrintTag - JSP - - - icon-refresh - com.liferay.taglib.portletext.IconRefreshTag - JSP - - - param - com.liferay.taglib.util.ParamTag - empty - - name - true - true - - - value - true - true - - - - preview - com.liferay.taglib.portletext.PreviewTag - JSP - - portletName - true - true - - - queryString - false - true - - - showBorders - false - true - - - width - false - true - - - - - - - renderURL - com.liferay.taglib.portlet.RenderURLTag - com.liferay.taglib.portlet.RenderURLTei - JSP - - allowEmptyParam - false - true - - - anchor - false - true - - - copyCurrentRenderParameters - false - true - - - doAsGroupId - false - true - - - doAsUserId - false - true - - - encrypt - false - true - - - escapeXml - false - true - - - plid - false - true - - - portletConfiguration - false - true - - - portletMode - false - true - - - portletName - false - true - - - refererGroupId - false - true - - - refererPlid - false - true - - - secure - false - true - - - var - false - true - - - varImpl - false - true - - - windowState - false - true - - - - renderURLParams - com.liferay.taglib.portlet.RenderURLParamsTag - JSP - - varImpl - true - true - - - - - - - resourceURL - com.liferay.taglib.portlet.ResourceURLTag - com.liferay.taglib.portlet.ResourceURLTei - JSP - - anchor - false - true - - - copyCurrentRenderParameters - false - true - - - doAsGroupId - false - true - - - doAsUserId - false - true - - - encrypt - false - true - - - escapeXml - false - true - - - id - false - true - - - plid - false - true - - - portletConfiguration - false - true - - - portletMode - false - true - - - portletName - false - true - - - refererGroupId - false - true - - - refererPlid - false - true - - - secure - false - true - - - var - false - true - - - varImpl - false - true - - - windowState - false - true - - - - runtime - com.liferay.taglib.portletext.RuntimeTag - JSP - - defaultPreferences - false - true - - - portletName - true - true - - - queryString - false - true - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet.tld deleted file mode 100644 index a7cd2fdf..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-portlet.tld +++ /dev/null @@ -1,158 +0,0 @@ - - - - - 1.0 - 1.1 - portlet - http://java.sun.com/portlet - - actionURL - com.liferay.taglib.portlet.ActionURLTag - com.liferay.taglib.portlet.ActionURLTei - JSP - - copyCurrentRenderParameters - false - true - - - escapeXml - false - true - - - name - false - true - - - portletMode - false - true - - - secure - false - true - - - var - false - true - - - windowState - false - true - - - - defineObjects - com.liferay.taglib.portlet.DefineObjectsTag - com.liferay.taglib.portlet.DefineObjectsTei - empty - - - namespace - com.liferay.taglib.portlet.NamespaceTag - empty - - - param - com.liferay.taglib.util.ParamTag - empty - - name - true - true - - - value - true - true - - - - property - com.liferay.taglib.util.PropertyTag - empty - - name - true - true - - - value - true - true - - - - renderURL - com.liferay.taglib.portlet.RenderURLTag - com.liferay.taglib.portlet.RenderURLTei - JSP - - copyCurrentRenderParameters - false - true - - - escapeXml - false - true - - - portletMode - false - true - - - secure - false - true - - - var - false - true - - - windowState - false - true - - - - resourceURL - com.liferay.taglib.portlet.ResourceURLTag - com.liferay.taglib.portlet.ResourceURLTei - JSP - - cacheability - false - true - - - escapeXml - false - true - - - id - false - true - - - secure - false - true - - - var - false - true - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-security.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-security.tld deleted file mode 100644 index f8e6f6dd..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-security.tld +++ /dev/null @@ -1,106 +0,0 @@ - - - - - 1.0 - 1.1 - liferay-security - http://liferay.com/tld/security - - doAsURL - com.liferay.taglib.security.DoAsURLTag - com.liferay.taglib.security.DoAsURLTei - JSP - - doAsUserId - false - true - - - var - false - true - - - - encrypt - com.liferay.taglib.security.EncryptTag - JSP - - className - false - true - - - protocol - true - true - - - style - false - true - - - target - false - true - - - unencryptedParams - false - true - - - url - true - true - - - - permissionsURL - com.liferay.taglib.security.PermissionsURLTag - com.liferay.taglib.security.PermissionsURLTei - JSP - - modelResource - true - true - - - modelResourceDescription - true - true - - - redirect - false - true - - - resourceGroupId - false - true - - - resourcePrimKey - true - true - - - roleTypes - false - true - - - var - false - true - - - windowState - false - true - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-theme.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-theme.tld deleted file mode 100644 index 90ac81db..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-theme.tld +++ /dev/null @@ -1,65 +0,0 @@ - - - - - 1.0 - 1.1 - theme - http://liferay.com/tld/theme - - defineObjects - com.liferay.taglib.theme.DefineObjectsTag - com.liferay.taglib.theme.DefineObjectsTei - empty - - - include - com.liferay.taglib.theme.IncludeTag - JSP - - page - true - true - - - - layout-icon - com.liferay.taglib.theme.LayoutIconTag - JSP - - layout - true - true - - - - meta-tags - com.liferay.taglib.theme.MetaTagsTag - JSP - - - param - com.liferay.taglib.util.ParamTag - JSP - - name - true - true - - - value - true - true - - - - wrap-portlet - com.liferay.taglib.theme.WrapPortletTag - JSP - - page - true - true - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-ui.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-ui.tld deleted file mode 100644 index a9a746a8..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-ui.tld +++ /dev/null @@ -1,4691 +0,0 @@ - - - - Provides the Liferay UI component tags, prefixed with liferay-ui:]]>. - 1.0 - liferay-ui - http://liferay.com/tld/ui - - app-view-display-style - com.liferay.taglib.ui.AppViewDisplayStyleTag - empty - - displayStyle - true - true - - - displayStyles - true - true - - - requestParams - true - true - - - - Creates a component for displaying entry items such as images, documents, folders, etc. in a concise but informative manner. Items are displayed in a similar fashion to entries in the file system of most operating systems. - app-view-entry - com.liferay.taglib.ui.AppViewEntryTag - empty - - The path to an action JSP page. - actionJsp - false - true - - - The Java class name for any categories added to the entry. - assetCategoryClassName - false - true - - - The Java class primary key for any categories added to the entry. This is a Java long]]>. - assetCategoryClassPK - false - true - - - The Java class name for any tags added to the entry. - assetTagClassName - false - true - - - The Java class primary key for any tags added to the entry. This is a Java long]]>. - assetTagClassPK - false - true - - - The name of the entry's author. - author - false - true - - - The date the entry was created. - createDate - false - true - - - A CSS class for styling this component. - cssClass - false - true - - - Miscellaneous data to be stored via a map. This data is not shared with the browser. The map holds key value pairs of type <String, Object>]]>. - data - false - true - java.util.Map - - - A description of the entry. - description - false - true - - - A date to display the entry. - displayDate - false - true - - - A display style for the component. Options are list]]>, icon]]>, and descriptive]]>. - displayStyle - true - true - - - A date for the entry to expire and be automatically deleted. - expirationDate - false - true - - - Whether the entry is a folder. The default is false]]>. - folder - false - true - boolean - - - The group ID of the entry. This is a Java long]]>. - groupId - false - true - - - The version number of the most recently published copy of the entry. - latestApprovedVersion - false - true - - - The author of the most recently published version of the entry. - latestApprovedVersionAuthor - false - true - - - Whether the entry is locked. The default value is false]]>. - locked - false - true - boolean - - - The date of the most recent modification to the entry. - modifiedDate - false - true - - - The date the entry was reviewed. - reviewDate - false - true - - - A checkbox input ID to be used for the entry row checker. - rowCheckerId - false - true - - - A name for the entry row checker. - rowCheckerName - false - true - - - Whether to show a shortcut icon link to the entry. The default value is false]]>. - shortcut - false - true - boolean - - - Whether the entry is selectable. An actual checkbox is used when the display style is icon]]> or descriptive]]>. The default value is false]]>. - showCheckbox - true - true - boolean - - - Whether to show the link title. The default value is true]]>. - showLinkTitle - false - true - boolean - - - The current status of the entry, as represented by an integer. Options are -1: STATUS_ANY]]>, 0: STATUS_APPROVED]]>, 1: ACTION_PUBLISH]]>, 2: STATUS_DRAFT]]>, and 4: STATUS_DENIED]]>. The default value is -1]]>. - status - false - true - int - - - A CSS style to be applied to the div containing the thumbnail for the entry. - thumbnailDivStyle - false - true - - - The source URL for an entry thumbnail image. - thumbnailSrc - true - true - - - A CSS style to be applied to the thumbnail for the entry. - thumbnailStyle - false - true - - - A title for the entry. - title - true - true - - - The current version of the entry. - version - false - true - - - A URL to view the full entry. - url - false - true - - - - Creates a navigation list item component for navigating app view entries. - app-view-navigation-entry - com.liferay.taglib.ui.AppViewNavigationEntryTag - empty - - The path for an action JSP page. - actionJsp - false - true - - - A CSS class for styling this component. - cssClass - false - true - - - Data to be applied to the component link and stored via a map. This data is not shared with the browser. The map holds key value pairs of type <String, Object>]]>. - dataView - false - true - java.util.Map - - - A title for the component. - entryTitle - true - true - - - A CSS class for setting the icon of the component. - iconImage - false - true - - - iconSrc - false - true - - - Whether the entry is selected. - selected - false - true - boolean - - - A URL to view the entry. - viewURL - true - true - - - - Creates a toolbar for viewing items in app view. - app-view-toolbar - com.liferay.taglib.ui.AppViewToolbarTag - JSP - - Whether to include the option to choose a display style for component items. If the value is true]]>, a list of display style options is rendered. The default value is false]]>. - includeDisplayStyle - false - true - boolean - - - Whether to include an option to select all component items. The default value is false]]>. - includeSelectAll - false - true - boolean - - - The file path for a search JSP page. - searchJsp - false - true - - - - Creates a component for displaying search results of entries in app view. - app-view-search-entry - com.liferay.taglib.ui.AppViewSearchEntryTag - empty - - The file path for an action JSP page. - actionJsp - false - true - - - containerIcon - false - true - - - The name of the container that the entry is in, such as the name of a folder. - containerName - false - true - - - containerSrc - false - true - - - The type of container the entry is in, such as Folder]]>. - containerType - false - true - - - A CSS class for styling this component. - cssClass - false - true - - - A description of the entry. - description - true - true - - - A list of objects containing information such as content, user ID, and titles of the entry file attachments. - fileEntryTuples - false - true - - - Whether the entry is locked. The default value is false]]>. - locked - false - true - boolean - - - A list of objects containing information such as content, author, and status of entry messages. An example would be a comment made by one user on another user's blog post. - mbMessages - false - true - - - Query terms of the search. - queryTerms - true - true - - - A checkbox input ID to be used for the entry row checker. This is a Java long]]>. - rowCheckerId - false - true - - - A name to be used for the entry row checker. - rowCheckerName - false - true - - - Whether the entry is selectable via a checkbox. The default value is true]]>. - showCheckbox - false - true - boolean - - - The current status of the entry as represented by an integer. Options are -1: STATUS_ANY]]>, 0: STATUS_APPROVED]]>, 1: ACTION_PUBLISH]]>, 2: STATUS_DRAFT]]>, and 4: STATUS_DENIED]]>. - status - false - true - - - The URL for an entry thumbnail image. - thumbnailSrc - false - true - - - A title for the entry. - title - true - true - - - A URL used to view the full entry. - url - true - true - - - The current and past versions of the entry. - versions - false - true - - - - asset-categories-error - com.liferay.taglib.ui.AssetCategoriesErrorTag - JSP - - - asset-categories-navigation - com.liferay.taglib.ui.AssetCategoriesNavigationTag - JSP - - hidePortletWhenEmpty - false - true - - - vocabularyIds - false - true - - - - asset-categories-selector - com.liferay.taglib.ui.AssetCategoriesSelectorTag - JSP - - className - false - true - - - classPK - false - true - - - contentCallback - false - true - - - curCategoryIds - false - true - - - groupIds - false - true - - - hiddenInput - false - true - - - ignoreRequestValue - false - true - - - - asset-categories-summary - com.liferay.taglib.ui.AssetCategoriesSummaryTag - JSP - - className - true - true - - - classPK - true - true - - - message - false - true - - - portletURL - false - true - - - - asset-links - com.liferay.taglib.ui.AssetLinksTag - JSP - - assetEntryId - false - true - - - className - false - true - - - classPK - false - true - - - - Creates a liferay-ui:error]]> component to display tag-related error messages. - asset-tags-error - com.liferay.taglib.ui.AssetTagsErrorTag - JSP - - - asset-tags-navigation - com.liferay.taglib.ui.AssetTagsNavigationTag - JSP - - classNameId - false - true - - - displayStyle - false - true - - - hidePortletWhenEmpty - false - true - - - maxAssetTags - false - true - - - showAssetCount - false - true - - - showZeroAssetCount - false - true - - - - Creates a Liferay.AssetTagsSelector]]> component to create and select tags to add to an asset, such as a blog entry, bookmark, or wiki page. - asset-tags-selector - com.liferay.taglib.ui.AssetTagsSelectorTag - JSP - - Whether to automatically focus the tag input field. The default value is false]]>. - autoFocus - false - true - boolean - - - The Java class of the asset. - className - false - true - - - The Java class primary key of an asset to associate with the tags. This is a Java long]]>. - classPK - false - true - - - A function to get tag suggestions based on the asset's content. - contentCallback - false - true - - - The current selected tags. - curTags - false - true - - - The group IDs of the asset tags. - groupIds - false - true - - - The name of the hidden input for passing in the asset's current tags. - hiddenInput - false - true - - - An ID for the component instance. - id - false - true - - - ignoreRequestValue - false - true - - - - Creates a component to display all the tags associated with an asset, such as a blog entry, wiki page, or message boards message. - asset-tags-summary - com.liferay.taglib.ui.AssetTagsSummaryTag - JSP - - An array of the asset tag names. - assetTagNames - false - true - - - The Java class of the asset. - className - true - true - - - The Java class primary key of an asset. This is a Java long]]>. - classPK - true - true - - - A message to display before the tag labels. A standard example is tags]]>, which renders as Tags:]]>. - message - false - true - - - The URL of a portlet to display the tags. - portletURL - false - true - - - - breadcrumb - com.liferay.taglib.ui.BreadcrumbTag - JSP - - displayStyle - false - true - - - portletURL - false - true - - - selLayout - false - true - - - selLayoutParam - false - true - - - showCurrentGroup - false - true - - - showCurrentPortlet - false - true - - - showGuestGroup - false - true - - - showLayout - false - true - - - showParentGroups - false - true - - - showPortletBreadcrumb - false - true - - - - Creates a calendar with configurable events. - calendar - com.liferay.taglib.ui.CalendarTag - JSP - - A given set of integers, corresponding to a day of the chosen month, and to mark with a dot. - data - false - true - java.util.Set - - - A day of the month to highlight in the calendar. - day - false - true - int - - - A format for the header. - headerFormat - false - true - java.text.Format - - - A pattern for the calendar header. A possible value is MMM/dd/yyyy]]>. - headerPattern - false - true - - - A month of the year to display at the top of the calendar. - month - true - true - int - - - Whether to display up to six calendar weeks relative to the set day. If the set day of the month is in the latter part of the month, the current month's weeks will be displayed and up to two weeks of the next month will be displayed. The default value is false]]>. - showAllPotentialWeeks - false - true - boolean - - - A year to display at the top of the calendar. - year - true - true - int - - - - Creates an image CAPTCHA with a corresponding verification input. - captcha - com.liferay.taglib.ui.CaptchaTag - JSP - - The source URL for the image CAPTCHA. - url - true - true - - - - categorization-filter - com.liferay.taglib.ui.CategorizationFilterTag - JSP - - assetType - false - true - - - portletURL - false - true - - - - custom-attribute - com.liferay.taglib.ui.CustomAttributeTag - JSP - - className - true - true - - - classPK - true - true - - - editable - false - true - - - label - false - true - - - name - true - true - - - - custom-attribute-list - com.liferay.taglib.ui.CustomAttributeListTag - JSP - - className - true - true - - - classPK - true - true - - - editable - false - true - - - ignoreAttributeNames - false - true - - - label - false - true - - - - custom-attributes-available - com.liferay.taglib.ui.CustomAttributesAvailableTag - JSP - - className - true - true - - - classPK - false - true - - - companyId - false - true - - - ignoreAttributeNames - false - true - - - editable - false - true - - - - ddm-template-selector - com.liferay.taglib.ui.DDMTemplateSelectorTag - JSP - - classNameId - true - true - - - displayStyle - true - true - - - displayStyleGroupId - true - true - - - displayStyles - false - true - - - icon - false - true - - - label - false - true - - - refreshURL - false - true - - - showEmptyOption - false - true - - - - diff - com.liferay.taglib.ui.DiffTag - JSP - - diffResults - true - true - - - sourceName - true - true - - - targetName - true - true - - - - diff-html - com.liferay.taglib.ui.DiffHtmlTag - JSP - - diffHtmlResults - true - true - - - - discussion - com.liferay.taglib.ui.DiscussionTag - JSP - - assetEntryVisible - false - true - - - className - true - true - - - classPK - true - true - - - formAction - true - true - - - formName - false - true - - - hideControls - false - true - - - permissionClassName - false - true - - - permissionClassPK - false - true - - - ratingsEnabled - false - true - - - redirect - false - true - - - Deprecated as of 6.2.0, with no direct replacement - subject - false - true - - - userId - true - true - - - - Creates an error message to display to the user. - error - com.liferay.taglib.ui.ErrorTag - com.liferay.taglib.ui.ErrorTei - JSP - - A class for the exception. - exception - false - true - - - The name of a field on which to focus the error message. - focusField - false - true - - - A key to place in the SessionErrors]]> object to trigger the error message. - key - false - true - - - Explicit message text or a language key name from which to derive text for the message. - message - false - true - - - rowBreak - false - true - - - Whether to translate the message into the user's language. The default value is true]]>. - translateMessage - false - true - boolean - - - - error-marker - com.liferay.taglib.ui.ErrorMarkerTag - JSP - - key - false - true - - - value - false - true - - - - Creates a flag icon that lets users report inappropriate content. - flags - com.liferay.taglib.ui.FlagsTag - JSP - - The flagged asset's Java class name. - className - true - true - - - The flagged asset's entry ID. - classPK - true - true - - - The flagged asset's title. - contentTitle - true - true - - - Whether to show message text as a label next to the flag icon or as a tooltip. The default value is true]]>. - label - false - true - boolean - - - Text to display next to the flag icon. The default text is Flag]]>. - message - false - true - - - The user ID of the user who flagged the asset. - reportedUserId - true - true - - - - flash - com.liferay.taglib.ui.FlashTag - JSP - - align - false - true - - - allowFullScreen - false - true - - - allowScriptAccess - false - true - - - base - false - true - - - bgcolor - false - true - - - devicefont - false - true - - - flashvars - false - true - - - height - false - true - - - id - false - true - - - loop - false - true - - - menu - false - true - - - movie - true - true - - - play - false - true - - - quality - false - true - - - salign - false - true - - - scale - false - true - - - swliveconnect - false - true - - - version - false - true - - - width - false - true - - - wmode - false - true - - - - Creates a navigable form for multiple section forms. It's default navigation is a side navigation box with links to each section. But the navigation can be configured as a progressive step navigation positioned above the form or as vertically stacked accordion style sections that expand when clicked. - form-navigator - com.liferay.taglib.ui.FormNavigatorTag - JSP - - A URL for the form's cancel button. - backURL - false - true - - - The name of each category in the form. - categoryNames - true - true - - - The name of each section within a category. - categorySections - true - true - - - A type of navigation to be used. Options are steps]]> and panel]]>. The default display style is side navigation. - displayStyle - false - true - - - A name for the form. - formName - false - true - - - HTML to append to the navigator. Examples include alternate form buttons, form instructions, or information about the form. - htmlBottom - false - true - - - HTML to prepend to the navigator. - htmlTop - false - true - - - A path to the formSection.jsp]]> file's folder /path/to/jsp/folder/]]>. - jspPath - false - true - - - Whether to show the Submit]]> and Cancel]]> buttons. The default value is true]]>. - showButtons - false - true - boolean - - - - group-search - com.liferay.taglib.ui.GroupSearchTag - JSP - - groupParams - true - true - - - portletURL - true - true - - - rowChecker - false - true - - - - Creates a header that displays its text above a horizontal rule accompanied by a configurable back URL button. - header - com.liferay.taglib.ui.HeaderTag - JSP - - Text to display on mouse over of the back URL. The default value is Back]]>. - backLabel - false - true - - - A URL for navigating back to. - backURL - false - true - - - A CSS class for styling the header component. - cssClass - false - true - - - Whether to escape the header's XML tags. The default value is true]]>. - escapeXml - false - true - boolean - - - Whether to translate the header's title]]> into the localized language. The default value is true]]>. - localizeTitle - false - true - boolean - - - Whether to display the back URL. The default value is true]]>. - showBackURL - false - true - boolean - - - A title to display as the header text. - title - true - true - - - - Creates a fully configurable icon that provides access to current Liferay theme icons. - icon - com.liferay.taglib.ui.IconTag - JSP - - A value for the alt]]> attribute of the embedded img]]> tag. - alt - false - true - - - A role for assistive technologies to interpret for HTML elements that have been used for something other than their intended purpose. For example, the <p>]]> tag could be used for something other than a paragraph. - ariaRole - false - true - - - A CSS class for styling the component. - cssClass - false - true - - - Miscellaneous data to be stored via a map. This data is not shared with the browser. The map holds key value pairs of type <String, Object>]]>. - data - false - true - java.util.Map - - - An icon from a Bootstrap icon CSS Class. Note that any image for the image]]> attribute takes precedence. Icon CSS classes to specify for this attribute can be found at http://marcoceppi.github.io/bootstrap-glyphicons/]]>. - iconCssClass - false - true - - - An ID for the component instance. - id - false - true - - - An image for the icon, from the current theme. The value can be the filename prefix of any image file in the theme's common]]> image folder. This image takes precedence over any icon value set via the iconCssClass]]> attribute. - image - false - true - - - An icon to display on mouse over of the component. The icon image comes from the current theme. The value can be the filename prefix of any image file in the theme's common]]> image folder. - imageHover - false - true - - - Whether to display the message]]> attribute's value as the icon's label. - label - false - true - boolean - - - A language to associate with the icon, to assist search engines and web browsers in finding and rendering the icon appropriately. - lang - false - true - - - A CSS class for styling the icon's URL. - linkCssClass - false - true - - - Whether to translate the icon's message]]> into the user's language. - localizeMessage - false - true - boolean - - - Text to be displayed for the icon on mouse over. - message - false - true - - - An HTTP request method. Possible values are get]]> and post]]>. - method - false - true - - - A function to be called on a user clicking the icon. - onClick - false - true - - - The location of an image file to use in the icon. - src - false - true - - - The location of an image file to use on mouse over of the icon. This value takes precedence over the imageHover]]> attribute. This image takes precedence over icons set with the imageHover]]> attribute. - srcHover - false - true - - - A target window in which to open the URL. The default value is self]]>. Possible values are blank]]>, self]]>, parent]]>, top]]>, and a unique frame's name. - target - false - true - - - Whether to use a tooltip. The default value is true]]>. - toolTip - false - true - boolean - - - A URL to navigate to when the icon is clicked. - url - false - true - - - Whether to open the URL in a dialog window. The default value is false]]>. - useDialog - false - true - boolean - - - - Creates an icon to associate with deactivating an item. - icon-deactivate - com.liferay.taglib.ui.IconDeactivateTag - JSP - - Whether to display a message on the icon's label on mouse over of the icon. The default value is false]]>. - label - false - true - boolean - - - A URL navigated to when the icon is clicked. - url - true - true - - - - Creates a configurable icon to associate with deleting or removing an item. - icon-delete - com.liferay.taglib.ui.IconDeleteTag - JSP - - Text to use in place of the text from the default deletion confirmation message language key are-you-sure-you-want-to-delete-this]]>. If the trash]]> attribute is set to true]]>, no confirmation message is shown. - confirmation - false - true - - - A CSS class for styling the component. - cssClass - false - true - - - An ID for the component instance. - id - false - true - - - An image for the icon, from the current theme. The value can be the filename prefix of any image file in the theme's common]]> image folder. The image takes precedence over any default icon images. - image - false - true - - - Whether to display the message]]> attribute's value as the icon's label. The default value is false]]>. - label - false - true - boolean - - - Text to display on mouse over of the icon. - message - false - true - - - An HTTP request method to invoke. Possible values are get]]> and post]]>. - method - false - true - - - Whether to use the trash icon instead of the remove icon. The default value isfalse]]>. - trash - false - true - boolean - - - A URL navigated to when the icon is clicked. - url - true - true - - - - Creates a help icon that displays a custom message as a tooltip on mouse over of the help icon. - icon-help - com.liferay.taglib.ui.IconHelpTag - JSP - - Text to be displayed on mouse over of the icon. - message - true - true - - - - Creates a list of icons from a list of child components. - icon-list - com.liferay.taglib.ui.IconListTag - JSP - - Whether to render the icon list when there is only one child component. The default value is false]]>. - showWhenSingleIcon - false - true - boolean - - - - Creates an icon menu from a list of child components. - icon-menu - com.liferay.taglib.ui.IconMenuTag - JSP - - A CSS class for styling the component. - cssClass - false - true - - - A position from which to pop up the icon menu dialog in relation to the trigger. The default direction is left]]>. Possible values are up]]>, down]]>, left]]> or right]]>. - direction - false - true - - - Whether to disable the icon menu. - disabled - false - true - boolean - - - Whether to extend the icon menu trigger by wrapping it in a button. The default value is true]]>. - extended - false - true - boolean - - - The location of an image file to use in the icon. - icon - false - true - - - An ID for the component instance. - id - false - true - - - Whether to translate the message to the user's language. The default value is true]]>. - localizeMessage - false - true - boolean - - - The number of items to show in the icon menu before scrolling. The default value is 15. - maxDisplayItems - false - true - int - - - Text to display next to the icon menu trigger. The default value is actions]]>. - message - false - true - - - Whether to add the select]]> CSS class to the icon menu. If set to true]]>, the selected icon is added to the icon menu's trigger when the icon is selected. The default value is false]]>. - select - false - true - boolean - - - Whether to extend the icon menu by default. The default value is false]]>. - showExpanded - false - true - boolean - - - Whether to show an arrow, indicating a popup dialog, next to the icon menu's trigger icon. The default value is true]]>. - showArrow - false - true - boolean - - - Whether to show the icon menu when there is only one icon. The default value is false]]>. - showWhenSingleIcon - false - true - boolean - - - A CSS class for styling the trigger for the icon menu. The default value is btn btn-default]]>. - triggerCssClass - false - true - - - Whether the icon menu drop-down caret points to the direction set by the direction]]> attribute. - useIconCaret - false - true - boolean - - - - input-asset-links - com.liferay.taglib.ui.InputAssetLinksTag - JSP - - assetEntryId - false - true - - - className - false - true - - - classPK - false - true - - - - Creates a configurable input checkbox. - input-checkbox - com.liferay.taglib.ui.InputCheckBoxTag - JSP - - A CSS class for styling the component. - cssClass - false - true - - - Whether the checkbox is selected by default. - defaultValue - false - true - boolean - - - Whether the checkbox is disabled. - disabled - false - true - boolean - - - A name for the checkbox's form. - formName - false - true - - - An ID for the component instance. - id - false - true - - - A function to be called on a user clicking the checkbox. - onClick - false - true - - - A variable name for the component. - param - true - true - - - - Creates a date input field that displays a calendar for date selection. - input-date - com.liferay.taglib.ui.InputDateTag - JSP - - Whether the date field gets focus by default. The default value is false]]>. - autoFocus - false - true - boolean - - - A CSS class for styling the component. - cssClass - false - true - - - A variable name to refer to the day of the component. - dayParam - false - true - - - A day value to display in the input field. - dayValue - false - true - int - - - Whether to disable the namespace for the component. The default value is false]]>. - disableNamespace - false - true - boolean - - - Whether to disable the input field. The default value is false]]>. - disabled - false - true - boolean - - - A day to set as the first day of the week. The default value is Calendar.SUNDAY - 2]]>. - firstDayOfWeek - false - true - int - - - A name for the date input's form. - formName - false - true - - - A variable name to refer to the combined month and year of the component. - monthAndYearParam - false - true - - - A variable name to refer to the month of the component. - monthParam - false - true - - - The numerical value for a month to display in the input field. Integer values for the month start with 0]]>. - monthValue - false - true - int - - - A name for the date input. - name - false - true - - - Whether the component's values can be set to null. - nullable - false - true - - - A variable name to refer to the year of the component. - yearParam - false - true - - - A year value to display in the input field. - yearValue - false - true - int - - - - Creates an input field for editing rich text. - input-editor - com.liferay.taglib.ui.InputEditorTag - JSP - - A map of configuration parameters. The map holds key value pairs of type <String, String>]]>. - configParams - false - true - java.util.Map - - - The ID of a language for the input editor's text. - contentsLanguageId - false - true - - - A CSS class for styling the component. - cssClass - false - true - - - editorImpl - false - true - - - inlineEdit - false - true - - - inlineEditSaveURL - false - true - - - A map of configuration parameters. The map holds key value pairs of <String, String>]]>. - fileBrowserParams - false - true - java.util.Map - - - height - false - true - - - initMethod - false - true - - - A name for the input editor. The default value is editor]]>. - name - false - true - - - A function to be called when the input editor loses focus. - onBlurMethod - false - true - - - A function to be called on a change in the input editor. - onChangeMethod - false - true - - - A function to be called when the input editor gets focus. - onFocusMethod - false - true - - - Whether the field for the input editor is resizable. The default value is true]]>. - resizable - false - true - boolean - - - Whether to skip loading resources necessary for the CKEditor. The default value is false]]>. - skipEditorLoading - false - true - boolean - - - A toolbar for the input editor. The default value is liferay]]>. Possible values are bbcode]]>, creole]]>, editInPlace]]>, email]]>, liferay]]>, liferayArticle]]>, phone]]>, simple]]>, and tablet]]>. - toolbarSet - false - true - - - width - false - true - - - - input-field - com.liferay.taglib.ui.InputFieldTag - JSP - - autoFocus - false - true - - - autoSize - false - true - - - bean - false - true - - - cssClass - false - true - - - dateTogglerCheckboxLabel - false - true - - - defaultLanguageId - false - true - - - defaultValue - false - true - - - disabled - false - true - - - field - true - true - - - fieldParam - false - true - - - formName - false - true - - - format - false - true - - - id - false - true - - - ignoreRequestValue - false - true - - - languageId - false - true - - - model - true - true - - - placeholder - false - true - - - - input-localized - com.liferay.taglib.ui.InputLocalizedTag - JSP - - autoFocus - false - true - - - autoSize - false - true - - - availableLocales - false - true - - - cssClass - false - true - - - defaultLanguageId - false - true - - - disabled - false - true - - - displayWidth - false - true - - - formName - false - true - - - id - false - true - - - ignoreRequestValue - false - true - - - languageId - false - true - - - maxLength - false - true - - - name - true - true - - - type - false - true - - - xml - true - true - - true - - - Creates an input move boxes component comprised of two columns of key value pairs that can be rearranged. - input-move-boxes - com.liferay.taglib.ui.InputMoveBoxesTag - JSP - - A CSS class for styling the component. - cssClass - false - true - - - A name for the left box. - leftBoxName - true - true - - - A list of key value pairs for the left box. - leftList - true - true - java.util.List - - - A function to be called on a change in selection in the left list. - leftOnChange - false - true - - - Whether the left list can be reordered. The default value is false]]>. - leftReorder - false - true - boolean - - - A title to display at the top of the right box. - leftTitle - true - true - - - A name for the right box. - rightBoxName - true - true - - - A list of key value pairs for the right box. - rightList - true - true - java.util.List - - - A function to be called on a change in selection in the right list. - rightOnChange - false - true - - - Whether the right list can be reordered. The default value is false]]>. - rightReorder - false - true - boolean - - - A title to display at the top of the right box. - rightTitle - true - true - - - - input-permissions - com.liferay.taglib.ui.InputPermissionsTag - JSP - - formName - false - true - - - modelName - false - true - - - - input-permissions-params - com.liferay.taglib.ui.InputPermissionsParamsTag - JSP - - modelName - true - true - - - - input-repeat - com.liferay.taglib.ui.InputRepeatTag - JSP - - cssClass - false - true - - - event - false - true - - - - input-resource - com.liferay.taglib.ui.InputResourceTag - JSP - - cssClass - false - true - - - id - false - true - - - title - false - true - - - url - true - true - - - - input-scheduler - com.liferay.taglib.ui.InputSchedulerTag - JSP - - - Creates a configurable search box. - input-search - com.liferay.taglib.ui.InputSearchTag - JSP - - Whether the search field gets focus by default. The default value is false]]>. - autoFocus - false - true - boolean - - - A text value for the search button's label. The default value is Search]]>. - buttonLabel - false - true - - - A CSS class for styling the component. - cssClass - false - true - - - An ID for the component instance. The default value is displayTerms.KEYWORDS]]>. - id - false - true - - - A name for the search box. The default value is displayTerms.KEYWORDS]]>. - name - false - true - - - Placeholder text for the search field. The default value is the value of the buttonLabel]]> attribute. - placeholder - false - true - - - Whether to show the search button. The default value is true]]>. - showButton - false - true - boolean - - - A title for the search box. - title - false - true - - - Whether to use a namespace with the search button. The default value is true]]>. - useNamespace - false - true - boolean - - - - Creates a select input component with yes or no options. - input-select - com.liferay.taglib.ui.InputSelectTag - JSP - - A CSS class for styling the component. - cssClass - false - true - - - Whether to select yes]]> as the input's default value. - defaultValue - false - true - boolean - - - Whether to disable input. - disabled - false - true - boolean - - - A name for the input select's form. - formName - false - true - - - A variable name for the component. - param - true - true - - - - Creates a configurable text area input field. - input-textarea - com.liferay.taglib.ui.InputTextAreaTag - JSP - - A CSS class for styling the component. - cssClass - false - true - - - Text to display in the text area. - defaultValue - false - true - - - Whether to disable input. The default value is false]]>. - disabled - false - true - boolean - - - A variable name for the component. - param - true - true - - - - Creates a time input field that provides a scrollable dropdown list of hours, in intervals designated by the minuteInterval]]> attribute. - input-time - com.liferay.taglib.ui.InputTimeTag - JSP - - The name of the AM/PM parameter for the time input. An acceptable value is ampm]]>. - amPmParam - true - true - - - A time to AM or PM. Acceptable values are 0]]> for AM and 1]]> for PM. The default value is 0]]>. - amPmValue - false - true - int - - - A CSS class for styling the time input. - cssClass - false - true - - - A date parameter for the time input. An acceptable value is date]]>. - dateParam - false - true - - - A date to associate with the time displayed. - dateValue - false - true - java.util.Date - - - Whether the input field is disabled. - disabled - false - true - boolean - - - The name of the hour parameter for the component. An acceptable value is hour]]>. - hourParam - true - true - - - An hour value for the time displayed. The default value is 12]]>. - hourValue - false - true - int - - - A minute interval displayed in the input. The default value is 30]]>. - minuteInterval - false - true - int - - - The name of the minute parameter for the component. An acceptable value is minute]]>. - minuteParam - true - true - - - A minute value for the time displayed. The default value is 00]]>. - minuteValue - false - true - int - - - A name for the time input. - name - false - true - - - - Creates a configurable timezone drop-down menu. - input-time-zone - com.liferay.taglib.ui.InputTimeZoneTag - JSP - - Whether the field gets focus by default. - autoFocus - false - true - boolean - - - A CSS class for styling the component. - cssClass - false - true - - - Whether to consider daylight savings for the times. The default value is true]]>. - daylight - false - true - boolean - - - Whether the field is disabled. - disabled - false - true - boolean - - - A style number corresponding to the time zone. A value of 0]]> displays the time zone's abbreviated name and a value of 1]]> displays its full name, e.g. "Pacific Standard Time." The default value is 0]]>. - displayStyle - false - true - int - - - A name for the component. - name - true - true - - - Whether the times can be null. - nullable - false - true - boolean - - - The ID of a time zone to associate with the component. For example, setting the value to PST]]> associates the component with the Pacific Standard Time zone. - value - false - true - - - - journal-article - com.liferay.taglib.ui.JournalArticleTag - JSP - - articleId - false - true - - - articlePage - false - true - - - articleResourcePrimKey - false - true - - - groupId - false - true - - - languageId - false - true - - - showAvailableLocales - false - true - - - showTitle - false - true - - - templateId - false - true - - - xmlRequest - false - true - - - - journal-content-search - com.liferay.taglib.ui.JournalContentSearchTag - JSP - - showListed - false - true - - - targetPortletId - false - true - - - type - false - true - - - - language - com.liferay.taglib.ui.LanguageTag - JSP - - displayCurrentLocale - false - true - - - displayStyle - false - true - - - formAction - false - true - - - formName - false - true - - - languageId - false - true - - - languageIds - false - true - - - name - false - true - - - - logo-selector - com.liferay.taglib.ui.LogoSelectorTag - JSP - - currentLogoURL - false - true - - - defaultLogoURL - false - true - - - editLogoURL - false - true - - - imageId - false - true - - - logoDisplaySelector - false - true - - - showBackground - false - true - - - - membership-policy-error - com.liferay.taglib.ui.MembershipPolicyErrorTag - JSP - - - Creates a message to display to the user. - message - com.liferay.taglib.ui.MessageTag - JSP - - Arguments for the language key, if the language key is configured to recieve arguments. - arguments - false - true - - - The name of a language key from which to derive the message to be displayed. - key - true - true - - - Whether to translate the language key value into the user's language. The default value is true]]>. - localizeKey - false - true - boolean - - - Whether to translate the arguments into the user's language. The default value is true]]>. - translateArguments - false - true - boolean - - - unicode - false - true - boolean - - - - my-sites - com.liferay.taglib.ui.MySitesTag - JSP - - classNames - false - true - - - cssClass - false - true - - - includeControlPanel - false - true - - - max - false - true - - - - navigation - com.liferay.taglib.ui.NavigationTag - JSP - - bulletStyle - false - true - - - displayStyle - false - true - - - headerType - false - true - - - includedLayouts - false - true - - - nestedChildren - false - true - - - preview - false - true - - - rootLayoutLevel - false - true - - - rootLayoutType - false - true - - - - Creates a page iterator for paginating through lists of items. - page-iterator - com.liferay.taglib.ui.PageIteratorTag - JSP - - Which page of items to display (e.g., first, second, third, etc.). - cur - true - true - int - - - A variable name to refer to the cur]]> value of the component. - curParam - true - true - - - The number of items to display per page. - delta - false - true - int - - - Whether the user can choose the number of items displayed per page. The default value is false]]>. - deltaConfigurable - false - true - boolean - - - A variable name to refer to the delta value of the component. - deltaParam - false - true - - - A name for the form. - formName - false - true - - - An ID for the component instance. - id - false - true - - - JavaScript to be called when the first]]>, previous]]>, next]]>, or last]]> links are clicked if the URL property is not set. - jsCall - false - true - - - A maximum number of pages to iterate through. - maxPages - false - true - int - - - A target for the first]]>, previous]]>, next]]>, and last]]> link buttons. - target - false - true - - - The total number of items in the iterator. - total - true - true - int - - - A type of iterator to display. Options are approximate]]>, article]]>, more]]>, and regular]]>. - type - false - true - - - A base URL for the iterator. Parameters are added to and removed from this URL as the user navigates through pages. - url - false - true - - - - Creates a collapsible panel for housing content. - panel - com.liferay.taglib.ui.PanelTag - JSP - - Whether the panel can be collapsed. The default value is true]]>. - collapsible - false - true - boolean - - - A CSS class for styling the component. - cssClass - false - true - - - A default state for the component. Possible values are open]]> and any string other than open. Any string other than open]]> collapses the panel. The default value is open]]>. - defaultState - false - true - - - Whether the panel is extended. The default value is false]]>. - extended - false - true - boolean - - - Text to display as a help tool tip on mouse over of the panel's help icon. - helpMessage - false - true - - - An icon to display next to the panel's title. The icon can be specified using the name of one of the Bootstrap icon CSS classes found at http://marcoceppi.github.io/bootstrap-glyphicons/]]>. - iconCssClass - false - true - - - An ID for the component instance. - id - false - true - - - The ID of the component that contains the panel. If a liferay-ui:panel-container]]> is used as the container for the panel, its ID is used as the value for the parentID]]>. - parentId - false - true - - - Whether to remember the component's state and persist it to the database. The default value is false]]>. - persistState - false - true - boolean - - - A state for the component. Possible values are open]]> and any string other than open. Any string other than open]]> collapses the panel. - state - false - true - - - A title to display at the top of the panel. - title - true - true - - - - Creates a collapsible container to house liferay-ui:panel]]> components. - panel-container - com.liferay.taglib.ui.PanelContainerTag - JSP - - Whether only one panel can be shown at a time. As one panel is opened, the others close, creating an accordian effect. The default value is false]]>. - accordion - false - true - boolean - - - A CSS class for styling the component. - cssClass - false - true - - - Whether to extend the interface with additional styling. The default value is false]]>. - extended - false - true - boolean - - - An ID for the component instance. - id - false - true - - - Whether to remember the component's state and persist it to the database. The default value is false]]>. - persistState - false - true - boolean - - - - param - com.liferay.taglib.util.ParamTag - JSP - - name - true - true - - - value - true - true - - - - Renders a PNG image with the source given for the image]]> attribute. - png-image - com.liferay.taglib.ui.PngImageTag - JSP - - The height of the image in pixels. A possible value would be 16]]>. px]]> is then appended to the end of the value. - height - true - true - int - - - The location of a PNG image file to use. - image - true - true - - - The height of the image in pixels. A possible value would be 16]]>. px]]> is then appended to the end of the value. - width - true - true - int - - - - progress - com.liferay.taglib.ui.ProgressTag - JSP - - height - false - true - - - id - true - true - - - message - false - true - - - sessionKey - true - true - - - updatePeriod - false - true - - - - ratings - com.liferay.taglib.ui.RatingsTag - JSP - - className - true - true - - - classPK - true - true - - - numberOfStars - false - true - - - ratingsEntry - false - true - - - ratingsStats - false - true - - - type - false - true - - - url - false - true - - - - ratings-score - com.liferay.taglib.ui.RatingsScoreTag - JSP - - score - true - true - - - - restore-entry - com.liferay.taglib.ui.RestoreEntryTag - JSP - - duplicateEntryAction - false - true - - - overrideMessage - false - true - - - renameMessage - false - true - - - restoreEntryAction - false - true - - - - Creates a clickable link and/or icon to an RSS feed document. - rss - com.liferay.taglib.ui.RSSTag - JSP - - A default maximum number of items to display. The default value is 20]]>. - delta - false - true - int - - - A default style to display. - displayStyle - false - true - - - A default format for the RSS feed. Options are atom_1.0]]>, rss_1.0]]>, and rss_2.0]]>. - feedType - false - true - - - A message to display next to the RSS icon. - message - false - true - - - A name for the RSS feed. - name - false - true - - - A URL from which to retrieve feed information. - resourceURL - false - true - - - The URL for an RSS feed file. - url - false - true - - - - Creates a configuration component for users to define RSS settings, such as how many articles to display. - rss-settings - com.liferay.taglib.ui.RSSSettingsTag - JSP - - A default maximum number of items to display. The default value is 20]]>. - delta - false - true - int - - - A default style to display. - displayStyle - false - true - - - Available RSS display styles from which the user can choose. Options are abstract]]>, full-content]]>, and title]]>. - displayStyles - false - true - - - Whether users are able to subscribe. Default value is false]]>. - enabled - false - true - boolean - - - A default format for the RSS feed. Options are atom_1.0]]>, rss_1.0]]>, and rss_2.0]]>. - feedType - false - true - - - A name for the component. - name - false - true - - - Whether the RSS feed has a name. The default value is false]]>. - nameEnabled - false - true - boolean - - - - Creates a search form, with an additional select input to set the scope of the search. - search - com.liferay.taglib.ui.SearchTag - JSP - - - Creates a grid for displaying a list of objects and their properties. - search-container - com.liferay.taglib.ui.SearchContainerTag - com.liferay.taglib.ui.SearchContainerTei - JSP - - A variable for the search container's pagination. Different pagination variables ensure independent pagination when multiple search containers are on a JSP. - curParam - false - true - - - The number of items to show on each search container page. - delta - false - true - int - - - The delta]]> attribute as configurable by users. - deltaConfigurable - false - true - - - deltaParam - false - true - - - displayTerms - false - true - - - A message displayed when the search container is empty. - emptyResultsMessage - false - true - - - headerNames - false - true - - - hover - false - true - - - id - false - true - - - iteratorURL - false - true - - - orderByCol - false - true - - - orderByColParam - false - true - - - orderByComparator - false - true - - - An order type for the columns, either ascending or descending. Values are asc]]> or desc]]>. - orderByType - false - true - - - orderByTypeParam - false - true - - - Inserts a checkbox column in the search container. Value must be a RowChecker]]> object. - rowChecker - false - true - - - searchContainer - false - true - - - searchTerms - false - true - - - The total number of objects in the search container. - total - false - true - int - - - A variable name for the results of the total]]> attribute. The default is total]]>. - totalVar - false - true - - - A variable name for the SearchContainer]]> object. The default is searchContainer]]>. - var - false - true - - - - search-container-column-button - com.liferay.taglib.ui.SearchContainerColumnButtonTag - JSP - - align - false - true - - - colspan - false - true - - - cssClass - false - true - - - href - true - true - - - index - false - true - - - name - false - true - - - valign - false - true - - - - Creates a date column in a search container. - search-container-column-date - com.liferay.taglib.ui.SearchContainerColumnDateTag - JSP - - A horizontal alignment for the column contents. The default is left]]>. - align - false - true - - - The number of columns to span. The default is 1]]>. - colspan - false - true - int - - - A CSS class for styling the column. - cssClass - false - true - - - A URL for the items in the column. - href - false - true - - - index - false - true - - - A name for the column. - name - false - true - - - Whether to set the column as sortable. The default value is false]]>. - orderable - false - true - boolean - - - An object's property by which to sort the column. - orderableProperty - false - true - - - A property to request from the row object. - property - false - true - - - A vertical alignment for the column contents. The default is middle]]>. - valign - false - true - - - A value for the column. - value - false - true - - - - Creates a column in a search container with the contents of a JSP file. - search-container-column-jsp - com.liferay.taglib.ui.SearchContainerColumnJSPTag - JSP - - A horizontal alignment for the column contents. The default is left]]>. - align - false - true - - - The number of columns to span. The default is 1]]>. - colspan - false - true - int - - - A CSS class for styling the column. - cssClass - false - true - - - index - false - true - - - name - false - true - - - The JSP file's location. - path - true - true - - - valign - false - true - - - - Creates a column in a search container for the workflow status. - search-container-column-status - com.liferay.taglib.ui.SearchContainerColumnStatusTag - JSP - - A horizontal alignment for the column contents. The default is left]]>. - align - false - true - - - The number of columns to span. The default is 1]]>. - colspan - false - true - int - - - A CSS class for styling the column. - cssClass - false - true - - - A URL for the column's contents. - href - false - true - - - index - false - true - - - name - false - true - - - Whether to set the column as sortable. The default value is false]]>. - orderable - false - true - boolean - - - An object's property by which to sort the column. - orderableProperty - false - true - - - An object's property to use for the column. - property - false - true - - - A vertical alignment for the column contents. The default is middle]]>. - valign - false - true - - - A workflow status for the item. - status - false - true - - - statusByUserId - false - true - - - statusDate - false - true - - - - Creates a text column in a search container. - search-container-column-text - com.liferay.taglib.ui.SearchContainerColumnTextTag - com.liferay.taglib.ui.SearchContainerColumnTextTei - JSP - - A horizontal alignment for the column contents. - align - false - true - - - A string buffer variable for constructing a URL in a scriptlet. - buffer - false - true - - - The number of columns to span. The default is 1]]>. - colspan - false - true - int - - - A CSS class for styling the column. - cssClass - false - true - - - href - false - true - - - index - false - true - - - name - false - true - - - Whether to set the column as sortable. The default value is false]]>. - orderable - false - true - boolean - - - An object's property by which to sort the column. - orderableProperty - false - true - - - property - false - true - - - target - false - true - - - title - false - true - - - Whether to automatically translate values. The default value is false]]>. - translate - false - true - boolean - - - A vertical alignment for the column contents. The default is middle]]>. - valign - false - true - - - value - false - true - - - - The list of objects to display in the search container. - search-container-results - com.liferay.taglib.ui.SearchContainerResultsTag - com.liferay.taglib.ui.SearchContainerResultsTei - JSP - - A list of objects to display in the search container. - results - false - true - - - A variable to use for the results. - resultsVar - false - true - - - Deprecated as of 6.2.0, replaced by liferay-ui:search-container#total - total - false - true - - - Deprecated as of 6.2.0, replaced by liferay-ui:search-container#totalVar - totalVar - false - true - - - - Creates rows in the search container for each object returned by liferay-ui:search-container-results]]>. - search-container-row - com.liferay.taglib.ui.SearchContainerRowTag - com.liferay.taglib.ui.SearchContainerRowTei - JSP - - bold - false - true - - - The class name of the objects to display in rows. - className - true - true - - - The returned model instances as HTML escaped. - escapedModel - false - true - - - A variable name to use for the rows' index. - indexVar - false - true - - - A property to use as the primary key for the object type in the className]]> attribute. - keyProperty - false - true - - - A variable name to use for each object as the search container iterates through the objects returned by liferay-ui:search-container-results]]>. - modelVar - false - true - - - A model property to use as the row ID. - rowIdProperty - false - true - - - A variable name to use for the rows. - rowVar - false - true - - - servletContext - false - true - - - stringKey - false - true - - - - Creates parameters for rows in the search container. The liferay-ui:search-container-row]]> tag is required. - search-container-row-parameter - com.liferay.taglib.ui.SearchContainerRowParameterTag - JSP - - A name for the row parameter. - name - true - true - - - A value for the row parameter. - value - true - true - - - - search-form - com.liferay.taglib.ui.SearchFormTag - JSP - - page - true - true - - - searchContainer - false - true - - - servletContext - false - true - - - showAddButton - false - true - - - - Creates a search results page iterator with an optional paginator. - search-iterator - com.liferay.taglib.ui.SearchIteratorTag - JSP - - Whether to add a liferay-ui:search-paginator]]> to the search container. The default value is true]]>. - paginate - false - true - boolean - - - All configurable properties of the search container, such as cur]]> and curParam]]>. These properties are set with searchContainer.getCur()]]> and searchContainer.getCurParam()]]> respectively. - searchContainer - false - true - - - A type of iterator to display. Options are approximate]]>, article]]>, more]]>, and regular]]>. - type - false - true - - - - Creates a page iterator to paginate through search results - search-paginator - com.liferay.taglib.ui.SearchPaginatorTag - JSP - - An ID for the component instance. - id - false - true - - - All configurable porperties of the search container, such as cur]]> and curParam]]>. These properties are set with searchContainer.getCur()]]> and searchContainer.getCurParam()]]> respectively. - searchContainer - true - true - - - A type of iterator to display. Options are approximate]]>, article]]>, more]]>, and regular]]>. - type - false - true - - - - search-speed - com.liferay.taglib.ui.SearchSpeedTag - JSP - - hits - true - true - - - searchContainer - true - true - - - - Creates a search instance that can be toggled between basic and advanced search. - search-toggle - com.liferay.taglib.ui.SearchToggleTag - JSP - - Whether the search input field is automatically focused. The default value is false]]>. - autoFocus - false - true - boolean - - - A label for the search button such as Search]]> or Go]]>. - buttonLabel - false - true - - - Terms to be used and displayed through the search instance. Term examples include keywords]]>, advancedSearch]]>, and description]]>. - displayTerms - true - true - - - The component instance's ID. - id - true - true - - - width - false - true - - - - section - com.liferay.taglib.ui.SectionTag - com.liferay.taglib.ui.SectionTei - JSP - - - sites-directory - com.liferay.taglib.ui.SitesDirectoryTag - JSP - - displayStyle - false - true - - - sites - false - true - - - - social-activities - com.liferay.taglib.ui.SocialActivitiesTag - JSP - - activities - false - true - - - className - false - true - - - classPK - false - true - - - displayRSSFeed - false - true - - - feedDelta - false - true - - - feedDisplayStyle - false - true - - - feedEnabled - false - true - - - feedLink - false - true - - - feedLinkMessage - false - true - - - feedTitle - false - true - - - feedType - false - true - - - - social-bookmark - com.liferay.taglib.ui.SocialBookmarkTag - JSP - - contentId - false - true - - - target - false - true - - - title - true - true - - - type - true - true - - - url - true - true - - - - social-bookmarks - com.liferay.taglib.ui.SocialBookmarksTag - JSP - - contentId - false - true - - - displayStyle - false - true - - - target - false - true - - - title - true - true - - - types - false - true - - - url - true - true - - - - staging - com.liferay.taglib.ui.StagingTag - JSP - - cssClass - false - true - - - extended - false - true - - - groupId - false - true - - - icon - false - true - - - layoutSetBranchId - false - true - - - message - false - true - - - onlyActions - false - true - - - privateLayout - false - true - - - selPlid - false - true - - - showManageBranches - false - true - - - - Creates a success message to display to the user. - success - com.liferay.taglib.ui.SuccessTag - empty - - A key to be placed in the SessionMessages]]> object to trigger the success message. - key - true - true - - - Explicit message text or the name of a language key from which to derive the message text. - message - true - true - - - Whether to translate the success message into the user's language. The default value is true]]>. - translateMessage - false - true - boolean - - - - table-iterator - com.liferay.taglib.ui.TableIteratorTag - com.liferay.taglib.ui.TableIteratorTei - JSP - - bodyPage - false - true - - - list - true - true - - - listType - true - true - - - rowBreak - false - true - - - rowLength - true - true - - - rowPadding - false - true - - - rowValign - false - true - - - width - false - true - - - - Creates a tabbed UI of section dividers that each house their own content. - tabs - com.liferay.taglib.ui.TabsTag - JSP - - - A label for the back URL. - backLabel - false - true - - - A URL for navigating back to. - backURL - false - true - - - A name for the tab's form. - formName - false - true - - - The names of the tabs. Each name must be separated by a comma with no spaces. - names - true - true - - - A function to be called on a user clicking any of the tabs. - onClick - false - true - - - A variable for the component. - param - false - true - - - A URL to refer to the portlet that contains the component. - portletURL - false - true - - - Whether the page refreshes when a tab is clicked. - refresh - false - true - boolean - - - Tab values that must follow the same order as the names]]> attribute. Each value must be separated by a comma with no spaces. - tabsValues - false - true - - - A design type for the tabs. Possible values are tabs]]> and pills]]>. - type - false - true - - - A URL to which all the tabs are linked when clicked. You can also set each tab's URL individually using url[number]]]> attribute. - url - false - true - - - url0 - false - true - - - A URL to which the second tab is linked when clicked. - url1 - false - true - - - A URL to which the third tab is linked when clicked - url2 - false - true - - - A URL to which the fourth tab is linked when clicked - url3 - false - true - - - A URL to which the fifth tab is linked when clicked - url4 - false - true - - - A URL to which the sixth tab is linked when clicked - url5 - false - true - - - A URL to which the seventh tab is linked when clicked - url6 - false - true - - - A URL to which the eighth tab is linked when clicked - url7 - false - true - - - A URL to which the ninth tab is linked when clicked - url8 - false - true - - - A URL to which the tenth tab is linked when clicked - url9 - false - true - - - An active tab from the value given in the attribute tabsValues]]>. No matter which tab a user selects, the tab given for this value always remains active. - value - false - true - - - - Creates a component that toggles the visibility of the content of the component matching the given id]]>. Default icons are used as the component's default mechanism for showing and hiding the content. - toggle - com.liferay.taglib.ui.ToggleTag - JSP - - Whether to initially show content by default. The default value is true]]>. - defaultShowContent - false - true - boolean - - - An icon to use as the mechanism for hiding the content. You can specify the location of an image file to use in the icon; otherwise a default icon is used. - hideImage - false - true - - - Text to display as a link for hiding the content. It overrides the hideImage]]> attribute. Note that the showMessage]]> attribute must also be configured in order for the hide message to render. - hideMessage - false - true - - - The ID of a component instance whose content's visibility to toggle. - id - true - true - - - An icon to use as the mechanism for showing the content. You can specify the location of an image file to use in the icon; otherwise a default icon is used. - showImage - false - true - - - A link to use as the mechanism for showing the content. The text value of this attribute is used as the link's text. The message takes precedence over showing an image, via the showImage]]> attribute. If you specify a showMessage]]> attribute, you should also specify the hideMessage]]> attribute; a null]]> is otherwise displayed for the text of the hide link. - showMessage - false - true - - - Text to be prefixed to the Toggle()]]> function that is called to toggle visibility of the content. If this is not configured, a random key is generated and prefixed to the Toggle()]]> function. For example, a value of run]]> would result in a function named runToggle()]]>. - stateVar - false - true - - - - toggle-area - com.liferay.taglib.ui.ToggleAreaTag - JSP - - align - false - true - - - defaultShowContent - false - true - - - hideImage - false - true - - - hideMessage - false - true - - - id - false - true - - - showImage - false - true - - - showMessage - false - true - - - stateVar - false - true - - - - toggle-value - com.liferay.taglib.ui.ToggleValueTag - JSP - - defaultValue - false - true - - - id - true - true - - - - Creates a component for users to permanently delete items such as images, articles, etc. from the recycle bin. - trash-empty - com.liferay.taglib.ui.TrashEmptyTag - empty - - A message to display to confirm that the user wants to remove the item(s) from the recycle bin. - confirmMessage - false - true - - - A message to be used for the empty-trash]]> button and link. - emptyMessage - false - true - - - A message to display to give users information about removing items from the recycle bin. - infoMessage - false - true - - - A URL for the empty-trash]]> button/link. - portletURL - true - true - - - The number of items to be removed from the recycle bin. - totalEntries - true - true - int - - - - Creates a message confirming items were moved to the recycle bin and presenting an option to restore them. - trash-undo - com.liferay.taglib.ui.TrashUndoTag - empty - - The URL of the undo link. - portletURL - true - true - - - A redirect URL. - redirect - false - true - - - - upload-progress - com.liferay.taglib.ui.UploadProgressTag - JSP - - height - false - true - - - id - true - true - - - message - false - true - - - redirect - false - true - - - updatePeriod - false - true - - - - user-display - com.liferay.taglib.ui.UserDisplayTag - com.liferay.taglib.ui.UserDisplayTei - JSP - - displayStyle - false - true - - - url - false - true - - - userId - true - true - - - userName - false - true - - - - user-search - com.liferay.taglib.ui.UserSearchTag - JSP - - portletURL - true - true - - - rowChecker - false - true - - - userParams - true - true - - - - webdav - com.liferay.taglib.ui.WebDAVTag - JSP - - path - true - true - - - - write - com.liferay.taglib.ui.WriteTag - JSP - - bean - true - true - - - property - true - true - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-util.tld b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-util.tld deleted file mode 100644 index 72a4caf0..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/tld/liferay-util.tld +++ /dev/null @@ -1,141 +0,0 @@ - - - - - 1.2 - 1.1 - liferay-util - http://liferay.com/tld/util - - body-bottom - com.liferay.taglib.util.BodyBottomTag - JSP - - outputKey - false - true - - - - body-top - com.liferay.taglib.util.BodyTopTag - JSP - - outputKey - false - true - - - - buffer - com.liferay.taglib.util.BufferTag - com.liferay.taglib.util.BufferTei - JSP - - var - true - true - - - - get-url - com.liferay.taglib.util.GetUrlTag - com.liferay.taglib.util.GetUrlTei - JSP - - expires - false - true - - - url - true - true - - - var - false - true - - - - html-bottom - com.liferay.taglib.util.HtmlBottomTag - JSP - - outputKey - false - true - - - position - false - true - - - - html-top - com.liferay.taglib.util.HtmlTopTag - JSP - - outputKey - false - true - - - position - false - true - - - - include - com.liferay.taglib.util.IncludeTag - JSP - - page - true - true - - - portletId - false - true - - - servletContext - false - true - - - strict - false - true - - - useCustomPage - false - true - - - - param - com.liferay.taglib.util.ParamTag - JSP - - name - true - true - - - value - true - true - - - - whitespace-remover - com.liferay.taglib.util.WhitespaceRemoverTag - JSP - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/web.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/web.xml deleted file mode 100644 index 1aa8cdb8..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/WEB-INF/web.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/css/main.css b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/css/main.css deleted file mode 100644 index e69de29b..00000000 diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/fascicolomap/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/fascicolomap/view.jsp deleted file mode 100644 index 73846011..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/fascicolomap/view.jsp +++ /dev/null @@ -1,6 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> - - - -This is the Fascicolo Map portlet in View mode. diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/init.jsp b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/init.jsp deleted file mode 100644 index 7e4b2740..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/init.jsp +++ /dev/null @@ -1,42 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - -<%@page import="com.liferay.portlet.PortletURLUtil"%> -<%@page import="javax.portlet.PortletURL"%> -<%@page import="javax.portlet.PortletMode"%> -<%@page import="javax.portlet.WindowState"%> -<%@page import="com.liferay.portal.kernel.util.ParamUtil"%> -<%@page import="com.liferay.portal.kernel.util.StringUtil"%> -<%@page import="java.util.ArrayList"%> -<%@page import="java.util.List"%> -<%@page import="it.tref.liferay.mapit.constants.WebKeys"%> -<%@page import="com.liferay.portal.kernel.util.Validator"%> -<%@page import="com.liferay.portal.kernel.util.HtmlUtil"%> - -<%@page import="com.liferay.portal.kernel.util.StringPool"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - -<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> - -<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %> -<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %> -<%@ taglib uri="http://liferay.com/tld/security" prefix="liferay-security" %> -<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> -<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %> -<%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %> -<%@ taglib uri="http://liferay.com/tld/ddm" prefix="liferay-ddm" %> - -<%@ page contentType="text/html; charset=UTF-8" %> - - - - -<% -PortletMode portletMode = liferayPortletRequest.getPortletMode(); -WindowState windowState = liferayPortletRequest.getWindowState(); - -PortletURL currentURLObj = PortletURLUtil.getCurrent(liferayPortletRequest, liferayPortletResponse); - -String currentURL = currentURLObj.toString(); -//String currentURL = PortalUtil.getCurrentURL(request); - -%> \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/init.jsp b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/init.jsp deleted file mode 100644 index a45de3b9..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/init.jsp +++ /dev/null @@ -1,7 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - -<%@page import="it.tref.liferay.mapit.constants.WebKeys"%> -<%@page import="javax.portlet.PortletPreferences"%> -<%@page import="it.tref.liferay.mapit.constants.PortletConfiguration"%> - -<%@include file="/html/init.jsp" %> \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/top.jsp b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/top.jsp deleted file mode 100644 index 948ee585..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/html/plugin/top.jsp +++ /dev/null @@ -1,518 +0,0 @@ -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@page import="com.liferay.portal.security.permission.ResourceActionsUtil"%> -<%@page import="com.liferay.portal.util.PortalUtil"%> -<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%> -<%@page import="javax.portlet.PortletRequest"%> -<%@page import="com.liferay.portal.util.PortletKeys"%> -<%@page import="com.liferay.portlet.PortletURLFactoryUtil"%> -<%@include file="/html/plugin/init.jsp" %> - - -<% - String contextName = getServletContext().getServletContextName(); - String portletNamespace = ParamUtil.getString(request, "mapitNamespace", "_1_WAR_portosfeportlet_"); -%> - - - - - -<% -/* PortletURL popupURL = PortletURLFactoryUtil.create(request, "1_WAR_portosmapitplugin", - plid, PortletRequest.RENDER_PHASE); */ - -/* popupURL.setParameter("mvcPath", "/html/move_asset/popup.jsp"); -popupURL.setWindowState(LiferayWindowState.POP_UP); -popupURL.setPortletMode(PortletMode.VIEW); */ -%> - - - -
- -
- -
-

- -
- - -
-

-
- - -
-
- - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/icon.png b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/docroot/icon.png deleted file mode 100644 index 807b862cfc087b70dcdd971af3ac92688484e998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmV;^0WAKBP)4nWfMy23V#h*$3p-!?D%AI~T5+JJ;5Qi)|`;Y?)XOj2U`VS70o zp1%L~Y4f1;U-b7MEOk38OU$EtImvzCpiEkKCg)@3^{;h@nc_6NuOBn7?ZF9Ev4w3+ zWiSxI_v2&k@_b{1R8kdeGLx;rFK&F@c}mqZ4YwJO$7q^VC6&nL^Y#-6g9F*zM-oa= z70W0^1X#=%!t{DQE-wCJ^Pd1r08&yFDUlL$EtoM3e+;?Hv-Nc(QI%=il9}v$`OS^N z)(TbAG~DLw><`m+N>!Xf5_@kR0j83~eKLh5sv-%=fC#``TU}jaG#UW`VS>Ph2!jLJ zROR&N$x3B;J002ov JPDHLkV1im=zq{7DH$hZ^Hku79X*+Mci4rfJ_> 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 vVh62G*H1~XgSXUv&Jm+W4nx|LQWU7bo-Ip{ -<% -/** - * Copyright (c) 2000-present Liferay, Inc. All rights reserved. - * - * This library is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 2.1 of the License, or (at your option) - * any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - */ -%> - -<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> - - - -This is the Portos Mapit Plugin portlet. \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml deleted file mode 100644 index d0f59079..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml.MD5 b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml.MD5 deleted file mode 100644 index 37a015a0..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/ivy.xml.MD5 +++ /dev/null @@ -1 +0,0 @@ -2a1242d44db7e53bd980b1eb314a3f21 diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/test/integration/arquillian.xml b/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/test/integration/arquillian.xml deleted file mode 100644 index 9413609b..00000000 --- a/liferay-plugins-sdk-6.2/portlets/portos-mapit-plugin-portlet/test/integration/arquillian.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - 8099 - tomcat - tomcat - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/shared/portos-bo-shared/src/it/tref/liferay/portos/bo/shared/util/PagamentoConstants.java b/liferay-plugins-sdk-6.2/shared/portos-bo-shared/src/it/tref/liferay/portos/bo/shared/util/PagamentoConstants.java index c608a413..9bd7aab8 100644 --- a/liferay-plugins-sdk-6.2/shared/portos-bo-shared/src/it/tref/liferay/portos/bo/shared/util/PagamentoConstants.java +++ b/liferay-plugins-sdk-6.2/shared/portos-bo-shared/src/it/tref/liferay/portos/bo/shared/util/PagamentoConstants.java @@ -1,38 +1,13 @@ package it.tref.liferay.portos.bo.shared.util; -import java.util.HashMap; -import java.util.Map; - public class PagamentoConstants { public static final String PAGAMENTO_ONERI = "01"; public static final String PAGAMENTO_BOLLI = "02"; - public static final String PAGAMENTO_ONERI_BOLLI = "03"; + public static final String PAGAMENTO_DIRITTI_FISSI = "03"; - public static final String MEZZO_ZERO = "00"; public static final String MEZZO_MANUALE = "01"; - public static final String MEZZO_IRIS = "02"; - public static final String UTILIZZATA_NO = "01"; // Da Portos 1 - serve solo per import - public static final String UTILIZZATA_SI = "02"; // Da Portos 1 - serve solo per import public static final String UTILIZZATA_IN_CORSO = "03"; public static final String UTILIZZATA_PAGATA = "04"; - public static final String UTILIZZATA_RIFIUTATA = "05"; - public static final String UTILIZZATA_NON_PAGABILE = "06"; - public static final String UTILIZZATA_SOSTITUITA = "07"; - public static final String UTILIZZATA_ANNULLATO = "08"; - - @SuppressWarnings("serial") - private static final Map mezzoToLabel = new HashMap(3) { - { - put(MEZZO_ZERO, "label.pratica.pagamento.mezzo.zero"); - put(MEZZO_MANUALE, "label.pratica.pagamento.mezzo.manuale"); - put(MEZZO_IRIS, "label.pratica.pagamento.mezzo.iris"); - } - }; - - public static String mezzoToLabel(String mezzo) { - - return mezzoToLabel.get(mezzo); - } }