diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/DelegheUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/DelegheUtil.java index 4715e525..ab315614 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/DelegheUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/DelegheUtil.java @@ -329,6 +329,28 @@ public class DelegheUtil { } return geologi; } + + // fix 13/11/2023 + public static boolean hasDelegaPagamento(User user, long praticaUserId , long intPraticaId) + throws PortalException, SystemException { + + boolean controllo = false; + List deleghe = DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito(intPraticaId, + DelegheUtil.TIPO_PAGAMENTO, new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, + QueryUtil.ALL_POS, null); + if (deleghe.isEmpty()) { + controllo = (user.getUserId() == praticaUserId); + } else { + controllo = false; + for (Delega delega : deleghe) { + if (delega.getCodiceFiscale().equalsIgnoreCase(user.getScreenName())) { + controllo = true; + break; + } + } + } + return controllo; + } public static boolean hasDelegaPagamento(long userId, long dettPraticaId) throws PortalException, SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java index 1d139cb2..a6461bbe 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java @@ -1260,9 +1260,11 @@ public class ValidazionePraticaUtil { notCompleted.add("fl-data-fine"); } IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(fineLavori.getIntPraticaId()); - if (Validator.isNull(fineLavori.getDataFineLavori()) - || fineLavori.getDataFineLavori().before(intPratica.getDtPratica())) { - notCompleted.add("fl-data-fine-early"); + if(!intPratica.isPraticaOspedaliera()){ + if (Validator.isNull(fineLavori.getDataFineLavori()) + || fineLavori.getDataFineLavori().before(intPratica.getDtPratica())) { + notCompleted.add("fl-data-fine-early"); + } } if (Validator.isNull(fineLavori.getCodiceFiscaleDelegato())) { notCompleted.add("fl-dir-lav"); 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 370e4e16..429f6384 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 @@ -987,7 +987,7 @@ fl-commit = Committente/i fl-dir-lav = Direttore Lavori fl-tipo-dom = Tipo di domanda fl-data-fine = Data effettuazione fine lavori -fl-data-fine-early = Data effettuazione fine lavori non può essere antecedente la data di inizio lavori +fl-data-fine-early = Data effettuazione fine lavori non può essere antecedente la data di presentazione della pratica fl-esente-bollo = esente da bollo ai sensi di D.P.R. 26/10/1972 n. 642 e s.m.i. fl-dichiaraz-direttore = Il sottoscritto {0} {1}, in qualità di Direttore dei lavori principale dichiara che in data sopra indicata sono state ultimate le opere relative al progetto in oggetto.
Le opere sono state realizzate secondo il progetto autorizzato / depositato ed i materiali utilizzati sono conformi a quanto dichiarato
Con la presente si certifica altresì che le opere realizzate sono conformi alle prescrizioni antisismiche della vigente normativa nonchè, laddove previsto, alle prescrizioni relative alle opere di conglomerato cementizio armato, normale e precompresso, ed a struttura metallica di cui alla parte II, capo II, del D.P.R. 380/01. fl-firma-direttore = Relazione di Fine Lavori e Certificato di Rispondenza, ai sensi dell''art. 93 del D.P.R. 380/2001 sottoscritti dal Direttore dei Lavori {0} {1} - {2} ai sensi del D.Lgs. 82/2005. 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 b56a1446..4bf0bc44 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 @@ -48,7 +48,7 @@ public class PagamentoServiceImpl extends PagamentoServiceBaseImpl { Pagamento pagamento = pagamentoLocalService.getPagamento(pagamentoId); long userId = findTitolare(pagamentoId); - if (getUserId() == userId || DelegheUtil.hasDelegaPagamento(userId, pagamento.getClassPk())) { + if (getUserId() == userId || DelegheUtil.hasDelegaPagamento(getUser(), getUserId(), pagamento.getClassPk())) { pagamentoLocalService.updatePagamentoManuale(pagamentoId, content, sourceFileName, serviceContext); } else { throw new SystemException("pagamento manuale aggiornabile solo da titolare digitale del " 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 ed21db3f..b2fb0b46 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 @@ -48,6 +48,7 @@ if (!direttori.isEmpty()) { } String fmName = "fmFineLavori"; boolean disabledEditing = fineLavori.getCompletata(); +boolean nothingToPay = intPratica.isPraticaOspedaliera() || dettPratica.isLavoriPubblici(); request.setAttribute("bean.fineLavori", fineLavori); %> @@ -248,11 +249,11 @@ request.setAttribute("bean.fineLavori", fineLavori);
+ disabled="<%= disabledEditing || nothingToPay %>"/>
+ disabled="<%= disabledEditing || nothingToPay %>"/>

diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp index f85631b2..f97baeef 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp @@ -1,3 +1,6 @@ +<%@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.IntPraticaLocalServiceUtil"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="it.tref.liferay.portos.bo.service.FineLavoriServiceUtil"%> <%@page import="it.tref.liferay.portos.bo.model.FineLavori"%> @@ -19,6 +22,7 @@ long fineLavoriId = ParamUtil.getLong(request, "fineLavoriId",0l); FineLavori fineLavori = FineLavoriServiceUtil.getFineLavori(fineLavoriId); + IntPratica intPratica = IntPraticaServiceUtil.getIntPratica(intPraticaId); %> @@ -55,7 +59,7 @@ linkCssClass="btn" /> <% - boolean isEsente = fineLavori.getNormEsenteBollo(); + boolean isEsente = fineLavori.getNormEsenteBollo() || intPratica.isPraticaOspedaliera(); %>