Confronta commit

..

7 Commit

  1. 2
      .gitignore
  2. 75
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service.xml
  3. 24
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/NoSuchRichiestaAccessoAttiException.java
  4. 8
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalService.java
  5. 16
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalServiceClp.java
  6. 8
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalServiceUtil.java
  7. 8
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalServiceWrapper.java
  8. 35
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/model/impl/RichiestaAccessoAttiImpl.java
  9. 383
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/portlet/AccessoAttiBOPortlet.java
  10. 326
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/portlet/AccessoAttiFEPortlet.java
  11. 46
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/portlet/CreazioneAccountPortosPortlet.java
  12. 22
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/service/base/RichiestaAccessoAttiLocalServiceClpInvoker.java
  13. 253
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/service/impl/RichiestaAccessoAttiLocalServiceImpl.java
  14. 35
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/service/impl/RichiestaAccessoAttiServiceImpl.java
  15. 26
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/uti/AccessoAttiAccessTokenUtil.java
  16. 47
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/uti/DocumentLibraryUtil.java
  17. 98
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/uti/EmailSenderUtil.java
  18. 242
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_bo/add_richiesta.jsp
  19. 372
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/visualizza-atto.jsp
  20. 4
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/WEB-INF/liferay-display.xml
  21. 2
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/WEB-INF/liferay-hook.xml
  22. 109
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/WEB-INF/service.xml
  23. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/common/details_column.jsp
  24. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/common/relations_column.jsp
  25. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/detail/detail.jsp
  26. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/detail/view.jsp
  27. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/detail/view_list.jsp
  28. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/init.jsp
  29. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/storicizzazione/edit.jsp
  30. 1
      liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/storicizzazione/view.jsp
  31. 28
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-display.xml
  32. 2
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-hook.xml
  33. 2058
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml
  34. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/search/IntPraticaSearch.java
  35. 120
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service.xml
  36. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/DuplicateFunzionarioException.java
  37. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/DuplicatePrenotazioneException.java
  38. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/DuplicateProfessionistaException.java
  39. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchDisponibilitaException.java
  40. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchFunzionarioException.java
  41. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchPrenotazioneException.java
  42. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchProfessionistaException.java
  43. 19
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/SlotNotAvailableException.java
  44. 36
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/DisponibilitaImpl.java
  45. 48
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/FunzionarioImpl.java
  46. 57
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/PrenotazioneImpl.java
  47. 36
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/ProfessionistaImpl.java
  48. 510
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/DisponibilitaLocalServiceImpl.java
  49. 136
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/DisponibilitaServiceImpl.java
  50. 133
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/FunzionarioLocalServiceImpl.java
  51. 172
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/FunzionarioServiceImpl.java
  52. 314
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/PrenotazioneLocalServiceImpl.java
  53. 140
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/PrenotazioneServiceImpl.java
  54. 35
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/ProfessionistaLocalServiceImpl.java
  55. 32
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/ProfessionistaServiceImpl.java
  56. 96
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/util/CalendarUtil.java
  57. 1
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/init.jsp
  58. 1
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/amministrazione.jsp
  59. 1
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/calendar.jsp
  60. 31
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/gestione_disponibilita.jsp
  61. 1
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/gestione_disponibilita_action.jsp
  62. 1
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/view.jsp
  63. 1
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/init.jsp
  64. 8
      liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/WEB-INF/liferay-portlet.xml
  65. 18
      liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/companyconfig/portlet/CompanyConfigurationPortlet.java
  66. 1
      liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/html/company_configuration/init.jsp
  67. 29
      liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/html/company_configuration/view.jsp
  68. 1
      liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/html/init.jsp
  69. 163
      liferay-plugins-sdk-6.2/portlets/portos-cookies-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/cookies/action/StartUpAction.java
  70. 1
      liferay-plugins-sdk-6.2/portlets/portos-cookies-portlet/docroot/init.jsp
  71. 1
      liferay-plugins-sdk-6.2/portlets/portos-cookies-portlet/docroot/view.jsp
  72. 5
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/portlet.xml
  73. 128
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/action/DeployAction.java
  74. 9
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/constants/MailConstants.java
  75. 23
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/control/DeployAlertControl.java
  76. 100
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/portlet/NotificatorPortlet.java
  77. 86
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/impl/NotificationLogLocalServiceImpl.java
  78. 227
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/impl/NotificationMailLocalServiceImpl.java
  79. 1
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/persistence/NotificationLogPersistenceImpl.java
  80. 1
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/persistence/NotificationMailPersistenceImpl.java
  81. 157
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/util/DeployAlertUtil.java
  82. 1
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/init.jsp
  83. 1
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/notificator/edit_notification.jsp
  84. 1
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/notificator/init.jsp
  85. 1
      liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/notificator/view.jsp
  86. 2
      liferay-plugins-sdk-6.2/portlets/portos-firma-portlet/docroot/WEB-INF/liferay-hook.xml
  87. 10
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/liferay-portlet.xml
  88. 36
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoInstanceImpl.java
  89. 36
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoNodeImpl.java
  90. 40
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoTaskAssignmentInstanceImpl.java
  91. 36
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoTaskImpl.java
  92. 37
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoTaskInstanceTokenImpl.java
  93. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoInstancePersistenceImpl.java
  94. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoInstanceTokenPersistenceImpl.java
  95. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoLogPersistenceImpl.java
  96. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoNodePersistenceImpl.java
  97. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoTaskAssignmentInstancePersistenceImpl.java
  98. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoTaskInstanceTokenPersistenceImpl.java
  99. 3
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoTaskPersistenceImpl.java
  100. 2
      liferay-plugins-sdk-6.2/portlets/portos-kaleo-portlet/docroot/WEB-INF/liferay-hook.xml
  101. Some files were not shown because too many files have changed in this diff Show More

2
.gitignore vendored

@ -10,3 +10,5 @@ portos-*.jar
**/build/
.DS_Store
._*
liferay-plugins-sdk-6.2/.idea/
*.iml

75
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service.xml

@ -1,59 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_1_0.dtd">
<service-builder package-path="it.tref.liferay.portos.accesso.atti">
<author>3F Consulting + Manifattura Web Group s.r.l.</author>
<author>3F Consulting</author>
<namespace>portos_atti</namespace>
<entity name="RichiestaAccessoAtti" local-service="true" remote-service="true">
<!-- PK fields -->
<column name="richiestaAccessoAttiId" type="long" primary="true" />
<column name="richiestaAccessoAttiId" type="long" primary="true"></column>
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<column name="groupId" type="long" />
<column name="companyId" type="long"></column>
<column name="userId" type="long"></column>
<column name="userName" type="String"></column>
<column name="createDate" type="Date"></column>
<column name="modifiedDate" type="Date"></column>
<column name="groupId" type="long"></column>
<!-- Other fields -->
<column name="intPraticaId" type="long" />
<column name="territorioId" type="long" />
<column name="numeroProgetto" type="String" />
<column name="emailRicontatto" type="String" />
<column name="dtVidimazione" type="Date" />
<column name="sanatoria" type="boolean" />
<column name="dtSanatoria" type="Date" />
<column name="tipologiaPersona" type="String" />
<column name="tipologiaRichiesta" type="String" />
<column name="tipologiaRichiestaDettaglio" type="String" />
<column name="motivazioneRichiesta" type="String" />
<column name="fileEntryIdPagamento" type="long" />
<column name="fileEntryIdDocumentoIdentita" type="long" />
<column name="accettata" type="boolean" />
<column name="dtAccettazione" type="Date" />
<column name="gestita" type="boolean" />
<column name="accessToken" type="String" />
<column name="protocolloEntrata" type="String" />
<column name="protocolloUscita" type="String" />
<column name="funzionarioId" type="long" />
<column name="intPraticaId" type="long"></column>
<column name="territorioId" type="long"></column>
<column name="numeroProgetto" type="String"></column>
<column name="emailRicontatto" type="String"></column>
<column name="dtVidimazione" type="Date"></column>
<column name="sanatoria" type="boolean"></column>
<column name="dtSanatoria" type="Date"></column>
<column name="tipologiaPersona" type="String"></column>
<column name="tipologiaRichiesta" type="String"></column>
<column name="tipologiaRichiestaDettaglio" type="String"></column>
<column name="motivazioneRichiesta" type="String"></column>
<column name="fileEntryIdPagamento" type="long"></column>
<column name="fileEntryIdDocumentoIdentita" type="long"></column>
<column name="accettata" type="boolean"></column>
<column name="dtAccettazione" type="Date"></column>
<column name="gestita" type="boolean"></column>
<column name="accessToken" type="String"></column>
<column name="protocolloEntrata" type="String"></column>
<column name="protocolloUscita" type="String"></column>
<column name="funzionarioId" type="long"></column>
<!-- Order -->
<order by="asc">
<order-column name="gestita" />
<order-column name="gestita"></order-column>
</order>
<!-- Finder -->
<finder name="NumeroProgetto" return-type="Collection">
<finder-column name="numeroProgetto" />
<finder-column name="numeroProgetto"></finder-column>
</finder>
<finder name="Gestita" return-type="Collection">
<finder-column name="gestita" />
<finder-column name="gestita"></finder-column>
</finder>
</entity>
</service-builder>

24
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/NoSuchRichiestaAccessoAttiException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.liferay.portos.accesso.atti;
@ -11,28 +17,24 @@ package it.tref.liferay.portos.accesso.atti;
import com.liferay.portal.NoSuchModelException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class NoSuchRichiestaAccessoAttiException extends NoSuchModelException {
public NoSuchRichiestaAccessoAttiException() {
super();
}
public NoSuchRichiestaAccessoAttiException(String msg) {
super(msg);
}
public NoSuchRichiestaAccessoAttiException(String msg, Throwable cause) {
super(msg, cause);
}
public NoSuchRichiestaAccessoAttiException(Throwable cause) {
super(cause);
}
}

8
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalService.java

@ -30,7 +30,7 @@ import com.liferay.portal.service.PersistedModelLocalService;
* credentials because this service can only be accessed from within the same
* VM.
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see RichiestaAccessoAttiLocalServiceUtil
* @see it.tref.liferay.portos.accesso.atti.service.base.RichiestaAccessoAttiLocalServiceBaseImpl
* @see it.tref.liferay.portos.accesso.atti.service.impl.RichiestaAccessoAttiLocalServiceImpl
@ -261,12 +261,14 @@ public interface RichiestaAccessoAttiLocalService extends BaseLocalService,
public java.util.List<it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti> findCompletate(
java.lang.String numeroProgetto, java.lang.String protocollo,
java.lang.String dataDal, java.lang.String dataAl, int start, int end)
throws com.liferay.portal.kernel.exception.SystemException;
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException;
public int countCompletate(java.lang.String numeroProgetto,
java.lang.String protocollo, java.lang.String dataDal,
java.lang.String dataAl)
throws com.liferay.portal.kernel.exception.SystemException;
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException;
public it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti findByAccessToken(
java.lang.String accessToken)

16
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalServiceClp.java

@ -17,7 +17,7 @@ package it.tref.liferay.portos.accesso.atti.service;
import com.liferay.portal.service.InvokableLocalService;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @generated
*/
public class RichiestaAccessoAttiLocalServiceClp
@ -737,7 +737,8 @@ public class RichiestaAccessoAttiLocalServiceClp
public java.util.List<it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti> findCompletate(
java.lang.String numeroProgetto, java.lang.String protocollo,
java.lang.String dataDal, java.lang.String dataAl, int start, int end)
throws com.liferay.portal.kernel.exception.SystemException {
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException {
Object returnObj = null;
try {
@ -764,6 +765,10 @@ public class RichiestaAccessoAttiLocalServiceClp
throw (com.liferay.portal.kernel.exception.SystemException)t;
}
if (t instanceof java.text.ParseException) {
throw (java.text.ParseException)t;
}
if (t instanceof RuntimeException) {
throw (RuntimeException)t;
}
@ -780,7 +785,8 @@ public class RichiestaAccessoAttiLocalServiceClp
public int countCompletate(java.lang.String numeroProgetto,
java.lang.String protocollo, java.lang.String dataDal,
java.lang.String dataAl)
throws com.liferay.portal.kernel.exception.SystemException {
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException {
Object returnObj = null;
try {
@ -803,6 +809,10 @@ public class RichiestaAccessoAttiLocalServiceClp
throw (com.liferay.portal.kernel.exception.SystemException)t;
}
if (t instanceof java.text.ParseException) {
throw (java.text.ParseException)t;
}
if (t instanceof RuntimeException) {
throw (RuntimeException)t;
}

8
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalServiceUtil.java

@ -26,7 +26,7 @@ import com.liferay.portal.service.InvokableLocalService;
* based on the propagated JAAS credentials because this service can only be
* accessed from within the same VM.
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see RichiestaAccessoAttiLocalService
* @see it.tref.liferay.portos.accesso.atti.service.base.RichiestaAccessoAttiLocalServiceBaseImpl
* @see it.tref.liferay.portos.accesso.atti.service.impl.RichiestaAccessoAttiLocalServiceImpl
@ -284,7 +284,8 @@ public class RichiestaAccessoAttiLocalServiceUtil {
public static java.util.List<it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti> findCompletate(
java.lang.String numeroProgetto, java.lang.String protocollo,
java.lang.String dataDal, java.lang.String dataAl, int start, int end)
throws com.liferay.portal.kernel.exception.SystemException {
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException {
return getService()
.findCompletate(numeroProgetto, protocollo, dataDal, dataAl,
start, end);
@ -293,7 +294,8 @@ public class RichiestaAccessoAttiLocalServiceUtil {
public static int countCompletate(java.lang.String numeroProgetto,
java.lang.String protocollo, java.lang.String dataDal,
java.lang.String dataAl)
throws com.liferay.portal.kernel.exception.SystemException {
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException {
return getService()
.countCompletate(numeroProgetto, protocollo, dataDal, dataAl);
}

8
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/accesso/atti/service/RichiestaAccessoAttiLocalServiceWrapper.java

@ -19,7 +19,7 @@ import com.liferay.portal.service.ServiceWrapper;
/**
* Provides a wrapper for {@link RichiestaAccessoAttiLocalService}.
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see RichiestaAccessoAttiLocalService
* @generated
*/
@ -302,7 +302,8 @@ public class RichiestaAccessoAttiLocalServiceWrapper
public java.util.List<it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti> findCompletate(
java.lang.String numeroProgetto, java.lang.String protocollo,
java.lang.String dataDal, java.lang.String dataAl, int start, int end)
throws com.liferay.portal.kernel.exception.SystemException {
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException {
return _richiestaAccessoAttiLocalService.findCompletate(numeroProgetto,
protocollo, dataDal, dataAl, start, end);
}
@ -311,7 +312,8 @@ public class RichiestaAccessoAttiLocalServiceWrapper
public int countCompletate(java.lang.String numeroProgetto,
java.lang.String protocollo, java.lang.String dataDal,
java.lang.String dataAl)
throws com.liferay.portal.kernel.exception.SystemException {
throws com.liferay.portal.kernel.exception.SystemException,
java.text.ParseException {
return _richiestaAccessoAttiLocalService.countCompletate(numeroProgetto,
protocollo, dataDal, dataAl);
}

35
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/model/impl/RichiestaAccessoAttiImpl.java

@ -1,29 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.accesso.atti.model.impl;
/**
* The extended model implementation for the RichiestaAccessoAtti service. Represents a row in the
* &quot;portos_atti_RichiestaAccessoAtti&quot; database table, with each column mapped to a property of this class.
* The extended model implementation for the RichiestaAccessoAtti service. Represents a row in the &quot;portos_atti_RichiestaAccessoAtti&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti} interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti} interface.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class RichiestaAccessoAttiImpl extends RichiestaAccessoAttiBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a richiesta accesso atti model
* instance should use the {@link it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a richiesta accesso atti model instance should use the {@link it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti} interface instead.
*/
public RichiestaAccessoAttiImpl() {}
public RichiestaAccessoAttiImpl() {
}
}

383
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/portlet/AccessoAttiBOPortlet.java

@ -52,66 +52,89 @@ import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.portal.util.PortalUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;
/**
* Portlet implementation class AccessoAttiBOPortlet
*/
public class AccessoAttiBOPortlet extends MVCPortlet {
public static final Log _log = LogFactoryUtil.getLog(AccessoAttiBOPortlet.class);
public void accettaRichiesta(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException,
AddressException {
public void accettaRichiesta(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException, AddressException{
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
long richiestaAccessoAttiId = ParamUtil.getLong(actionRequest, "richiestaAccessoAttiId");
String testoEmail = ParamUtil.getString(actionRequest, "testoEmail");
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if (richiestaAccessoAtti != null) {
RichiestaAccessoAtti richiestaAccessoAtti =
RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if(richiestaAccessoAtti != null){
String accessToken = AccessoAttiAccessTokenUtil.generateAccessToken(richiestaAccessoAttiId,
richiestaAccessoAtti.getNumeroProgetto(), richiestaAccessoAtti.getUserId());
richiestaAccessoAtti.setFunzionarioId(themeDisplay.getUserId());
richiestaAccessoAtti.setGestita(true);
richiestaAccessoAtti.setAccettata(true);
richiestaAccessoAtti.setDtAccettazione(new Date());
richiestaAccessoAtti.setAccessToken(accessToken);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
try {
String protocollo = ProtocolloUtil.protocollaArrivoAccessoAtti(richiestaAccessoAtti.getGroupId(),
richiestaAccessoAtti.getCompanyId(), richiestaAccessoAtti.getUserName(),
richiestaAccessoAtti.getRichiestaAccessoAttiId(), RichiestaAccessoAtti.class.getName());
richiestaAccessoAtti.setProtocolloUscita(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedEmail(richiestaAccessoAttiId, testoEmail);
}
}
public void rifiutaRichiesta(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException,
AddressException {
public void rifiutaRichiesta(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException, AddressException{
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
long richiestaAccessoAttiId = ParamUtil.getLong(actionRequest, "richiestaAccessoAttiId");
String motivoRifiuto = ParamUtil.getString(actionRequest, "motivoRifiuto");
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if (richiestaAccessoAtti != null) {
RichiestaAccessoAtti richiestaAccessoAtti =
RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if(richiestaAccessoAtti != null){
richiestaAccessoAtti.setFunzionarioId(themeDisplay.getUserId());
richiestaAccessoAtti.setGestita(true);
richiestaAccessoAtti.setAccettata(false);
richiestaAccessoAtti.setDtAccettazione(new Date());
richiestaAccessoAtti.setAccessToken("-1");
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
try {
String protocollo = ProtocolloUtil.protocollaArrivoAccessoAtti(richiestaAccessoAtti.getGroupId(),
richiestaAccessoAtti.getCompanyId(), richiestaAccessoAtti.getUserName(),
richiestaAccessoAtti.getRichiestaAccessoAttiId(), RichiestaAccessoAtti.class.getName());
richiestaAccessoAtti.setProtocolloUscita(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendDeniedEmail(richiestaAccessoAttiId, motivoRifiuto);
}
}
public void ricercaGestite(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException {
@ -120,48 +143,65 @@ public class AccessoAttiBOPortlet extends MVCPortlet {
String protocollo = actionRequest.getParameter("protocollo");
String dataDal = actionRequest.getParameter("dataDal");
String dataAl = actionRequest.getParameter("dataAl");
actionResponse.setRenderParameter("numeroProgetto", numeroProgetto);
actionResponse.setRenderParameter("protocollo", protocollo);
actionResponse.setRenderParameter("dataDal", dataDal);
actionResponse.setRenderParameter("dataAl", dataAl);
actionResponse.setRenderParameter("tabs1", "Richieste Concluse");
}
@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException,
public void serveResource(ResourceRequest resourceRequest,
ResourceResponse resourceResponse) throws IOException,
PortletException {
String id = resourceRequest.getResourceID();
if ("exportRicerca".equals(id)) {
if("exportRicerca".equals(id)){
ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
Locale locale = themeDisplay.getLocale();
User user = themeDisplay.getUser();
String csv = StringPool.BLANK;
HttpServletRequest request = PortalUtil.getHttpServletRequest(resourceRequest);
HttpServletResponse response = PortalUtil.getHttpServletResponse(resourceResponse);
try {
csv = exportSearch(locale, resourceRequest, user);
} catch (SystemException | ParseException | PortalException e) {
_log.error(e, e);
_log.error(e,e);
}
ServletResponseUtil.sendFile(request, response, "export_ricerca_accesso_atti_" + new Date().getTime()
+ ".csv", csv.getBytes(StringPool.UTF8), ContentTypes.TEXT_CSV_UTF8);
ServletResponseUtil.sendFile(request, response, "export_ricerca_accesso_atti_"+ new Date().getTime() + ".csv", csv.getBytes(StringPool.UTF8),
ContentTypes.TEXT_CSV_UTF8);
}
super.serveResource(resourceRequest, resourceResponse);
}
private String exportSearch(Locale locale, ResourceRequest resourceRequest, User user) throws SystemException,
ParseException, PortalException {
private String exportSearch(Locale locale, ResourceRequest resourceRequest, User user) throws SystemException, ParseException, PortalException {
ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(resourceRequest);
StringBuilder sb = new StringBuilder();
String numeroProgetto = ParamUtil.getString(httpRequest, "numeroProgetto", StringPool.BLANK);
String protocollo = ParamUtil.getString(httpRequest, "protocollo", StringPool.BLANK);
String dataDal = ParamUtil.getString(httpRequest, "dataDal", StringPool.BLANK);
String dataAl = ParamUtil.getString(httpRequest, "dataAl", StringPool.BLANK);
List<RichiestaAccessoAtti> lista = RichiestaAccessoAttiLocalServiceUtil.findCompletate(numeroProgetto,
protocollo, dataDal, dataAl, -1, -1);
List<RichiestaAccessoAtti> lista =
RichiestaAccessoAttiLocalServiceUtil.findCompletate(numeroProgetto, protocollo, dataDal, dataAl, -1, -1);
sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "Utente Richiedente")));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "Data Gestione")));
@ -182,68 +222,98 @@ public class AccessoAttiBOPortlet extends MVCPortlet {
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(LanguageUtil.get(getPortletConfig(), locale, "Gestita Da")));
sb.append(StringPool.SEMICOLON);
sb.append(StringPool.NEW_LINE);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
for (RichiestaAccessoAtti atto : lista) {
sb.append(CSVUtil.encode(UserLocalServiceUtil.getUser(atto.getUserId()).getFullName()));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(sdf.format(atto.getDtAccettazione())));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(atto.getProtocolloEntrata()));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(atto.getProtocolloUscita()));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(atto.getNumeroProgetto()));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(sdf.format(atto.getDtVidimazione())));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(atto.getSanatoria() ? "SI" : "NO"));
sb.append(StringPool.SEMICOLON);
if (atto.getIntPraticaId() != 0L) {
if(atto.getIntPraticaId() != 0L){
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(atto.getTerritorioId());
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(themeDisplay.getCompanyId(),
comune.getCodiceProvincia());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(themeDisplay.getCompanyId(), comune.getCodiceProvincia());
sb.append(CSVUtil.encode(provincia.getProvincia()));
sb.append(StringPool.SEMICOLON);
} else {
sb.append(CSVUtil.encode(""));
sb.append(StringPool.SEMICOLON);
}
sb.append(CSVUtil.encode(atto.getAccettata() ? "SI" : "NO"));
sb.append(StringPool.SEMICOLON);
sb.append(CSVUtil.encode(UserLocalServiceUtil.getUser(atto.getFunzionarioId()).getFullName()));
sb.append(StringPool.SEMICOLON);
sb.append(StringPool.NEW_LINE);
}
return sb.toString();
}
public void aggiungiRichiestaBO(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException,
AddressException, ParseException {
public void aggiungiRichiestaBO(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException, AddressException, ParseException{
long accessoAttiId = 0L;
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date dataCheck = sdf.parse("01/01/2015");
boolean isNoCNSUser = ParamUtil.getBoolean(actionRequest, "isNoCNSUser");
String codiceFiscale = ParamUtil.getString(actionRequest, "codiceFiscale");
String emailRicontatto = ParamUtil.getString(actionRequest, "emailRicontatto");
String numeroProgetto = ParamUtil.getString(actionRequest, "numeroProgetto");
Date dataVidimazione = ParamUtil.getDate(actionRequest, "dataVidimazione", sdf);
String qualitaPersona = ParamUtil.getString(actionRequest, "qualitaPersona");
String visione = ParamUtil.getString(actionRequest, "visione");
String copiaDettaglio = ParamUtil.getString(actionRequest, "copiaDett");
String motivazione = ParamUtil.getString(actionRequest, "motivazione");
boolean sanatoria = ParamUtil.getBoolean(actionRequest, "sanatoria");
if (numeroProgetto != null && !numeroProgetto.equalsIgnoreCase("")) {
if (!dataVidimazione.before(dataCheck) && !sanatoria) {
if(numeroProgetto != null && !numeroProgetto.equalsIgnoreCase("")){
if(!dataVidimazione.before(dataCheck) && !sanatoria){
IntPratica intPratica = IntPraticaLocalServiceUtil.findByNumeroProgetto(numeroProgetto);
if (intPratica != null) {
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.createRichiestaAccessoAtti(CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class
.getName()));
if(intPratica != null){
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.createRichiestaAccessoAtti(
CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class.getName()));
accessoAttiId = richiestaAccessoAtti.getRichiestaAccessoAttiId();
richiestaAccessoAtti.setCompanyId(themeDisplay.getCompanyId());
richiestaAccessoAtti.setIntPraticaId(intPratica.getIntPraticaId());
richiestaAccessoAtti.setGroupId(intPratica.getGroupId());
@ -254,139 +324,194 @@ public class AccessoAttiBOPortlet extends MVCPortlet {
richiestaAccessoAtti.setMotivazioneRichiesta(motivazione);
richiestaAccessoAtti.setNumeroProgetto(numeroProgetto);
richiestaAccessoAtti.setSanatoria(sanatoria);
if (sanatoria) {
if(sanatoria){
Date dataSanatoria = ParamUtil.getDate(actionRequest, "dataSanatoria", sdf);
richiestaAccessoAtti.setDtSanatoria(dataSanatoria);
}
richiestaAccessoAtti.setTipologiaPersona(qualitaPersona);
if (visione.equalsIgnoreCase("copia")) {
if(visione.equalsIgnoreCase("copia")){
richiestaAccessoAtti.setTipologiaRichiestaDettaglio(copiaDettaglio);
}
richiestaAccessoAtti.setTipologiaRichiesta(visione);
User loggedUser = UserLocalServiceUtil.fetchUserByScreenName(themeDisplay.getCompanyId(),
codiceFiscale.toLowerCase());
if (loggedUser != null) {
User loggedUser =
UserLocalServiceUtil.fetchUserByScreenName(themeDisplay.getCompanyId(), codiceFiscale.toLowerCase());
if(loggedUser != null){
richiestaAccessoAtti.setUserId(loggedUser.getUserId());
richiestaAccessoAtti.setUserName(loggedUser.getScreenName());
} else {
richiestaAccessoAtti.setUserName(codiceFiscale.toLowerCase());
}
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
if (dataVidimazione.before(dataCheck) || sanatoria) {
if (uploadRequest.getSize("allegatoPagamento") != 0) {
if(dataVidimazione.before(dataCheck) || sanatoria){
if(uploadRequest.getSize("allegatoPagamento") != 0){
String sourceFileName = uploadRequest.getFileName("allegatoPagamento");
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
if (isNoCNSUser) {
if (uploadRequest.getSize("documentoIdentita") != 0) {
if(isNoCNSUser){
if(uploadRequest.getSize("documentoIdentita") != 0){
String sourceFileName = uploadRequest.getFileName("documentoIdentita");
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(accessoAttiId);
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(accessoAttiId);
try {
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(
richiesta.getRichiestaAccessoAttiId(), richiesta.getIntPraticaId(),
richiesta.getGroupId(), RichiestaAccessoAtti.class.getName(), richiesta.getCompanyId(),
richiesta.getUserName());
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(richiesta.getRichiestaAccessoAttiId(),
richiesta.getIntPraticaId(), richiesta.getGroupId(), RichiestaAccessoAtti.class.getName(),
richiesta.getCompanyId(), richiesta.getUserName());
richiesta.setProtocolloEntrata(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiesta);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedRequest(accessoAttiId);
actionResponse.setRenderParameter("jspPage", "/html/accesso_atti_fe/richiesta-inviata-success.jsp");
actionResponse.setRenderParameter("jspPage","/html/accesso_atti_fe/richiesta-inviata-success.jsp");
} else {
SessionErrors.add(actionRequest, "atto-non-esistente");
}
} else {
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.createRichiestaAccessoAtti(CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class
.getName()));
accessoAttiId = richiestaAccessoAtti.getRichiestaAccessoAttiId();
richiestaAccessoAtti.setCompanyId(themeDisplay.getCompanyId());
richiestaAccessoAtti.setCreateDate(new Date());
richiestaAccessoAtti.setEmailRicontatto(emailRicontatto);
richiestaAccessoAtti.setDtVidimazione(dataVidimazione);
richiestaAccessoAtti.setMotivazioneRichiesta(motivazione);
richiestaAccessoAtti.setNumeroProgetto(numeroProgetto);
richiestaAccessoAtti.setSanatoria(sanatoria);
if (sanatoria) {
Date dataSanatoria = ParamUtil.getDate(actionRequest, "dataSanatoria", sdf);
richiestaAccessoAtti.setDtSanatoria(dataSanatoria);
}
richiestaAccessoAtti.setTipologiaPersona(qualitaPersona);
if (visione.equalsIgnoreCase("copia")) {
richiestaAccessoAtti.setTipologiaRichiestaDettaglio(copiaDettaglio);
}
richiestaAccessoAtti.setTipologiaRichiesta(visione);
User loggedUser = UserLocalServiceUtil.fetchUserByScreenName(themeDisplay.getCompanyId(),
codiceFiscale.toLowerCase());
if (loggedUser != null) {
richiestaAccessoAtti.setUserId(loggedUser.getUserId());
richiestaAccessoAtti.setUserName(loggedUser.getScreenName());
} else {
richiestaAccessoAtti.setUserName(codiceFiscale.toLowerCase());
}
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
if (dataVidimazione.before(dataCheck) || sanatoria) {
if (uploadRequest.getSize("allegatoPagamento") != 0) {
String sourceFileName = uploadRequest.getFileName("allegatoPagamento");
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.createRichiestaAccessoAtti(
CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class.getName()));
accessoAttiId = richiestaAccessoAtti.getRichiestaAccessoAttiId();
richiestaAccessoAtti.setCompanyId(themeDisplay.getCompanyId());
// richiestaAccessoAtti.setIntPraticaId(intPratica.getIntPraticaId());
// richiestaAccessoAtti.setGroupId(intPratica.getGroupId());
// richiestaAccessoAtti.setTerritorioId(intPratica.getTerritorioId());
richiestaAccessoAtti.setCreateDate(new Date());
richiestaAccessoAtti.setEmailRicontatto(emailRicontatto);
richiestaAccessoAtti.setDtVidimazione(dataVidimazione);
richiestaAccessoAtti.setMotivazioneRichiesta(motivazione);
richiestaAccessoAtti.setNumeroProgetto(numeroProgetto);
richiestaAccessoAtti.setSanatoria(sanatoria);
if(sanatoria){
Date dataSanatoria = ParamUtil.getDate(actionRequest, "dataSanatoria", sdf);
richiestaAccessoAtti.setDtSanatoria(dataSanatoria);
}
}
if (isNoCNSUser) {
if (uploadRequest.getSize("documentoIdentita") != 0) {
String sourceFileName = uploadRequest.getFileName("documentoIdentita");
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
richiestaAccessoAtti.setTipologiaPersona(qualitaPersona);
if(visione.equalsIgnoreCase("copia")){
richiestaAccessoAtti.setTipologiaRichiestaDettaglio(copiaDettaglio);
}
}
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(accessoAttiId);
try {
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(
richiesta.getRichiestaAccessoAttiId(), richiesta.getIntPraticaId(), richiesta.getGroupId(),
RichiestaAccessoAtti.class.getName(), richiesta.getCompanyId(), richiesta.getUserName());
richiesta.setProtocolloEntrata(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiesta);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedRequest(accessoAttiId);
actionResponse.setRenderParameter("jspPage", "/html/accesso_atti_fe/richiesta-inviata-success.jsp");
richiestaAccessoAtti.setTipologiaRichiesta(visione);
User loggedUser =
UserLocalServiceUtil.fetchUserByScreenName(themeDisplay.getCompanyId(), codiceFiscale.toLowerCase());
if(loggedUser != null){
richiestaAccessoAtti.setUserId(loggedUser.getUserId());
richiestaAccessoAtti.setUserName(loggedUser.getScreenName());
} else {
richiestaAccessoAtti.setUserName(codiceFiscale.toLowerCase());
}
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
if(dataVidimazione.before(dataCheck) || sanatoria){
if(uploadRequest.getSize("allegatoPagamento") != 0){
String sourceFileName = uploadRequest.getFileName("allegatoPagamento");
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
if(isNoCNSUser){
if(uploadRequest.getSize("documentoIdentita") != 0){
String sourceFileName = uploadRequest.getFileName("documentoIdentita");
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(accessoAttiId);
try {
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(richiesta.getRichiestaAccessoAttiId(),
richiesta.getIntPraticaId(), richiesta.getGroupId(), RichiestaAccessoAtti.class.getName(),
richiesta.getCompanyId(), richiesta.getUserName());
richiesta.setProtocolloEntrata(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiesta);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedRequest(accessoAttiId);
actionResponse.setRenderParameter("jspPage","/html/accesso_atti_fe/richiesta-inviata-success.jsp");
}
}
}
}

326
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/portlet/AccessoAttiFEPortlet.java

@ -30,34 +30,47 @@ import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.portal.util.PortalUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;
/**
* Portlet implementation class AccessoAttiFEPortlet
*/
public class AccessoAttiFEPortlet extends MVCPortlet {
public static final Log _log = LogFactoryUtil.getLog(AccessoAttiFEPortlet.class);
public void inviaRichiestaAccessoAtti(ActionRequest actionRequest, ActionResponse actionResponse)
throws ParseException, SystemException, AddressException {
public void inviaRichiestaAccessoAtti(ActionRequest actionRequest, ActionResponse actionResponse) throws ParseException, SystemException, AddressException{
long accessoAttiId = 0L;
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date dataCheck = sdf.parse("01/01/2015");
boolean isNoCNSUser = ParamUtil.getBoolean(actionRequest, "isNoCNSUser");
String emailRicontatto = ParamUtil.getString(actionRequest, "emailRicontatto");
String numeroProgetto = ParamUtil.getString(actionRequest, "numeroProgetto");
Date dataVidimazione = ParamUtil.getDate(actionRequest, "dataVidimazione", sdf);
String qualitaPersona = ParamUtil.getString(actionRequest, "qualitaPersona");
String visione = ParamUtil.getString(actionRequest, "visione");
String copiaDettaglio = ParamUtil.getString(actionRequest, "copiaDett");
String motivazione = ParamUtil.getString(actionRequest, "motivazione");
boolean sanatoria = ParamUtil.getBoolean(actionRequest, "sanatoria");
if (numeroProgetto != null && !numeroProgetto.equalsIgnoreCase("")) {
if (!dataVidimazione.before(dataCheck) && !sanatoria) {
if(numeroProgetto != null && !numeroProgetto.equalsIgnoreCase("")){
if(!dataVidimazione.before(dataCheck) && !sanatoria){
IntPratica intPratica = IntPraticaLocalServiceUtil.findByNumeroProgetto(numeroProgetto);
if (intPratica != null) {
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.createRichiestaAccessoAtti(CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class
.getName()));
if(intPratica != null){
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.createRichiestaAccessoAtti(
CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class.getName()));
accessoAttiId = richiestaAccessoAtti.getRichiestaAccessoAttiId();
richiestaAccessoAtti.setCompanyId(themeDisplay.getCompanyId());
richiestaAccessoAtti.setIntPraticaId(intPratica.getIntPraticaId());
richiestaAccessoAtti.setGroupId(intPratica.getGroupId());
@ -68,144 +81,202 @@ public class AccessoAttiFEPortlet extends MVCPortlet {
richiestaAccessoAtti.setMotivazioneRichiesta(motivazione);
richiestaAccessoAtti.setNumeroProgetto(numeroProgetto);
richiestaAccessoAtti.setSanatoria(sanatoria);
if (sanatoria) {
if(sanatoria){
Date dataSanatoria = ParamUtil.getDate(actionRequest, "dataSanatoria", sdf);
richiestaAccessoAtti.setDtSanatoria(dataSanatoria);
}
richiestaAccessoAtti.setTipologiaPersona(qualitaPersona);
if (visione.equalsIgnoreCase("copia")) {
if(visione.equalsIgnoreCase("copia")){
richiestaAccessoAtti.setTipologiaRichiestaDettaglio(copiaDettaglio);
}
richiestaAccessoAtti.setTipologiaRichiesta(visione);
richiestaAccessoAtti.setUserId(themeDisplay.getUserId());
richiestaAccessoAtti.setUserName(themeDisplay.getUser().getScreenName());
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
if (dataVidimazione.before(dataCheck) || sanatoria) {
if (uploadRequest.getSize("allegatoPagamento") != 0) {
if(dataVidimazione.before(dataCheck) || sanatoria){
if(uploadRequest.getSize("allegatoPagamento") != 0){
String sourceFileName = uploadRequest.getFileName("allegatoPagamento");
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
if (isNoCNSUser) {
if (uploadRequest.getSize("documentoIdentita") != 0) {
if(isNoCNSUser){
if(uploadRequest.getSize("documentoIdentita") != 0){
String sourceFileName = uploadRequest.getFileName("documentoIdentita");
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(accessoAttiId);
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(accessoAttiId);
try {
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(
richiesta.getRichiestaAccessoAttiId(), richiesta.getIntPraticaId(),
richiesta.getGroupId(), RichiestaAccessoAtti.class.getName(), richiesta.getCompanyId(),
richiesta.getUserName());
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(richiesta.getRichiestaAccessoAttiId(),
richiesta.getIntPraticaId(), richiesta.getGroupId(), RichiestaAccessoAtti.class.getName(),
richiesta.getCompanyId(), richiesta.getUserName());
richiesta.setProtocolloEntrata(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiesta);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedRequest(accessoAttiId);
actionResponse.setRenderParameter("jspPage", "/html/accesso_atti_fe/richiesta-inviata-success.jsp");
actionResponse.setRenderParameter("jspPage","/html/accesso_atti_fe/richiesta-inviata-success.jsp");
} else {
SessionErrors.add(actionRequest, "atto-non-esistente");
}
} else {
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.createRichiestaAccessoAtti(CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class
.getName()));
accessoAttiId = richiestaAccessoAtti.getRichiestaAccessoAttiId();
richiestaAccessoAtti.setCompanyId(themeDisplay.getCompanyId());
richiestaAccessoAtti.setCreateDate(new Date());
richiestaAccessoAtti.setEmailRicontatto(emailRicontatto);
richiestaAccessoAtti.setDtVidimazione(dataVidimazione);
richiestaAccessoAtti.setMotivazioneRichiesta(motivazione);
richiestaAccessoAtti.setNumeroProgetto(numeroProgetto);
richiestaAccessoAtti.setSanatoria(sanatoria);
if (sanatoria) {
Date dataSanatoria = ParamUtil.getDate(actionRequest, "dataSanatoria", sdf);
richiestaAccessoAtti.setDtSanatoria(dataSanatoria);
}
richiestaAccessoAtti.setTipologiaPersona(qualitaPersona);
if (visione.equalsIgnoreCase("copia")) {
richiestaAccessoAtti.setTipologiaRichiestaDettaglio(copiaDettaglio);
}
richiestaAccessoAtti.setTipologiaRichiesta(visione);
richiestaAccessoAtti.setUserId(themeDisplay.getUserId());
richiestaAccessoAtti.setUserName(themeDisplay.getUser().getScreenName());
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
if (dataVidimazione.before(dataCheck) || sanatoria) {
if (uploadRequest.getSize("allegatoPagamento") != 0) {
String sourceFileName = uploadRequest.getFileName("allegatoPagamento");
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.createRichiestaAccessoAtti(
CounterLocalServiceUtil.increment(RichiestaAccessoAtti.class.getName()));
accessoAttiId = richiestaAccessoAtti.getRichiestaAccessoAttiId();
richiestaAccessoAtti.setCompanyId(themeDisplay.getCompanyId());
// richiestaAccessoAtti.setIntPraticaId(intPratica.getIntPraticaId());
// richiestaAccessoAtti.setGroupId(intPratica.getGroupId());
// richiestaAccessoAtti.setTerritorioId(intPratica.getTerritorioId());
richiestaAccessoAtti.setCreateDate(new Date());
richiestaAccessoAtti.setEmailRicontatto(emailRicontatto);
richiestaAccessoAtti.setDtVidimazione(dataVidimazione);
richiestaAccessoAtti.setMotivazioneRichiesta(motivazione);
richiestaAccessoAtti.setNumeroProgetto(numeroProgetto);
richiestaAccessoAtti.setSanatoria(sanatoria);
if(sanatoria){
Date dataSanatoria = ParamUtil.getDate(actionRequest, "dataSanatoria", sdf);
richiestaAccessoAtti.setDtSanatoria(dataSanatoria);
}
}
if (isNoCNSUser) {
if (uploadRequest.getSize("documentoIdentita") != 0) {
String sourceFileName = uploadRequest.getFileName("documentoIdentita");
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(),
sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
richiestaAccessoAtti.setTipologiaPersona(qualitaPersona);
if(visione.equalsIgnoreCase("copia")){
richiestaAccessoAtti.setTipologiaRichiestaDettaglio(copiaDettaglio);
}
}
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(accessoAttiId);
try {
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(
richiesta.getRichiestaAccessoAttiId(), richiesta.getIntPraticaId(), richiesta.getGroupId(),
RichiestaAccessoAtti.class.getName(), richiesta.getCompanyId(), richiesta.getUserName());
richiesta.setProtocolloEntrata(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiesta);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedRequest(accessoAttiId);
actionResponse.setRenderParameter("jspPage", "/html/accesso_atti_fe/richiesta-inviata-success.jsp");
richiestaAccessoAtti.setTipologiaRichiesta(visione);
richiestaAccessoAtti.setUserId(themeDisplay.getUserId());
richiestaAccessoAtti.setUserName(themeDisplay.getUser().getScreenName());
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAtti);
UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
if(dataVidimazione.before(dataCheck) || sanatoria){
if(uploadRequest.getSize("allegatoPagamento") != 0){
String sourceFileName = uploadRequest.getFileName("allegatoPagamento");
File fileApp = uploadRequest.getFile("allegatoPagamento");
long fileEntryIdPagamento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, true);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdPagamento(fileEntryIdPagamento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
if(isNoCNSUser){
if(uploadRequest.getSize("documentoIdentita") != 0){
String sourceFileName = uploadRequest.getFileName("documentoIdentita");
File fileApp = uploadRequest.getFile("documentoIdentita");
long fileEntryIdDocumento = DocumentLibraryUtil.saveFileEntryAccessoAtti(
themeDisplay.getCompanyGroupId(), richiestaAccessoAtti.getRichiestaAccessoAttiId(), sourceFileName, fileApp, false);
RichiestaAccessoAtti richiestaAccessoAttiUpdate = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAtti.getRichiestaAccessoAttiId());
richiestaAccessoAttiUpdate.setFileEntryIdDocumentoIdentita(fileEntryIdDocumento);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiestaAccessoAttiUpdate);
}
}
RichiestaAccessoAtti richiesta = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(accessoAttiId);
try {
String protocollo = ProtocolloUtil.protocollaPartenzaAccessoAtti(richiesta.getRichiestaAccessoAttiId(),
richiesta.getIntPraticaId(), richiesta.getGroupId(), RichiestaAccessoAtti.class.getName(),
richiesta.getCompanyId(), richiesta.getUserName());
richiesta.setProtocolloEntrata(protocollo);
RichiestaAccessoAttiLocalServiceUtil.updateRichiestaAccessoAtti(richiesta);
} catch (Exception e) {
_log.error(e);
}
EmailSenderUtil.sendAcceptedRequest(accessoAttiId);
actionResponse.setRenderParameter("jspPage","/html/accesso_atti_fe/richiesta-inviata-success.jsp");
}
}
}
public void visualizzaAtto(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException {
actionResponse.setRenderParameter("tabs1", "Visualizza Atto");
actionRequest.setAttribute("tabs1", "Visualizza Atto");
String accessToken = ParamUtil.getString(actionRequest, "accessToken");
RichiestaAccessoAtti atto = RichiestaAccessoAttiLocalServiceUtil.findByAccessToken(accessToken);
if (atto != null) {
if (atto.isAccettata()) {
if(atto != null){
if(atto.isAccettata()){
Calendar calApp = Calendar.getInstance();
calApp.setTime(atto.getDtAccettazione());
calApp.add(Calendar.DATE, 7);
Date checkDate = calApp.getTime();
if (new Date().before(checkDate)) {
actionResponse.setRenderParameter("accessoAttiId", "" + atto.getRichiestaAccessoAttiId());
if(new Date().before(checkDate) ){
actionResponse.setRenderParameter("accessoAttiId", ""+atto.getRichiestaAccessoAttiId());
} else {
SessionErrors.add(actionRequest, "accesso-token-scaduto");
}
@ -215,5 +286,56 @@ public class AccessoAttiFEPortlet extends MVCPortlet {
} else {
SessionErrors.add(actionRequest, "no-atto-trovato");
}
}
}

46
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/portlet/CreazioneAccountPortosPortlet.java

@ -27,69 +27,85 @@ import com.liferay.util.bridges.mvc.MVCPortlet;
*/
public class CreazioneAccountPortosPortlet extends MVCPortlet {
public void creaAccount(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException,
ParseException, PortalException {
public void creaAccount(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException, ParseException, PortalException{
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String username = ParamUtil.getString(actionRequest, "codiceFiscale");
String password = ParamUtil.getString(actionRequest, "password");
String email = ParamUtil.getString(actionRequest, "indirizzoEmail");
String nome = ParamUtil.getString(actionRequest, "nome");
String cognome = ParamUtil.getString(actionRequest, "cognome");
String dataNascita = ParamUtil.getString(actionRequest, "dataNascita");
if (username != null) {
User checkUser = UserLocalServiceUtil.fetchUserByScreenName(themeDisplay.getCompanyId(),
username.toLowerCase());
if (checkUser == null) {
if(username != null){
User checkUser = UserLocalServiceUtil.fetchUserByScreenName(themeDisplay.getCompanyId(), username.toLowerCase());
if(checkUser == null){
Date dateOfBirthday = sdf.parse(dataNascita);
Calendar cal = Calendar.getInstance();
cal.setTime(dateOfBirthday);
int birthdayMonth = cal.get(Calendar.MONTH);
int birthdayDay = cal.get(Calendar.DAY_OF_MONTH);
;
int birthdayYear = cal.get(Calendar.YEAR);
;
int birthdayDay = cal.get(Calendar.DAY_OF_MONTH);;
int birthdayYear = cal.get(Calendar.YEAR);;
long creatorUserId = 0;
long facebookId = 0;
int prefixId = 0;
int suffixId = 0;
long groupIds[] = new long[0];
long organizationIds[] = new long[0];
long roleIds[] = new long[0];
long userGroupIds[] = new long[0];
boolean autoPassword = false;
boolean autoScreenName = false;
boolean male = true;
boolean sendEmail = true;
String password1 = password;
String password2 = password;
String screenName = username;
String openId = null;
String middleName = null;
String jobTitle = null;
Date now = new Date();
Locale locale = themeDisplay.getLocale();
ServiceContext serviceContext = new ServiceContext();
User user = UserLocalServiceUtil.addUser(creatorUserId, themeDisplay.getCompanyId(), autoPassword,
password1, password2, autoScreenName, screenName, email, facebookId, openId, locale, nome,
middleName, cognome, prefixId, suffixId, male, birthdayMonth, birthdayDay, birthdayYear,
jobTitle, groupIds, organizationIds, roleIds, userGroupIds, sendEmail, serviceContext);
User user = UserLocalServiceUtil.addUser(creatorUserId, themeDisplay.getCompanyId(), autoPassword, password1, password2,
autoScreenName, screenName, email, facebookId, openId, locale, nome, middleName, cognome, prefixId, suffixId, male, birthdayMonth, birthdayDay, birthdayYear, jobTitle, groupIds, organizationIds, roleIds, userGroupIds, sendEmail, serviceContext);
long userId = user.getUserId();
User userCreated = UserLocalServiceUtil.getUser(userId);
userCreated.setLoginDate(now);
userCreated.setLoginIP("127.0.0.1");
userCreated.setLastLoginDate(now);
userCreated.setModifiedDate(now);
Role roleUserNoCNS = RoleLocalServiceUtil.getRole(themeDisplay.getCompanyId(), "UTENTE_NO_CNS");
UserLocalServiceUtil.addRoleUser(roleUserNoCNS.getRoleId(), userId);
UserLocalServiceUtil.updateAgreedToTermsOfUse(userId, true);
UserLocalServiceUtil.updateEmailAddressVerified(userId, true);
UserLocalServiceUtil.updatePasswordReset(userId, false);
} else {
SessionErrors.add(actionRequest, "error-user-exist");
}
}
actionResponse.setRenderParameter("jspPage", "/html/creazione_account/success.jsp");
actionResponse.setRenderParameter("jspPage","/html/creazione_account/success.jsp");
}
}

22
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/service/base/RichiestaAccessoAttiLocalServiceClpInvoker.java

@ -19,7 +19,7 @@ import it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalServ
import java.util.Arrays;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @generated
*/
public class RichiestaAccessoAttiLocalServiceClpInvoker {
@ -132,13 +132,13 @@ public class RichiestaAccessoAttiLocalServiceClpInvoker {
"java.lang.String"
};
_methodName44 = "findByAccessToken";
_methodName43 = "findByAccessToken";
_methodParameterTypes44 = new String[] { "java.lang.String" };
_methodParameterTypes43 = new String[] { "java.lang.String" };
_methodName45 = "findRichiesteByGroup";
_methodName44 = "findRichiesteByGroup";
_methodParameterTypes45 = new String[] { "long", "int", "int" };
_methodParameterTypes44 = new String[] { "long", "int", "int" };
}
public Object invokeMethod(String name, String[] parameterTypes,
@ -265,13 +265,13 @@ public class RichiestaAccessoAttiLocalServiceClpInvoker {
(java.lang.String)arguments[3]);
}
if (_methodName44.equals(name) &&
Arrays.deepEquals(_methodParameterTypes44, parameterTypes)) {
if (_methodName43.equals(name) &&
Arrays.deepEquals(_methodParameterTypes43, parameterTypes)) {
return RichiestaAccessoAttiLocalServiceUtil.findByAccessToken((java.lang.String)arguments[0]);
}
if (_methodName45.equals(name) &&
Arrays.deepEquals(_methodParameterTypes45, parameterTypes)) {
if (_methodName44.equals(name) &&
Arrays.deepEquals(_methodParameterTypes44, parameterTypes)) {
return RichiestaAccessoAttiLocalServiceUtil.findRichiesteByGroup(((Long)arguments[0]).longValue(),
((Integer)arguments[1]).intValue(),
((Integer)arguments[2]).intValue());
@ -322,8 +322,8 @@ public class RichiestaAccessoAttiLocalServiceClpInvoker {
private String[] _methodParameterTypes41;
private String _methodName42;
private String[] _methodParameterTypes42;
private String _methodName43;
private String[] _methodParameterTypes43;
private String _methodName44;
private String[] _methodParameterTypes44;
private String _methodName45;
private String[] _methodParameterTypes45;
}

253
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/service/impl/RichiestaAccessoAttiLocalServiceImpl.java

@ -1,9 +1,15 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.accesso.atti.service.impl;
@ -20,125 +26,222 @@ import java.util.List;
import com.liferay.portal.kernel.dao.orm.Disjunction;
import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.Property;
import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.Organization;
import com.liferay.portal.service.OrganizationLocalServiceUtil;
/**
* The implementation of the richiesta accesso atti local service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalService}
* interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalService} interface.
*
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.liferay.portos.accesso.atti.service.base.RichiestaAccessoAttiLocalServiceBaseImpl
* @see it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalServiceUtil
*/
public class RichiestaAccessoAttiLocalServiceImpl extends RichiestaAccessoAttiLocalServiceBaseImpl {
public class RichiestaAccessoAttiLocalServiceImpl
extends RichiestaAccessoAttiLocalServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalServiceUtil} to access the richiesta accesso
* atti local service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalServiceUtil} to access the richiesta accesso atti local service.
*/
private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
@Override
public List<RichiestaAccessoAtti> findByGestita(boolean gestita, int start, int end) throws SystemException {
public List<RichiestaAccessoAtti> findByGestita(boolean gestita, int start, int end) throws SystemException{
return richiestaAccessoAttiPersistence.findByGestita(gestita, start, end);
}
@SuppressWarnings("unchecked")
@Override
public List<RichiestaAccessoAtti> findCompletate(String numeroProgetto, String protocollo, String dataDal,
String dataAl, int start, int end) throws SystemException {
public List<RichiestaAccessoAtti> findCompletate(String numeroProgetto, String protocollo, String dataDal, String dataAl, int start, int end) throws SystemException, ParseException{
return dynamicQuery(dqCompletate(numeroProgetto, protocollo, dataDal, dataAl), start, end);
}
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
DynamicQuery dq = richiestaAccessoAttiLocalService.dynamicQuery();
dq.add(RestrictionsFactoryUtil.eq("gestita", true));
if(!numeroProgetto.equals("")){
dq.add(RestrictionsFactoryUtil.eq("numeroProgetto", numeroProgetto));
}
if(!protocollo.equals("")){
Disjunction disjunction = RestrictionsFactoryUtil.disjunction();
disjunction.add(PropertyFactoryUtil.forName("protocolloEntrata").eq(protocollo));
disjunction.add(PropertyFactoryUtil.forName("protocolloUscita").eq(protocollo));
dq.add(disjunction);
}
@Override
public int countCompletate(String numeroProgetto, String protocollo, String dataDal, String dataAl)
throws SystemException {
if(!dataDal.equals("") && !dataAl.equals("")){
return dynamicQuery(dqCompletate(numeroProgetto, protocollo, dataDal, dataAl)).size();
Date dateDal = sdf.parse(dataDal);
Calendar calDal = Calendar.getInstance();
calDal.setTime(dateDal);
calDal.set(Calendar.HOUR_OF_DAY, 00);
calDal.set(Calendar.MINUTE, 00);
dateDal = calDal.getTime();
Date dateAl = sdf.parse(dataAl);
Calendar calAl = Calendar.getInstance();
calAl.setTime(dateAl);
calAl.set(Calendar.HOUR_OF_DAY, 23);
calAl.set(Calendar.MINUTE, 59);
dateAl = calAl.getTime();
Property createDateProperty = PropertyFactoryUtil.forName("dtAccettazione");
dq.add(createDateProperty.between(dateDal, dateAl));
}
if(!dataDal.equals("") && dataAl.equals("")){
Date dateDal = sdf.parse(dataDal);
Calendar calDal = Calendar.getInstance();
calDal.setTime(dateDal);
calDal.set(Calendar.HOUR_OF_DAY, 00);
calDal.set(Calendar.MINUTE, 00);
dateDal = calDal.getTime();
Date now = new Date();
Property createDateProperty = PropertyFactoryUtil.forName("dtAccettazione");
dq.add(createDateProperty.between(dateDal, now));
}
if(dataDal.equals("") && !dataAl.equals("")){
Date now = new Date("01/01/2018");
Date dateAl = sdf.parse(dataAl);
Calendar calAl = Calendar.getInstance();
calAl.setTime(dateAl);
calAl.set(Calendar.HOUR_OF_DAY, 23);
calAl.set(Calendar.MINUTE, 59);
dateAl = calAl.getTime();
Property createDateProperty = PropertyFactoryUtil.forName("dtAccettazione");
dq.add(createDateProperty.between(now, dateAl));
}
return richiestaAccessoAttiLocalService.dynamicQuery(dq, start, end);
}
private DynamicQuery dqCompletate(String numeroProgetto, String protocollo, String dataDal, String dataAl) {
public int countCompletate(String numeroProgetto, String protocollo, String dataDal, String dataAl) throws SystemException, ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
DynamicQuery dq = dynamicQuery();
DynamicQuery dq = richiestaAccessoAttiLocalService.dynamicQuery();
dq.add(RestrictionsFactoryUtil.eq("gestita", true));
if (Validator.isNotNull(numeroProgetto)) {
if(!numeroProgetto.equals("")){
dq.add(RestrictionsFactoryUtil.eq("numeroProgetto", numeroProgetto));
}
if (Validator.isNotNull(protocollo)) {
if(!protocollo.equals("")){
Disjunction disjunction = RestrictionsFactoryUtil.disjunction();
disjunction.add(PropertyFactoryUtil.forName("protocolloEntrata").eq(protocollo));
disjunction.add(PropertyFactoryUtil.forName("protocolloUscita").eq(protocollo));
dq.add(disjunction);
}
dq.add(PropertyFactoryUtil.forName("dtAccettazione").between(parseStartDate(dataDal), parseEndDate(dataAl)));
return dq;
}
@Override
public RichiestaAccessoAtti findByAccessToken(String accessToken) throws SystemException {
if(!dataDal.equals("") && !dataAl.equals("")){
DynamicQuery dq = dynamicQuery();
dq.add(RestrictionsFactoryUtil.eq("accessToken", accessToken));
@SuppressWarnings("unchecked")
List<RichiestaAccessoAtti> lista = dynamicQuery(dq);
return lista == null || lista.isEmpty() ? null : lista.get(0);
}
Date dateDal = sdf.parse(dataDal);
Calendar calDal = Calendar.getInstance();
calDal.setTime(dateDal);
calDal.set(Calendar.HOUR_OF_DAY, 00);
calDal.set(Calendar.MINUTE, 00);
dateDal = calDal.getTime();
@SuppressWarnings("unchecked")
@Override
public List<RichiestaAccessoAtti> findRichiesteByGroup(long userId, int start, int end) throws SystemException {
Date dateAl = sdf.parse(dataAl);
Calendar calAl = Calendar.getInstance();
calAl.setTime(dateAl);
calAl.set(Calendar.HOUR_OF_DAY, 23);
calAl.set(Calendar.MINUTE, 59);
dateAl = calAl.getTime();
List<Long> groupIds = new ArrayList<>();
List<Organization> organizationList = OrganizationLocalServiceUtil.getUserOrganizations(userId);
if (Validator.isNull(organizationList)) {
for (Organization organization : organizationList) {
groupIds.add(organization.getGroupId());
}
Property createDateProperty = PropertyFactoryUtil.forName("dtAccettazione");
dq.add(createDateProperty.between(dateDal, dateAl));
}
DynamicQuery dq = dynamicQuery();
dq.add(RestrictionsFactoryUtil.eq("gestita", false));
if (!groupIds.isEmpty()) {
dq.add(RestrictionsFactoryUtil.in("groupId", groupIds));
if(!dataDal.equals("") && dataAl.equals("")){
Date dateDal = sdf.parse(dataDal);
Calendar calDal = Calendar.getInstance();
calDal.setTime(dateDal);
calDal.set(Calendar.HOUR_OF_DAY, 00);
calDal.set(Calendar.MINUTE, 00);
dateDal = calDal.getTime();
Date now = new Date();
Property createDateProperty = PropertyFactoryUtil.forName("dtAccettazione");
dq.add(createDateProperty.between(dateDal, now));
}
return dynamicQuery(dq, start, end);
}
private static Date parseEndDate(String input) {
if(dataDal.equals("") && !dataAl.equals("")){
Date now = new Date("01/01/2018");
return parseDate(input, false);
Date dateAl = sdf.parse(dataAl);
Calendar calAl = Calendar.getInstance();
calAl.setTime(dateAl);
calAl.set(Calendar.HOUR_OF_DAY, 23);
calAl.set(Calendar.MINUTE, 59);
dateAl = calAl.getTime();
Property createDateProperty = PropertyFactoryUtil.forName("dtAccettazione");
dq.add(createDateProperty.between(now, dateAl));
}
List<RichiestaAccessoAtti> lista = richiestaAccessoAttiLocalService.dynamicQuery(dq);
return lista.size();
}
private static Date parseStartDate(String input) {
public RichiestaAccessoAtti findByAccessToken(String accessToken) throws SystemException{
DynamicQuery dq = richiestaAccessoAttiLocalService.dynamicQuery();
dq.add(RestrictionsFactoryUtil.eq("accessToken", accessToken));
List<RichiestaAccessoAtti> lista = richiestaAccessoAttiLocalService.dynamicQuery(dq);
if(lista != null && !lista.isEmpty()){
return lista.get(0);
}
return parseDate(input, true);
return null;
}
private static Date parseDate(String input, boolean isStart) {
public List<RichiestaAccessoAtti> findRichiesteByGroup(long userId, int start, int end) throws SystemException{
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(sdf.parse(input));
} catch (ParseException e) {
calendar.setTime(isStart ? new Date(0) : new Date());
List<Long> listaLong = new ArrayList<Long>();
List<Organization> organizationList = OrganizationLocalServiceUtil.getUserOrganizations(userId);
if(organizationList != null && !organizationList.isEmpty()){
for (Organization organization : organizationList) {
listaLong.add(organization.getGroupId());
}
}
calendar.set(Calendar.HOUR_OF_DAY, isStart ? 0 : 23);
calendar.set(Calendar.MINUTE, isStart ? 0 : 59);
calendar.set(Calendar.SECOND, isStart ? 0 : 59);
return calendar.getTime();
listaLong.add(0L);
DynamicQuery dq = richiestaAccessoAttiLocalService.dynamicQuery();
dq.add(RestrictionsFactoryUtil.eq("gestita", false));
dq.add(RestrictionsFactoryUtil.in("groupId", listaLong));
return richiestaAccessoAttiLocalService.dynamicQuery(dq, start, end);
}
}

35
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/service/impl/RichiestaAccessoAttiServiceImpl.java

@ -1,9 +1,15 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.accesso.atti.service.impl;
@ -12,22 +18,23 @@ import it.tref.liferay.portos.accesso.atti.service.base.RichiestaAccessoAttiServ
/**
* The implementation of the richiesta accesso atti remote service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiService} interface.
*
* <p>
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS
* credentials because this service can be accessed remotely.
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.liferay.portos.accesso.atti.service.base.RichiestaAccessoAttiServiceBaseImpl
* @see it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiServiceUtil
*/
public class RichiestaAccessoAttiServiceImpl extends RichiestaAccessoAttiServiceBaseImpl {
public class RichiestaAccessoAttiServiceImpl
extends RichiestaAccessoAttiServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiServiceUtil} to access the richiesta accesso atti
* remote service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiServiceUtil} to access the richiesta accesso atti remote service.
*/
}

26
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/uti/AccessoAttiAccessTokenUtil.java

@ -11,21 +11,31 @@ public class AccessoAttiAccessTokenUtil {
private static final Log _log = LogFactoryUtil.getLog(AccessoAttiAccessTokenUtil.class);
public static String generateAccessToken(long richiestaAccessoAttiId, String numeroProgetto, long richiedenteUserId) {
public static String generateAccessToken(long richiestaAccessoAttiId, String numeroProgetto, long richiedenteUserId){
StringBuffer sb = new StringBuffer();
try {
String concatString = String.valueOf(richiestaAccessoAttiId) + StringPool.UNDERLINE + numeroProgetto
+ StringPool.UNDERLINE + richiedenteUserId;
String concatString = String.valueOf(richiestaAccessoAttiId) + StringPool.UNDERLINE +
numeroProgetto + StringPool.UNDERLINE + richiedenteUserId;
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(concatString.getBytes());
byte byteData[] = md.digest();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
byte byteData[] = md.digest();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
} catch (NoSuchAlgorithmException e) {
_log.error(e, e);
_log.error(e,e);
}
return sb.toString();
}
}

47
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/uti/DocumentLibraryUtil.java

@ -11,7 +11,6 @@ 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.util.FileUtil;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portlet.documentlibrary.model.DLFolder;
import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil;
@ -25,43 +24,55 @@ public class DocumentLibraryUtil {
public static final String PAGAMENTO_CODEC_FILENAME = "PAGAMENTO_";
public static final String DOCUMENTO_CODEC_FILENAME = "DOCUMENTO_";
public static long saveFileEntryAccessoAtti(long companyGroupId, long richiestaAccessoAttiId,
String originFileName, File file, boolean pagamento) {
public static long saveFileEntryAccessoAtti(long companyGroupId, long richiestaAccessoAttiId, String originFileName,
File file, boolean pagamento) {
long fileEntryId = 0L;
try {
DLFolder folder = getRichiestaAttiFolder(companyGroupId);
if (folder != null) {
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if (richiestaAccessoAtti != null) {
if(folder != null){
RichiestaAccessoAtti richiestaAccessoAtti =
RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if(richiestaAccessoAtti != null){
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(richiestaAccessoAtti.getCompanyId());
serviceContext.setUserId(richiestaAccessoAtti.getUserId());
String mineType = FileUtil.getExtension(originFileName);
String prefixedFileName = StringPool.BLANK;
if (pagamento) {
prefixedFileName = PAGAMENTO_CODEC_FILENAME + richiestaAccessoAttiId + StringPool.PERIOD
+ mineType;
String prefixedFileName = "";
if(pagamento){
prefixedFileName = PAGAMENTO_CODEC_FILENAME + richiestaAccessoAttiId + "." + mineType;
} else {
prefixedFileName = DOCUMENTO_CODEC_FILENAME + richiestaAccessoAttiId + StringPool.PERIOD
+ mineType;
prefixedFileName = DOCUMENTO_CODEC_FILENAME + richiestaAccessoAttiId + "." + mineType;
}
FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry(richiestaAccessoAtti.getUserId(),
folder.getRepositoryId(), folder.getFolderId(), prefixedFileName, mineType,
prefixedFileName, StringPool.BLANK, StringPool.BLANK, file, serviceContext);
FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry(
richiestaAccessoAtti.getUserId(), folder.getRepositoryId(), folder.getFolderId(),
prefixedFileName, mineType, prefixedFileName, "", "", file, serviceContext);
fileEntryId = fileEntry.getFileEntryId();
}
}
} catch (PortalException | SystemException e) {
_log.error(e, e);
_log.error(e,e);
}
return fileEntryId;
}
private static DLFolder getRichiestaAttiFolder(long companyGroupId) throws PortalException, SystemException {
private static DLFolder getRichiestaAttiFolder(long companyGroupId) throws PortalException, SystemException{
DLFolder folder = DLFolderLocalServiceUtil.getFolder(companyGroupId, 0L, RICHIESTA_ATTI_FOLDER_NAME);
return folder;
}
}

98
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/accesso/atti/uti/EmailSenderUtil.java

@ -12,119 +12,175 @@ import com.liferay.portal.kernel.mail.MailMessage;
public class EmailSenderUtil {
public static void sendAcceptedEmail(long richiestaAccessoAttiId, String testoAggiuntivo) throws SystemException,
AddressException {
// private static final Log _log = LogFactoryUtil.getLog(EmailSenderUtil.class);
public static void sendAcceptedEmail(long richiestaAccessoAttiId, String testoAggiuntivo) throws SystemException, AddressException{
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if(richiestaAccessoAtti != null){
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if (richiestaAccessoAtti != null) {
InternetAddress toAddress = new InternetAddress(richiestaAccessoAtti.getEmailRicontatto());
InternetAddress fromAddress = new InternetAddress("portos@regione.toscana.it");
MailMessage mailMessage = new MailMessage();
mailMessage.setTo(toAddress);
mailMessage.setFrom(fromAddress);
mailMessage.setSubject("Notifica Accettazione Richiesta Accesso Atti");
mailMessage.setBody(creaCorpoMailRichiestaAccettata(richiestaAccessoAtti, testoAggiuntivo));
mailMessage.setBody(creaCorpoMailRichiestaAccettata(richiestaAccessoAtti,testoAggiuntivo));
mailMessage.setHTMLFormat(true);
/*
* Invio email
*/
MailServiceUtil.sendEmail(mailMessage);
}
}
public static void sendDeniedEmail(long richiestaAccessoAttiId, String motivoRifiuto) throws SystemException,
AddressException {
public static void sendDeniedEmail(long richiestaAccessoAttiId, String motivoRifiuto) throws SystemException, AddressException{
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if(richiestaAccessoAtti != null){
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if (richiestaAccessoAtti != null) {
InternetAddress toAddress = new InternetAddress(richiestaAccessoAtti.getEmailRicontatto());
InternetAddress fromAddress = new InternetAddress("portos@regione.toscana.it");
MailMessage mailMessage = new MailMessage();
mailMessage.setTo(toAddress);
mailMessage.setFrom(fromAddress);
mailMessage.setSubject("Notifica Rifiuto Richiesta Accesso Atti");
mailMessage.setBody(creaCorpoMailRichiestaRifiutata(richiestaAccessoAtti, motivoRifiuto));
mailMessage.setHTMLFormat(true);
/*
* Invio email
*/
MailServiceUtil.sendEmail(mailMessage);
}
}
public static void sendAcceptedRequest(long richiestaAccessoAttiId) throws SystemException, AddressException {
public static void sendAcceptedRequest(long richiestaAccessoAttiId) throws SystemException, AddressException{
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if(richiestaAccessoAtti != null){
RichiestaAccessoAtti richiestaAccessoAtti = RichiestaAccessoAttiLocalServiceUtil
.fetchRichiestaAccessoAtti(richiestaAccessoAttiId);
if (richiestaAccessoAtti != null) {
InternetAddress toAddress = new InternetAddress(richiestaAccessoAtti.getEmailRicontatto());
InternetAddress fromAddress = new InternetAddress("portos@regione.toscana.it");
MailMessage mailMessage = new MailMessage();
mailMessage.setTo(toAddress);
mailMessage.setFrom(fromAddress);
mailMessage.setSubject("Notifica Presa In Carico Richiesta");
mailMessage.setBody(creaCorpoMailRichiestaInCarico(richiestaAccessoAtti));
mailMessage.setHTMLFormat(true);
/*
* Invio email
*/
MailServiceUtil.sendEmail(mailMessage);
}
}
private static String creaCorpoMailRichiestaInCarico(RichiestaAccessoAtti richiestaAccessoAtti) {
private static String creaCorpoMailRichiestaInCarico(RichiestaAccessoAtti richiestaAccessoAtti){
StringBuilder sb = new StringBuilder();
/*
* Gestione header
*/
sb.append("<html><head><title>Notifica Presa In Carico Richiesta</title></head><body>");
sb.append("<div style='width:100%;'>");
sb.append("Salve ,");
sb.append("</div>");
sb.append("<br/>");
sb.append("<div style='width:100%;'>");
sb.append("con la seguente email le comunichiamo che la sua richiesta n. ");
sb.append(richiestaAccessoAtti.getProtocolloEntrata());
sb.append(" di accedere all'atto numero ");
sb.append(richiestaAccessoAtti.getNumeroProgetto());
sb.append(" è stata presa in carico dai nostri funzionari. Riceverà successivamente una mail nella quale le verrà indicato l'esito della sua richiesta.");
sb.append("<br/>");
sb.append("<br/>");
return sb.toString();
}
private static String creaCorpoMailRichiestaAccettata(RichiestaAccessoAtti richiestaAccessoAtti, String testoExtra) {
private static String creaCorpoMailRichiestaAccettata(RichiestaAccessoAtti richiestaAccessoAtti, String testoExtra){
StringBuilder sb = new StringBuilder();
/*
* Gestione header
*/
sb.append("<html><head><title>Notifica Accettazione Richiesta Accesso Atti</title></head><body>");
sb.append("<div style='width:100%;'>");
sb.append("Salve ,");
sb.append("</div>");
sb.append("<br/>");
sb.append("<div style='width:100%;'>");
sb.append("con la seguente email le comunichiamo che la sua richiesta n. ");
sb.append(richiestaAccessoAtti.getProtocolloUscita());
sb.append(" di accedere all'atto numero ");
sb.append(richiestaAccessoAtti.getNumeroProgetto());
sb.append(" è stata accettata.");
sb.append("<br/>");
sb.append("<div style='width:100%;'>");
sb.append("Il suo codice di accesso al fascicolo è il seguente: <strong>");
sb.append(richiestaAccessoAtti.getAccessToken());
sb.append("</strong>");
sb.append("</div>");
sb.append("<br/>");
sb.append("<div style='width:100%;'>");
sb.append(testoExtra);
sb.append("</div>");
sb.append("<br/>");
sb.append("<div style='width:100%;'>");
sb.append("Le ricordiamo che l'accesso avrà una validità di 7 giorni.");
sb.append("</div>");
sb.append("<br/>");
return sb.toString();
}
private static String creaCorpoMailRichiestaRifiutata(RichiestaAccessoAtti richiestaAccessoAtti,
String motivoRifiuto) {
public static void sendDeniedEmail(){
}
private static String creaCorpoMailRichiestaRifiutata(RichiestaAccessoAtti richiestaAccessoAtti, String motivoRifiuto){
StringBuilder sb = new StringBuilder();
/*
* Gestione header
*/
sb.append("<html><head><title>Notifica Rifiuto Richiesta Accesso Atti</title></head><body>");
sb.append("<div style='width:100%;'>");
sb.append("Salve ,");
sb.append("</div>");
sb.append("<br/>");
sb.append("<div style='width:100%;'>");
sb.append("con la seguente email le comunichiamo che la sua richiesta n. ");
sb.append(richiestaAccessoAtti.getProtocolloUscita());
@ -133,6 +189,10 @@ public class EmailSenderUtil {
sb.append(" è stata rifiutata per la seguente motivazione: ");
sb.append(motivoRifiuto);
sb.append("<br/>");
return sb.toString();
}
}

242
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_bo/add_richiesta.jsp

@ -1,74 +1,80 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="init.jsp" %>
<div style="width: 30%">
<div style="width:30%;">
<liferay-ui:error key="atto-non-esistente" message="Nessun atto trovato per questo numero progetto" />
</div>
<liferay-portlet:actionURL name="aggiungiRichiestaBO" var="aggiungiRichiestaBOURL">
<liferay-portlet:param name="tabs1" value="Aggiungi Richiesta" />
</liferay-portlet:actionURL>
<aui:form name="fmDomande" action="<%= aggiungiRichiestaBOURL %>" method="POST" enctype="multipart/form-data">
<div class="row-fluid" style="margin-top: 10px">
<aui:form name="fmDomande" action="<%=aggiungiRichiestaBOURL %>" method="POST" enctype="multipart/form-data" >
<div class="row-fluid" style="margin-top: 10px;">
<div class="span3">
<aui:input name="emailRicontatto" label="Email per il ricontatto">
<aui:validator name="required" />
<aui:validator name="email" />
<aui:validator name="email"/>
</aui:input>
</div>
<div class="span3">
<aui:input name="codiceFiscale" label="Codice Fiscale Utente" max="16" min="16">
<aui:validator name="custom" errorMessage="campo-richiesto">
function (val, fieldNode, ruleValue) {
return fieldNode.get('disabled') || (val != null && val != '');
}
</aui:validator>
<aui:validator name="custom" errorMessage="campo-non-valido">
function (val, fieldNode, ruleValue) {
if (fieldNode.get('disabled')) {
return true;
<aui:validator name="custom" errorMessage="campo-richiesto" >
function (val, fieldNode, ruleValue) {
return fieldNode.get('disabled') || (val != null && val!='');
}
var regex = '^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$';
var regex1 = /^(?:[B-DF-HJ-NP-TV-Z](?:[AEIOU]{2}|[AEIOU]X)|[AEIOU]{2}X|[B-DF-HJ-NP-TV-Z]{2}[A-Z]){2}[\dLMNP-V]{2}(?:[A-EHLMPR-T](?:[04LQ][1-9MNP-V]|[1256LMRS][\dLMNP-V])|[DHPS][37PT][0L]|[ACELMRT][37PT][01LM])(?:[A-MZ][1-9MNP-V][\dLMNP-V]{2}|[A-M][0L](?:[\dLMNP-V][1-9MNP-V]|[1-9MNP-V][0L]))[A-Z]$/i;
var regexObj = new RegExp (regex1);
var result = regexObj.test(val);
return result;
}
</aui:validator>
</aui:input>
</aui:validator>
<aui:validator name="custom" errorMessage="campo-non-valido" >
function (val, fieldNode, ruleValue) {
if(fieldNode.get('disabled')){
return true;
}
var regex = '^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$';
var regex1 = /^(?:[B-DF-HJ-NP-TV-Z](?:[AEIOU]{2}|[AEIOU]X)|[AEIOU]{2}X|[B-DF-HJ-NP-TV-Z]{2}[A-Z]){2}[\dLMNP-V]{2}(?:[A-EHLMPR-T](?:[04LQ][1-9MNP-V]|[1256LMRS][\dLMNP-V])|[DHPS][37PT][0L]|[ACELMRT][37PT][01LM])(?:[A-MZ][1-9MNP-V][\dLMNP-V]{2}|[A-M][0L](?:[\dLMNP-V][1-9MNP-V]|[1-9MNP-V][0L]))[A-Z]$/i;
var regexObj = new RegExp (regex1);
var result = regexObj.test(val);
return result;
}
</aui:validator>
</aui:input>
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span3">
<aui:input name="numeroProgetto" label="Numero Progetto" style="width: 50%">
<aui:input name="numeroProgetto" label="Numero Progetto" style="width:50%;">
<aui:validator name="required" />
<aui:validator name="digits" />
</aui:input>
</div>
<div class="span3">
<aui:input name="dataVidimazione" cssClass="calendarDatepicker" label="Data di vidimazione"
style="width: 50%">
<aui:input name="dataVidimazione" cssClass="calendarDatepicker" label="Data di vidimazione" style="width:50%;">
<aui:validator name="required" />
</aui:input>
</div>
<div class="span3">
<div style="margin-top: 7%">
<div style="margin-top: 7%;">
<aui:input name="sanatoria" type="checkbox" label="Trattasi di Sanatoria" />
</div>
</div>
<div class="span3">
<div style="margin-top: 7%">
<aui:input name="dataSanatoria" cssClass="calendarDatepicker" label="Data Sanatoria"
style="width: 50%" >
<div style="margin-top: 7%;">
<aui:input name="dataSanatoria" cssClass="calendarDatepicker" label="Data Sanatoria" style="width:50%;" >
<aui:validator name="custom" errorMessage="campo-richiesto" >
function (val, fieldNode, ruleValue) {
var A = AUI();
var checkValue = true;
var checkValue = true;
var portletNamespace = '<portlet:namespace/>';
var sanatorie = A.one("#" + portletNamespace + "sanatoria").val();
if (sanatorie == "true") {
if (val == "") {
var sanatorie = A.one("#"+portletNamespace + "sanatoria").val();
if(sanatorie == "true"){
if(val == ""){
checkValue = false;
}
}
return checkValue;
}
</aui:validator>
@ -76,97 +82,100 @@
</div>
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<div style="margin-top: 10px;margin-bottom: 10px;font-weight: bold">Tipologia Soggetto</div>
<div style="margin-top: 10px;margin-bottom: 10px;font-weight: bold;">Tipologia Soggetto</div>
<div>
<aui:input checked="true" inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="committente" label="Proprietario/committente" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="progettista" label="Progettista/collaudatore" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="impresa" label="Impresa" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="autorita" label="Autorità giudiziaria/CTU" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="confinanti" label="Confinante/vicini" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="ctp" label="CTP" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" type="radio"
value="altriSoggetti" label="Altro soggetto" />
<aui:input checked="true" inlineField="true" inlineLabel="right" name="qualitaPersona" value="committente" type="radio" label="Proprietario/committente" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" value="progettista" type="radio" label="Progettista/collaudatore" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" value="impresa" type="radio" label="Impresa" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" value="autorita" type="radio" label="Autorità giudiziaria/CTU" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" value="confinanti" type="radio" label="Confinante/vicini" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" value="ctp" type="radio" label="CTP" />
<aui:input inlineField="true" inlineLabel="right" name="qualitaPersona" value="altriSoggetti" type="radio" label="Altro soggetto" />
</div>
</div>
</div>
<div class="row-fluid">
<div class="span3">
<div style="margin-top: 10px;margin-bottom: 10px;font-weight: bold">Tipologia Richiesta</div>
<div style="margin-top: 10px;margin-bottom: 10px;font-weight: bold;">Tipologia Richiesta</div>
<div>
<aui:input cssClass="visione" checked="true" inlineField="true" inlineLabel="right" name="visione"
value="visione" type="radio" label="Prendere visione" onClick="hideDettaglio();" />
<aui:input cssClass="visione" inlineField="true" inlineLabel="right" name="visione" value="copia"
type="radio" label="Estrarre copia" onClick="showDettaglio();" />
<aui:input cssClass="visione" checked="true" inlineField="true" inlineLabel="right" name="visione" value="visione" type="radio" label="Prendere visione" onClick="hideDettaglio();" />
<aui:input cssClass="visione" inlineField="true" inlineLabel="right" name="visione" value="copia" type="radio" label="Estrarre copia" onClick="showDettaglio();" />
</div>
</div>
<div class="span4" id="optionContainerCopia" style="display: none">
<div style="margin-top: 10px;margin-bottom: 10px;font-weight: bold">&nbsp;</div>
<div class="span4" id="optionContainerCopia" style="display:none;">
<div style="margin-top: 10px;margin-bottom: 10px;font-weight: bold;">&nbsp;</div>
<div>
<aui:input checked="true" inlineField="true" inlineLabel="right" name="copiaDett" value="semplice"
type="radio" label="Semplice"/>
<aui:input inlineField="true" inlineLabel="right" name="copiaDett" value="autentica" type="radio"
label="Autentica (da assoggettare ad imposta di bollo)" />
<aui:input checked="true" inlineField="true" inlineLabel="right" name="copiaDett" value="semplice" type="radio" label="Semplice"/>
<aui:input inlineField="true" inlineLabel="right" name="copiaDett" value="autentica" type="radio" label="Autentica (da assoggettare ad imposta di bollo)" />
</div>
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<aui:input name="motivazione" type="textarea" label="Motivazione della richiesta" />
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<aui:input name="documentoIdentita" type="file" label="Documento d'identità" >
<aui:input name="documentoIdentita" type="file" label="Documento d'identità" >
<aui:validator name="required" />
</aui:input>
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<aui:input name="allegatoPagamento" type="file" label="Allegato pagamento" >
<aui:validator name="custom" errorMessage="campo-richiesto" >
function (val, fieldNode, ruleValue) {
var A = AUI();
var checkValue = true;
var portletNamespace = '<portlet:namespace/>';
var dataVidimazione = A.one("#" + portletNamespace + "dataVidimazione").val();
var sanatorie = A.one("#"+portletNamespace + "sanatoria").val();
if (sanatorie == "true") {
checkValue = false;
}
if (dataVidimazione != "") {
var checkDateFixed = "01/01/2015";
var checkDateFixed = new Date(checkDateFixed);
var vidimazioneDate = new Date(dataVidimazione);
if (vidimazioneDate <= checkDateFixed) {
checkValue = false;
}
}
if (!checkValue) {
if (val != "") {
return true;
}
}
return checkValue;
var A = AUI();
var checkValue = true;
var portletNamespace = '<portlet:namespace/>';
var dataVidimazione = A.one("#"+portletNamespace + "dataVidimazione").val();
var sanatorie = A.one("#"+portletNamespace + "sanatoria").val();
if(sanatorie == "true"){
checkValue = false;
}
if(dataVidimazione != ""){
var checkDateFixed = "01/01/2015";
var checkDateFixed = new Date(checkDateFixed);
var vidimazioneDate = new Date(dataVidimazione);
if(vidimazioneDate <= checkDateFixed){
checkValue = false;
}
}
if(!checkValue){
if(val != ""){
return true;
}
}
return checkValue;
}
</aui:validator>
</aui:input>
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<aui:button type="submit" value="Richiedi Atto" />
</div>
</div>
</aui:form>
<script type="text/javascript">
function hideDettaglio(){
AUI().one('#optionContainerCopia').hide();
@ -175,29 +184,42 @@ function hideDettaglio(){
function showDettaglio(){
AUI().one('#optionContainerCopia').show();
}
</script>
<aui:script use="aui-base">
YUI().use('aui-datepicker', function(Y) {
var datepicker = new Y.DatePicker({
trigger: '.calendarDatepicker',
calendar: {
dateFormat: 'dd/MM/yyyy',
},
mask: '%d/%m/%Y',
popover: {
toolbars: {
header: [[{
icon: 'icon-trash',
label: Liferay.Language.get("Cancella"),
on: {
click: function() {
datepicker.clearSelection();
}
}
}]]
},
zIndex: 1
}
});
});
YUI().use(
'aui-datepicker',
function(Y) {
var datepicker = new Y.DatePicker(
{
trigger: '.calendarDatepicker',
calendar: {
dateFormat: 'dd/MM/yyyy',
},
mask: '%d/%m/%Y',
popover: {
toolbars: {
header: [[
{
icon: 'icon-trash',
label: Liferay.Language.get("Cancella"),
on: {
click: function() {
datepicker.clearSelection();
}
}
}
]]
},
zIndex: 1
}
}
);
}
);
</aui:script>

372
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/visualizza-atto.jsp

@ -1,13 +1,22 @@
<%@page import="com.liferay.portal.kernel.util.HtmlUtil"%>
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="it.tref.liferay.portos.bo.util.SoggettiUtil"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<%@page import="it.tref.liferay.portos.bo.shared.util.PortletKeys"%>
<%@page import="it.tref.liferay.portos.accesso.atti.model.RichiestaAccessoAtti"%>
<%@page import="it.tref.liferay.portos.accesso.atti.service.RichiestaAccessoAttiLocalServiceUtil"%>
<%@page import="it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil"%>
<%@page import="it.tref.liferay.portos.bo.util.AzioniPraticheUtil"%>
<%@page import="com.liferay.portal.kernel.servlet.ServletContextPool"%>
<%@page import="it.tref.liferay.portos.bo.util.PagamentiCommonUtil"%>
<%@page import="java.text.NumberFormat"%>
<%@page import="java.math.BigDecimal"%>
<%@page import="java.util.Date"%>
<%@page import="it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil"%>
<%@page import="it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil"%>
<%@page import="it.tref.liferay.portos.bo.service.DettPraticaServiceUtil"%>
<%@page import="com.liferay.portal.kernel.util.KeyValuePair"%>
<%@page import="it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil"%>
<%@page import="it.tref.liferay.portos.bo.service.ComuneLocalServiceUtil"%>
<%@page import="it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil"%>
@ -16,125 +25,135 @@
<%@page import="it.tref.liferay.portos.bo.model.Territorio"%>
<%@page import="it.tref.liferay.portos.bo.model.IntPratica"%>
<%@page import="it.tref.liferay.portos.bo.model.DettPratica"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.regex.Pattern"%>
<%@page import="com.liferay.portal.kernel.bean.BeanPropertiesUtil"%>
<%@include file="init.jsp" %>
<%
long accessoAttiId = ParamUtil.getLong(request, "accessoAttiId" , 0L);
%>
<div style="width:30%">
<div style="width:30%;">
<liferay-ui:error key="no-atto-trovato" message="Nessun atto trovato per questa richiesta" />
<liferay-ui:error key="accesso-token-invalido" message="Access Token non valido" />
<liferay-ui:error key="accesso-token-scaduto" message="Access Token scaduto" />
</div>
<c:if test="<%= accessoAttiId == 0L %>">
<c:if test="<%=accessoAttiId == 0L %>">
<liferay-portlet:actionURL name="visualizzaAtto" var="visualizzaAttoURL" />
<aui:form action="<%=visualizzaAttoURL %>">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<aui:input name="accessToken" label="Codice di Accesso " style="width:20%">
<aui:input name="accessToken" label="Codice di Accesso " style="width:20%;">
<aui:validator name="required" />
</aui:input>
</div>
</div>
<div class="row-fluid" style="margin-top: 10px">
<div class="row-fluid" style="margin-top: 10px;">
<div class="span12">
<aui:button type="submit" value="Visualizza Atto" />
</div>
</div>
</aui:form>
</c:if>
<c:if test="<%=accessoAttiId != 0L %>">
<%
RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichiestaAccessoAtti(accessoAttiId);
%>
<c:if test="<%= accettoAtti.getIntPraticaId() != 0L %>">
<%
long intPraticaId = accettoAtti.getIntPraticaId();
long dettPraticaId = ParamUtil.getLong(request, "dettPraticaId", 0);
DettPratica dettPratica = null;
IntPratica intPratica = null;
if (intPraticaId != 0) {
intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId);
if (dettPraticaId != 0) {
dettPratica = DettPraticaLocalServiceUtil.getDettPratica(dettPraticaId);
} else {
dettPratica = DettPraticaLocalServiceUtil.getLastEditableByIntPratica(intPraticaId);
if (dettPratica == null) {
dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(intPraticaId);
}
dettPraticaId = dettPratica.getDettPraticaId();
}
<c:if test="<%=accettoAtti.getIntPraticaId() != 0L %>">
<%
long intPraticaId = accettoAtti.getIntPraticaId();
long dettPraticaId = ParamUtil.getLong(request, "dettPraticaId", 0l);
DettPratica dettPratica = null;
IntPratica intPratica = null;
if(intPraticaId !=0l ){
intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId);
if(dettPraticaId != 0l){
dettPratica = DettPraticaLocalServiceUtil.getDettPratica(dettPraticaId);
} else {
dettPratica = DettPraticaLocalServiceUtil.getLastEditableByIntPratica(intPraticaId);
if(dettPratica==null){
dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(intPraticaId);
}
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(),
territorio.getCodiceProvincia());
%>
<liferay-ui:error key="error-download-pdf-domanda" message="error-download-pdf-domanda" />
<liferay-portlet:actionURL name="salvaStampaPratica" var="salvaStampaPraticaURL">
<liferay-portlet:param name="intPraticaId" value="<%= String.valueOf(intPraticaId) %>"/>
<liferay-portlet:param name="mvcPath" value="/html/fascicolofe/view_fascicolo_dettagli.jsp"/>
</liferay-portlet:actionURL>
<h3><%= intPratica.getTitle(true) %></h3>
<liferay-ui:panel-container extended="true" id="outerPanelContainer">
<div class="row">
<div class="col-sm-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false"
title="fascicolo_title_decreto_min">
<div class="container-fluid">
<div class="row">
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "dp-zona-sismica") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(territorio, "zona") %>
</div>
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "dp-fascia-pericolosita") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(territorio, "fascia") %>
</div>
</div>
<div class="row">
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "dp-range-ag") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(territorio, "agMin") %>
-
<%= BeanPropertiesUtil.getString(territorio, "agMax") %>
</div>
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "ag") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(dettPratica, "ag") %>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dp-sensi") %></div>
</div>
dettPraticaId = dettPratica.getDettPraticaId();
}
}
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), territorio.getCodiceProvincia());
%>
<liferay-ui:error key="error-download-pdf-domanda" message="error-download-pdf-domanda" />
<liferay-portlet:actionURL name="salvaStampaPratica" var="salvaStampaPraticaURL">
<liferay-portlet:param name="intPraticaId" value="<%=String.valueOf(intPraticaId) %>"/>
<liferay-portlet:param name="mvcPath" value="/html/fascicolofe/view_fascicolo_dettagli.jsp"/>
</liferay-portlet:actionURL>
<%-- <aui:form name="fm_salvaStampa" action="<%=salvaStampaPraticaURL %>" method="post"> --%>
<%-- <aui:button cssClass="pull-right" type="submit" value="Stampa" icon="icon-print" iconAlign="left"/> --%>
<%-- </aui:form> --%>
<h3><%=intPratica.getTitle(true) %></h3>
<liferay-ui:panel-container extended="true" id="outerPanelContainer">
<div class="row">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="fascicolo_title_decreto_min" >
<div class="container-fluid">
<div class="row">
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "dp-zona-sismica") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(territorio, "zona") %>
</div>
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "dp-fascia-pericolosita") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(territorio, "fascia") %>
</div>
</div>
<div class="row">
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "dp-range-ag") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(territorio, "agMin") %> - <%= BeanPropertiesUtil.getString(territorio, "agMax") %>
</div>
<div class="col-sm-6 col-md-3">
<%= LanguageUtil.get(pageContext, "ag") %>
</div>
<div class="col-sm-6 col-md-3">
<%= BeanPropertiesUtil.getString(dettPratica, "ag") %>
</div>
</div>
<div class="row">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dp-sensi") %></div>
</div>
</div>
<div class="row">
<c:if test="<%= AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId()) %>">
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDpr01Dep") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dpr01-dep") %>
</div>
<div class="row">
<c:if test="<%= intPratica.isDeposito() %>">
<div class="col-sm-6 col-md-6">
<strong><span class='<%= BeanPropertiesUtil
.getBoolean(dettPratica, "normDpr01Dep")
? "fa fa-check-circle-o txt-green"
: "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dpr01-dep") %>
</div>
<div class="col-sm-6 col-md-6">
<strong><span class='<%= BeanPropertiesUtil
.getBoolean(dettPratica, "normDpr02Dep") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDpr02Dep") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dpr02-dep") %>
</div>
</c:if>
<c:if test="<%= intPratica.isAutorizzazione() %>">
<c:if test="<%= AzioniPraticheUtil.isAutorizzazione(intPratica.getIntPraticaId()) %>">
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDpr01Aut") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dpr01-aut") %>
@ -146,7 +165,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</c:if>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dp-rispetto") %></div>
</div>
</div>
@ -155,20 +174,40 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDm2018") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dm2018") %>
</div>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDm01") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dm01") %>
</div>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDm02") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dm02") %>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dp-normativa") %>:</div>
</div>
</div>
<div class="row">
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDm03") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dm03") %>
</div>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDprg01") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dprg01") %>
</div>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normDprg02") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-dprg02") %>
</div>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normAnr") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "norm-anr") %>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"></div>
</div>
</div>
@ -193,7 +232,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "collaudoStatico") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "collaudo-statico") %>
</div>
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="container-regolamento">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normArt3com3") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>' style="margin-right: 10px;"></span></strong>
<p style="display: inline;"><%= LanguageUtil.get(pageContext, "norm-art3com3") %>:</p>
@ -205,7 +244,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</ul>
</div>
</div>
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="container-regolamento" style="display: inline-block;vertical-align: top;">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "normArt3com4") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>' style="margin-right: 10px;"></span></strong>
<p style="display: inline;"><%= LanguageUtil.get(pageContext, "norm-art3com4") %></p>
@ -219,11 +258,11 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="fascicolo_title_descrizione" >
<div class="prog-description">
<%= HtmlUtil.escape(BeanPropertiesUtil.getString(dettPratica, "descLongIntervento")) %>
<%=BeanPropertiesUtil.getString(dettPratica, "descLongIntervento") %>
</div>
</liferay-ui:panel>
</div>
@ -232,12 +271,12 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="fascicolo_title_dettagli" >
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row">Ubicazione</div>
</div>
</div>
@ -340,18 +379,20 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<div class="container-fluid">
<div class="row">
<%
String[] geolocalization = BeanPropertiesUtil.getString(dettPratica, "localizzazioneGeografica","").split(Pattern.quote("|"));
%>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<aui:input name="lat" label="" type="hidden"
value='<%=geolocalization.length>0?geolocalization[0]:StringPool.BLANK %>' />
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<aui:input name="long" label="" type="hidden"
value='<%=geolocalization.length>1?geolocalization[1]:StringPool.BLANK %>'/>
</div>
<aui:input type="hidden" name="geoIsEditable" value='<%= false %>' label=""/>
<liferay-portlet:runtime portletName="5_WAR_trefmapitmapportlet" />
String[] geolocalization = BeanPropertiesUtil.getString(dettPratica, "localizzazioneGeografica","").split(Pattern.quote("|"));
%>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<aui:input name="lat" label="" type="hidden"
value='<%=geolocalization.length>0?geolocalization[0]:StringPool.BLANK %>' />
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<aui:input name="long" label="" type="hidden"
value='<%=geolocalization.length>1?geolocalization[1]:StringPool.BLANK %>'/>
</div>
<aui:input type="hidden" name="geoIsEditable" value='<%= false %>' label=""/>
<liferay-portlet:runtime portletName="5_WAR_trefmapitmapportlet" />
</div>
</div>
</div>
@ -362,14 +403,15 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="destinazione" >
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<%
String label = BeanPropertiesUtil.getString(dettPratica, "destinazione");
String uso = "";
String title = "";
if(label.length() > 1){
@ -390,7 +432,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="fascicolo_title_intervento" >
<div class="container-fluid">
@ -400,11 +442,11 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<%=LanguageUtil.get(pageContext, "tc-nuova-costruzione") %>
</div>
<%
boolean checked =
boolean checked =
BeanPropertiesUtil.getBoolean(dettPratica, "tcAdeguamentoSismico") ||
BeanPropertiesUtil.getBoolean(dettPratica, "tcMiglioramentoSismico") ||
BeanPropertiesUtil.getBoolean(dettPratica, "tcRiparazioneInterventoLocale");
%>
%>
<div class="col-sm-6 col-md-6">
<strong><span class='<%=checked ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%=LanguageUtil.get(pageContext, "tc-interventi-esistenti") %>
@ -412,6 +454,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<li>
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "tcAdeguamentoSismico") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%=LanguageUtil.get(pageContext, "tc-adeguamento-sismico") %>
</li>
<li>
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "tcMiglioramentoSismico") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
@ -429,15 +472,16 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="fascicolo_title_tipologia_costruttiva" >
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-3">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "tcInCA") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%=LanguageUtil.get(pageContext, "tc-in-c-a") %>
<%=LanguageUtil.get(pageContext, "tc-in-ca") %>
</div>
<div class="col-sm-3 col-md-3">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "tcInOpera") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
@ -483,7 +527,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "tcAltro") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%=LanguageUtil.get(pageContext, "tc-altro") %></br>
<span style="margin-left:20px"><strong><%=BeanPropertiesUtil.getString(dettPratica, "tcAltroDescrizione") %></strong></span>
@ -502,35 +546,40 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
<div class="row">
<div class="col-sm-12 anagrafica-soggetti">
<div class="col-sm-12 col-md-12 anagrafica-soggetti">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="fascicolo_title_soggetti" >
<div class="row container-soggetti__bo ">
<div class="col-sm-12 container-soggetti__bo-dettagli">
<div class="col-sm-12 col-md-12 container-soggetti__bo-dettagli">
<liferay-ui:search-container emptyResultsMessage="no-soggetti-presenti">
<liferay-ui:search-container-results
results="<%=SoggettoLocalServiceUtil.findByIntPratica(dettPratica.getIntPraticaId())%>"
total="<%=SoggettoLocalServiceUtil.countByIntPratica(dettPratica.getIntPraticaId())%>"
/>
<liferay-ui:search-container-row
className="it.tref.liferay.portos.bo.model.Soggetto"
modelVar="soggetto"
>
<%
boolean isSoggettoPrincipale = dettPratica.isSoggettoPrincipale(soggetto.getSoggettoId());
boolean isSoggettoPrincipale = SoggettiUtil.isSoggettoPrincipale(soggetto.getSoggettoId(), dettPratica.getDettPraticaId());
%>
<liferay-portlet:renderURL portletName="<%=PortletKeys.SOGGETTI %>" var="detailsURL" windowState="<%=LiferayWindowState.POP_UP.toString() %>">
<liferay-portlet:param name="mvcPath" value="/html/soggettipratica/edit_soggetto.jsp"/>
<liferay-portlet:param name="soggettoId" value="<%=String.valueOf(soggetto.getSoggettoId()) %>"/>
<liferay-portlet:param name="inBO" value="true"/>
<liferay-portlet:param name="isEditable" value="false"/>
</liferay-portlet:renderURL>
<liferay-ui:search-container-column-text name="Stato" cssClass="text-center">
<span class='fa fa-circle <%= soggetto.getRimosso() ? "txt-red" : "txt-green" %>'></span>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="principale" cssClass="text-center">
<span class='<%= isSoggettoPrincipale ? "fa fa-star txt-orange" : "fa fa-star-o" %>'></span>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="ruolo">
<%= soggetto.getFullTipologiaSoggetto() %>
</liferay-ui:search-container-column-text>
@ -540,44 +589,51 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<liferay-ui:search-container-column-text name="albo" cssClass="text-uppercase">
<%
if("albo-altro".equalsIgnoreCase(soggetto.getAlbo())){
out.print(soggetto.getAlboDescr());
out.print(soggetto.getAlboDescr());
} else {
out.print(soggetto.getAlbo());
out.print(soggetto.getAlbo());
}
%>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Aggiunto da" >
<%
DettPratica adding = DettPraticaLocalServiceUtil.fetchDettPratica(soggetto.getDettPraticaId());
if(adding != null){
%>
<%= adding.getFullDescription() %>
<%
}
%>
DettPratica adding = DettPraticaLocalServiceUtil.fetchDettPratica(soggetto.getDettPraticaId());
if(adding != null){
%>
<%= adding.getFullDescription() %>
<%
}
%>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Invalidato da">
<%
DettPratica removing = DettPraticaLocalServiceUtil.fetchDettPratica(soggetto.getDettPraticaIdRimozione());
if(removing != null){
%>
<%= removing.getFullDescription() %>
<%
}
%>
DettPratica removing = DettPraticaLocalServiceUtil.fetchDettPratica(soggetto.getDettPraticaIdRimozione());
if(removing != null){
%>
<%= removing.getFullDescription() %>
<%
}
%>
</liferay-ui:search-container-column-text>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="<%= false %>" />
</liferay-ui:search-container>
</div>
</div>
</liferay-ui:panel>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Dati Metrici Descrittivi" >
<div class="container-fluid">
@ -613,6 +669,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<strong><%=LanguageUtil.get(pageContext,
"de-interrati-"+deInterrati)%></strong>
</c:if>
</div>
<div class="col-sm-6 col-md-4">
<%= LanguageUtil.get(pageContext, "de-superficie") %>:
@ -706,7 +763,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title='<%= LanguageUtil.get(pageContext, "dcc")%>' >
<div class="container-fluid">
@ -716,7 +773,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
%>
<c:if test="<%= Validator.isNotNull(fondazioni) %>">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dcc-fondazioni") %></div>
</div>
</div>
@ -731,12 +788,12 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</c:if>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dcc-strutture-ele") %></div>
</div>
</div>
<div class="row">
<div class="col-sm-12" >
<div class="col-sm-12 col-md-12" >
<%= LanguageUtil.get(pageContext, "dcc-strutture-ele-murature") %>:
</div>
</div>
@ -794,7 +851,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
<div class="separator"></div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<%= LanguageUtil.get(pageContext, "dcc-strutture-ele-misto") %>:
</div>
</div>
@ -825,8 +882,9 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<span style="margin-left:20px"><strong><%=BeanPropertiesUtil.getString(dettPratica, "dccStruttureEleAltroDescrizione") %></strong></span>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dcc-orizzontamenti") %></div>
</div>
</div>
@ -857,8 +915,9 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<span style="margin-left:20px"><strong><%=BeanPropertiesUtil.getString(dettPratica, "dccOrizzontamentiAltroDescrizione") %></strong></span>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dcc-copertura") %></div>
</div>
</div>
@ -867,7 +926,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
String copertura = BeanPropertiesUtil.getString(dettPratica, "dccCopertura");
%>
<c:if test="<%= Validator.isNotNull(copertura) %>">
<div class="col-sm-12" >
<div class="col-sm-12 col-md-12" >
<strong><%=LanguageUtil.get(pageContext,
"dcc-copertura-"+BeanPropertiesUtil.getString(dettPratica, "dccCopertura"))%></strong>
</div>
@ -906,8 +965,9 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<span style="margin-left:20px"><strong><%=BeanPropertiesUtil.getString(dettPratica, "dccCoperturaAltroDesrizione") %></strong></span>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dcc-elem-non-strut") %></div>
</div>
</div>
@ -928,14 +988,15 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "dccElemNonStrutLegno") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "dcc-elem-non-strut-legno") %>
</div>
<div class="col-sm-12" >
<div class="col-sm-12 col-md-12" >
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "dccElemNonStrutAltro") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "dcc-elem-non-strut-altro") %>
<span style="margin-left:20px"><strong><%=BeanPropertiesUtil.getString(dettPratica, "dccElemNonStrutAltroDescrizione") %></strong></span>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "dcc-opere-di-rinforzo") %></div>
</div>
</div>
@ -972,7 +1033,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "dccOpereDiRinforzoInsRompitratta") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "dcc-opere-di-rinforzo-ins-rompitratta") %>
</div>
<div class="col-sm-12" >
<div class="col-sm-12 col-md-12" >
<strong><span class='<%=BeanPropertiesUtil.getBoolean(dettPratica, "dccOpereDiRinforzoAltro") ? "fa fa-check-circle-o txt-green" : "fa fa-circle-o" %>'></span></strong>
<%= LanguageUtil.get(pageContext, "dcc-opere-di-rinforzo-altro") %>
<span style="margin-left:20px"><strong><%=BeanPropertiesUtil.getString(dettPratica, "dccOpereDiRinforzoAltroDescrizione") %></strong></span>
@ -984,12 +1045,12 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title='<%= LanguageUtil.get(pageContext, "di") %>' >
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%= LanguageUtil.get(pageContext, "de-inf") %></div>
</div>
</div>
@ -1072,7 +1133,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title='<%= LanguageUtil.get(pageContext, "geo") %>' >
@ -1088,10 +1149,11 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<c:if test="<%=Validator.isNotNull(geoDate) %>">
<strong><%= dateFormatDate.format(geoDate) %></strong>
</c:if>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="fascicolo_header_row"><%=LanguageUtil.get(pageContext, "geo-scheda-title") %></div>
</div>
</div>
@ -1296,7 +1358,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group allegati-dettagli">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Allegati Geologici" >
<div class="row" id="<portlet:namespace/>allegati-geologica-table">
@ -1315,7 +1377,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-12">
<div class="module-group allegati-dettagli">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Allegati Domanda" >
<div class="row" id="<portlet:namespace/>allegati-table">
@ -1338,7 +1400,7 @@ RichiestaAccessoAtti accettoAtti = RichiestaAccessoAttiLocalServiceUtil.getRichi
<c:if test="<%=accettoAtti.getIntPraticaId() == 0L %>">
<h3>
Questo fascicolo non è disponibile sotto forma digitale. Potrà ritirare una copia cartacea presso uno degli Uffici del Settore Sismica.
Questo fascicolo non è disponibile sotto forma digitale. Potrà ritirare una copia cartacea presso uno degli Uffici del Settore Sismica.
</h3>
</c:if>

4
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/WEB-INF/liferay-display.xml

@ -3,11 +3,11 @@
<display>
<category name="category.hidden">
<portlet id="1" />
<portlet id="1"></portlet>
</category>
<category name="category.portos">
<category name="category.tools">
<portlet id="2" />
<portlet id="2"></portlet>
</category>
</category>
</display>

2
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/WEB-INF/liferay-hook.xml

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd">
<hook>

109
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/WEB-INF/service.xml

@ -1,94 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_2_0.dtd">
<service-builder package-path="it.tref.liferay.portos.audit">
<author>Marco</author>
<namespace>portos_AUDIT</namespace>
<entity name="AuditEvent" local-service="true" remote-service="false">
<column name="auditEventId" type="long" primary="true" />
<column name="companyId" type="long" />
<column name="createDate" type="Date" />
<column name="auditEventId" type="long" primary="true"></column>
<column name="companyId" type="long"></column>
<column name="createDate" type="Date"></column>
<!-- Dati dell'utente che ha effettuato l'operazione -->
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="userId" type="long"></column>
<column name="userName" type="String"></column>
<!-- Questo campo è utilizzato per definire la tipologia di audit STORICO, LOG -->
<column name="auditEventTable" type="String" />
<column name="auditEventTable" type="String"></column>
<!-- 3 Campi utilizzati per categorizzare gli eventi inseriti e migliorare la ricerca -->
<column name="eventType" type="String" />
<column name="eventCategory" type="String" />
<column name="eventAction" type="String" />
<column name="eventType" type="String"></column>
<column name="eventCategory" type="String"></column>
<column name="eventAction" type="String"></column>
<!--3 Campi per stabilire quale è l'oggetto di interesse in caso di urcgroupid= 0 si riferisce ad un evento globale-->
<column name="classNameId" type="long" />
<column name="classPK" type="String" />
<column name="enteGroupId" type="long" />
<column name="enteCodice" type="String" />
<column name="classNameId" type="long"></column>
<column name="classPK" type="String"></column>
<column name="enteGroupId" type="long"></column>
<column name="enteCodice" type="String"></column>
<!--2 Campi per stabilire quale è l'oggetto padre a cui è legato qeullo del log-->
<column name="parentClassNameId" type="long" />
<column name="parentClassPK" type="String" />
<column name="parentClassNameId" type="long"></column>
<column name="parentClassPK" type="String"></column>
<!--2 Campi per stabilire quale è l'aggetto a cui è relazionato il log (escluso il parent)-->
<column name="relatedClassNameId" type="long" />
<column name="relatedClassPK" type="String" />
<column name="relatedClassNameId" type="long"></column>
<column name="relatedClassPK" type="String"></column>
<!-- Messaggio testuale dell'evento -->
<column name="message" type="String" />
<column name="message" type="String"></column>
<!-- Dati per lo storico -->
<column name="diff" type="String" />
<column name="diff" type="String"></column>
<!-- Dati generici dell'utente che ha effettuato l'operazione -->
<column name="clientHost" type="String" />
<column name="clientIP" type="String" />
<column name="serverName" type="String" />
<column name="serverPort" type="int" />
<column name="sessionID" type="String" />
<column name="clientHost" type="String"></column>
<column name="clientIP" type="String"></column>
<column name="serverName" type="String"></column>
<column name="serverPort" type="int"></column>
<column name="sessionID" type="String"></column>
<!-- Informazioni addizionale dell'evento -->
<column name="additionalInfo" type="String" />
<column name="additionalInfo" type="String"></column>
<order by="desc">
<order-column name="createDate" />
<order-column name="createDate"></order-column>
</order>
<finder name="CompanyId" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="companyId"></finder-column>
</finder>
<finder name="C_ClassNameId" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="classNameId" />
<finder-column name="companyId"></finder-column>
<finder-column name="classNameId"></finder-column>
</finder>
<finder name="C_ClassNameId_ClassPK" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="classNameId" />
<finder-column name="classPK"/>
<finder-column name="companyId"></finder-column>
<finder-column name="classNameId"></finder-column>
<finder-column name="classPK"></finder-column>
</finder>
<finder name="C_ClassNameId_AuditEventTable" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="classNameId" />
<finder-column name="auditEventTable"/>
<finder-column name="companyId"></finder-column>
<finder-column name="classNameId"></finder-column>
<finder-column name="auditEventTable"></finder-column>
</finder>
<finder name="C_ClassNameId_ClassPK_AuditEventTable" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="classNameId" />
<finder-column name="classPK"/>
<finder-column name="auditEventTable"/>
<finder-column name="companyId"></finder-column>
<finder-column name="classNameId"></finder-column>
<finder-column name="classPK"></finder-column>
<finder-column name="auditEventTable"></finder-column>
</finder>
<finder name="C_ParentClassNameId_ParentClassPK" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="parentClassNameId" />
<finder-column name="parentClassPK"/>
<finder-column name="companyId"></finder-column>
<finder-column name="parentClassNameId"></finder-column>
<finder-column name="parentClassPK"></finder-column>
</finder>
<finder name="C_ParentClassNameId_ParentClassPK_ClassNameId" return-type="Collection">
<finder-column name="companyId" />
<finder-column name="parentClassNameId" />
<finder-column name="parentClassPK"/>
<finder-column name="classNameId" />
<finder-column name="companyId"></finder-column>
<finder-column name="parentClassNameId"></finder-column>
<finder-column name="parentClassPK"></finder-column>
<finder-column name="classNameId"></finder-column>
</finder>
</entity>
</service-builder>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/common/details_column.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.kernel.util.TextFormatter"%>
<%@page import="com.liferay.portal.kernel.json.JSONArray"%>
<%@page import="it.tref.liferay.portos.audit.model.AuditEvent"%>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/common/relations_column.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.kernel.util.TextFormatter"%>
<%@page import="com.liferay.portal.kernel.json.JSONArray"%>
<%@page import="it.tref.liferay.portos.audit.model.AuditEvent"%>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/detail/detail.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="it.tref.liferay.portos.audit.shared.permission.HistoryPermission"%>
<%@page import="com.liferay.portal.security.permission.ActionKeys"%>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/detail/view.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="it.tref.liferay.portos.audit.shared.permission.HistoryPermission"%>
<%@page import="com.liferay.portal.security.permission.ActionKeys"%>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/detail/view_list.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="it.tref.liferay.portos.audit.shared.permission.HistoryPermission"%>
<%@page import="com.liferay.portal.security.permission.ActionKeys"%>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/storicizzazione/edit.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/html/init.jsp" %>

1
liferay-plugins-sdk-6.2/portlets/portos-audit-portlet/docroot/html/storicizzazione/view.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/html/init.jsp" %>

28
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-display.xml

@ -4,22 +4,22 @@
<display>
<category name="category.portos">
<category name="category.bo">
<portlet id="1" />
<portlet id="2" />
<portlet id="4" />
<portlet id="6" />
<portlet id="8" />
<portlet id="13" />
<portlet id="22" />
<portlet id="ricerca-posizione" />
<portlet id="1"></portlet>
<portlet id="2"></portlet>
<portlet id="4"></portlet>
<portlet id="6"></portlet>
<portlet id="8"></portlet>
<portlet id="13"></portlet>
<portlet id="22"></portlet>
<portlet id="ricerca-posizione"></portlet>
</category>
</category>
<category name="category.hidden">
<portlet id="5" />
<portlet id="7" />
<portlet id="9" />
<portlet id="11" />
<portlet id="12" />
<portlet id="portos-administration" />
<portlet id="5"></portlet>
<portlet id="7"></portlet>
<portlet id="9"></portlet>
<portlet id="11"></portlet>
<portlet id="12"></portlet>
<portlet id="portos-administration"></portlet>
</category>
</display>

2
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-hook.xml

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd">
<hook>

2058
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml

File diff soppresso perché troppo grande Load Diff

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/search/IntPraticaSearch.java

@ -220,6 +220,7 @@ public class IntPraticaSearch extends BaseSearch {
// Condizioni aggiuntive
fullQuery(request, user, query, searchContext);
hits = SearchEngineUtil.search(searchContext, query);
_log.info(query);
logResults(query, hits);
} catch (ParseException | SearchException | java.text.ParseException e) {
_log.error(e, e);

120
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service.xml

@ -1,107 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_1_0.dtd">
<service-builder package-path="it.tref.portos.calendar.appointments">
<author>3F Consulting + Manifattura Web Group s.r.l.</author>
<author>3F Consulting</author>
<namespace>portos_calendar_appointments</namespace>
<entity name="Funzionario" local-service="true" remote-service="true" uuid="true">
<!-- PK fields -->
<column name="funzionarioId" type="long" primary="true" />
<column name="funzionarioId" type="long" primary="true"></column>
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<column name="groupId" type="long" />
<column name="companyId" type="long"></column>
<column name="userId" type="long"></column>
<column name="userName" type="String"></column>
<column name="createDate" type="Date"></column>
<column name="modifiedDate" type="Date"></column>
<column name="groupId" type="long"></column>
<!-- Other fields -->
<column name="nome" type="String" />
<column name="cognome" type="String" />
<column name="presidio" type="String" />
<column name="tipologia" type="String" />
<column name="nome" type="String"></column>
<column name="cognome" type="String"></column>
<column name="presidio" type="String"></column>
<column name="tipologia" type="String"></column>
<!-- Finder -->
<finder return-type="Funzionario" name="Funzionario">
<finder-column name="funzionarioId" />
<finder-column name="funzionarioId"></finder-column>
</finder>
<finder return-type="Collection" name="Presidio">
<finder-column name="presidio" />
<finder-column name="presidio"></finder-column>
</finder>
</entity>
<entity name="Professionista" local-service="true" remote-service="true" uuid="true">
<!-- PK fields -->
<column name="professionistaId" type="long" primary="true" />
<column name="professionistaId" type="long" primary="true"></column>
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<column name="groupId" type="long" />
<column name="companyId" type="long"></column>
<column name="userId" type="long"></column>
<column name="userName" type="String"></column>
<column name="createDate" type="Date"></column>
<column name="modifiedDate" type="Date"></column>
<column name="groupId" type="long"></column>
<!-- Other fields -->
<column name="nome" type="String" />
<column name="cognome" type="String" />
<column name="nome" type="String"></column>
<column name="cognome" type="String"></column>
</entity>
<entity name="Disponibilita" local-service="true" remote-service="true" uuid="true">
<!-- PK fields -->
<column name="disponibilitaId" type="long" primary="true" />
<column name="disponibilitaId" type="long" primary="true"></column>
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<column name="groupId" type="long" />
<column name="companyId" type="long"></column>
<column name="userId" type="long"></column>
<column name="userName" type="String"></column>
<column name="createDate" type="Date"></column>
<column name="modifiedDate" type="Date"></column>
<column name="groupId" type="long"></column>
<!-- Other fields -->
<column name="funzionarioId" type="long" />
<column name="startDate" type="Date" />
<column name="endDate" type="Date" />
<column name="exactDate" type="String" />
<column name="presidio" type="long" />
<column name="disponibile" type="boolean" />
<column name="funzionarioId" type="long"></column>
<column name="startDate" type="Date"></column>
<column name="endDate" type="Date"></column>
<column name="exactDate" type="String"></column>
<column name="presidio" type="long"></column>
<column name="disponibile" type="boolean"></column>
</entity>
<entity name="Prenotazione" local-service="true" remote-service="true" uuid="true">
<!-- PK fields -->
<column name="prenotazioneId" type="long" primary="true" />
<column name="prenotazioneId" type="long" primary="true"></column>
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<column name="groupId" type="long" />
<column name="companyId" type="long"></column>
<column name="userId" type="long"></column>
<column name="userName" type="String"></column>
<column name="createDate" type="Date"></column>
<column name="modifiedDate" type="Date"></column>
<column name="groupId" type="long"></column>
<!-- Other fields -->
<column name="funzionarioId" type="long" />
<column name="professionistaId" type="long" />
<column name="startDate" type="Date" />
<column name="endDate" type="Date" />
<column name="descLong" type="String" />
<column name="funzionarioId" type="long"></column>
<column name="professionistaId" type="long"></column>
<column name="startDate" type="Date"></column>
<column name="endDate" type="Date"></column>
<column name="descLong" type="String"></column>
<!-- Product Backlog Item 32934 -->
<column name="telefono" type="String" />
<column name="email" type="String" />
<column name="telefono" type="String"></column>
<column name="email" type="String"></column>
<!-- Finder -->
<finder return-type="Prenotazione" name="prenotazione">
<finder-column name="prenotazioneId" />
<finder-column name="prenotazioneId"></finder-column>
</finder>
<finder return-type="Collection" name="Funzionario_StartDate">
<finder-column name="funzionarioId" />
<finder-column name="startDate" />
<finder-column name="funzionarioId"></finder-column>
<finder-column name="startDate"></finder-column>
</finder>
<finder return-type="Collection" name="StartDate">
<finder-column name="startDate" />
<finder-column name="startDate"></finder-column>
</finder>
</entity>
<exceptions>
<exception>DuplicateFunzionario</exception>
<exception>DuplicateProfessionista</exception>
<exception>DuplicatePrenotazione</exception>
<exception>SlotNotAvailable</exception>
</exceptions>
</service-builder>

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/DuplicateFunzionarioException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.kernel.exception.PortalException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class DuplicateFunzionarioException extends PortalException {
public DuplicateFunzionarioException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/DuplicatePrenotazioneException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.kernel.exception.PortalException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class DuplicatePrenotazioneException extends PortalException {
public DuplicatePrenotazioneException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/DuplicateProfessionistaException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.kernel.exception.PortalException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class DuplicateProfessionistaException extends PortalException {
public DuplicateProfessionistaException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchDisponibilitaException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.NoSuchModelException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class NoSuchDisponibilitaException extends NoSuchModelException {
public NoSuchDisponibilitaException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchFunzionarioException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.NoSuchModelException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class NoSuchFunzionarioException extends NoSuchModelException {
public NoSuchFunzionarioException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchPrenotazioneException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.NoSuchModelException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class NoSuchPrenotazioneException extends NoSuchModelException {
public NoSuchPrenotazioneException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/NoSuchProfessionistaException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.NoSuchModelException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class NoSuchProfessionistaException extends NoSuchModelException {
public NoSuchProfessionistaException() {

19
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/service/it/tref/portos/calendar/appointments/SlotNotAvailableException.java

@ -1,9 +1,15 @@
/**
* Copyright (c) 2000-2013 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.
* Copyright (c) 2000-2013 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.
*/
package it.tref.portos.calendar.appointments;
@ -11,9 +17,8 @@ package it.tref.portos.calendar.appointments;
import com.liferay.portal.kernel.exception.PortalException;
/**
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class SlotNotAvailableException extends PortalException {
public SlotNotAvailableException() {

36
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/DisponibilitaImpl.java

@ -1,30 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.model.impl;
/**
* The extended model implementation for the Disponibilita service. Represents a row in the
* &quot;portos_calendar_appointments_Disponibilita&quot; database table, with each column mapped to a property of this
* class.
* The extended model implementation for the Disponibilita service. Represents a row in the &quot;portos_calendar_appointments_Disponibilita&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.model.Disponibilita}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.model.Disponibilita} interface.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class DisponibilitaImpl extends DisponibilitaBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a disponibilita model instance
* should use the {@link it.tref.portos.calendar.appointments.model.Disponibilita} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a disponibilita model instance should use the {@link it.tref.portos.calendar.appointments.model.Disponibilita} interface instead.
*/
public DisponibilitaImpl() {}
public DisponibilitaImpl() {
}
}

48
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/FunzionarioImpl.java

@ -1,9 +1,13 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.model.impl;
@ -12,26 +16,28 @@ import com.liferay.portal.kernel.util.StringPool;
/**
* The extended model implementation for the Funzionario service. Represents a row in the
* &quot;portos_calendar_appointments_Funzionario&quot; database table, with each column mapped to a property of this
* class.
* &quot;portos_calendar_appointments_Funzionario&quot; database table, with each column mapped to a
* property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.model.Funzionario}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added,
* rerun ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.model.Funzionario} interface.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class FunzionarioImpl extends FunzionarioBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a funzionario model instance
* should use the {@link it.tref.portos.calendar.appointments.model.Funzionario} interface instead.
*/
public FunzionarioImpl() {}
/*
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a funzionario model instance
* should use the {@link it.tref.portos.calendar.appointments.model.Funzionario} interface
* instead.
*/
public FunzionarioImpl() {}
@Override
public String getFullDescription() {
return getNome() + StringPool.SPACE + getCognome();
}
public String getFullDescription() {
return getNome() + StringPool.SPACE + getCognome();
}
}

57
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/PrenotazioneImpl.java

@ -1,9 +1,13 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.model.impl;
@ -14,27 +18,38 @@ import org.apache.commons.lang.time.DateUtils;
/**
* The extended model implementation for the Prenotazione service. Represents a row in the
* &quot;portos_calendar_appointments_Prenotazione&quot; database table, with each column mapped to a property of this
* class.
* &quot;portos_calendar_appointments_Prenotazione&quot; database table, with each column mapped to
* a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.model.Prenotazione}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added,
* rerun ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.model.Prenotazione} interface.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class PrenotazioneImpl extends PrenotazioneBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a prenotazione model instance
* should use the {@link it.tref.portos.calendar.appointments.model.Prenotazione} interface instead.
*/
public PrenotazioneImpl() {}
/*
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a prenotazione model instance
* should use the {@link it.tref.portos.calendar.appointments.model.Prenotazione} interface
* instead.
*/
public PrenotazioneImpl() {}
public boolean isExpired(Date now) {
if (now.after(getStartDate())) {
return true;
}
if (DateUtils.isSameDay(now, getStartDate())) {
return true;
@Override
public boolean isExpired(Date now) {
}
return now.after(getStartDate()) || DateUtils.isSameDay(now, getStartDate());
}
return false;
}
}

36
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/model/impl/ProfessionistaImpl.java

@ -1,30 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.model.impl;
/**
* The extended model implementation for the Professionista service. Represents a row in the
* &quot;portos_calendar_appointments_Professionista&quot; database table, with each column mapped to a property of this
* class.
* The extended model implementation for the Professionista service. Represents a row in the &quot;portos_calendar_appointments_Professionista&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.model.Professionista}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.model.Professionista} interface.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
*/
@SuppressWarnings("serial")
public class ProfessionistaImpl extends ProfessionistaBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a professionista model instance
* should use the {@link it.tref.portos.calendar.appointments.model.Professionista} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a professionista model instance should use the {@link it.tref.portos.calendar.appointments.model.Professionista} interface instead.
*/
public ProfessionistaImpl() {}
public ProfessionistaImpl() {
}
}

510
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/DisponibilitaLocalServiceImpl.java

@ -1,9 +1,13 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
@ -26,13 +30,11 @@ import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.Order;
import com.liferay.portal.kernel.dao.orm.OrderFactoryUtil;
import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
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.StringPool;
import com.liferay.portal.model.Organization;
import com.liferay.portal.model.Role;
import com.liferay.portal.model.User;
@ -40,508 +42,650 @@ import com.liferay.portal.service.OrganizationLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserGroupRoleLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
/**
* The implementation of the disponibilita local service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.DisponibilitaLocalService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.service.DisponibilitaLocalService} interface.
*
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the
* propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.DisponibilitaLocalServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.DisponibilitaLocalServiceUtil
*/
public class DisponibilitaLocalServiceImpl extends DisponibilitaLocalServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.DisponibilitaLocalServiceUtil} to access the disponibilita local
* service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.DisponibilitaLocalServiceUtil} to access the
* disponibilita local service.
*/
private static Log _log = LogFactoryUtil.getLog(DisponibilitaLocalServiceImpl.class);
@Override
public long checkDisponibilitaExist(long funzionarioId, Date startDate, Date endDate) throws SystemException {
//Bug 32935
public long checkDisponibilitaExist(long funzionarioId, Date startDate, Date endDate) throws SystemException{
long exist = 0L;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.eq("exactDate", sdf.format(startDate)));
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate", startDate));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate", endDate));
@SuppressWarnings("unchecked")
//Bug 32935
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate",startDate));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate",endDate));
List<Disponibilita> results = disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
if (!results.isEmpty()) {
if(!results.isEmpty()){
exist = results.get(0).getDisponibilitaId();
}
return exist;
}
@Override
public long checkDisponibilitaExist(long funzionarioId, Date startDate, Date endDate, long presidio)
throws SystemException {
public long checkDisponibilitaExist(long funzionarioId, Date startDate, Date endDate, long presidio) throws SystemException{
long exist = 0L;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.eq("exactDate", sdf.format(startDate)));
dynamicQuery.add(RestrictionsFactoryUtil.eq("presidio", presidio));
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate", startDate));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate", endDate));
@SuppressWarnings("unchecked")
dynamicQuery.add(RestrictionsFactoryUtil.eq("presidio",presidio));
//Bug 32935
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate",startDate));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate",endDate));
List<Disponibilita> results = disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
if (!results.isEmpty()) {
if(!results.isEmpty()){
exist = results.get(0).getDisponibilitaId();
}
return exist;
}
@Override
public Disponibilita addDisponibilita(long userId, long funzionarioId, Date startDate, Date endDate, long presidio,
ServiceContext serviceContext) throws SystemException, PortalException {
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(presidio);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Disponibilita disponibilita =
disponibilitaPersistence.create(counterLocalService.increment(Disponibilita.class.getName()));
User user = userPersistence.findByPrimaryKey(userId);
Date now = new Date();
disponibilita.setCompanyId(serviceContext.getCompanyId());
disponibilita.setUserId(user.getUserId());
disponibilita.setUserName(user.getFullName());
disponibilita.setCreateDate(serviceContext.getCreateDate(now));
disponibilita.setModifiedDate(serviceContext.getModifiedDate(now));
disponibilita.setGroupId(organization.getGroupId());
disponibilita.setFunzionarioId(funzionarioId);
disponibilita.setStartDate(startDate);
disponibilita.setEndDate(endDate);
disponibilita.setPresidio(presidio);
disponibilita.setExactDate(sdf.format(startDate));
disponibilita.setDisponibile(true);
disponibilita = updateDisponibilita(disponibilita);
disponibilita = disponibilitaLocalService.updateDisponibilita(disponibilita);
return disponibilita;
}
@Override
public Disponibilita addIndisponibilita(long userId, long funzionarioId, Date startDate, Date endDate,
long presidio, ServiceContext serviceContext) throws SystemException, PortalException {
public Disponibilita addIndisponibilita(long userId, long funzionarioId, Date startDate, Date endDate, long presidio,
ServiceContext serviceContext) throws SystemException, PortalException {
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(presidio);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Disponibilita disponibilita =
disponibilitaPersistence.create(counterLocalService.increment(Disponibilita.class.getName()));
User user = userPersistence.findByPrimaryKey(userId);
Date now = new Date();
disponibilita.setCompanyId(serviceContext.getCompanyId());
disponibilita.setUserId(user.getUserId());
disponibilita.setUserName(user.getFullName());
disponibilita.setCreateDate(serviceContext.getCreateDate(now));
disponibilita.setModifiedDate(serviceContext.getModifiedDate(now));
disponibilita.setGroupId(organization.getGroupId());
disponibilita.setFunzionarioId(funzionarioId);
disponibilita.setStartDate(startDate);
disponibilita.setEndDate(endDate);
disponibilita.setPresidio(presidio);
disponibilita.setExactDate(sdf.format(startDate));
disponibilita.setDisponibile(false);
disponibilita = updateDisponibilita(disponibilita);
disponibilita = disponibilitaLocalService.updateDisponibilita(disponibilita);
return disponibilita;
}
@Override
public void addDisponibilitaGenerale(long userId, Date startDate, Date endDate, long presidioId, String oraInizio,
String oraFine, int giornoSettimana, ServiceContext serviceContext) throws SystemException,
PortalException, ParseException {
public void addDisponibilitaGenerale(long userId, Date startDate, Date endDate, long presidioId,
String oraInizio, String oraFine, int giornoSettimana, ServiceContext serviceContext) throws SystemException, PortalException, ParseException{
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(presidioId);
List<User> userDefinitivo = new ArrayList<User>();
try {
if (organization != null) {
List<User> users = userLocalService.getOrganizationUsers(presidioId);
if(organization != null){
List<User> users = UserLocalServiceUtil.getOrganizationUsers(presidioId);
for (User user : users) {
Role portosSupporto = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_supporto");
Role portosIstruttore =
RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_calendario");
if (!userLocalService.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())) {
boolean isIstruttore =
UserGroupRoleLocalServiceUtil.hasUserGroupRole(user.getUserId(),
organization.getGroupId(), portosIstruttore.getRoleId());
if (isIstruttore) {
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_calendario");
if(!UserLocalServiceUtil.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())){
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
user.getUserId(), organization.getGroupId(), portosIstruttore.getRoleId());
if(isIstruttore){
userDefinitivo.add(user);
}
}
}
}
} catch (NumberFormatException | SystemException e) {
_log.error(e, e);
_log.error(e,e);
} catch (PortalException e) {
_log.error(e, e);
_log.error(e,e);
}
Calendar calendarStartDate = Calendar.getInstance();
calendarStartDate.setTime(startDate);
if (calendarStartDate.get(Calendar.DAY_OF_WEEK) == giornoSettimana) {
if(calendarStartDate.get(Calendar.DAY_OF_WEEK) == giornoSettimana){
Date startDateToInsert = formatDateTime(oraInizio, startDate);
Date endDateToInsert = formatDateTime(oraFine, startDate);
for (User user : userDefinitivo) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", user.getUserId()));
dynamicQuery.add(RestrictionsFactoryUtil.eq("exactDate", sdf.format(startDateToInsert)));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", organization.getGroupId()));
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate", startDateToInsert));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate", endDateToInsert));
@SuppressWarnings("unchecked")
//Bug 32935
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate",startDateToInsert));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate",endDateToInsert));
List<Disponibilita> results = disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
if (results.isEmpty()) {
if(results.isEmpty()){
addDisponibilita(serviceContext.getUserId(), user.getUserId(), startDateToInsert, endDateToInsert,
organization.getOrganizationId(), serviceContext);
} else {
for (Iterator<Disponibilita> iterator = results.iterator(); iterator.hasNext();) {
Disponibilita disponibilita = iterator.next();
}
//Bug 32935
else{
for (Iterator iterator = results.iterator(); iterator.hasNext();) {
Disponibilita disponibilita = (Disponibilita) iterator.next();
disponibilita.setDisponibile(true);
updateDisponibilita(disponibilita);
disponibilitaLocalService.updateDisponibilita(disponibilita);
}
}
}
}
addDayForDisponibilita(startDate, endDate, oraInizio, oraFine, giornoSettimana, userDefinitivo,
organization.getOrganizationId(), serviceContext);
addDayForDisponibilita(startDate, endDate, oraInizio, oraFine, giornoSettimana,
userDefinitivo, organization.getOrganizationId(), serviceContext);
}
private void addDayForDisponibilita(Date date, Date endDate, String oraInizio, String oraFine, int giornoSettimana,
List<User> users, long presidioId, ServiceContext serviceContext) throws ParseException, SystemException,
PortalException {
private void addDayForDisponibilita(Date date, Date endDate, String oraInizio, String oraFine,int giornoSettimana,List<User> users,
long presidioId, ServiceContext serviceContext)
throws ParseException, SystemException, PortalException{
Organization org = OrganizationLocalServiceUtil.fetchOrganization(presidioId);
Date datePlus = datePlusOneDay(date);
if (date.before(datePlus) && (endDate.after(datePlus) || isSameDate(endDate, datePlus))) {
if(date.before(datePlus) && (endDate.after(datePlus) || isSameDate(endDate, datePlus))){
Calendar calendarStartDate = Calendar.getInstance();
calendarStartDate.setTime(datePlus);
if (calendarStartDate.get(Calendar.DAY_OF_WEEK) == giornoSettimana) {
if(calendarStartDate.get(Calendar.DAY_OF_WEEK) == giornoSettimana){
Date startDateToInsert = formatDateTime(oraInizio, datePlus);
Date endDateToInsert = formatDateTime(oraFine, datePlus);
for (User user : users) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", user.getUserId()));
dynamicQuery.add(RestrictionsFactoryUtil.eq("exactDate", sdf.format(startDateToInsert)));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", org.getGroupId()));
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate", startDateToInsert));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate", endDateToInsert));
@SuppressWarnings("unchecked")
//Bug 32935
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate",startDateToInsert));
dynamicQuery.add(RestrictionsFactoryUtil.eq("endDate",endDateToInsert));
List<Disponibilita> results = disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
if (results.isEmpty()) {
addDisponibilita(serviceContext.getUserId(), user.getUserId(), startDateToInsert,
endDateToInsert, presidioId, serviceContext);
} else {
for (Iterator<Disponibilita> iterator = results.iterator(); iterator.hasNext();) {
Disponibilita disponibilita = iterator.next();
if(results.isEmpty()){
addDisponibilita(serviceContext.getUserId(), user.getUserId(), startDateToInsert, endDateToInsert,
presidioId, serviceContext);
}
//Bug 32935
else{
for (Iterator iterator = results.iterator(); iterator.hasNext();) {
Disponibilita disponibilita = (Disponibilita) iterator.next();
disponibilita.setDisponibile(true);
updateDisponibilita(disponibilita);
disponibilitaLocalService.updateDisponibilita(disponibilita);
}
}
}
addDayForDisponibilita(datePlus, endDate, oraInizio, oraFine, giornoSettimana, users, presidioId,
serviceContext);
addDayForDisponibilita(datePlus, endDate, oraInizio, oraFine, giornoSettimana, users,
presidioId, serviceContext);
} else {
addDayForDisponibilita(datePlus, endDate, oraInizio, oraFine, giornoSettimana, users, presidioId,
serviceContext);
addDayForDisponibilita(datePlus, endDate, oraInizio, oraFine, giornoSettimana, users,
presidioId, serviceContext);
}
}
}
private Date datePlusOneDay(Date date) {
private Date datePlusOneDay(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, 1);
return calendar.getTime();
}
private boolean isSameDate(Date date1, Date date2) {
private boolean isSameDate(Date date1 , Date date2){
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
boolean sameDay =
cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)
&& cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);
boolean sameDay = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);
return sameDay;
}
@SuppressWarnings("unchecked")
@Override
public List<Disponibilita> findByStartDate(Date date) throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
Date end = DateUtils.addDays(start, 1);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.between("startDate", start, end));
dynamicQuery.addOrder(OrderFactoryUtil.desc("funzionarioId"));
return disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
}
@Override
public List<Disponibilita> findByFunzionarioStartAndPresidio(long funzionarioId, Date date, long presidio)
throws SystemException {
}
public List<Disponibilita> findByFunzionarioStartAndPresidio(long funzionarioId, Date date, long presidio) throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
Date end = DateUtils.addHours(start, 22);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
dynamicQuery.add(RestrictionsFactoryUtil.lt("endDate", end));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", presidio));
@SuppressWarnings("unchecked")
List<Disponibilita> results = disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
return results;
}
@SuppressWarnings("unchecked")
@Override
public List<Disponibilita> findByFunzionario_StartDate(long funzionarioId, Date date, long presidio)
throws SystemException {
}
public List<Disponibilita> findByFunzionario_StartDate(long funzionarioId, Date date, long presidio) throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
Date end = DateUtils.addHours(start, 22);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
dynamicQuery.add(RestrictionsFactoryUtil.lt("endDate", end));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", presidio));
return disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
List<Disponibilita> results = disponibilitaPersistence.findWithDynamicQuery(dynamicQuery);
return results;
}
@SuppressWarnings("unchecked")
@Override
public List<Disponibilita> findByFunzionarioStartDate(long funzionarioId, Date date, int startRow, int endRow)
throws SystemException {
public List<Disponibilita> findByFunzionarioStartDate(long funzionarioId, Date date, int startRow, int endRow) throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
Date end = DateUtils.addHours(start, 22);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
Order defaultOrder = OrderFactoryUtil.asc("startDate");
dynamicQuery.addOrder(defaultOrder);
return dynamicQuery(dynamicQuery, startRow, endRow);
List<Disponibilita> results = disponibilitaLocalService.dynamicQuery(dynamicQuery, startRow, endRow);
return results;
}
@Override
public int countByFunzionarioStartDate(long funzionarioId, Date date) throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
Order defaultOrder = OrderFactoryUtil.asc("startDate");
dynamicQuery.addOrder(defaultOrder);
return dynamicQuery(dynamicQuery, QueryUtil.ALL_POS, QueryUtil.ALL_POS).size();
List<Disponibilita> results = disponibilitaLocalService.dynamicQuery(dynamicQuery, -1, -1);
return results.size();
}
@SuppressWarnings("unchecked")
@Override
public List<Disponibilita> findByPOStartDateAndFilters(long funzionarioId, Date date, int startRow, int endRow,
String provinciaFilter, String funzionarioIdFilter) throws SystemException {
public List<Disponibilita> findByPOStartDateAndFilters(long funzionarioId, Date date, int startRow, int endRow, String provinciaFilter, String funzionarioIdFilter) throws SystemException {
User user = UserLocalServiceUtil.fetchUser(funzionarioId);
User user = userLocalService.fetchUser(funzionarioId);
List<Long> orgIds = new ArrayList<Long>();
try {
Role dirigenteGenerale = RoleLocalServiceUtil.getRole(user.getCompanyId(), "dirigente_generale");
boolean isDirigenteGenerale =
RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if (isDirigenteGenerale) {
List<Organization> orgs =
OrganizationLocalServiceUtil.getOrganizations(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
boolean isDirigenteGenerale = RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if(isDirigenteGenerale){
List<Organization> orgs = OrganizationLocalServiceUtil.getOrganizations(-1, -1);
for (Organization organization : orgs) {
if (organization.getParentOrganization() != null) {
if(organization.getParentOrganization() != null){
orgIds.add(organization.getOrganizationId());
}
}
} else {
List<Organization> orgs = OrganizationLocalServiceUtil.getUserOrganizations(funzionarioId);
for (Organization organization : orgs) {
Role portosPO = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_po");
boolean isPO =
UserGroupRoleLocalServiceUtil.hasUserGroupRole(funzionarioId, organization.getGroupId(),
portosPO.getRoleId());
if (isPO) {
boolean isPO = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
funzionarioId, organization.getGroupId(), portosPO.getRoleId());
if(isPO){
orgIds.add(organization.getOrganizationId());
}
}
}
} catch (PortalException e) {
_log.error(e, e);
_log.error(e,e);
}
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
DynamicQuery dynamicQuery = dynamicQuery();
if (provinciaFilter.equals("-1") || provinciaFilter.equals(StringPool.BLANK)) {
dynamicQuery.add(PropertyFactoryUtil.forName("presidio").in(orgIds.toArray()));
} else {
if(!provinciaFilter.equals("-1") && !provinciaFilter.equals("")){
dynamicQuery.add(RestrictionsFactoryUtil.eq("presidio", Long.valueOf(provinciaFilter)));
}
if (funzionarioIdFilter.equals("-1") || funzionarioIdFilter.equals(StringPool.BLANK)) {
dynamicQuery.add(RestrictionsFactoryUtil.ne("funzionarioId", funzionarioId));
} else {
dynamicQuery.add(PropertyFactoryUtil.forName("presidio").in(orgIds.toArray()));
}
if(!funzionarioIdFilter.equals("-1") && !funzionarioIdFilter.equals("")){
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", Long.valueOf(funzionarioIdFilter)));
} else {
dynamicQuery.add(RestrictionsFactoryUtil.ne("funzionarioId", funzionarioId));
}
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
Order defaultOrder = OrderFactoryUtil.asc("startDate");
dynamicQuery.addOrder(defaultOrder);
return dynamicQuery(dynamicQuery, startRow, endRow);
List<Disponibilita> results = disponibilitaLocalService.dynamicQuery(dynamicQuery, startRow, endRow);
return results;
}
@Override
public int countByPOStartDateAndFilters(long funzionarioId, Date date, String provinciaFilter,
String funzionarioIdFilter) throws SystemException {
public int countByPOStartDateAndFilters(long funzionarioId, Date date, String provinciaFilter, String funzionarioIdFilter) throws SystemException {
User user = UserLocalServiceUtil.fetchUser(funzionarioId);
User user = userLocalService.fetchUser(funzionarioId);
List<Long> orgIds = new ArrayList<Long>();
try {
Role dirigenteGenerale = RoleLocalServiceUtil.getRole(user.getCompanyId(), "dirigente_generale");
boolean isDirigenteGenerale =
RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if (isDirigenteGenerale) {
List<Organization> orgs =
OrganizationLocalServiceUtil.getOrganizations(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
boolean isDirigenteGenerale = RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if(isDirigenteGenerale){
List<Organization> orgs = OrganizationLocalServiceUtil.getOrganizations(-1, -1);
for (Organization organization : orgs) {
if (organization.getParentOrganization() != null) {
if(organization.getParentOrganization() != null){
orgIds.add(organization.getOrganizationId());
}
}
} else {
List<Organization> orgs = OrganizationLocalServiceUtil.getUserOrganizations(funzionarioId);
for (Organization organization : orgs) {
Role portosPO = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_po");
boolean isPO =
UserGroupRoleLocalServiceUtil.hasUserGroupRole(funzionarioId, organization.getGroupId(),
portosPO.getRoleId());
if (isPO) {
boolean isPO = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
funzionarioId, organization.getGroupId(), portosPO.getRoleId());
if(isPO){
orgIds.add(organization.getOrganizationId());
}
}
}
} catch (PortalException e) {
_log.error(e, e);
_log.error(e,e);
}
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
DynamicQuery dynamicQuery = dynamicQuery();
if (provinciaFilter.equals("-1") || provinciaFilter.equals(StringPool.BLANK)) {
dynamicQuery.add(PropertyFactoryUtil.forName("presidio").in(orgIds.toArray()));
} else {
if(!provinciaFilter.equals("-1") && !provinciaFilter.equals("")){
dynamicQuery.add(RestrictionsFactoryUtil.eq("presidio", Long.valueOf(provinciaFilter)));
}
if (funzionarioIdFilter.equals("-1") || funzionarioIdFilter.equals(StringPool.BLANK)) {
dynamicQuery.add(RestrictionsFactoryUtil.ne("funzionarioId", funzionarioId));
} else {
dynamicQuery.add(PropertyFactoryUtil.forName("presidio").in(orgIds.toArray()));
}
if(!funzionarioIdFilter.equals("-1") && !funzionarioIdFilter.equals("")){
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", Long.valueOf(funzionarioIdFilter)));
} else {
dynamicQuery.add(RestrictionsFactoryUtil.ne("funzionarioId", funzionarioId));
}
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
Order defaultOrder = OrderFactoryUtil.asc("startDate");
dynamicQuery.addOrder(defaultOrder);
return dynamicQuery(dynamicQuery, QueryUtil.ALL_POS, QueryUtil.ALL_POS).size();
List<Disponibilita> results = disponibilitaLocalService.dynamicQuery(dynamicQuery, -1, -1);
return results.size();
}
@SuppressWarnings("unchecked")
@Override
public List<Disponibilita> findByPOStartDate(long funzionarioId, Date date, int startRow, int endRow)
throws SystemException {
public List<Disponibilita> findByPOStartDate(long funzionarioId, Date date, int startRow, int endRow) throws SystemException {
User user = UserLocalServiceUtil.fetchUser(funzionarioId);
User user = userLocalService.fetchUser(funzionarioId);
List<Long> orgIds = new ArrayList<Long>();
try {
Role dirigenteGenerale = RoleLocalServiceUtil.getRole(user.getCompanyId(), "dirigente_generale");
boolean isDirigenteGenerale =
RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if (isDirigenteGenerale) {
List<Organization> orgs =
OrganizationLocalServiceUtil.getOrganizations(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
boolean isDirigenteGenerale = RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if(isDirigenteGenerale){
List<Organization> orgs = OrganizationLocalServiceUtil.getOrganizations(-1, -1);
for (Organization organization : orgs) {
if (organization.getParentOrganization() != null) {
if(organization.getParentOrganization() != null){
orgIds.add(organization.getOrganizationId());
}
}
} else {
List<Organization> orgs = OrganizationLocalServiceUtil.getUserOrganizations(funzionarioId);
for (Organization organization : orgs) {
Role portosPO = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_po");
boolean isPO =
UserGroupRoleLocalServiceUtil.hasUserGroupRole(funzionarioId, organization.getGroupId(),
portosPO.getRoleId());
if (isPO) {
boolean isPO = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
funzionarioId, organization.getGroupId(), portosPO.getRoleId());
if(isPO){
orgIds.add(organization.getOrganizationId());
}
}
}
} catch (PortalException e) {
_log.error(e, e);
_log.error(e,e);
}
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(PropertyFactoryUtil.forName("presidio").in(orgIds.toArray()));
dynamicQuery.add(RestrictionsFactoryUtil.ne("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
Order defaultOrder = OrderFactoryUtil.asc("startDate");
dynamicQuery.addOrder(defaultOrder);
return dynamicQuery(dynamicQuery, startRow, endRow);
List<Disponibilita> results = disponibilitaLocalService.dynamicQuery(dynamicQuery, startRow, endRow);
return results;
}
@Override
public int countByPOStartDate(long funzionarioId, Date date) throws SystemException {
User user = userLocalService.fetchUser(funzionarioId);
User user = UserLocalServiceUtil.fetchUser(funzionarioId);
List<Long> orgIds = new ArrayList<Long>();
try {
Role dirigenteGenerale = RoleLocalServiceUtil.getRole(user.getCompanyId(), "dirigente_generale");
boolean isDirigenteGenerale =
RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if (isDirigenteGenerale) {
List<Organization> orgs =
OrganizationLocalServiceUtil.getOrganizations(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
boolean isDirigenteGenerale = RoleLocalServiceUtil.hasUserRole(user.getUserId(), dirigenteGenerale.getRoleId());
if(isDirigenteGenerale){
List<Organization> orgs = OrganizationLocalServiceUtil.getOrganizations(-1, -1);
for (Organization organization : orgs) {
if (organization.getParentOrganization() != null) {
if(organization.getParentOrganization() != null){
orgIds.add(organization.getOrganizationId());
}
}
} else {
List<Organization> orgs = OrganizationLocalServiceUtil.getUserOrganizations(funzionarioId);
for (Organization organization : orgs) {
Role portosPO = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_po");
boolean isPO =
UserGroupRoleLocalServiceUtil.hasUserGroupRole(funzionarioId, organization.getGroupId(),
portosPO.getRoleId());
if (isPO) {
boolean isPO = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
funzionarioId, organization.getGroupId(), portosPO.getRoleId());
if(isPO){
orgIds.add(organization.getOrganizationId());
}
}
}
} catch (PortalException e) {
_log.error(e, e);
_log.error(e,e);
}
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(PropertyFactoryUtil.forName("presidio").in(orgIds.toArray()));
dynamicQuery.add(RestrictionsFactoryUtil.ne("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
Order defaultOrder = OrderFactoryUtil.asc("startDate");
dynamicQuery.addOrder(defaultOrder);
return dynamicQuery(dynamicQuery, QueryUtil.ALL_POS, QueryUtil.ALL_POS).size();
List<Disponibilita> results = disponibilitaLocalService.dynamicQuery(dynamicQuery, -1, -1);
return results.size();
}
private Date formatDateTime(String orario, Date day) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date data = sdf.parse(orario);
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(data);
Date date = DateUtils.addHours(day, calendar.get(Calendar.HOUR_OF_DAY));
date = DateUtils.addMinutes(date, calendar.get(Calendar.MINUTE));
return date;
}
}

136
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/DisponibilitaServiceImpl.java

@ -1,9 +1,13 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
@ -11,6 +15,7 @@ package it.tref.portos.calendar.appointments.service.impl;
import it.tref.portos.calendar.appointments.model.Disponibilita;
import it.tref.portos.calendar.appointments.model.Funzionario;
import it.tref.portos.calendar.appointments.model.Prenotazione;
import it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil;
import it.tref.portos.calendar.appointments.service.base.DisponibilitaServiceBaseImpl;
import java.text.ParseException;
@ -37,117 +42,157 @@ import com.liferay.portal.service.OrganizationLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserGroupRoleLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
/**
* The implementation of the disponibilita remote service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.DisponibilitaService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.service.DisponibilitaService} interface.
*
* <p>
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS
* credentials because this service can be accessed remotely.
* This is a remote service. Methods of this service are expected to have security checks based on
* the propagated JAAS credentials because this service can be accessed remotely.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.DisponibilitaServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.DisponibilitaServiceUtil
*/
public class DisponibilitaServiceImpl extends DisponibilitaServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.DisponibilitaServiceUtil} to access the disponibilita remote
* service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.DisponibilitaServiceUtil} to access the
* disponibilita remote service.
*/
private static Log _log = LogFactoryUtil.getLog(DisponibilitaServiceImpl.class);
@Override
public Disponibilita addDisponibilita(long userId, long funzionarioId, Date startDate, Date endDate, long presidio,
ServiceContext serviceContext) throws SystemException, PortalException {
return disponibilitaLocalService.addDisponibilita(userId, funzionarioId, startDate, endDate, presidio,
serviceContext);
return disponibilitaLocalService.addDisponibilita(userId, funzionarioId, startDate, endDate, presidio, serviceContext);
}
@Override
public List<Disponibilita> addDisponibilitaGenerale(long presidio, long userId, Date dataInizioDisponibilita,
Date dataFineDisponibilita, String giornoSettimana, String oraInizioDisponibilita,
String oraFineDisponibilita, ServiceContext serviceContext) throws SystemException, PortalException {
Date dataFineDisponibilita, String giornoSettimana, String oraInizioDisponibilita, String oraFineDisponibilita,
ServiceContext serviceContext) throws SystemException, PortalException {
// ciclo su tutti i funzionari e chiamo il service su ogniuno di essi
List<Funzionario> funzionari = new ArrayList<Funzionario>();
// List<Funzionario> funzionari = funzionarioLocalService.findByPresidio(presidio);
// List<Funzionario> funzionari = funzionarioLocalService.findByPresidio(presidio);
List<Disponibilita> listDisponibilita = new ArrayList<>(funzionari.size());
long funzionarioId;
for (Funzionario funzionario : funzionari) {
funzionarioId = funzionario.getFunzionarioId();
listDisponibilita.add(disponibilitaLocalService.addDisponibilita(userId, funzionarioId,
dataInizioDisponibilita, dataFineDisponibilita, presidio, serviceContext));
listDisponibilita.add(disponibilitaLocalService.addDisponibilita(userId, funzionarioId, dataInizioDisponibilita,
dataFineDisponibilita, presidio, serviceContext));
}
return listDisponibilita;
}
@Override
public String verifyDisponibilitaByDateHour(String presidio, String date, String[] oreInizio, String idFunzionario)
throws SystemException, ParseException {
public String verifyDisponibilitaByDateHour(String presidio, String date,String[] oreInizio, String idFunzionario) throws SystemException, ParseException {
JSONObject json = JSONFactoryUtil.createJSONObject();
JSONArray array = JSONFactoryUtil.createJSONArray();
Organization org = OrganizationLocalServiceUtil.fetchOrganization(Long.parseLong(presidio));
SimpleDateFormat sfd = new SimpleDateFormat("dd/MM/yyyy");
Date dateVerifyTemp = sfd.parse(date);
for (int i = 0; i < oreInizio.length; i++) {
JSONObject jsonFiglio = JSONFactoryUtil.createJSONObject();
String oraInizio = oreInizio[i];
jsonFiglio.put("ora", oraInizio);
Date dateVerify = formatDateTime(oraInizio, dateVerifyTemp);
List<Prenotazione> lista = prenotazioneLocalService.findByDateHourFunzionario(dateVerify,
Long.parseLong(idFunzionario), org.getGroupId());
jsonFiglio.put("disponibile", lista.isEmpty());
List<Prenotazione> lista =
PrenotazioneLocalServiceUtil.findByDateHourFunzionario(
dateVerify, Long.parseLong(idFunzionario), org.getGroupId());
if(lista.isEmpty()){
jsonFiglio.put("disponibile", true);
} else {
jsonFiglio.put("disponibile", false);
}
array.put(jsonFiglio);
}
json.put("slot", array);
json.put("slot",array);
return json.toString();
}
@Override
public String getDisponibilitaByDate(String presidio, String date) throws SystemException, ParseException {
// TODO permessi
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(Long.valueOf(presidio));
List<User> userDefinitivo = new ArrayList<User>();
try {
if (organization != null) {
List<User> users = userLocalService.getOrganizationUsers(Long.valueOf(presidio));
if(organization != null){
List<User> users = UserLocalServiceUtil.getOrganizationUsers(Long.valueOf(presidio));
for (User user : users) {
Role portosSupporto = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_supporto");
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(),
"portos_calendario");
if (!userLocalService.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())) {
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(user.getUserId(),
organization.getGroupId(), portosIstruttore.getRoleId());
if (isIstruttore) {
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_calendario");
if(!UserLocalServiceUtil.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())){
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
user.getUserId(), organization.getGroupId(), portosIstruttore.getRoleId());
if(isIstruttore){
userDefinitivo.add(user);
}
}
}
}
} catch (NumberFormatException | PortalException | SystemException e) {
_log.error(e, e);
} catch (NumberFormatException | SystemException e) {
_log.error(e,e);
} catch (PortalException e) {
_log.error(e,e);
}
Date startDate = new SimpleDateFormat("dd/MM/yyyy").parse(date);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
JSONArray json = JSONFactoryUtil.createJSONArray();
for (User funzionario : userDefinitivo) {
List<Disponibilita> disponibilitaByFunzionario = disponibilitaLocalService
.findByFunzionarioStartAndPresidio(funzionario.getUserId(), startDate, organization.getGroupId());
List<Disponibilita> disponibilitaByFunzionario =
disponibilitaLocalService.findByFunzionarioStartAndPresidio(funzionario.getUserId(), startDate, organization.getGroupId());
if (disponibilitaByFunzionario.isEmpty()) {
continue;
}
JSONObject jsonDisponibilita = JSONFactoryUtil.createJSONObject();
jsonDisponibilita.put("idFunzionario", funzionario.getUserId());
JSONArray jsonOre = JSONFactoryUtil.createJSONArray();
for (Disponibilita d : disponibilitaByFunzionario) {
JSONObject jsonSlot = JSONFactoryUtil.createJSONObject();
jsonSlot.put("inizio", sdf.format(d.getStartDate()));
jsonSlot.put("fine", sdf.format(d.getEndDate()));
@ -156,18 +201,21 @@ public class DisponibilitaServiceImpl extends DisponibilitaServiceBaseImpl {
}
jsonDisponibilita.put("ore", jsonOre);
json.put(jsonDisponibilita);
}
return json.toString();
}
private Date formatDateTime(String orario, Date day) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date data = sdf.parse(orario);
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(data);
Date date = DateUtils.addHours(day, calendar.get(Calendar.HOUR_OF_DAY));
date = DateUtils.addMinutes(date, calendar.get(Calendar.MINUTE));
return date;
}
}

133
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/FunzionarioLocalServiceImpl.java

@ -1,83 +1,94 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.model.User;
import com.liferay.portal.service.ServiceContext;
import it.tref.portos.calendar.appointments.model.Funzionario;
import it.tref.portos.calendar.appointments.service.base.FunzionarioLocalServiceBaseImpl;
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.model.User;
import com.liferay.portal.service.ServiceContext;
/**
* The implementation of the funzionario local service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.FunzionarioLocalService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.service.FunzionarioLocalService} interface.
*
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the
* propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.FunzionarioLocalServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.FunzionarioLocalServiceUtil
*/
public class FunzionarioLocalServiceImpl extends FunzionarioLocalServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.FunzionarioLocalServiceUtil} to access the funzionario local
* service.
*/
@Override
public Funzionario addFunzionario(long userId, String nome, String cognome, String presidio, String tipologia,
ServiceContext serviceContext) throws PortalException, SystemException {
User user = userPersistence.findByPrimaryKey(userId);
Date now = new Date();
Funzionario funzionario = funzionarioPersistence.create(counterLocalService.increment(Funzionario.class
.getName()));
funzionario.setCompanyId(serviceContext.getCompanyId());
funzionario.setUserId(user.getUserId());
funzionario.setUserName(user.getFullName());
funzionario.setCreateDate(serviceContext.getCreateDate(now));
funzionario.setModifiedDate(serviceContext.getModifiedDate(now));
funzionario.setGroupId(serviceContext.getScopeGroupId());
funzionario.setNome(nome);
funzionario.setCognome(cognome);
funzionario.setPresidio(presidio);
funzionario.setTipologia(tipologia);
funzionario = funzionarioPersistence.update(funzionario);
return funzionario;
}
@Override
public Funzionario deleteFunzionario(Funzionario funzionario) throws SystemException {
return super.deleteFunzionario(funzionario);
}
@Override
public Funzionario deleteFunzionario(long funzionarioId) throws PortalException, SystemException {
Funzionario funzionario = funzionarioPersistence.findByPrimaryKey(funzionarioId);
return this.deleteFunzionario(funzionario);
}
@Override
public List<Funzionario> findByPresidio(String presidio) throws SystemException {
return funzionarioPersistence.findByPresidio(presidio);
}
/*
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.FunzionarioLocalServiceUtil} to access the
* funzionario local service.
*/
public Funzionario addFunzionario(long userId, String nome, String cognome, String presidio, String tipologia,
ServiceContext serviceContext) throws PortalException, SystemException {
User user = userPersistence.findByPrimaryKey(userId);
Date now = new Date();
Funzionario funzionario = funzionarioPersistence.create(counterLocalService.increment(Funzionario.class.getName()));
funzionario.setCompanyId(serviceContext.getCompanyId());
funzionario.setUserId(user.getUserId());
funzionario.setUserName(user.getFullName());
funzionario.setCreateDate(serviceContext.getCreateDate(now));
funzionario.setModifiedDate(serviceContext.getModifiedDate(now));
funzionario.setGroupId(serviceContext.getScopeGroupId());
funzionario.setNome(nome);
funzionario.setCognome(cognome);
funzionario.setPresidio(presidio);
funzionario.setTipologia(tipologia);
funzionario = funzionarioPersistence.update(funzionario);
return funzionario;
}
@Override
public Funzionario deleteFunzionario(Funzionario funzionario) throws SystemException {
return super.deleteFunzionario(funzionario);
}
@Override
public Funzionario deleteFunzionario(long funzionarioId) throws PortalException, SystemException {
Funzionario funzionario = funzionarioPersistence.findByPrimaryKey(funzionarioId);
return this.deleteFunzionario(funzionario);
}
public List<Funzionario> findByPresidio(String presidio) throws SystemException {
return funzionarioPersistence.findByPresidio(presidio);
}
}

172
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/FunzionarioServiceImpl.java

@ -1,14 +1,17 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
import it.tref.liferay.portos.bo.shared.util.Constants;
import it.tref.portos.calendar.appointments.model.Funzionario;
import it.tref.portos.calendar.appointments.service.base.FunzionarioServiceBaseImpl;
@ -23,7 +26,6 @@ import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.json.JSONObject;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.Organization;
import com.liferay.portal.model.Role;
@ -32,94 +34,126 @@ import com.liferay.portal.service.OrganizationLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserGroupRoleLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
import it.tref.liferay.portos.bo.shared.util.Constants;
/**
* The implementation of the funzionario remote service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.FunzionarioService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.service.FunzionarioService} interface.
*
* <p>
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS
* credentials because this service can be accessed remotely.
* This is a remote service. Methods of this service are expected to have security checks based on
* the propagated JAAS credentials because this service can be accessed remotely.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.FunzionarioServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.FunzionarioServiceUtil
*/
public class FunzionarioServiceImpl extends FunzionarioServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.FunzionarioServiceUtil} to access the funzionario remote service.
*/
/*
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.FunzionarioServiceUtil} to access the funzionario
* remote service.
*/
private static Log _log = LogFactoryUtil.getLog(FunzionarioServiceImpl.class);
@Override
public Funzionario addFunzionario(long userId, String nome, String cognome, String presidio, String tipologia,
ServiceContext serviceContext) throws PortalException, SystemException {
public Funzionario addFunzionario(long userId, String nome, String cognome, String presidio, String tipologia,
ServiceContext serviceContext) throws PortalException, SystemException {
return funzionarioLocalService.addFunzionario(userId, nome, cognome, presidio, tipologia, serviceContext);
}
return funzionarioLocalService.addFunzionario(userId, nome, cognome, presidio, tipologia, serviceContext);
}
public String getFunzionariByPresidio(String presidio) {
JSONArray json = JSONFactoryUtil.createJSONArray();
try {
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(Long.valueOf(presidio));
if(organization != null){
List<User> users = UserLocalServiceUtil.getOrganizationUsers(Long.valueOf(presidio));
//Bug 32935
Collections.sort(users, new UserComparator());
for (User user : users) {
Role portosSupporto = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_supporto");
Role portosGeologo = RoleLocalServiceUtil.getRole(organization.getCompanyId(), Constants.ROLE_NAME_GEOLOGO);
Role portosCalendario = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_calendario");
@Override
public String getFunzionariByPresidio(String presidio) {
JSONArray json = JSONFactoryUtil.createJSONArray();
try {
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(Long.valueOf(presidio));
if (organization != null) {
List<User> users = userLocalService.getOrganizationUsers(Long.valueOf(presidio));
Collections.sort(users, new UserComparator());
for (User user : users) {
Role portosSupporto = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_supporto");
Role portosGeologo = RoleLocalServiceUtil.getRole(organization.getCompanyId(),
Constants.ROLE_NAME_GEOLOGO);
Role portosCalendario = RoleLocalServiceUtil.getRole(organization.getCompanyId(),
"portos_calendario");
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(),
Constants.ROLE_NAME_ISTRUTTORE);
if (!userLocalService.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())) {
boolean isCalendario = UserGroupRoleLocalServiceUtil.hasUserGroupRole(user.getUserId(),
organization.getGroupId(), portosCalendario.getRoleId());
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(user.getUserId(),
organization.getGroupId(), portosIstruttore.getRoleId());
boolean isGeologo = userLocalService.hasRoleUser(portosGeologo.getRoleId(),
user.getUserId());
if (isCalendario) {
JSONObject jsonFunzionario = JSONFactoryUtil.createJSONObject();
jsonFunzionario.put("id", user.getUserId());
jsonFunzionario.put("nome", user.getFirstName());
jsonFunzionario.put("cognome", user.getLastName());
if (isIstruttore) {
jsonFunzionario.put("tipologia", "Istruttore");
} else if (isGeologo) {
jsonFunzionario.put("tipologia", "Geologo");
} else {
jsonFunzionario.put("tipologia", StringPool.BLANK);
}
json.put(jsonFunzionario);
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(), Constants.ROLE_NAME_ISTRUTTORE);
if(!UserLocalServiceUtil.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())){
boolean isCalendario = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
user.getUserId(), organization.getGroupId(), portosCalendario.getRoleId());
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
user.getUserId(), organization.getGroupId(), portosIstruttore.getRoleId());
boolean isGeologo = UserLocalServiceUtil.hasRoleUser(portosGeologo.getRoleId(), user.getUserId());
if(isCalendario){
JSONObject jsonFunzionario = JSONFactoryUtil.createJSONObject();
jsonFunzionario.put("id", user.getUserId());
jsonFunzionario.put("nome", user.getFirstName());
jsonFunzionario.put("cognome", user.getLastName());
if(isIstruttore){
jsonFunzionario.put("tipologia", "Istruttore");
} else if(isGeologo){
jsonFunzionario.put("tipologia", "Geologo");
} else {
jsonFunzionario.put("tipologia", "");
}
json.put(jsonFunzionario);
}
}
}
} catch (NumberFormatException | PortalException | SystemException e) {
_log.error(e, e);
}
return json.toString();
} catch (NumberFormatException | SystemException e) {
_log.error(e,e);
} catch (PortalException e) {
_log.error(e,e);
}
}
class UserComparator implements Comparator<User> {
return json.toString();
}
@Override
}
//Bug 32935
class UserComparator implements Comparator<User>{
@Override
public int compare(User o1, User o2) {
int compareLastName = 0;
if(Validator.isNotNull(o1.getLastName()) && Validator.isNotNull(o2.getLastName()))
compareLastName = o1.getLastName().compareToIgnoreCase(o2.getLastName());
if(compareLastName == 0 && Validator.isNotNull(o1.getFirstName()) && Validator.isNotNull(o2.getFirstName()))
compareLastName = o1.getFirstName().compareToIgnoreCase(o2.getFirstName());
int compareLastName = 0;
if (Validator.isNotNull(o1.getLastName()) && Validator.isNotNull(o2.getLastName()))
compareLastName = o1.getLastName().compareToIgnoreCase(o2.getLastName());
if (compareLastName == 0 && Validator.isNotNull(o1.getFirstName()) && Validator.isNotNull(o2.getFirstName()))
compareLastName = o1.getFirstName().compareToIgnoreCase(o2.getFirstName());
return compareLastName;
}
}

314
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/PrenotazioneLocalServiceImpl.java

@ -1,9 +1,13 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
@ -33,170 +37,196 @@ import com.liferay.portal.service.OrganizationLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserGroupRoleLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
/**
* The implementation of the prenotazione local service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.PrenotazioneLocalService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.service.PrenotazioneLocalService} interface.
*
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the
* propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.PrenotazioneLocalServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil
*/
public class PrenotazioneLocalServiceImpl extends PrenotazioneLocalServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil} to access the prenotazione local
* service.
*/
@Override
public Prenotazione addPrenotazione(long userId, long funzionarioId, long professionistaId, Date startDate,
Date endDate, String descrizione, String telefono, String email, long presidio,
ServiceContext serviceContext) throws SystemException, PortalException {
Prenotazione prenotazione =
prenotazionePersistence.create(counterLocalService.increment(Prenotazione.class.getName()));
User user = userPersistence.findByPrimaryKey(userId);
Date now = new Date();
prenotazione.setCompanyId(serviceContext.getCompanyId());
prenotazione.setUserId(user.getUserId());
prenotazione.setUserName(user.getFullName());
prenotazione.setCreateDate(serviceContext.getCreateDate(now));
prenotazione.setModifiedDate(serviceContext.getModifiedDate(now));
prenotazione.setGroupId(presidio);
prenotazione.setFunzionarioId(funzionarioId);
prenotazione.setProfessionistaId(professionistaId);
prenotazione.setStartDate(startDate);
prenotazione.setEndDate(endDate);
prenotazione.setDescLong(descrizione);
prenotazione.setTelefono(telefono);
prenotazione.setEmail(email);
prenotazione = updatePrenotazione(prenotazione);
return prenotazione;
}
/*
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil} to access the
* prenotazione local service.
*/
@Override
public Prenotazione updatePrenotazione(long prenotazioneId, Date startDate, Date endDate, String descrizione,
ServiceContext serviceContext) throws SystemException, PortalException {
Prenotazione prenotazione = prenotazionePersistence.findByPrimaryKey(prenotazioneId);
Date now = new Date();
prenotazione.setModifiedDate(serviceContext.getModifiedDate(now));
prenotazione.setStartDate(startDate);
prenotazione.setEndDate(endDate);
prenotazione.setDescLong(descrizione);
prenotazione = updatePrenotazione(prenotazione);
return prenotazione;
}
//Product Backlog Item 32934
public Prenotazione addPrenotazione(long userId, long funzionarioId, long professionistaId, Date startDate,
Date endDate, String descrizione, String telefono, String email, long presidio, ServiceContext serviceContext) throws SystemException, PortalException {
@Override
public Prenotazione deletePrenotazione(Prenotazione prenotazione) throws SystemException {
Prenotazione prenotazione =
prenotazionePersistence.create(counterLocalService.increment(Prenotazione.class.getName()));
return super.deletePrenotazione(prenotazione);
}
User user = userPersistence.findByPrimaryKey(userId);
@Override
public Prenotazione deletePrenotazione(long prenotazioneId) throws PortalException, SystemException {
Date now = new Date();
Prenotazione prenotazione = prenotazionePersistence.findByPrimaryKey(prenotazioneId);
return this.deletePrenotazione(prenotazione);
}
prenotazione.setCompanyId(serviceContext.getCompanyId());
prenotazione.setUserId(user.getUserId());
prenotazione.setUserName(user.getFullName());
prenotazione.setCreateDate(serviceContext.getCreateDate(now));
prenotazione.setModifiedDate(serviceContext.getModifiedDate(now));
prenotazione.setGroupId(presidio);
@SuppressWarnings("unchecked")
@Override
public List<Prenotazione> findByStartDate(Date date) throws SystemException {
prenotazione.setFunzionarioId(funzionarioId);
prenotazione.setProfessionistaId(professionistaId);
prenotazione.setStartDate(startDate);
prenotazione.setEndDate(endDate);
prenotazione.setDescLong(descrizione);
Date start = DateUtils.truncate(date, java.util.Calendar.DAY_OF_MONTH);
Date end = DateUtils.addDays(start, 1);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.between("startDate", start, end));
dynamicQuery.addOrder(OrderFactoryUtil.desc("funzionarioId"));
return prenotazionePersistence.findWithDynamicQuery(dynamicQuery);
}
//Product Backlog Item 32934
prenotazione.setTelefono(telefono);
prenotazione.setEmail(email);
@SuppressWarnings("unchecked")
@Override
public List<Prenotazione> findByDateHourFunzionario(Date date, long funzionarioId, long groupId)
throws SystemException {
prenotazione = prenotazioneLocalService.updatePrenotazione(prenotazione);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate", date));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", groupId));
return prenotazionePersistence.findWithDynamicQuery(dynamicQuery);
}
return prenotazione;
}
@Override
public int getAvailableSlotByStartDate_EndDate(long funzionarioId, Date startDate, Date endDate)
throws SystemException {
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
Disjunction disjunction = RestrictionsFactoryUtil.disjunction();
Conjunction conjunctionStart = RestrictionsFactoryUtil.conjunction();
conjunctionStart.add(RestrictionsFactoryUtil.ge("startDate", startDate));
conjunctionStart.add(RestrictionsFactoryUtil.lt("startDate", endDate));
disjunction.add(conjunctionStart);
Conjunction conjunctionEnd = RestrictionsFactoryUtil.conjunction();
conjunctionEnd.add(RestrictionsFactoryUtil.gt("endDate", startDate));
conjunctionEnd.add(RestrictionsFactoryUtil.le("endDate", endDate));
disjunction.add(conjunctionEnd);
dynamicQuery.add(disjunction);
return (int) prenotazionePersistence.countWithDynamicQuery(dynamicQuery);
}
public Prenotazione updatePrenotazione(long prenotazioneId, Date startDate, Date endDate, String descrizione,
ServiceContext serviceContext) throws SystemException, PortalException {
Prenotazione prenotazione = prenotazionePersistence.findByPrimaryKey(prenotazioneId);
Date now = new Date();
prenotazione.setModifiedDate(serviceContext.getModifiedDate(now));
prenotazione.setStartDate(startDate);
prenotazione.setEndDate(endDate);
prenotazione.setDescLong(descrizione);
prenotazione = prenotazioneLocalService.updatePrenotazione(prenotazione);
return prenotazione;
}
@Override
public Prenotazione deletePrenotazione(Prenotazione prenotazione) throws SystemException {
return super.deletePrenotazione(prenotazione);
}
@Override
public Prenotazione deletePrenotazione(long prenotazioneId) throws PortalException, SystemException {
Prenotazione prenotazione = prenotazionePersistence.findByPrimaryKey(prenotazioneId);
return this.deletePrenotazione(prenotazione);
}
public List<Prenotazione> findByStartDate(Date date) throws SystemException {
Date start = DateUtils.truncate(date, java.util.Calendar.DAY_OF_MONTH);
Date end = DateUtils.addDays(start, 1);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.between("startDate", start, end));
dynamicQuery.addOrder(OrderFactoryUtil.desc("funzionarioId"));
return prenotazionePersistence.findWithDynamicQuery(dynamicQuery);
}
public List<Prenotazione> findByDateHourFunzionario(Date date, long funzionarioId, long groupId) throws SystemException {
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.eq("startDate", date));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", groupId));
return prenotazionePersistence.findWithDynamicQuery(dynamicQuery);
@SuppressWarnings("unchecked")
@Override
public List<Prenotazione> findByFunzionario_StartDate(long funzionarioId, Date date, long groupId)
throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
Date end = DateUtils.addHours(start, 22);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", groupId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
dynamicQuery.add(RestrictionsFactoryUtil.lt("endDate", end));
return prenotazionePersistence.findWithDynamicQuery(dynamicQuery);
}
@Override
public int countPrenotazioniPresidioPeriodo(long presidioId, String fromString, String toString)
throws SystemException, PortalException, ParseException {
int count = 0;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date from = sdf.parse(fromString);
Date to = sdf.parse(toString);
Calendar fromCal = Calendar.getInstance();
fromCal.setTime(from);
fromCal.set(Calendar.HOUR_OF_DAY, 2);
Calendar toCal = Calendar.getInstance();
toCal.setTime(to);
toCal.set(Calendar.HOUR_OF_DAY, 22);
Organization org = OrganizationLocalServiceUtil.fetchOrganization(presidioId);
Role portosCalendario = RoleLocalServiceUtil.getRole(org.getCompanyId(), "portos_calendario");
if (org != null) {
List<User> users = userLocalService.getOrganizationUsers(presidioId);
for (User user : users) {
boolean isCalendario =
UserGroupRoleLocalServiceUtil.hasUserGroupRole(user.getUserId(), org.getGroupId(),
portosCalendario.getRoleId());
if (isCalendario) {
DynamicQuery dynamicQuery = dynamicQuery();
public int getAvailableSlotByStartDate_EndDate(long funzionarioId, Date startDate, Date endDate)
throws SystemException {
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
Disjunction disjunction = RestrictionsFactoryUtil.disjunction();
Conjunction conjunctionStart = RestrictionsFactoryUtil.conjunction();
conjunctionStart.add(RestrictionsFactoryUtil.ge("startDate", startDate));
conjunctionStart.add(RestrictionsFactoryUtil.lt("startDate", endDate));
disjunction.add(conjunctionStart);
Conjunction conjunctionEnd = RestrictionsFactoryUtil.conjunction();
conjunctionEnd.add(RestrictionsFactoryUtil.gt("endDate", startDate));
conjunctionEnd.add(RestrictionsFactoryUtil.le("endDate", endDate));
disjunction.add(conjunctionEnd);
dynamicQuery.add(disjunction);
return (int) prenotazionePersistence.countWithDynamicQuery(dynamicQuery);
}
public List<Prenotazione> findByFunzionario_StartDate(long funzionarioId, Date date, long groupId) throws SystemException {
Date start = DateUtils.truncate(date, Calendar.DAY_OF_MONTH);
Date end = DateUtils.addHours(start, 22);
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", funzionarioId));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", groupId));
dynamicQuery.add(RestrictionsFactoryUtil.ge("startDate", start));
dynamicQuery.add(RestrictionsFactoryUtil.lt("endDate", end));
return prenotazionePersistence.findWithDynamicQuery(dynamicQuery);
}
public int countPrenotazioniPresidioPeriodo(long presidioId, String fromString, String toString) throws SystemException, PortalException, ParseException{
int count = 0;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date from = sdf.parse(fromString);
Date to = sdf.parse(toString);
Calendar fromCal = Calendar.getInstance();
fromCal.setTime(from);
fromCal.set(Calendar.HOUR_OF_DAY, 2);
Calendar toCal = Calendar.getInstance();
toCal.setTime(to);
toCal.set(Calendar.HOUR_OF_DAY, 22);
Organization org = OrganizationLocalServiceUtil.fetchOrganization(presidioId);
Role portosCalendario = RoleLocalServiceUtil.getRole(org.getCompanyId(), "portos_calendario");
if (org != null) {
List<User> users = UserLocalServiceUtil.getOrganizationUsers(presidioId);
for (User user : users) {
boolean isCalendario = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
user.getUserId(), org.getGroupId(), portosCalendario.getRoleId());
if(isCalendario){
DynamicQuery dynamicQuery = dynamicQuery();
dynamicQuery.add(RestrictionsFactoryUtil.eq("funzionarioId", user.getUserId()));
dynamicQuery.add(RestrictionsFactoryUtil.between("startDate", fromCal.getTime(), toCal.getTime()));
dynamicQuery.add(RestrictionsFactoryUtil.eq("groupId", org.getGroupId()));
count = count + ((int) prenotazionePersistence.countWithDynamicQuery(dynamicQuery));
}
count = count + ((int) prenotazionePersistence.countWithDynamicQuery(dynamicQuery));
}
}
}
return count;
}
return count;
}
}

140
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/PrenotazioneServiceImpl.java

@ -1,15 +1,20 @@
/**
* ù * 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.
ù * 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
import it.tref.portos.calendar.appointments.SlotNotAvailableException;
import it.tref.portos.calendar.appointments.model.Prenotazione;
import it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil;
import it.tref.portos.calendar.appointments.service.base.PrenotazioneServiceBaseImpl;
import java.text.ParseException;
@ -34,139 +39,190 @@ import com.liferay.portal.service.OrganizationLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserGroupRoleLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
/**
* The implementation of the prenotazione remote service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.PrenotazioneService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.portos.calendar.appointments.service.PrenotazioneService} interface.
*
* <p>
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS
* credentials because this service can be accessed remotely.
* This is a remote service. Methods of this service are expected to have security checks based on
* the propagated JAAS credentials because this service can be accessed remotely.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.PrenotazioneServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.PrenotazioneServiceUtil
*/
public class PrenotazioneServiceImpl extends PrenotazioneServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.PrenotazioneServiceUtil} to access the prenotazione remote service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.PrenotazioneServiceUtil} to access the
* prenotazione remote service.
*/
private static Log _log = LogFactoryUtil.getLog(PrenotazioneServiceImpl.class);
@Override
//Product Backlog Item 32934
public void addPrenotazione(long userId, long funzionarioId, long professionistaId, Date startDate, Date endDate,
String descrizione, String telefono, String email, long presidio, ServiceContext serviceContext)
throws SystemException, PortalException {
String descrizione, String telefono, String email, long presidio, ServiceContext serviceContext) throws SystemException, PortalException {
if (!isSlotAvailable(funzionarioId, startDate, endDate)) {
throw new SlotNotAvailableException("slot not available");
}
prenotazioneLocalService.addPrenotazione(userId, funzionarioId, professionistaId, startDate, endDate,
descrizione, telefono, email, presidio, serviceContext);
//Product Backlog Item 32934
prenotazioneLocalService.addPrenotazione(userId, funzionarioId, professionistaId, startDate, endDate, descrizione, telefono, email, presidio,
serviceContext);
}
@Override
public void updatePrenotazione(long prenotazioneId, long userId, Date startDate, Date endDate, String descrizione,
ServiceContext serviceContext) throws SystemException, PortalException {
Prenotazione prenotazione = prenotazioneLocalService.fetchPrenotazione(prenotazioneId);
Prenotazione prenotazione = PrenotazioneLocalServiceUtil.fetchPrenotazione(prenotazioneId);
if (prenotazione.getUserId() != userId) {
throw new SystemException("error.calendar.appointments.prenotazione.not.allowed.update " + prenotazioneId
+ " user " + userId);
}
prenotazioneLocalService.updatePrenotazione(prenotazioneId, startDate, endDate, descrizione, serviceContext);
}
@Override
public void deletePrenotazione(long prenotazioneId, long userId) throws SystemException, PortalException {
Prenotazione prenotazione = PrenotazioneLocalServiceUtil.fetchPrenotazione(prenotazioneId);
//Product Backlog Item 32933
// if (prenotazione.getUserId() != userId) {
// throw new SystemException("error.calendar.appointments.prenotazione.not.allowed.update " + prenotazioneId
// + " user " + userId);
// }
prenotazioneLocalService.deletePrenotazione(prenotazioneId);
}
@Override
public String getPrenotazioniByDate(String presidio, String date, String userId) throws SystemException,
ParseException {
public String getPrenotazioniByDate(String presidio, String date, String userId) throws SystemException, ParseException {
long loggetUserId = Long.parseLong(userId);
Organization organization = OrganizationLocalServiceUtil.fetchOrganization(Long.valueOf(presidio));
List<User> userDefinitivo = new ArrayList<User>();
try {
if (organization != null) {
List<User> users = userLocalService.getOrganizationUsers(Long.valueOf(presidio));
if(organization != null){
List<User> users = UserLocalServiceUtil.getOrganizationUsers(Long.valueOf(presidio));
for (User user : users) {
Role portosSupporto = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_supporto");
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(),
"portos_calendario");
if (!userLocalService.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())) {
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(user.getUserId(),
organization.getGroupId(), portosIstruttore.getRoleId());
if (isIstruttore) {
Role portosIstruttore = RoleLocalServiceUtil.getRole(organization.getCompanyId(), "portos_calendario");
if(!UserLocalServiceUtil.hasRoleUser(portosSupporto.getRoleId(), user.getUserId())){
boolean isIstruttore = UserGroupRoleLocalServiceUtil.hasUserGroupRole(
user.getUserId(), organization.getGroupId(), portosIstruttore.getRoleId());
if(isIstruttore){
userDefinitivo.add(user);
}
}
}
}
} catch (NumberFormatException | PortalException | SystemException e) {
_log.error(e, e);
} catch (NumberFormatException | SystemException e) {
_log.error(e,e);
} catch (PortalException e) {
_log.error(e,e);
}
Date startDate = new SimpleDateFormat("dd/MM/yyyy").parse(date);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
JSONArray json = JSONFactoryUtil.createJSONArray();
for (User funzionario : userDefinitivo) {
List<Prenotazione> prenotazioniByFunzionario = prenotazioneLocalService.findByFunzionario_StartDate(
funzionario.getUserId(), startDate, organization.getGroupId());
List<Prenotazione> prenotazioniByFunzionario =
prenotazioneLocalService.findByFunzionario_StartDate(funzionario.getUserId(), startDate, organization.getGroupId());
if (prenotazioniByFunzionario.isEmpty()) {
continue;
}
JSONObject jsonFunzionario = JSONFactoryUtil.createJSONObject();
jsonFunzionario.put("idFunzionario", funzionario.getUserId());
jsonFunzionario.put("nomeFunzionario", funzionario.getFullName());
JSONArray jsonPrenotazioni = JSONFactoryUtil.createJSONArray();
for (Prenotazione prenotazione : prenotazioniByFunzionario) {
JSONObject jsonPrenotazione = JSONFactoryUtil.createJSONObject();
jsonPrenotazione.put("idPrenotazione", prenotazione.getPrenotazioneId());
jsonPrenotazione.put("inizio", sdf.format(prenotazione.getStartDate()));
jsonPrenotazione.put("fine", sdf.format(prenotazione.getEndDate()));
User richiedente = userLocalService.fetchUser(prenotazione.getProfessionistaId());
if (loggetUserId == prenotazione.getProfessionistaId()) {
User richiedente = UserLocalServiceUtil.fetchUser(prenotazione.getProfessionistaId());
if(loggetUserId == prenotazione.getProfessionistaId()){
jsonPrenotazione.put("visible", true);
} else {
jsonPrenotazione.put("visible", canSeeFullInformations(loggetUserId));
}
jsonPrenotazione.put("richiedente", richiedente.getFullName());
jsonPrenotazione.put("richiedenteId", prenotazione.getProfessionistaId());
jsonPrenotazione.put("descrizione", prenotazione.getDescLong());
//Product Backlog Item 32934
jsonPrenotazione.put("telefono", prenotazione.getTelefono());
jsonPrenotazione.put("email", prenotazione.getEmail());
jsonPrenotazioni.put(jsonPrenotazione);
}
jsonFunzionario.put("prenotazioni", jsonPrenotazioni);
json.put(jsonFunzionario);
}
return json.toString();
}
private boolean canSeeFullInformations(long loggetUserId) throws SystemException {
private boolean canSeeFullInformations(long loggetUserId) throws SystemException{
boolean canDo = false;
User user = userLocalService.fetchUser(loggetUserId);
if (user != null) {
User user = UserLocalServiceUtil.fetchUser(loggetUserId);
if(user != null){
Group siteBO = GroupLocalServiceUtil.fetchGroup(user.getCompanyId(), "Portos BackOffice");
boolean isBoUser = GroupLocalServiceUtil.hasUserGroup(user.getUserId(), siteBO.getGroupId());
if (isBoUser) {
if(isBoUser){
canDo = true;
}
}
return canDo;
}
@Override
public boolean isSlotAvailable(long funzionarioId, Date startDate, Date endDate) throws SystemException {
return prenotazioneLocalService.getAvailableSlotByStartDate_EndDate(funzionarioId, startDate, endDate) == 0;
}
}

35
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/ProfessionistaLocalServiceImpl.java

@ -1,9 +1,15 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
@ -12,22 +18,23 @@ import it.tref.portos.calendar.appointments.service.base.ProfessionistaLocalServ
/**
* The implementation of the professionista local service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.ProfessionistaLocalService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.service.ProfessionistaLocalService} interface.
*
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.ProfessionistaLocalServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.ProfessionistaLocalServiceUtil
*/
public class ProfessionistaLocalServiceImpl extends ProfessionistaLocalServiceBaseImpl {
public class ProfessionistaLocalServiceImpl
extends ProfessionistaLocalServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.ProfessionistaLocalServiceUtil} to access the professionista local
* service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link it.tref.portos.calendar.appointments.service.ProfessionistaLocalServiceUtil} to access the professionista local service.
*/
}

32
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/service/impl/ProfessionistaServiceImpl.java

@ -1,9 +1,15 @@
/**
* 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.
* 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.
*/
package it.tref.portos.calendar.appointments.service.impl;
@ -12,22 +18,22 @@ import it.tref.portos.calendar.appointments.service.base.ProfessionistaServiceBa
/**
* The implementation of the professionista remote service.
*
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.portos.calendar.appointments.service.ProfessionistaService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.portos.calendar.appointments.service.ProfessionistaService} interface.
*
* <p>
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS
* credentials because this service can be accessed remotely.
* This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
* </p>
*
* @author 3F Consulting + Manifattura Web Group s.r.l.
* @author 3F Consulting
* @see it.tref.portos.calendar.appointments.service.base.ProfessionistaServiceBaseImpl
* @see it.tref.portos.calendar.appointments.service.ProfessionistaServiceUtil
*/
public class ProfessionistaServiceImpl extends ProfessionistaServiceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link
* it.tref.portos.calendar.appointments.service.ProfessionistaServiceUtil} to access the professionista remote
* service.
* NOTE FOR DEVELOPERS:
*
* Never reference this interface directly. Always use {@link it.tref.portos.calendar.appointments.service.ProfessionistaServiceUtil} to access the professionista remote service.
*/
}

96
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/WEB-INF/src/it/tref/portos/calendar/appointments/util/CalendarUtil.java

@ -5,6 +5,7 @@ import it.tref.portos.calendar.appointments.model.Prenotazione;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
@ -13,6 +14,8 @@ import java.util.regex.Pattern;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import org.apache.log4j.net.TelnetAppender;
import com.liferay.mail.service.MailServiceUtil;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.mail.MailMessage;
@ -24,42 +27,39 @@ import com.liferay.util.portlet.PortletProps;
public class CalendarUtil {
public static void inviaEmailRichiestaAppuntamento(long userIdProfessionista, long userIdFunzionario,
Date startDate, String telefono, String emailFeUser) throws SystemException, AddressException {
public static void inviaEmailRichiestaAppuntamento(long userIdProfessionista, long userIdFunzionario, Date startDate, String telefono, String emailFeUser) throws SystemException, AddressException{
User professionista = UserLocalServiceUtil.fetchUser(userIdProfessionista);
User boUser = UserLocalServiceUtil.fetchUser(userIdFunzionario);
InternetAddress fromAddress = new InternetAddress("portos@regione.toscana.it");
InternetAddress toAddress = isAllowedEmailAddress(professionista.getEmailAddress()) ? new InternetAddress(
professionista.getEmailAddress()) : null;
InternetAddress bccAddress = isAllowedEmailAddress(boUser.getEmailAddress()) ? new InternetAddress(
boUser.getEmailAddress()) : null;
InternetAddress toAddressToFeUser = isAllowedEmailAddress(emailFeUser) ? new InternetAddress(
emailFeUser) : null;
InternetAddress toAddress = isAllowedEmailAddress(professionista.getEmailAddress()) ? new InternetAddress(professionista.getEmailAddress()) : null;
InternetAddress bccAddress = isAllowedEmailAddress(boUser.getEmailAddress()) ? new InternetAddress(boUser.getEmailAddress()) : null;
InternetAddress toAddressToFeUser = isAllowedEmailAddress(emailFeUser) ? new InternetAddress(emailFeUser) : null;
MailMessage mailMessage = new MailMessage();
// Product Backlog Item 32934
//Product Backlog Item 32934
List<InternetAddress> toAddresses = new ArrayList<InternetAddress>();
if (toAddress != null)
if(toAddress != null)
toAddresses.add(toAddress);
if (toAddressToFeUser != null)
if(toAddressToFeUser != null)
toAddresses.add(toAddressToFeUser);
mailMessage.setTo(toAddresses.toArray(new InternetAddress[0]));
mailMessage.setFrom(fromAddress);
if (bccAddress != null)
if(bccAddress != null)
mailMessage.setBCC(bccAddress);
mailMessage.setSubject("Notifica Richiesta Appuntamento Portos");
mailMessage.setBody(creaCorpoMailRichiestaAppuntamento(professionista, boUser, startDate, telefono,
emailFeUser));
mailMessage.setBody(creaCorpoMailRichiestaAppuntamento(professionista, boUser, startDate, telefono, emailFeUser));
mailMessage.setHTMLFormat(true);
/*
* Invio email
*/
@ -67,35 +67,31 @@ public class CalendarUtil {
}
public static void inviaEmailAnnullamentoAppuntamento(Prenotazione prenotazione) throws SystemException,
AddressException {
public static void inviaEmailAnnullamentoAppuntamento(Prenotazione prenotazione) throws SystemException, AddressException{
User professionista = UserLocalServiceUtil.fetchUser(prenotazione.getProfessionistaId());
User boUser = UserLocalServiceUtil.fetchUser(prenotazione.getFunzionarioId());
InternetAddress fromAddress = new InternetAddress("portos@regione.toscana.it");
InternetAddress toAddress = isAllowedEmailAddress(professionista.getEmailAddress()) ? new InternetAddress(
professionista.getEmailAddress()) : null;
InternetAddress bccAddress = isAllowedEmailAddress(boUser.getEmailAddress()) ? new InternetAddress(
boUser.getEmailAddress()) : null;
InternetAddress toAddressToFeUser = isAllowedEmailAddress(prenotazione.getEmail()) ? new InternetAddress(
prenotazione.getEmail()) : null;
InternetAddress toAddress = isAllowedEmailAddress(professionista.getEmailAddress()) ? new InternetAddress(professionista.getEmailAddress()) : null;
InternetAddress bccAddress = isAllowedEmailAddress(boUser.getEmailAddress()) ? new InternetAddress(boUser.getEmailAddress()) : null;
InternetAddress toAddressToFeUser = isAllowedEmailAddress(prenotazione.getEmail()) ? new InternetAddress(prenotazione.getEmail()) : null;
MailMessage mailMessage = new MailMessage();
// Product Backlog Item 32934
//Product Backlog Item 32934
List<InternetAddress> toAddresses = new ArrayList<InternetAddress>();
if (toAddress != null)
if(toAddress != null)
toAddresses.add(toAddress);
if (toAddressToFeUser != null)
if(toAddressToFeUser != null)
toAddresses.add(toAddressToFeUser);
mailMessage.setTo(toAddresses.toArray(new InternetAddress[0]));
mailMessage.setFrom(fromAddress);
if (bccAddress != null)
if(bccAddress != null)
mailMessage.setBCC(bccAddress);
mailMessage.setSubject("Notifica Annullamento Appuntamento Portos");
@ -109,18 +105,17 @@ public class CalendarUtil {
}
public static void inviaEmailReminderAppuntamenti(List<Prenotazione> lista, User userBo, Date tomorrow)
throws SystemException, AddressException {
InternetAddress toAddress = isAllowedEmailAddress(userBo.getEmailAddress()) ? new InternetAddress(
userBo.getEmailAddress()) : null;
public static void inviaEmailReminderAppuntamenti(List<Prenotazione> lista, User userBo, Date tomorrow) throws SystemException, AddressException{
InternetAddress toAddress = isAllowedEmailAddress(userBo.getEmailAddress()) ? new InternetAddress(userBo.getEmailAddress()) : null;
InternetAddress fromAddress = new InternetAddress("portos@regione.toscana.it");
MailMessage mailMessage = new MailMessage();
mailMessage.setTo(toAddress);
mailMessage.setFrom(fromAddress);
mailMessage.setSubject("Reminder appuntamenti Portos di domani");
mailMessage.setBody(creaCorpoMailReminder(lista, userBo, tomorrow));
mailMessage.setBody(creaCorpoMailReminder(lista,userBo, tomorrow));
mailMessage.setHTMLFormat(true);
/*
@ -130,8 +125,8 @@ public class CalendarUtil {
}
private static String creaCorpoMailReminder(List<Prenotazione> lista, User boUser, Date tomorrow)
throws SystemException {
private static String creaCorpoMailReminder(List<Prenotazione> lista , User boUser, Date tomorrow) throws SystemException{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
@ -142,7 +137,9 @@ public class CalendarUtil {
/*
* Gestione header
*/
sb.append("<html><head><title>Appuntamenti del " + sdf.format(tomorrow) + "</title></head><body>");
sb.append("<html><head><title>Appuntamenti del "
+ sdf.format(tomorrow)
+ "</title></head><body>");
sb.append("<div style='width:100%;'>");
sb.append("Gentile " + boUser.getFullName() + " ,");
@ -162,7 +159,7 @@ public class CalendarUtil {
User professionistaUser = UserLocalServiceUtil.fetchUser(prenotazione.getProfessionistaId());
sb.append("<div style='width:100%;'>");
sb.append("Ore " + sdfOra.format(prenotazione.getStartDate()));
sb.append("Ore " +sdfOra.format(prenotazione.getStartDate()));
sb.append(" : appuntamento con " + professionistaUser.getFullName() + ". Motivo: ");
sb.append(HtmlUtil.escape(prenotazione.getDescLong()));
sb.append("</div>");
@ -171,17 +168,19 @@ public class CalendarUtil {
}
sb.append("</body></html>");
return sb.toString();
}
private static String creaCorpoMailRichiestaAppuntamento(User professionista, User boUser,
Date dataAppuntamento, String telefono, String mail) {
private static String creaCorpoMailRichiestaAppuntamento(User professionista, User boUser, Date dataAppuntamento, String telefono, String mail){
SimpleDateFormat sdfGiorno = new SimpleDateFormat("d MMMMM yyyy");
SimpleDateFormat sdfOra = new SimpleDateFormat("HH:mm");
StringBuilder sb = new StringBuilder();
/*
@ -204,7 +203,7 @@ public class CalendarUtil {
sb.append(" &egrave; stato stato prenotato con successo.");
sb.append("</div>");
// Product Backlog Item 32934
//Product Backlog Item 32934
sb.append("<br/><div>Di seguito i recapiti che ha specificato:</div>");
sb.append("<div>Telefono:&#9;").append(telefono).append("</div>");
sb.append("<div>Email:&#9;").append(mail).append("</div>");
@ -214,11 +213,12 @@ public class CalendarUtil {
return sb.toString();
}
private static String creaCorpoMailAnnullamento(User professionista, User boUser, Date dataAppuntamento) {
private static String creaCorpoMailAnnullamento(User professionista, User boUser, Date dataAppuntamento){
SimpleDateFormat sdfGiorno = new SimpleDateFormat("d MMMMM yyyy");
SimpleDateFormat sdfOra = new SimpleDateFormat("HH:mm");
StringBuilder sb = new StringBuilder();
/*
@ -245,30 +245,28 @@ public class CalendarUtil {
return sb.toString();
}
// Bug 32935
public static int calculateTimeSlots(Date start, Date end, int slotInterval) {
//Bug 32935
public static int calculateTimeSlots(Date start, Date end, int slotInterval){
Long count = null;
count = (((end.getTime() - start.getTime()) / 1000L) / 60L) / slotInterval + 1;
return count.intValue();
}
private static boolean isAllowedEmailAddress(String emailAddress) {
final String[] NOT_ALLOWED_EMAIL_DOMAINS = PortletProps
.getArray(PortletPropsKeys.EMAIL_DOMAINS_NOT_ALLOWED);
final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile(
PortletProps.get(PortletPropsKeys.EMAIL_VALIDATOR_REGEXP), Pattern.CASE_INSENSITIVE);
private static boolean isAllowedEmailAddress(String emailAddress){
final String[] NOT_ALLOWED_EMAIL_DOMAINS = PortletProps.getArray(PortletPropsKeys.EMAIL_DOMAINS_NOT_ALLOWED);
final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile(PortletProps.get(PortletPropsKeys.EMAIL_VALIDATOR_REGEXP), Pattern.CASE_INSENSITIVE);
boolean isAllowed = true;
if (Validator.isNotNull(emailAddress)) {
if(Validator.isNotNull(emailAddress)){
Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailAddress);
isAllowed = matcher.find();
String emailDomain = emailAddress.substring(emailAddress.indexOf("@") + 1);
if (isAllowed && Arrays.asList(NOT_ALLOWED_EMAIL_DOMAINS).contains(emailDomain)) {
if(isAllowed && Arrays.asList(NOT_ALLOWED_EMAIL_DOMAINS).contains(emailDomain)){
isAllowed = false;
}
} else {
}else{
isAllowed = false;
}

1
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.liferay.portal.model.Role"%>
<%@page import="com.liferay.portal.service.UserGroupRoleLocalServiceUtil"%>

1
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/amministrazione.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil"%>
<%@page import="com.liferay.portal.service.OrganizationLocalServiceUtil"%>
<%@page import="com.liferay.portal.model.Organization"%>

1
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/calendar.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.service.OrganizationLocalServiceUtil"%>
<%@page import="com.liferay.portal.model.Organization"%>
<%@page import="it.tref.portos.calendar.appointments.service.DisponibilitaLocalServiceUtil"%>

31
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/gestione_disponibilita.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.service.UserLocalServiceUtil"%>
<%@page import="it.tref.portos.calendar.appointments.service.PrenotazioneLocalServiceUtil"%>
<%@page import="it.tref.portos.calendar.appointments.service.DisponibilitaLocalServiceUtil"%>
@ -6,33 +5,45 @@
<%@page import="javax.portlet.PortletURL"%>
<%@page import="java.util.Calendar"%>
<%@ include file="/html/calendar_appointments/init.jsp" %>
<%
Calendar cal = Calendar.getInstance(); // locale-specific
cal.set(Calendar.HOUR_OF_DAY, 8);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
SimpleDateFormat sdfGiorno = new SimpleDateFormat("d MMMMM yyyy");
SimpleDateFormat sdfOra = new SimpleDateFormat("HH:mm");
PortletURL iteratorURLMie = liferayPortletResponse.createRenderURL();
iteratorURLMie.setParameter("tabs1", tabs1);
String provinciaRicerca = ParamUtil.getString(request, "presidio_user_select", "-1");
String funzionarioIdRicerca = ParamUtil.getString(request, "funzionarioId", "-1");
PortletURL iteratorURLAltri = liferayPortletResponse.createRenderURL();
iteratorURLAltri.setParameter("tabs1", tabs1);
iteratorURLAltri.setParameter("presidio_user_select", provinciaRicerca);
iteratorURLAltri.setParameter("funzionarioId", funzionarioIdRicerca);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
%>
<liferay-portlet:actionURL name="addDisponibilita" var="addDisponibilitaURL">
<liferay-portlet:param name="tabs1" value="Amministrazione"/>
<liferay-portlet:param name="funzionarioId" value='<%=""+user.getUserId() %>'/>
<liferay-portlet:param name="mvcPath" value="/html/calendar_appointments/view.jsp"/>
</liferay-portlet:actionURL>
<c:if test="<%= !isDirigenteGenerale %>">
<c:if test="<%=!isDirigenteGenerale %>">
<div class="module-group fm_user_disponibilita_container" style="margin-top:2%;">
<aui:form name="fm_disponibilita_user" method="post" action="<%= addDisponibilitaURL %>">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Aggiungi Disponibilità">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Aggiungi Disponibilitŕ">
<div class="container-fluid container-presidio-select">
<div class="row">
@ -145,7 +156,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
<div class="module-group fm_user_indisponibilita_container" style="margin-top:2%;">
<aui:form name="fm_indisponibilita_user" method="post" action="<%= addIndisponibilitaURL %>">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Aggiungi Indisponibilità">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Aggiungi Indisponibilitŕ">
<div class="container-fluid container-presidio-select">
<div class="row">
@ -251,7 +262,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
</c:if>
<div class="module-group fm_generale_disponibilita_container" style="margin-top:2%;">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Le mie disponibilità">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Le mie disponibilitŕ">
<div class="container-fluid container-presidio-select">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
@ -272,7 +283,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
className="it.tref.portos.calendar.appointments.model.Disponibilita"
modelVar="disponibilita"
>
<liferay-ui:search-container-column-text name="Disponibilità Appuntamento">
<liferay-ui:search-container-column-text name="Disponibilitŕ Appuntamento">
<%
out.print(sdfGiorno.format(disponibilita.getStartDate()) + " dalle " + sdfOra.format(disponibilita.getStartDate()) + " alle " + sdfOra.format(disponibilita.getEndDate()));
%>
@ -292,7 +303,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
<liferay-ui:search-container-column-text name="Disponibile">
<%
if(disponibilita.isDisponibile()){
out.print("Sì");
out.print("Si");
} else {
out.print("No");
}
@ -316,7 +327,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
<c:if test="<%=isPO %>">
<div class="module-group fm_generale_disponibilita_container" style="margin-top:2%;">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Disponibilità Sotto Controllo">
<liferay-ui:panel extended="false" defaultState="open" collapsible="false" title="Disponibilitŕ Sotto Controllo">
<!-- FILTRO PER PROVINCIA O FUNZIONARIO -->
@ -383,7 +394,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
out.print(funzionario.getFullName());
%>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Disponibilità Appuntamento">
<liferay-ui:search-container-column-text name="Disponibilitŕ Appuntamento">
<%
out.print(sdfGiorno.format(disponibilita.getStartDate()) + " dalle " + sdfOra.format(disponibilita.getStartDate()) + " alle " + sdfOra.format(disponibilita.getEndDate()));
%>
@ -403,7 +414,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
<liferay-ui:search-container-column-text name="Disponibile">
<%
if(disponibilita.isDisponibile()){
out.print("Sì");
out.print("Si");
} else {
out.print("No");
}

1
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/gestione_disponibilita_action.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="it.tref.portos.calendar.appointments.model.Disponibilita"%>
<%@ include file="/html/calendar_appointments/init.jsp" %>

1
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/view.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.service.GroupLocalServiceUtil"%>
<%@ include file="/html/calendar_appointments/init.jsp" %>
<%

1
liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.text.Format"%>
<%@page import="com.liferay.portal.kernel.util.FastDateFormatFactoryUtil"%>
<%@page import="com.liferay.portal.kernel.util.StringUtil"%>

8
liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/WEB-INF/liferay-portlet.xml

@ -5,14 +5,10 @@
<portlet>
<portlet-name>1</portlet-name>
<icon>/icon.png</icon>
<control-panel-entry-category>
configuration
</control-panel-entry-category>
<control-panel-entry-category>configuration</control-panel-entry-category>
<control-panel-entry-weight>1.5</control-panel-entry-weight>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>
/js/main.js
</footer-portlet-javascript>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>1-portlet</css-class-wrapper>
</portlet>
<role-mapper>

18
liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/companyconfig/portlet/CompanyConfigurationPortlet.java

@ -1,24 +1,30 @@
package it.tref.liferay.portos.companyconfig.portlet;
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.model.Company;
import com.liferay.portal.service.CompanyLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.ServiceContextFactory;
import com.liferay.util.bridges.mvc.MVCPortlet;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
public class CompanyConfigurationPortlet extends MVCPortlet {
public void saveCustomFields(ActionRequest actionRequest, ActionResponse actionResponse) throws PortalException,
public void saveCustomFields(ActionRequest actionRequest,
ActionResponse actionResponse) throws PortalException,
SystemException {
ServiceContext serviceContext = ServiceContextFactory.getInstance(Company.class.getName(), actionRequest);
Company company = CompanyLocalServiceUtil.getCompany(serviceContext.getCompanyId());
ServiceContext serviceContext = ServiceContextFactory.getInstance(
Company.class.getName(), actionRequest);
Company company = CompanyLocalServiceUtil.getCompany(serviceContext
.getCompanyId());
company.setExpandoBridgeAttributes(serviceContext);
CompanyLocalServiceUtil.updateCompany(company);
}
}

1
liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/html/company_configuration/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/html/init.jsp" %>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>

29
liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/html/company_configuration/view.jsp

@ -1,25 +1,38 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="javax.portlet.PortletURL"%>
<%@page import="javax.portlet.PortletRequest"%>
<%@page import="com.liferay.portal.util.PortletKeys"%>
<%@page import="com.liferay.portlet.PortletURLFactoryUtil"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<%@include file="/html/company_configuration/init.jsp"%>
<%@include file="/html/company_configuration/init.jsp" %>
<%
PortletURL companyCustomFieldsURL = PortletURLFactoryUtil.create(request, PortletKeys.EXPANDO, plid, PortletRequest.RENDER_PHASE);
companyCustomFieldsURL.setWindowState(LiferayWindowState.POP_UP);
companyCustomFieldsURL.setParameter("struts_action", "/expando/view_attributes");
companyCustomFieldsURL.setParameter("modelResource", Company.class.getName());
%>
<liferay-ui:icon message="manage-company-custom-fields" url="<%= companyCustomFieldsURL.toString() %>" label="true"
iconCssClass="icon-edit" linkCssClass="btn" useDialog="true" />
<portlet:actionURL name="saveCustomFields" var="saveCustomFieldsURL" />
<liferay-ui:icon
message="manage-company-custom-fields"
url="<%=companyCustomFieldsURL.toString() %>"
label="true"
iconCssClass="icon-edit"
linkCssClass="btn"
useDialog="true"
/>
<portlet:actionURL name="saveCustomFields" var="saveCustomFieldsURL"></portlet:actionURL>
<div class="separator"></div>
<aui:form name="fm" action="<%=saveCustomFieldsURL.toString() %>">
<aui:fieldset>
<liferay-ui:custom-attribute-list className="<%= Company.class.getName() %>"
classPK="<%= (company != null) ? company.getCompanyId() : 0 %>"
editable="true" label="true" />
<liferay-ui:custom-attribute-list
className="<%= Company.class.getName() %>"
classPK="<%= (company != null) ? company.getCompanyId() : 0 %>"
editable="<%= true %>"
label="<%= true %>"
/>
</aui:fieldset>
<aui:button type="submit" value="btn-save-custom-fields"></aui:button>
</aui:form>

1
liferay-plugins-sdk-6.2/portlets/portos-company-configuration-portlet/docroot/html/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

163
liferay-plugins-sdk-6.2/portlets/portos-cookies-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/cookies/action/StartUpAction.java

@ -1,5 +1,6 @@
package it.tref.liferay.portos.cookies.action;
import com.liferay.portal.kernel.events.ActionException;
import com.liferay.portal.kernel.events.SimpleAction;
import com.liferay.portal.kernel.exception.PortalException;
@ -25,73 +26,97 @@ import com.liferay.portlet.expando.service.ExpandoTableLocalServiceUtil;
public class StartUpAction extends SimpleAction {
private static final Log _log = LogFactoryUtil.getLog(StartUpAction.class);
@Override
public void run(String[] companyIds) throws ActionException {
for (String id : companyIds) {
try {
long companyId = GetterUtil.getLong(id);
String[] defaultActions = { ActionKeys.VIEW, ActionKeys.UPDATE };
String[] guestActions = { ActionKeys.VIEW };
// Organization custom fields
addExpandoColumnIfNotExists(companyId, Group.class.getName(), "cookiesJournalarticleId",
ExpandoColumnConstants.STRING, true, false, defaultActions, guestActions);
} catch (Exception e) {
_log.error("Errore nella procedura automatizzata di configurazione", e);
}
}
}
private ExpandoColumn addExpandoColumnIfNotExists(long companyId, String className, String name, int type,
boolean indexed, boolean hidden, String[] defaultActions, String[] guestActions) throws SystemException {
long classNameId = PortalUtil.getClassNameId(className);
ExpandoTable expandoTable = null;
try {
expandoTable = ExpandoTableLocalServiceUtil.getTable(companyId, classNameId,
ExpandoTableConstants.DEFAULT_TABLE_NAME);
} catch (PortalException e) {
try {
expandoTable = ExpandoTableLocalServiceUtil.addTable(companyId, classNameId,
ExpandoTableConstants.DEFAULT_TABLE_NAME);
} catch (PortalException e1) {}
}
ExpandoColumn expandoColumn = ExpandoColumnLocalServiceUtil.getColumn(expandoTable.getTableId(), name);
if (expandoColumn == null) {
try {
expandoColumn = ExpandoColumnLocalServiceUtil.addColumn(expandoTable.getTableId(), name, type);
} catch (PortalException e) {}
}
try {
if (indexed) {
UnicodeProperties typeSettingsProperties = expandoColumn.getTypeSettingsProperties();
typeSettingsProperties.put(ExpandoColumnConstants.INDEX_TYPE,
String.valueOf(ExpandoColumnConstants.INDEX_TYPE_TEXT));
expandoColumn.setTypeSettingsProperties(typeSettingsProperties);
expandoColumn = ExpandoColumnLocalServiceUtil.updateExpandoColumn(expandoColumn);
}
if (hidden) {
UnicodeProperties typeSettingsProperties = expandoColumn.getTypeSettingsProperties();
typeSettingsProperties.put(ExpandoColumnConstants.PROPERTY_HIDDEN, String.valueOf(1));
expandoColumn.setTypeSettingsProperties(typeSettingsProperties);
expandoColumn = ExpandoColumnLocalServiceUtil.updateExpandoColumn(expandoColumn);
}
Role roleGuest = RoleLocalServiceUtil.getRole(companyId, RoleConstants.GUEST);
Role rolePowerUser = RoleLocalServiceUtil.getRole(companyId, RoleConstants.POWER_USER);
Role roleUser = RoleLocalServiceUtil.getRole(companyId, RoleConstants.USER);
ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, ExpandoColumn.class.getName(),
ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(expandoColumn.getColumnId()),
roleGuest.getRoleId(), guestActions);
ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, ExpandoColumn.class.getName(),
ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(expandoColumn.getColumnId()),
rolePowerUser.getRoleId(), defaultActions);
ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, ExpandoColumn.class.getName(),
ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(expandoColumn.getColumnId()),
roleUser.getRoleId(), defaultActions);
} catch (PortalException e) {}
return expandoColumn;
}
private final static Log _log = LogFactoryUtil.getLog(StartUpAction.class);
@Override
public void run(String[] companyIds) throws ActionException {
for (String id : companyIds) {
try {
long companyId = GetterUtil.getLong(id);
String[] defaultActions = {ActionKeys.VIEW, ActionKeys.UPDATE};
String[] guestActions = {ActionKeys.VIEW};
// Organization custom fields
addExpandoColumnIfNotExists(companyId, Group.class.getName(), "cookiesJournalarticleId",
ExpandoColumnConstants.STRING, true, false, defaultActions, guestActions);
} catch (Exception e) {
_log.error("Errore nella procedura automatizzata di configurazione", e);
}
}
}
private ExpandoColumn addExpandoColumnIfNotExists(long companyId, String className, String name, int type,
boolean indexed, boolean hidden, String[] defaultActions, String[] guestActions) throws SystemException {
long classNameId = PortalUtil.getClassNameId(className);
ExpandoTable expandoTable = null;
try {
expandoTable =
ExpandoTableLocalServiceUtil.getTable(companyId, classNameId, ExpandoTableConstants.DEFAULT_TABLE_NAME);
} catch (PortalException e) {
try {
expandoTable =
ExpandoTableLocalServiceUtil.addTable(companyId, classNameId, ExpandoTableConstants.DEFAULT_TABLE_NAME);
} catch (PortalException e1) {
}
}
ExpandoColumn expandoColumn = ExpandoColumnLocalServiceUtil.getColumn(expandoTable.getTableId(), name);
if (expandoColumn == null) {
try {
expandoColumn = ExpandoColumnLocalServiceUtil.addColumn(expandoTable.getTableId(), name, type);
} catch (PortalException e) {
}
}
try {
if (indexed) {
UnicodeProperties typeSettingsProperties = expandoColumn.getTypeSettingsProperties();
typeSettingsProperties.put(ExpandoColumnConstants.INDEX_TYPE,
String.valueOf(ExpandoColumnConstants.INDEX_TYPE_TEXT));
expandoColumn.setTypeSettingsProperties(typeSettingsProperties);
expandoColumn = ExpandoColumnLocalServiceUtil.updateExpandoColumn(expandoColumn);
}
if (hidden) {
UnicodeProperties typeSettingsProperties = expandoColumn.getTypeSettingsProperties();
typeSettingsProperties.put(ExpandoColumnConstants.PROPERTY_HIDDEN, String.valueOf(1));
expandoColumn.setTypeSettingsProperties(typeSettingsProperties);
expandoColumn = ExpandoColumnLocalServiceUtil.updateExpandoColumn(expandoColumn);
}
Role roleGuest = RoleLocalServiceUtil.getRole(companyId, RoleConstants.GUEST);
Role rolePowerUser = RoleLocalServiceUtil.getRole(companyId, RoleConstants.POWER_USER);
Role roleUser = RoleLocalServiceUtil.getRole(companyId, RoleConstants.USER);
ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, ExpandoColumn.class.getName(),
ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(expandoColumn.getColumnId()), roleGuest.getRoleId(),
guestActions);
ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, ExpandoColumn.class.getName(),
ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(expandoColumn.getColumnId()), rolePowerUser.getRoleId(),
defaultActions);
ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, ExpandoColumn.class.getName(),
ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(expandoColumn.getColumnId()), roleUser.getRoleId(),
defaultActions);
} catch (PortalException e) {
}
return expandoColumn;
}
}

1
liferay-plugins-sdk-6.2/portlets/portos-cookies-portlet/docroot/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="com.liferay.portlet.PortletURLUtil"%>

1
liferay-plugins-sdk-6.2/portlets/portos-cookies-portlet/docroot/view.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.util.PortalUtil"%>
<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@page import="com.liferay.portal.kernel.util.StringPool"%>

5
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/portlet.xml

@ -1,9 +1,6 @@
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
version="2.0">
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
<portlet>
<portlet-name>1</portlet-name>
<display-name>Deploy Alert</display-name>

128
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/action/DeployAction.java

@ -1,14 +1,5 @@
package it.tref.liferay.portos.deployalert.action;
import it.tref.liferay.portos.deployalert.constants.MailConstants;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.service.NotificationLogLocalServiceUtil;
import it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil;
import it.tref.liferay.portos.deployalert.util.DeployAlertUtil;
import it.tref.liferay.portos.mailmanager.shared.messaging.util.MailManagerUtil;
import java.util.List;
import com.liferay.portal.kernel.events.ActionException;
import com.liferay.portal.kernel.events.SimpleAction;
import com.liferay.portal.kernel.exception.PortalException;
@ -25,53 +16,78 @@ import com.liferay.portal.model.Company;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.util.PortalUtil;
import it.tref.liferay.portos.deployalert.constants.MailConstants;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.service.NotificationLogLocalServiceUtil;
import it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil;
import it.tref.liferay.portos.deployalert.util.DeployAlertUtil;
import it.tref.liferay.portos.mailmanager.shared.messaging.util.MailManagerUtil;
import java.util.List;
public class DeployAction extends SimpleAction {
private static final Log _log = LogFactoryUtil.getLog(DeployAction.class);
@Override
public void run(final String[] ids) throws ActionException {
MessageBusUtil.registerMessageListener(DestinationNames.HOT_DEPLOY, new MessageListener() {
@Override
public void receive(Message message) throws MessageListenerException {
String evento = message.getString("command");
String nomePlugin = message.getString("servletContextName");
if (evento.equals("undeploy") && nomePlugin.equals("portos-deploy-alert-portlet")) {
try {
NotificationLogLocalServiceUtil.addNotification(nomePlugin, evento);
} catch (PortalException | SystemException e) {
_log.error(e, e);
}
MessageBusUtil.unregisterMessageListener(DestinationNames.HOT_DEPLOY, this);
} else if (evento.equals("deploy") || evento.equals("undeploy")) {
try {
List<NotificationMail> notifications;
NotificationLogLocalServiceUtil.addNotification(nomePlugin, evento);
notifications =
NotificationMailLocalServiceUtil.findNotifications(PortalUtil.getDefaultCompanyId(),
nomePlugin);
for (int i = 0; i < notifications.size(); i++) {
String templateName = notifications.get(i).getNomeTemplate();
if (templateName.equals(MailConstants.DEFAULT_TEMPLATE)) {
if (evento.equals("deploy")) {
templateName = MailConstants.DEFAULT_DEPLOY_TEMPLATE;
} else {
templateName = MailConstants.DEFAULT_UNDEPLOY_TEMPLATE;
}
}
JSONObject parametri = DeployAlertUtil.getParametri(nomePlugin, evento);
ServiceContext serviceContext = DeployAlertUtil.getServiceContext();
MailManagerUtil.sendMailByTemplateName(Company.class.toString(),
serviceContext.getCompanyId(), templateName, parametri, serviceContext);
}
} catch (Exception e) {
_log.error(e, e);
}
}
}
});
}
private final static Log _log = LogFactoryUtil.getLog(DeployAction.class);
@Override
public void run(final String[] ids) throws ActionException {
/*
* ServiceContext serviceContext = DeployAlertUtil.getServiceContext(); try {
* PermissionThreadLocal
* .setPermissionChecker(PermissionCheckerFactoryUtil.create(UserLocalServiceUtil
* .getUser(serviceContext.getUserId()))); } catch (Exception e) { _log.error(e, e); }
* DeployAlertUtil.addDefaultDeployMailTemplate(serviceContext);
* DeployAlertUtil.addDefaultUndeployMailTemplate(serviceContext);
*/
MessageBusUtil.registerMessageListener(DestinationNames.HOT_DEPLOY, new MessageListener() {
@Override
public void receive(Message message) throws MessageListenerException {
String evento = message.getString("command");
String nomePlugin = message.getString("servletContextName");
if (evento.equals("undeploy") && nomePlugin.equals("portos-deploy-alert-portlet")) {
try {
NotificationLogLocalServiceUtil.addNotification(nomePlugin, evento);
} catch (PortalException | SystemException e) {
_log.error(e, e);
}
MessageBusUtil.unregisterMessageListener(DestinationNames.HOT_DEPLOY, this);
} else if (evento.equals("deploy") || evento.equals("undeploy")) {
try {
List<NotificationMail> notifications;
NotificationLogLocalServiceUtil.addNotification(nomePlugin, evento);
notifications =
NotificationMailLocalServiceUtil.findNotifications(PortalUtil.getDefaultCompanyId(), nomePlugin);
for (int i = 0; i < notifications.size(); i++) {
String templateName = notifications.get(i).getNomeTemplate();
if (templateName.equals(MailConstants.DEFAULT_TEMPLATE)) {
if (evento.equals("deploy")) {
templateName = MailConstants.DEFAULT_DEPLOY_TEMPLATE;
} else {
templateName = MailConstants.DEFAULT_UNDEPLOY_TEMPLATE;
}
}
JSONObject parametri = DeployAlertUtil.getParametri(nomePlugin, evento);
ServiceContext serviceContext = DeployAlertUtil.getServiceContext();
MailManagerUtil.sendMailByTemplateName(Company.class.toString(), serviceContext.getCompanyId(),
templateName, parametri, serviceContext);
}
} catch (Exception e) {
_log.error(e, e);
}
}
}
});
}
}

9
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/constants/MailConstants.java

@ -2,7 +2,10 @@ package it.tref.liferay.portos.deployalert.constants;
public class MailConstants {
public static final String DEFAULT_TEMPLATE = "default";
public static final String DEFAULT_DEPLOY_TEMPLATE = "default-deploy";
public static final String DEFAULT_UNDEPLOY_TEMPLATE = "default-undeploy";
public static final String DEFAULT_TEMPLATE = "default";
public static final String DEFAULT_DEPLOY_TEMPLATE = "default-deploy";
public static final String DEFAULT_UNDEPLOY_TEMPLATE = "default-undeploy";
}

23
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/control/DeployAlertControl.java

@ -8,14 +8,17 @@ import com.liferay.portlet.BaseControlPanelEntry;
public class DeployAlertControl extends BaseControlPanelEntry {
@Override
public boolean hasAccessPermission(PermissionChecker permissionChecker, Group group, Portlet portlet)
throws Exception {
long companyId = PortalUtil.getDefaultCompanyId();
if (companyId == permissionChecker.getCompanyId()) {
return true;
}
return false;
}
public boolean hasAccessPermission(PermissionChecker permissionChecker, Group group, Portlet portlet)
throws Exception {
long companyId = PortalUtil.getDefaultCompanyId();
if (companyId == permissionChecker.getCompanyId()) {
return true;
}
return false;
}
}

100
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/portlet/NotificatorPortlet.java

@ -1,11 +1,5 @@
package it.tref.liferay.portos.deployalert.portlet;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil;
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.servlet.SessionErrors;
@ -14,45 +8,61 @@ import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.ServiceContextFactory;
import com.liferay.util.bridges.mvc.MVCPortlet;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
/**
* Portlet implementation class AdminDeployNotificatorPortlet
*/
public class NotificatorPortlet extends MVCPortlet {
public void addNotification(ActionRequest request, ActionResponse response) throws PortalException, SystemException {
ServiceContext serviceContext = ServiceContextFactory.getInstance(NotificationMail.class.getName(), request);
String nomePlugin = ParamUtil.getString(request, "nomePlugin");
String nomeTemplate = ParamUtil.getString(request, "nomeTemplate");
try {
NotificationMailLocalServiceUtil.addNotification(nomePlugin, nomeTemplate, serviceContext);
} catch (PortalException e) {
SessionErrors.add(request, e.getClass());
response.setRenderParameter("mvcPath", "/html/notificator/edit_notification.jsp");
}
}
public void deleteNotification(ActionRequest request, ActionResponse response) throws PortalException,
SystemException {
long notificationId = ParamUtil.getLong(request, "notificationId");
try {
NotificationMailLocalServiceUtil.deleteNotificationMail(notificationId);
} catch (PortalException pe) {
SessionErrors.add(request, pe.getClass().getName());
}
}
public void updateNotification(ActionRequest request, ActionResponse response) throws PortalException,
SystemException {
ServiceContext serviceContext = ServiceContextFactory.getInstance(NotificationMail.class.getName(), request);
String nomePlugin = ParamUtil.getString(request, "nomePlugin");
String nomeTemplate = ParamUtil.getString(request, "nomeTemplate");
long notificationId = ParamUtil.getLong(request, "notificationId");
try {
NotificationMailLocalServiceUtil.updateNotification(nomePlugin, nomeTemplate, serviceContext,
notificationId);
} catch (PortalException pe) {
SessionErrors.add(request, pe.getClass());
response.setRenderParameter("mvcPath", "/html/notificator/edit_notification.jsp");
}
}
public void addNotification(ActionRequest request, ActionResponse response) throws PortalException, SystemException {
ServiceContext serviceContext = ServiceContextFactory.getInstance(NotificationMail.class.getName(), request);
String nomePlugin = ParamUtil.getString(request, "nomePlugin");
String nomeTemplate = ParamUtil.getString(request, "nomeTemplate");
try {
NotificationMailLocalServiceUtil.addNotification(nomePlugin, nomeTemplate, serviceContext);
} catch (PortalException e) {
SessionErrors.add(request, e.getClass());
response.setRenderParameter("mvcPath", "/html/notificator/edit_notification.jsp");
}
}
public void deleteNotification(ActionRequest request, ActionResponse response) throws PortalException,
SystemException {
long notificationId = ParamUtil.getLong(request, "notificationId");
try {
NotificationMailLocalServiceUtil.deleteNotificationMail(notificationId);
} catch (PortalException pe) {
SessionErrors.add(request, pe.getClass().getName());
}
}
public void updateNotification(ActionRequest request, ActionResponse response) throws PortalException,
SystemException {
ServiceContext serviceContext = ServiceContextFactory.getInstance(NotificationMail.class.getName(), request);
String nomePlugin = ParamUtil.getString(request, "nomePlugin");
String nomeTemplate = ParamUtil.getString(request, "nomeTemplate");
long notificationId = ParamUtil.getLong(request, "notificationId");
try {
NotificationMailLocalServiceUtil.updateNotification(nomePlugin, nomeTemplate, serviceContext, notificationId);
} catch (PortalException pe) {
SessionErrors.add(request, pe.getClass());
response.setRenderParameter("mvcPath", "/html/notificator/edit_notification.jsp");
}
}
}

86
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/impl/NotificationLogLocalServiceImpl.java

@ -1,13 +1,23 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.deployalert.service.impl;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.Validator;
import it.tref.liferay.portos.deployalert.NotificationNomePluginException;
import it.tref.liferay.portos.deployalert.NotificationTipoException;
import it.tref.liferay.portos.deployalert.model.NotificationLog;
@ -15,18 +25,15 @@ import it.tref.liferay.portos.deployalert.service.base.NotificationLogLocalServi
import java.util.Date;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.Validator;
/**
* The implementation of the notification log local service.
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.liferay.portos.deployalert.service.NotificationLogLocalService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.liferay.portos.deployalert.service.NotificationLogLocalService} interface.
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the
* propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author Matteo
@ -35,28 +42,33 @@ import com.liferay.portal.kernel.util.Validator;
*/
public class NotificationLogLocalServiceImpl extends NotificationLogLocalServiceBaseImpl {
@Override
public NotificationLog addNotification(String nomePlugin, String tipo) throws SystemException, PortalException {
Date now = new Date();
validate(nomePlugin, tipo);
long notificationId = counterLocalService.increment(NotificationLog.class.getName());
NotificationLog notification = notificationLogPersistence.create(notificationId);
notification.setTipo(tipo);
notification.setNomePlugin(nomePlugin);
notification.setData(now);
notificationLogPersistence.update(notification);
return notification;
}
private void validate(String nomePlugin, String tipo) throws NotificationTipoException,
NotificationNomePluginException {
if (Validator.isNull(nomePlugin)) {
throw new NotificationNomePluginException();
}
if (Validator.isNull(tipo)) {
throw new NotificationTipoException();
}
}
public NotificationLog addNotification(String nomePlugin, String tipo) throws SystemException, PortalException {
Date now = new Date();
validate(nomePlugin, tipo);
long notificationId = counterLocalService.increment(NotificationLog.class.getName());
NotificationLog notification = notificationLogPersistence.create(notificationId);
notification.setTipo(tipo);
notification.setNomePlugin(nomePlugin);
notification.setData(now);
notificationLogPersistence.update(notification);
return notification;
}
private void validate(String nomePlugin, String tipo) throws NotificationTipoException,
NotificationNomePluginException {
if (Validator.isNull(nomePlugin)) {
throw new NotificationNomePluginException();
}
if (Validator.isNull(tipo)) {
throw new NotificationTipoException();
}
}
}

227
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/impl/NotificationMailLocalServiceImpl.java

@ -1,22 +1,19 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.deployalert.service.impl;
import it.tref.liferay.portos.deployalert.NotificationNomePluginException;
import it.tref.liferay.portos.deployalert.NotificationNomeTemplateException;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil;
import it.tref.liferay.portos.deployalert.service.base.NotificationMailLocalServiceBaseImpl;
import java.util.Date;
import java.util.List;
import com.liferay.portal.kernel.dao.orm.Disjunction;
import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.OrderFactoryUtil;
@ -28,14 +25,24 @@ import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.User;
import com.liferay.portal.service.ServiceContext;
import it.tref.liferay.portos.deployalert.NotificationNomePluginException;
import it.tref.liferay.portos.deployalert.NotificationNomeTemplateException;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil;
import it.tref.liferay.portos.deployalert.service.base.NotificationMailLocalServiceBaseImpl;
import java.util.Date;
import java.util.List;
/**
* The implementation of the notification mail local service.
* <p>
* All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy
* their definitions into the {@link it.tref.liferay.portos.deployalert.service.NotificationMailLocalService} interface.
* All custom service methods should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.liferay.portos.deployalert.service.NotificationMailLocalService} interface.
* <p>
* This is a local service. Methods of this service will not have security checks based on the propagated JAAS
* credentials because this service can only be accessed from within the same VM.
* This is a local service. Methods of this service will not have security checks based on the
* propagated JAAS credentials because this service can only be accessed from within the same VM.
* </p>
*
* @author Matteo
@ -44,91 +51,101 @@ import com.liferay.portal.service.ServiceContext;
*/
public class NotificationMailLocalServiceImpl extends NotificationMailLocalServiceBaseImpl {
@Override
public NotificationMail addNotification(String nomePlugin, String nomeTemplate, ServiceContext serviceContext)
throws PortalException, SystemException {
User user = userPersistence.findByPrimaryKey(serviceContext.getUserId());
Date now = new Date();
validate(nomePlugin, nomeTemplate);
long notificationId = counterLocalService.increment(NotificationMail.class.getName());
NotificationMail notification = notificationMailPersistence.create(notificationId);
notification.setUserId(user.getUserId());
notification.setCompanyId(user.getCompanyId());
notification.setUserName(user.getFullName());
notification.setCreateDate(serviceContext.getCreateDate(now));
notification.setModifiedDate(serviceContext.getModifiedDate(now));
notification.setExpandoBridgeAttributes(serviceContext);
notification.setNomePlugin(nomePlugin);
notification.setNomeTemplate(nomeTemplate);
notificationMailPersistence.update(notification);
return notification;
}
private void validate(String nomePlugin, String nomeTemplate) throws NotificationNomePluginException,
NotificationNomeTemplateException {
if (Validator.isNull(nomePlugin)) {
throw new NotificationNomePluginException();
}
if (Validator.isNull(nomeTemplate)) {
throw new NotificationNomeTemplateException();
}
}
@Override
public NotificationMail updateNotification(String nomePlugin, String nomeTemplate, ServiceContext serviceContext,
long notificationId) throws SystemException, PortalException {
Date now = new Date();
NotificationMail notification = getNotificationMail(notificationId);
validate(nomePlugin, nomeTemplate);
notification.setModifiedDate(serviceContext.getModifiedDate(now));
notification.setNomePlugin(nomePlugin);
notification.setNomeTemplate(nomeTemplate);
notification.setExpandoBridgeAttributes(serviceContext);
notificationMailPersistence.update(notification);
return notification;
}
@Override
public List<NotificationMail> findNotifications(long companyId, int start, int end) throws SystemException {
DynamicQuery query = dynamicQuery();
query.addOrder(OrderFactoryUtil.asc("nomePlugin"));
List<NotificationMail> notifications = null;
try {
notifications = NotificationMailLocalServiceUtil.dynamicQuery(query);
} catch (SystemException e) {
e.printStackTrace();
}
return notifications;
}
@Override
public List<NotificationMail> findNotifications(long companyId) throws SystemException {
return notificationMailPersistence.findBycompanyId(companyId);
}
@Override
public int getNotificationCount(long companyId) throws SystemException {
return notificationMailPersistence.countBycompanyId(companyId);
}
@Override
public List<NotificationMail> findNotifications(long companyId, String servletContextName) throws SystemException {
DynamicQuery dynamicQuery = dynamicQuery();
if (Validator.isNull(servletContextName)) {
Disjunction or = RestrictionsFactoryUtil.disjunction();
or.add(RestrictionsFactoryUtil.isNull("nomePlugin"));
or.add(RestrictionsFactoryUtil.eq("nomePlugin", StringPool.BLANK));
dynamicQuery.add(or);
} else {
dynamicQuery.add(RestrictionsFactoryUtil.eq("nomePlugin", servletContextName));
}
return notificationMailPersistence.findWithDynamicQuery(dynamicQuery);
}
public NotificationMail addNotification(String nomePlugin, String nomeTemplate, ServiceContext serviceContext)
throws PortalException, SystemException {
User user = userPersistence.findByPrimaryKey(serviceContext.getUserId());
Date now = new Date();
validate(nomePlugin, nomeTemplate);
long notificationId = counterLocalService.increment(NotificationMail.class.getName());
NotificationMail notification = notificationMailPersistence.create(notificationId);
notification.setUserId(user.getUserId());
notification.setCompanyId(user.getCompanyId());
notification.setUserName(user.getFullName());
notification.setCreateDate(serviceContext.getCreateDate(now));
notification.setModifiedDate(serviceContext.getModifiedDate(now));
notification.setExpandoBridgeAttributes(serviceContext);
notification.setNomePlugin(nomePlugin);
notification.setNomeTemplate(nomeTemplate);
notificationMailPersistence.update(notification);
return notification;
}
private void validate(String nomePlugin, String nomeTemplate) throws NotificationNomePluginException,
NotificationNomeTemplateException {
if (Validator.isNull(nomePlugin)) {
throw new NotificationNomePluginException();
}
if (Validator.isNull(nomeTemplate)) {
throw new NotificationNomeTemplateException();
}
}
public NotificationMail updateNotification(String nomePlugin, String nomeTemplate, ServiceContext serviceContext,
long notificationId) throws SystemException, PortalException {
Date now = new Date();
NotificationMail notification = getNotificationMail(notificationId);
validate(nomePlugin, nomeTemplate);
notification.setModifiedDate(serviceContext.getModifiedDate(now));
notification.setNomePlugin(nomePlugin);
notification.setNomeTemplate(nomeTemplate);
notification.setExpandoBridgeAttributes(serviceContext);
notificationMailPersistence.update(notification);
return notification;
}
public List<NotificationMail> findNotifications(long companyId, int start, int end) throws SystemException {
// return notificationMailPersistence.findBycompanyId(companyId, start, end);
DynamicQuery query = notificationMailLocalService.dynamicQuery();
query.addOrder(OrderFactoryUtil.asc("nomePlugin"));
List<NotificationMail> notifications = null;
try {
notifications = NotificationMailLocalServiceUtil.dynamicQuery(query);
} catch (SystemException e) {
e.printStackTrace();
}
return notifications;
}
public List<NotificationMail> findNotifications(long companyId) throws SystemException {
return notificationMailPersistence.findBycompanyId(companyId);
}
public int getNotificationCount(long companyId) throws SystemException {
return notificationMailPersistence.countBycompanyId(companyId);
}
public List<NotificationMail> findNotifications(long companyId, String servletContextName) throws SystemException {
DynamicQuery dynamicQuery = notificationMailLocalService.dynamicQuery();
if (Validator.isNull(servletContextName)) {
Disjunction or = RestrictionsFactoryUtil.disjunction();
or.add(RestrictionsFactoryUtil.isNull("nomePlugin"));
or.add(RestrictionsFactoryUtil.eq("nomePlugin", StringPool.BLANK));
dynamicQuery.add(or);
} else {
dynamicQuery.add(RestrictionsFactoryUtil.eq("nomePlugin", servletContextName));
}
return notificationMailPersistence.findWithDynamicQuery(dynamicQuery);
}
}

1
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/persistence/NotificationLogPersistenceImpl.java

@ -45,7 +45,6 @@ import it.tref.liferay.portos.deployalert.NoSuchNotificationLogException;
import it.tref.liferay.portos.deployalert.model.NotificationLog;
import it.tref.liferay.portos.deployalert.model.impl.NotificationLogImpl;
import it.tref.liferay.portos.deployalert.model.impl.NotificationLogModelImpl;
import it.tref.liferay.portos.deployalert.service.persistence.NotificationLogPersistence;
import java.io.Serializable;

1
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/service/persistence/NotificationMailPersistenceImpl.java

@ -45,7 +45,6 @@ import it.tref.liferay.portos.deployalert.NoSuchNotificationMailException;
import it.tref.liferay.portos.deployalert.model.NotificationMail;
import it.tref.liferay.portos.deployalert.model.impl.NotificationMailImpl;
import it.tref.liferay.portos.deployalert.model.impl.NotificationMailModelImpl;
import it.tref.liferay.portos.deployalert.service.persistence.NotificationMailPersistence;
import java.io.Serializable;

157
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/deployalert/util/DeployAlertUtil.java

@ -1,11 +1,5 @@
package it.tref.liferay.portos.deployalert.util;
import it.tref.liferay.portos.deployalert.constants.MailConstants;
import it.tref.liferay.portos.mailmanager.shared.messaging.util.MailManagerUtil;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.json.JSONObject;
@ -22,76 +16,89 @@ import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserLocalServiceUtil;
import com.liferay.portal.util.PortalUtil;
import it.tref.liferay.portos.deployalert.constants.MailConstants;
import it.tref.liferay.portos.mailmanager.shared.messaging.util.MailManagerUtil;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DeployAlertUtil {
private static final Log _log = LogFactoryUtil.getLog(DeployAlertUtil.class);
public static final ServiceContext getServiceContext() {
long companyId = PortalUtil.getDefaultCompanyId();
ServiceContext serviceContext = new ServiceContext();
Company company;
serviceContext.setCompanyId(companyId);
try {
company = CompanyLocalServiceUtil.getCompany(companyId);
Role role = RoleLocalServiceUtil.getRole(company.getCompanyId(), RoleConstants.ADMINISTRATOR);
long userAdminId = UserLocalServiceUtil.getRoleUserIds(role.getRoleId())[0];
serviceContext.setUserId(userAdminId);
serviceContext.setScopeGroupId(company.getGroupId());
PermissionThreadLocal.setPermissionChecker(PermissionCheckerFactoryUtil.create(UserLocalServiceUtil
.getUser(userAdminId)));
} catch (Exception e) {
_log.error(e, e);
}
return serviceContext;
}
public static final boolean addDefaultDeployMailTemplate(ServiceContext serviceContext) {
boolean add = false;
String subject = "Deploy Plugin";
String body = "E' stato effettuato il $evento del plugin $nomePlugin in data $data.";
String[] to = { "matteoguggia97@gmail.com" };
try {
add = MailManagerUtil.addMailTemplate(MailConstants.DEFAULT_DEPLOY_TEMPLATE, "test@3fconsulting.it", to,
null, null, subject, body, false, serviceContext);
} catch (SystemException e) {
_log.error(e, e);
}
PermissionThreadLocal.setPermissionChecker(null);
return add;
}
public static final boolean addDefaultUndeployMailTemplate(ServiceContext serviceContext) {
boolean add = false;
String subject = "Undeploy Plugin";
String body = "E' stato effettuato l'$evento del plugin $nomePlugin in data $data.";
String[] to = { "matteoguggia97@gmail.com" };
try {
add = MailManagerUtil.addMailTemplate(MailConstants.DEFAULT_UNDEPLOY_TEMPLATE, "test@3fconsulting.it", to,
null, null, subject, body, false, serviceContext);
} catch (SystemException e) {
_log.error(e, e);
}
PermissionThreadLocal.setPermissionChecker(null);
return add;
}
public static final JSONObject getParametri(String nomePlugin, String evento) {
JSONObject parametri = JSONFactoryUtil.createJSONObject();
String data = new SimpleDateFormat("dd/MM/yyyy HH:mm").format(new Date());
parametri.put("data", data);
parametri.put("evento", evento);
parametri.put("nomePlugin", nomePlugin);
return parametri;
}
private final static Log _log = LogFactoryUtil.getLog(DeployAlertUtil.class);
public static final ServiceContext getServiceContext() {
long companyId = PortalUtil.getDefaultCompanyId();
ServiceContext serviceContext = new ServiceContext();
Company company;
serviceContext.setCompanyId(companyId);
try {
company = CompanyLocalServiceUtil.getCompany(companyId);
Role role = RoleLocalServiceUtil.getRole(company.getCompanyId(), RoleConstants.ADMINISTRATOR);
long userAdminId = UserLocalServiceUtil.getRoleUserIds(role.getRoleId())[0];
serviceContext.setUserId(userAdminId);
serviceContext.setScopeGroupId(company.getGroupId());
PermissionThreadLocal.setPermissionChecker(PermissionCheckerFactoryUtil.create(UserLocalServiceUtil.getUser(userAdminId)));
} catch (Exception e) {
_log.error(e, e);
}
return serviceContext;
}
public static final boolean addDefaultDeployMailTemplate(ServiceContext serviceContext) {
boolean add = false;
String subject = "Deploy Plugin";
String body = "E' stato effettuato il $evento del plugin $nomePlugin in data $data.";
String[] to = {"matteoguggia97@gmail.com"};
try {
add =
MailManagerUtil.addMailTemplate(MailConstants.DEFAULT_DEPLOY_TEMPLATE, "test@3fconsulting.it", to, null,
null, subject, body, false, serviceContext);
} catch (SystemException e) {
_log.error(e, e);
}
PermissionThreadLocal.setPermissionChecker(null);
return add;
}
public static final boolean addDefaultUndeployMailTemplate(ServiceContext serviceContext) {
boolean add = false;
String subject = "Undeploy Plugin";
String body = "E' stato effettuato l'$evento del plugin $nomePlugin in data $data.";
String[] to = {"matteoguggia97@gmail.com"};
try {
add =
MailManagerUtil.addMailTemplate(MailConstants.DEFAULT_UNDEPLOY_TEMPLATE, "test@3fconsulting.it", to, null,
null, subject, body, false, serviceContext);
} catch (SystemException e) {
_log.error(e, e);
}
PermissionThreadLocal.setPermissionChecker(null);
return add;
}
public static final JSONObject getParametri(String nomePlugin, String evento) {
JSONObject parametri = JSONFactoryUtil.createJSONObject();
String data = new SimpleDateFormat("dd/MM/yyyy HH:mm").format(new Date());
parametri.put("data", data);
parametri.put("evento", evento);
parametri.put("nomePlugin", nomePlugin);
return parametri;
}
}

1
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

1
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/notificator/edit_notification.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@page import="com.liferay.portal.kernel.util.StringUtil"%>
<%@ include file="/html/notificator/init.jsp"%>

1
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/notificator/init.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/html/init.jsp"%>
<%@ page
import="it.tref.liferay.portos.deployalert.service.NotificationMailLocalServiceUtil"%>

1
liferay-plugins-sdk-6.2/portlets/portos-deploy-alert-portlet/docroot/html/notificator/view.jsp

@ -1,4 +1,3 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/html/notificator/init.jsp"%>
<aui:button-row>

2
liferay-plugins-sdk-6.2/portlets/portos-firma-portlet/docroot/WEB-INF/liferay-hook.xml

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd">
<hook>

10
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/liferay-portlet.xml

@ -2,10 +2,18 @@
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.2.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_2_0.dtd">
<liferay-portlet-app>
<portlet>
<portlet-name>1</portlet-name>
<icon></icon>
<scheduler-entry>
<scheduler-event-listener-class>it.tref.liferay.portos.kaleo.controller.scheduler.SchedulerKaleoController</scheduler-event-listener-class>
<trigger>
<simple>
<simple-trigger-value>240</simple-trigger-value>
<time-unit>second</time-unit>
</simple>
</trigger>
</scheduler-entry>
<header-portlet-css></header-portlet-css>
<footer-portlet-javascript></footer-portlet-javascript>
<css-class-wrapper></css-class-wrapper>

36
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoInstanceImpl.java

@ -1,30 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.kaleo.controller.model.impl;
/**
* The extended model implementation for the KaleoInstance service. Represents a row in the &quot;kaleoinstance&quot;
* database table, with each column mapped to a property of this class.
* The extended model implementation for the KaleoInstance service. Represents a row in the &quot;kaleoinstance&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoInstance}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoInstance} interface.
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
*/
@SuppressWarnings("serial")
public class KaleoInstanceImpl extends KaleoInstanceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a kaleo instance model instance
* should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoInstance} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a kaleo instance model instance should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoInstance} interface instead.
*/
public KaleoInstanceImpl() {}
public KaleoInstanceImpl() {
}
}

36
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoNodeImpl.java

@ -1,30 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.kaleo.controller.model.impl;
/**
* The extended model implementation for the KaleoNode service. Represents a row in the &quot;kaleonode&quot; database
* table, with each column mapped to a property of this class.
* The extended model implementation for the KaleoNode service. Represents a row in the &quot;kaleonode&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoNode}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoNode} interface.
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
*/
@SuppressWarnings("serial")
public class KaleoNodeImpl extends KaleoNodeBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a kaleo node model instance
* should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoNode} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a kaleo node model instance should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoNode} interface instead.
*/
public KaleoNodeImpl() {}
public KaleoNodeImpl() {
}
}

40
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoTaskAssignmentInstanceImpl.java

@ -1,31 +1,35 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.kaleo.controller.model.impl;
/**
* The extended model implementation for the KaleoTaskAssignmentInstance service. Represents a row in the
* &quot;kaleotaskassignmentinstance&quot; database table, with each column mapped to a property of this class.
* The extended model implementation for the KaleoTaskAssignmentInstance service. Represents a row in the &quot;kaleotaskassignmentinstance&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskAssignmentInstance} interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskAssignmentInstance} interface.
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
*/
@SuppressWarnings("serial")
public class KaleoTaskAssignmentInstanceImpl extends KaleoTaskAssignmentInstanceBaseImpl {
public class KaleoTaskAssignmentInstanceImpl
extends KaleoTaskAssignmentInstanceBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a kaleo task assignment
* instance model instance should use the {@link
* it.tref.liferay.portos.kaleo.controller.model.KaleoTaskAssignmentInstance} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a kaleo task assignment instance model instance should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskAssignmentInstance} interface instead.
*/
public KaleoTaskAssignmentInstanceImpl() {}
public KaleoTaskAssignmentInstanceImpl() {
}
}

36
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoTaskImpl.java

@ -1,30 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.kaleo.controller.model.impl;
/**
* The extended model implementation for the KaleoTask service. Represents a row in the &quot;kaleotask&quot; database
* table, with each column mapped to a property of this class.
* The extended model implementation for the KaleoTask service. Represents a row in the &quot;kaleotask&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTask}
* interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTask} interface.
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
*/
@SuppressWarnings("serial")
public class KaleoTaskImpl extends KaleoTaskBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a kaleo task model instance
* should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTask} interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a kaleo task model instance should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTask} interface instead.
*/
public KaleoTaskImpl() {}
public KaleoTaskImpl() {
}
}

37
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/model/impl/KaleoTaskInstanceTokenImpl.java

@ -1,31 +1,34 @@
/**
* 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.
* 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.
*/
package it.tref.liferay.portos.kaleo.controller.model.impl;
/**
* The extended model implementation for the KaleoTaskInstanceToken service. Represents a row in the
* &quot;kaleotaskinstancetoken&quot; database table, with each column mapped to a property of this class.
* The extended model implementation for the KaleoTaskInstanceToken service. Represents a row in the &quot;kaleotaskinstancetoken&quot; database table, with each column mapped to a property of this class.
*
* <p>
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun
* ServiceBuilder to copy their definitions into the
* {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskInstanceToken} interface.
* Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskInstanceToken} interface.
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
*/
@SuppressWarnings("serial")
public class KaleoTaskInstanceTokenImpl extends KaleoTaskInstanceTokenBaseImpl {
/*
* NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a kaleo task instance token
* model instance should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskInstanceToken}
* interface instead.
* NOTE FOR DEVELOPERS:
*
* Never reference this class directly. All methods that expect a kaleo task instance token model instance should use the {@link it.tref.liferay.portos.kaleo.controller.model.KaleoTaskInstanceToken} interface instead.
*/
public KaleoTaskInstanceTokenImpl() {}
public KaleoTaskInstanceTokenImpl() {
}
}

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoInstancePersistenceImpl.java

@ -42,6 +42,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoInstanceException;
import it.tref.liferay.portos.kaleo.controller.model.KaleoInstance;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoInstanceImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoInstanceModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoInstancePersistence;
import java.io.Serializable;
@ -56,7 +57,7 @@ import java.util.List;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoInstancePersistence
* @see KaleoInstanceUtil
* @generated

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoInstanceTokenPersistenceImpl.java

@ -42,6 +42,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoInstanceTokenException
import it.tref.liferay.portos.kaleo.controller.model.KaleoInstanceToken;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoInstanceTokenImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoInstanceTokenModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoInstanceTokenPersistence;
import java.io.Serializable;
@ -56,7 +57,7 @@ import java.util.List;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoInstanceTokenPersistence
* @see KaleoInstanceTokenUtil
* @generated

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoLogPersistenceImpl.java

@ -43,6 +43,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoLogException;
import it.tref.liferay.portos.kaleo.controller.model.KaleoLog;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoLogImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoLogModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoLogPersistence;
import java.io.Serializable;
@ -58,7 +59,7 @@ import java.util.Set;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoLogPersistence
* @see KaleoLogUtil
* @generated

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoNodePersistenceImpl.java

@ -41,6 +41,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoNodeException;
import it.tref.liferay.portos.kaleo.controller.model.KaleoNode;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoNodeImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoNodeModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoNodePersistence;
import java.io.Serializable;
@ -56,7 +57,7 @@ import java.util.Set;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoNodePersistence
* @see KaleoNodeUtil
* @generated

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoTaskAssignmentInstancePersistenceImpl.java

@ -42,6 +42,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoTaskAssignmentInstance
import it.tref.liferay.portos.kaleo.controller.model.KaleoTaskAssignmentInstance;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoTaskAssignmentInstanceImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoTaskAssignmentInstanceModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoTaskAssignmentInstancePersistence;
import java.io.Serializable;
@ -56,7 +57,7 @@ import java.util.List;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoTaskAssignmentInstancePersistence
* @see KaleoTaskAssignmentInstanceUtil
* @generated

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoTaskInstanceTokenPersistenceImpl.java

@ -42,6 +42,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoTaskInstanceTokenExcep
import it.tref.liferay.portos.kaleo.controller.model.KaleoTaskInstanceToken;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoTaskInstanceTokenImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoTaskInstanceTokenModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoTaskInstanceTokenPersistence;
import java.io.Serializable;
@ -56,7 +57,7 @@ import java.util.List;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoTaskInstanceTokenPersistence
* @see KaleoTaskInstanceTokenUtil
* @generated

3
liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/kaleo/controller/service/persistence/KaleoTaskPersistenceImpl.java

@ -40,6 +40,7 @@ import it.tref.liferay.portos.kaleo.controller.NoSuchKaleoTaskException;
import it.tref.liferay.portos.kaleo.controller.model.KaleoTask;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoTaskImpl;
import it.tref.liferay.portos.kaleo.controller.model.impl.KaleoTaskModelImpl;
import it.tref.liferay.portos.kaleo.controller.service.persistence.KaleoTaskPersistence;
import java.io.Serializable;
@ -54,7 +55,7 @@ import java.util.List;
* Caching information and settings can be found in <code>portal.properties</code>
* </p>
*
* @author 3FC + Manifattura Web Group s.r.l.
* @author 3FC
* @see KaleoTaskPersistence
* @see KaleoTaskUtil
* @generated

2
liferay-plugins-sdk-6.2/portlets/portos-kaleo-portlet/docroot/WEB-INF/liferay-hook.xml

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd">
<hook>

Some files were not shown because too many files have changed in this diff Show More

Caricamento…
Annulla
Salva