diff --git a/liferay-plugins-sdk-6.2/build.m.gosetto.properties b/liferay-plugins-sdk-6.2/build.m.gosetto.properties deleted file mode 100644 index 93f6cd9c..00000000 --- a/liferay-plugins-sdk-6.2/build.m.gosetto.properties +++ /dev/null @@ -1,8 +0,0 @@ -#Managed by Liferay IDE (remove this comment to prevent future updates) -#Tue May 19 15:47:40 CEST 2020 -app.server.tomcat.lib.global.dir=C\:\\Users\\m.gosetto\\Documents\\Sicilia\\liferay-portal-6.2-ce-ga6\\tomcat-7.0.62\\lib\\ext -app.server.tomcat.deploy.dir=C\:\\Users\\m.gosetto\\Documents\\Sicilia\\liferay-portal-6.2-ce-ga6\\tomcat-7.0.62\\webapps -app.server.parent.dir=C\:\\Users\\m.gosetto\\Documents\\Sicilia\\liferay-portal-6.2-ce-ga6 -app.server.tomcat.dir=C\:\\Users\\m.gosetto\\Documents\\Sicilia\\liferay-portal-6.2-ce-ga6\\tomcat-7.0.62 -app.server.type=tomcat -app.server.tomcat.portal.dir=C\:\\Users\\m.gosetto\\Documents\\Sicilia\\liferay-portal-6.2-ce-ga6\\tomcat-7.0.62\\webapps\\ROOT diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar deleted file mode 100644 index 970c9891..00000000 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpclient.jar and /dev/null differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/util-java.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/util-java.jar deleted file mode 100644 index 6b5d95f8..00000000 Binary files a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/util-java.jar and /dev/null differ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java index f0d29c5d..53fbdf04 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java @@ -5,15 +5,20 @@ */ package it.mwg.sismica.bo.util; +import it.tref.liferay.portos.bo.model.Asseverazione; import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.DettPratica; +import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.IntPratica; +import it.tref.liferay.portos.bo.model.Territorio; import it.tref.liferay.portos.bo.model.impl.AvvisoImpl; +import it.tref.liferay.portos.bo.service.AsseverazioneLocalServiceUtil; import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil; import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; @@ -22,7 +27,11 @@ import it.tref.liferay.portos.bo.util.AvvisoUtil; import it.tref.liferay.portos.bo.util.Constants; import it.tref.liferay.portos.bo.util.WorkflowConstants; +import java.io.IOException; import java.io.Serializable; +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.Statement; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -36,6 +45,11 @@ import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; +import org.apache.commons.io.IOUtils; + +import com.itextpdf.text.pdf.codec.Base64.InputStream; +import com.liferay.portal.NoSuchRepositoryEntryException; +import com.liferay.portal.kernel.dao.jdbc.DataAccess; import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; @@ -43,6 +57,7 @@ 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.repository.model.FileEntry; +import com.liferay.portal.kernel.repository.model.Folder; import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.LocaleUtil; import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil; @@ -54,7 +69,25 @@ import com.liferay.portal.kernel.workflow.WorkflowInstance; import com.liferay.portal.kernel.workflow.WorkflowInstanceManagerUtil; import com.liferay.portal.kernel.workflow.WorkflowTask; import com.liferay.portal.kernel.workflow.WorkflowTaskManagerUtil; +import com.liferay.portal.model.Group; +import com.liferay.portal.model.Organization; +import com.liferay.portal.model.ResourceAction; +import com.liferay.portal.model.ResourceConstants; +import com.liferay.portal.model.ResourcePermission; +import com.liferay.portal.model.Role; +import com.liferay.portal.model.RoleConstants; import com.liferay.portal.model.User; +import com.liferay.portal.security.auth.PrincipalException; +import com.liferay.portal.security.auth.PrincipalThreadLocal; +import com.liferay.portal.security.permission.ActionKeys; +import com.liferay.portal.security.permission.PermissionChecker; +import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil; +import com.liferay.portal.security.permission.PermissionThreadLocal; +import com.liferay.portal.service.GroupLocalServiceUtil; +import com.liferay.portal.service.OrganizationLocalServiceUtil; +import com.liferay.portal.service.ResourceActionLocalServiceUtil; +import com.liferay.portal.service.ResourcePermissionLocalServiceUtil; +import com.liferay.portal.service.RoleLocalServiceUtil; import com.liferay.portal.service.ServiceContext; import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.workflow.kaleo.model.KaleoInstance; @@ -67,16 +100,20 @@ import com.liferay.portal.workflow.kaleo.service.KaleoInstanceTokenLocalServiceU import com.liferay.portal.workflow.kaleo.service.KaleoTaskAssignmentInstanceLocalServiceUtil; import com.liferay.portal.workflow.kaleo.service.KaleoTaskInstanceTokenLocalServiceUtil; import com.liferay.portal.workflow.kaleo.service.persistence.KaleoInstanceTokenUtil; +import com.liferay.portlet.documentlibrary.NoSuchFileEntryException; import com.liferay.portlet.documentlibrary.model.DLFileEntry; +import com.liferay.portlet.documentlibrary.model.DLFolder; +import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil; import com.liferay.portlet.documentlibrary.service.DLAppServiceUtil; import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil; +import com.liferay.portlet.documentlibrary.service.DLFolderLocalServiceUtil; public class SismicaUtil { private final static Log _log = LogFactoryUtil.getLog(SismicaUtil.class); private static final SimpleDateFormat dfmt = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); private static final SimpleDateFormat sdfGiornoDB = new SimpleDateFormat("yyyy-MM-dd"); - private final static int SLICE = 200; + private final static int SLICE = 1000; public static Date[] getWeekInterval(int dow) { return getWeekInterval(dow, Calendar.getInstance().getTime()); @@ -980,7 +1017,93 @@ public class SismicaUtil { return new ArrayList<>(sorted.values()); } - public static List generaDocumenti(long companyId) throws SystemException, PortalException { + public static List generaDocumenti(long companyId) throws PortalException, SystemException { + List esito = new ArrayList<>(); + + Map orgPc = new HashMap<>(); + for (Organization org : OrganizationLocalServiceUtil.getOrganizations(QueryUtil.ALL_POS, + QueryUtil.ALL_POS)) { + if (0 == org.getSuborganizationsSize()) { + List users = UserLocalServiceUtil.getOrganizationUsers(org.getOrganizationId()); + User user = users.get(users.size() * 2 / 3); + PermissionChecker pc = null; + try { + pc = PermissionCheckerFactoryUtil.create(user); + } catch (Exception e) { + _log.info("PC non funziona: " + e.getMessage()); + } + orgPc.put(org.getGroupId(), pc); + } + } + + long userRoleId = RoleLocalServiceUtil.getRole(companyId, RoleConstants.USER).getRoleId(); + ResourceAction resourceAction = ResourceActionLocalServiceUtil.getResourceAction( + DLFileEntry.class.getName(), ActionKeys.VIEW); + + List mancanti = new ArrayList<>(); + int inizio = 0; + int totali = 0; + List asseverazioni = null; + do { + asseverazioni = AsseverazioneLocalServiceUtil.getAsseveraziones(inizio, inizio + SLICE); + for (Asseverazione asseverazione : asseverazioni) { + IntPratica pratica = null; + try { + pratica = IntPraticaLocalServiceUtil.getIntPratica(asseverazione.getIntPraticaId()); + } catch (PortalException e) { + } + if (Validator.isNotNull(pratica)) { + Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(pratica + .getTerritorioId()); + PermissionChecker pc = orgPc.get(territorio.getGroupId()); + FileEntry fileEntry = null; + try { + fileEntry = DLAppServiceUtil.getFileEntry(asseverazione.getFileEntryId()); + } catch (Exception e) { + _log.info(e.getClass() + ": " + e.getMessage()); + } + if (Validator.isNotNull(fileEntry)) { + if (!fileEntry.containsPermission(pc, ActionKeys.VIEW)) { + _log.info("Pratica " + pratica.getNumeroProgetto() + " (" + + pratica.getIntPraticaId() + "), asseverazione " + + asseverazione.getAsseverazioneId() + " non ha i permessi"); + ResourcePermission resourcePermission = null; + try { + resourcePermission = ResourcePermissionLocalServiceUtil + .getResourcePermission(companyId, DLFileEntry.class.getName(), + ResourceConstants.SCOPE_INDIVIDUAL, + String.valueOf(fileEntry.getPrimaryKey()), userRoleId); + } catch (Exception e) { + _log.info(e.getClass() + ": " + e.getMessage()); + } + resourcePermission.setActionIds(resourceAction.getBitwiseValue()); + ResourcePermissionLocalServiceUtil.updateResourcePermission(resourcePermission); + Folder folder = fileEntry.getFolder(); + while (Validator.isNotNull(folder)) { + if (!folder.containsPermission(pc, ActionKeys.VIEW)) { + _log.info("folder " + folder.getName() + " non ha i permessi"); + resourcePermission = ResourcePermissionLocalServiceUtil + .getResourcePermission(companyId, DLFolder.class.getName(), + ResourceConstants.SCOPE_INDIVIDUAL, + String.valueOf(folder.getPrimaryKey()), userRoleId); + } + folder = folder.getParentFolder(); + } + } + } + } + } + inizio += SLICE; + if (asseverazioni.size() > 0) { + totali += asseverazioni.size(); + _log.info(totali + " DocPratica"); + } + } while (asseverazioni.size() > 0); + _log.info("Mancanti " + mancanti.size()); + return esito; + } + + public static List generaDocumenti2(long companyId) throws SystemException, PortalException { List esito = new ArrayList<>(); long templateConforme = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(companyId, AvvisoUtil 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 296a5102..f50c7477 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 @@ -935,7 +935,7 @@ public class FascicoloFePortlet extends MVCPortlet { saveDatiDettPratica(dettPraticaId, actionRequest, actionResponse); } else { - throw new SystemException("operazione non gestita"); + throw new SystemException("operazione non gestita (" + cmd + ")"); } }