Salvatore La Manna 4 anni fa
parent
commit
b6d9f2dd05
  1. 4
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_bo/add_richiesta.jsp
  2. 2
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_bo/view_richiesta_popup.jsp
  3. 4
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/richiedi-atto.jsp
  4. 2
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/richiesta-inviata-success.jsp
  5. 2
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/view.jsp
  6. 2
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/visualizza-atto.jsp
  7. 2
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/creazione_account/success.jsp
  8. 2
      liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/creazione_account/view.jsp
  9. 2
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/GestioneAttivitaPortlet.java
  10. 2
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ComuneLocalServiceImpl.java
  11. 2
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java
  12. 10
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/amministrazione.jsp
  13. 12
      liferay-plugins-sdk-6.2/portlets/portos-calendar-appointments-portlet/docroot/html/calendar_appointments/tabs/gestione_disponibilita.jsp
  14. 2
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java
  15. 73
      liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_instances/render_history_form_task.jsp
  16. 630
      liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_instances/workflow_logs.jspf
  17. 516
      liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_instances/workflow_task_action.jsp
  18. 698
      liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/edit_workflow_task.jsp
  19. 681
      liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/render_form_task.jsp
  20. 590
      liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/workflow_task_action.jsp

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

@ -88,7 +88,7 @@
<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="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" />
@ -118,7 +118,7 @@
</div>
<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>

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

@ -78,7 +78,7 @@
String docUrl = DLUtil.getPreviewURL(fileEntryDoc, fileEntryDoc.getFileVersion(), themeDisplay, StringPool.BLANK, false, true);
%>
<div class="span4">
<span style="color:#812121;font-weight: bold;">Documento di identità: </span> <a target="_blank" href="<%=docUrl%>"><%=fileEntryDoc.getTitle() %></a>
<span style="color:#812121;font-weight: bold;">Documento di identità: </span> <a target="_blank" href="<%=docUrl%>"><%=fileEntryDoc.getTitle() %></a>
</div>
</c:if>
<c:if test="<%=richiestaAccessoAtti.getFileEntryIdPagamento() != 0L %>">

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

@ -72,7 +72,7 @@ boolean isNoCNSUser = UserLocalServiceUtil.hasRoleUser(roleNoCNS.getRoleId(), th
<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="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" />
@ -103,7 +103,7 @@ boolean isNoCNSUser = UserLocalServiceUtil.hasRoleUser(roleNoCNS.getRoleId(), th
<c:if test="<%=isNoCNSUser %>">
<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>

2
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/richiesta-inviata-success.jsp

@ -3,7 +3,7 @@
<div class="container" style="margin-top: 10%;">
<div class="row-fluid">
<div class="span12">
<h2>La tua richiesta è stata acquisita con successo. Verrai contattato alla mail da te indicata non appena la tua richiesta verrà presa in gestione.</h2>
<h2>La tua richiesta è stata acquisita con successo. Verrai contattato alla mail da te indicata non appena la tua richiesta verrà presa in gestione.</h2>
</div>
</div>
</div>

2
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/accesso_atti_fe/view.jsp

@ -9,7 +9,7 @@ boolean loggedUser = themeDisplay.isSignedIn();
<div class="container">
<div class="row-fluid">
<div class="span12">
<span style="font-size:17px;font-weight: bold;">Per accedere a questa funzionalità bisogna essere loggati al portale.</span>
<span style="font-size:17px;font-weight: bold;">Per accedere a questa funzionalità bisogna essere loggati al portale.</span>
</div>
</div>
<div class="row-fluid" style="margin-top:10px;">

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

@ -1399,7 +1399,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>

2
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/creazione_account/success.jsp

@ -3,7 +3,7 @@
<div class="container" style="margin-top: 10%;">
<div class="row-fluid">
<div class="span12">
<h2>La tua registrazione è andata a buon fine. Clicca <strong><a href="#">qui</a></strong> per autenticarti al sistema.</h2>
<h2>La tua registrazione è andata a buon fine. Clicca <strong><a href="#">qui</a></strong> per autenticarti al sistema.</h2>
</div>
</div>
</div>

2
liferay-plugins-sdk-6.2/portlets/portos-accesso-atti-portlet/docroot/html/creazione_account/view.jsp

@ -1,7 +1,7 @@
<%@include file="../init.jsp" %>
<liferay-ui:error key="error-user-exist" message="Username già esistente" />
<liferay-ui:error key="error-user-exist" message="Username già esistente" />
<liferay-portlet:actionURL name="creaAccount" var="creaAccountURL" />

2
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/GestioneAttivitaPortlet.java

@ -365,7 +365,7 @@ public class GestioneAttivitaPortlet extends MVCPortlet {
|| cmd.equals("exportRicercaAltreAttivita") || cmd.equals("exportRicercaAttivitaConcluse")) {
csv = exportSearch(locale, resourceRequest, user, cmd);
}
// ADT BUG BO ID= 1 SEZIONE ATTIVIT<EFBFBD>
// ADT BUG BO ID= 1 SEZIONE ATTIVITÀ
if ("comuniForUfficio".equals(id)) {
String ufficio = ParamUtil.getString(resourceRequest, "ufficioId");
JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

2
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ComuneLocalServiceImpl.java

@ -332,7 +332,7 @@ public class ComuneLocalServiceImpl extends ComuneLocalServiceBaseImpl {
return comuni;
}
//ADT BUG BO ID = 1 SEZIONE ATTIVIT<EFBFBD>
//ADT BUG BO ID = 1 SEZIONE ATTIVITÀ
public List<Comune> getComuniForOrganizationByUserIdUfficioId(long userId, long ufficioId) throws SystemException {
List<Comune> comuni = new ArrayList<Comune>();

2
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java

@ -2013,7 +2013,7 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
// } else {
// tagNames.add(TagsPraticaValue.getTagsLabelMap().get(StatoPraticaConstants.RIFIUTATA));
// }
// // pratica indica se <EFBFBD> stata variata
// // pratica indica se è stata variata
// if (intPratica.getVariataDa() != 0l) {
// tagNames.add(TagsPraticaValue.getTagsLabelMap().get(StatoPraticaConstants.VARIATA));
// }

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

@ -244,11 +244,11 @@ String dataFine = ParamUtil.getString(request, "dataFineRicerca","");
<div class="lfr-form-row lfr-form-row-inline">
<div class="row-fields" style="display: flex;">
<aui:select id="giornoSettimana1" name="giornoSettimana1" label="Giorno della Settimana">
<aui:option value="2" label="Lunedì"></aui:option>
<aui:option value="3" label="Martedì"></aui:option>
<aui:option value="4" label="Mercoledì"></aui:option>
<aui:option value="5" label="Giovedì"></aui:option>
<aui:option value="6" label="Venerdì"></aui:option>
<aui:option value="2" label="Lunedì"></aui:option>
<aui:option value="3" label="Martedì"></aui:option>
<aui:option value="4" label="Mercoledì"></aui:option>
<aui:option value="5" label="Giovedì"></aui:option>
<aui:option value="6" label="Venerdì"></aui:option>
</aui:select>
<aui:select id="oraIn1" name="oraIn1" label="Ora Inizio">
<aui:option value="08:00" label="08:00"></aui:option>

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

@ -43,7 +43,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
<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">
@ -156,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">
@ -262,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">
@ -283,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()));
%>
@ -327,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 -->
@ -394,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()));
%>

2
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java

@ -713,7 +713,7 @@ public class FascicoloFePortlet extends MVCPortlet {
DettPratica dettPratica = DettPraticaServiceUtil.addDettPraticaClonedToIntPratica(intPraticaId,
lastDettPratica.getDettPraticaId(), TipoIntegrazioneUtil.VARIANTE, serviceContext);
// successURL gia'<EFBFBD> presente in actionResponse
// successURL già presente in actionResponse
// successURL =
// HttpUtil.addParameter(successURL, actionResponse.getNamespace() +
// "mvcPath",

73
liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_instances/render_history_form_task.jsp

@ -1,38 +1,37 @@
<%@page import="com.liferay.portal.kernel.language.LanguageUtil"%>
<%@page import="java.io.Serializable"%>
<%@page import="java.util.Map.Entry"%>
<%@page import="java.util.ArrayList"%>
<%@ include file="/html/portlet/workflow_instances/init.jsp" %>
<%
Map<String, Serializable> parameters = (Map<String, Serializable>) renderRequest.getAttribute("parameters");
%>
<liferay-ui:search-container
emptyResultsMessage="label-portos-kaleo-there-are-no-results" >
<liferay-ui:search-container-results
results="<%= new ArrayList<Entry<String, Serializable>>(parameters.entrySet()) %>"
total="<%= parameters.size() %>" />
<liferay-ui:search-container-row
className="java.util.Map.Entry"
modelVar="entry">
<liferay-ui:search-container-column-text name="label-portos-kaleo-key">
<%=LanguageUtil.get(pageContext, (String)entry.getKey()) %>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="label-portos-kaleo-value">
<%= entry.getValue() %>
</liferay-ui:search-container-column-text>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="<%= false %>" />
<%@page import="com.liferay.portal.kernel.language.LanguageUtil"%>
<%@page import="java.io.Serializable"%>
<%@page import="java.util.Map.Entry"%>
<%@page import="java.util.ArrayList"%>
<%@ include file="/html/portlet/workflow_instances/init.jsp" %>
<%
Map<String, Serializable> parameters = (Map<String, Serializable>) renderRequest.getAttribute("parameters");
%>
<liferay-ui:search-container
emptyResultsMessage="label-portos-kaleo-there-are-no-results" >
<liferay-ui:search-container-results
results="<%= new ArrayList<Entry<String, Serializable>>(parameters.entrySet()) %>"
total="<%= parameters.size() %>" />
<liferay-ui:search-container-row
className="java.util.Map.Entry"
modelVar="entry">
<liferay-ui:search-container-column-text name="label-portos-kaleo-key">
<%=LanguageUtil.get(pageContext, (String)entry.getKey()) %>
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="label-portos-kaleo-value">
<%= entry.getValue() %>
</liferay-ui:search-container-column-text>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator paginate="<%= false %>" />
</liferay-ui:search-container>

630
liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_instances/workflow_logs.jspf

@ -1,316 +1,316 @@
<%--
/**
* 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.
*/
--%>
<%@page import="com.liferay.portal.kernel.json.JSONException"%>
<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@page import="com.liferay.portal.kernel.json.JSONFactoryUtil"%>
<%@page import="com.liferay.portal.kernel.json.JSONObject"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<table class="table table-striped attivita-table" <%-- id="<portlet:namespace/>_<%= workflowLog.getType() %>" --%>>
<thead class="table-columns attivita-group__head">
<tr>
<th class="head-date text-center">Data</th>
<th class="head-description">Descrizione</th>
<th class="head-activity text-center">Attività</th>
<th class="head-comment text-center">Commento</th>
</tr>
</thead>
<tbody class="attivita-group__body">
<%
//ADT: bug bo id=33
Map<Long,String> historyWorkflowEsitiLogs = (Map<Long,String>)request.getAttribute("historyWorkflowEsitiLogs");
for (WorkflowLog workflowLog : workflowLogs) {
Role curRole = null;
User curUser = null;
String actorName = null;
if (workflowLog.getRoleId() != 0) {
curRole = RoleLocalServiceUtil.getRole(workflowLog.getRoleId());
actorName = curRole.getDescriptiveName();
}
else if (workflowLog.getUserId() != 0) {
curUser = UserLocalServiceUtil.getUser(workflowLog.getUserId());
actorName = curUser.getFullName();
}
String kaleoNodeName = null;
String transitionName = null;
try {
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(workflowLog.getState());
kaleoNodeName = jsonObject.getString("kaleoNodeName");
transitionName = jsonObject.getString("transitionName");
} catch (JSONException e) {
kaleoNodeName = workflowLog.getState();
}
%>
<tr>
<td class="text-center date-col">
<%= dateFormatDateTime.format(workflowLog.getCreateDate()) %>
</td>
<td class="description-col">
<c:choose>
<c:when test="<%= workflowLog.getType() == WorkflowLog.TASK_COMPLETION %>">
<div>
<c:choose>
<c:when test="<%= Validator.isNull(transitionName) %>">
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName} %>" key="x-completed-the-task-x" />
</c:when>
<c:otherwise>
<c:if test='<%= "registra-esito".equalsIgnoreCase(transitionName) %>'>
<%
//ADT: bug bo id=33
String esito = (String)request.getAttribute("registra-esito-value");
if (historyWorkflowEsitiLogs!=null&& historyWorkflowEsitiLogs.containsKey(workflowLog.getWorkflowLogId()) ){
esito=historyWorkflowEsitiLogs.get(workflowLog.getWorkflowLogId());
}
%>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName, esito} %>" key="x-completed-the-task-y-z" />
</c:if>
<c:if test='<%= "assegna".equalsIgnoreCase(transitionName) %>'>
<%
String assegna = (String)request.getAttribute("assegna-value");
%>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName, assegna} %>" key="x-completed-the-task-y-z" />
</c:if>
<c:if test='<%= !"assegna".equalsIgnoreCase(transitionName) && !"registra-esito".equalsIgnoreCase(transitionName) %>'>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName} %>" key="x-completed-the-task-x" />
</c:if>
</c:otherwise>
</c:choose>
<portlet:renderURL var="historyFormTaskURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
<portlet:param name="struts_action" value="/workflow_tasks/render_history_form_task" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowLog.getWorkflowTaskId()) %>" />
</portlet:renderURL>
<span>&nbsp;</span>
<liferay-ui:icon
image="history"
url='<%=historyFormTaskURL %>'
useDialog='<%=true %>'
/>
</div>
</c:when>
<c:when test="<%= workflowLog.getType() == WorkflowLog.TASK_UPDATE %>">
<div>
<liferay-ui:message arguments="<%= HtmlUtil.escape(actorName) %>" key="x-updated-the-due-date" />
</div>
</c:when>
<c:when test="<%= workflowLog.getType() == WorkflowLog.TRANSITION %>">
<div>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), workflowLog.getState()} %>" key="x-sent-signal-x" />
</div>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="<%= (curUser != null) && (workflowLog.getAuditUserId() == curUser.getUserId()) %>">
<div>
<liferay-ui:message arguments="<%= HtmlUtil.escape(curUser.getFullName()) %>" key='<%= curUser.isMale() ? "x-assigned-the-task-to-himself" : "x-assigned-the-task-to-herself" %>' />
</div>
</c:when>
<c:otherwise>
<%
if (curRole == null) {
String assignerName = PortalUtil.getUserName(workflowLog.getAuditUserId(), StringPool.BLANK);
%>
<div>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(assignerName), HtmlUtil.escape(actorName)} %>" key="x-assigned-the-task-to-x" />
<c:if test="<%= workflowLog.getPreviousUserId() != 0 %>">
<liferay-ui:message arguments="<%= PortalUtil.getUserName(workflowLog.getPreviousUserId(), StringPool.BLANK) %>" key="previous-assignee-was-x" />
</c:if>
</div>
<%
}
else {
%>
<div>
<liferay-ui:message arguments="<%= HtmlUtil.escape(actorName) %>" key="task-initially-assigned-to-the-x-role" />
</div>
<%
}
%>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</td>
<td class="text-center activity-col">
<%
if(Validator.isNotNull(kaleoNodeName)){
out.print(kaleoNodeName);
if(Validator.isNotNull(transitionName)){
if("registra-esito".equalsIgnoreCase(transitionName)){
//out.print(" ( " + (String)request.getAttribute("registra-esito-value") + " ) ");
//ADT BUG BO ID=33
String esito = (String)request.getAttribute("registra-esito-value");
if (historyWorkflowEsitiLogs!=null&& historyWorkflowEsitiLogs.containsKey(workflowLog.getWorkflowLogId()) ){
esito=historyWorkflowEsitiLogs.get(workflowLog.getWorkflowLogId());
}
out.print(" ( " + esito + " ) ");
} else if("assegna".equalsIgnoreCase(transitionName)){
out.print(" ( " + (String)request.getAttribute("assegna-value") + " ) ");
}
}
}
%>
</td>
<td class="activity-note">
<c:if test='<%=Validator.isNotNull(workflowLog.getComment()) && !"Assigned initial task.".equals(workflowLog.getComment()) %>'>
<div class="post-it-note">
<div class="header-post-it">
<p class="header-post-it_date"><%= dateFormatDateTime.format(workflowLog.getCreateDate()) %></p>
<p class="header-post-it_name">
<c:if test="<%=Validator.isNotNull(curUser) %>">
<%= curUser.getFullName() %>
</c:if>
</p>
</div>
<div class="body-post-it">
<%= HtmlUtil.escape(workflowLog.getComment()) %>
</div>
</div>
</c:if>
</td>
</tr>
<%-- <div class="task-activity task-type-<%= workflowLog.getType() %>">
<div>
</div>
</div> --%>
<%
}
%>
</tbody>
</table>
<style>
.head-date {
width: 120px;
}
.head-description {
width: 60%;
}
.head-activity {
width: 150px;
}
.head-comment {
width: 40%;
}
.attivita-table {
overflow: auto!important;
table-layout: fixed;
}
.attivita-table thead th {
background-color: #812121!important;
color: white;
}
.attivita-table td {
border: 1px solid #dddddd;
}
.activity-note {
padding-bottom: 40px!important;
}
.post-it-note {
min-width: 13em;
background: rgb(255,215,7);
position: relative;
/* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
}
.post-it-note:after {
content: "";
position: absolute;
bottom: -2em;
left: 0;
right: 2em;
border-width: 1em;
border-style: solid;
border-color: rgb(255,215,7);
}
.post-it-note:before {
content: "";
position: absolute;
bottom: -2em;
right: 0;
border-width: 2em 2em 0 0;
border-style: solid;
border-color: #d3b100 transparent;
}
.header-post-it {
background-color: rgba(211, 177, 0, 0.30);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 5px;
}
.header-post-it p {
margin: 0;
padding: 0;
font-weight: bold;
font-size: 12px;
}
.body-post-it {
padding: 5px 10px 0px 10px;
}
<%--
/**
* 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.
*/
--%>
<%@page import="com.liferay.portal.kernel.json.JSONException"%>
<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@page import="com.liferay.portal.kernel.json.JSONFactoryUtil"%>
<%@page import="com.liferay.portal.kernel.json.JSONObject"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<table class="table table-striped attivita-table" <%-- id="<portlet:namespace/>_<%= workflowLog.getType() %>" --%>>
<thead class="table-columns attivita-group__head">
<tr>
<th class="head-date text-center">Data</th>
<th class="head-description">Descrizione</th>
<th class="head-activity text-center">Attività</th>
<th class="head-comment text-center">Commento</th>
</tr>
</thead>
<tbody class="attivita-group__body">
<%
//ADT: bug bo id=33
Map<Long,String> historyWorkflowEsitiLogs = (Map<Long,String>)request.getAttribute("historyWorkflowEsitiLogs");
for (WorkflowLog workflowLog : workflowLogs) {
Role curRole = null;
User curUser = null;
String actorName = null;
if (workflowLog.getRoleId() != 0) {
curRole = RoleLocalServiceUtil.getRole(workflowLog.getRoleId());
actorName = curRole.getDescriptiveName();
}
else if (workflowLog.getUserId() != 0) {
curUser = UserLocalServiceUtil.getUser(workflowLog.getUserId());
actorName = curUser.getFullName();
}
String kaleoNodeName = null;
String transitionName = null;
try {
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(workflowLog.getState());
kaleoNodeName = jsonObject.getString("kaleoNodeName");
transitionName = jsonObject.getString("transitionName");
} catch (JSONException e) {
kaleoNodeName = workflowLog.getState();
}
%>
<tr>
<td class="text-center date-col">
<%= dateFormatDateTime.format(workflowLog.getCreateDate()) %>
</td>
<td class="description-col">
<c:choose>
<c:when test="<%= workflowLog.getType() == WorkflowLog.TASK_COMPLETION %>">
<div>
<c:choose>
<c:when test="<%= Validator.isNull(transitionName) %>">
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName} %>" key="x-completed-the-task-x" />
</c:when>
<c:otherwise>
<c:if test='<%= "registra-esito".equalsIgnoreCase(transitionName) %>'>
<%
//ADT: bug bo id=33
String esito = (String)request.getAttribute("registra-esito-value");
if (historyWorkflowEsitiLogs!=null&& historyWorkflowEsitiLogs.containsKey(workflowLog.getWorkflowLogId()) ){
esito=historyWorkflowEsitiLogs.get(workflowLog.getWorkflowLogId());
}
%>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName, esito} %>" key="x-completed-the-task-y-z" />
</c:if>
<c:if test='<%= "assegna".equalsIgnoreCase(transitionName) %>'>
<%
String assegna = (String)request.getAttribute("assegna-value");
%>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName, assegna} %>" key="x-completed-the-task-y-z" />
</c:if>
<c:if test='<%= !"assegna".equalsIgnoreCase(transitionName) && !"registra-esito".equalsIgnoreCase(transitionName) %>'>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), kaleoNodeName} %>" key="x-completed-the-task-x" />
</c:if>
</c:otherwise>
</c:choose>
<portlet:renderURL var="historyFormTaskURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
<portlet:param name="struts_action" value="/workflow_tasks/render_history_form_task" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowLog.getWorkflowTaskId()) %>" />
</portlet:renderURL>
<span>&nbsp;</span>
<liferay-ui:icon
image="history"
url='<%=historyFormTaskURL %>'
useDialog='<%=true %>'
/>
</div>
</c:when>
<c:when test="<%= workflowLog.getType() == WorkflowLog.TASK_UPDATE %>">
<div>
<liferay-ui:message arguments="<%= HtmlUtil.escape(actorName) %>" key="x-updated-the-due-date" />
</div>
</c:when>
<c:when test="<%= workflowLog.getType() == WorkflowLog.TRANSITION %>">
<div>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(actorName), workflowLog.getState()} %>" key="x-sent-signal-x" />
</div>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="<%= (curUser != null) && (workflowLog.getAuditUserId() == curUser.getUserId()) %>">
<div>
<liferay-ui:message arguments="<%= HtmlUtil.escape(curUser.getFullName()) %>" key='<%= curUser.isMale() ? "x-assigned-the-task-to-himself" : "x-assigned-the-task-to-herself" %>' />
</div>
</c:when>
<c:otherwise>
<%
if (curRole == null) {
String assignerName = PortalUtil.getUserName(workflowLog.getAuditUserId(), StringPool.BLANK);
%>
<div>
<liferay-ui:message arguments="<%= new Object[] {HtmlUtil.escape(assignerName), HtmlUtil.escape(actorName)} %>" key="x-assigned-the-task-to-x" />
<c:if test="<%= workflowLog.getPreviousUserId() != 0 %>">
<liferay-ui:message arguments="<%= PortalUtil.getUserName(workflowLog.getPreviousUserId(), StringPool.BLANK) %>" key="previous-assignee-was-x" />
</c:if>
</div>
<%
}
else {
%>
<div>
<liferay-ui:message arguments="<%= HtmlUtil.escape(actorName) %>" key="task-initially-assigned-to-the-x-role" />
</div>
<%
}
%>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</td>
<td class="text-center activity-col">
<%
if(Validator.isNotNull(kaleoNodeName)){
out.print(kaleoNodeName);
if(Validator.isNotNull(transitionName)){
if("registra-esito".equalsIgnoreCase(transitionName)){
//out.print(" ( " + (String)request.getAttribute("registra-esito-value") + " ) ");
//ADT BUG BO ID=33
String esito = (String)request.getAttribute("registra-esito-value");
if (historyWorkflowEsitiLogs!=null&& historyWorkflowEsitiLogs.containsKey(workflowLog.getWorkflowLogId()) ){
esito=historyWorkflowEsitiLogs.get(workflowLog.getWorkflowLogId());
}
out.print(" ( " + esito + " ) ");
} else if("assegna".equalsIgnoreCase(transitionName)){
out.print(" ( " + (String)request.getAttribute("assegna-value") + " ) ");
}
}
}
%>
</td>
<td class="activity-note">
<c:if test='<%=Validator.isNotNull(workflowLog.getComment()) && !"Assigned initial task.".equals(workflowLog.getComment()) %>'>
<div class="post-it-note">
<div class="header-post-it">
<p class="header-post-it_date"><%= dateFormatDateTime.format(workflowLog.getCreateDate()) %></p>
<p class="header-post-it_name">
<c:if test="<%=Validator.isNotNull(curUser) %>">
<%= curUser.getFullName() %>
</c:if>
</p>
</div>
<div class="body-post-it">
<%= HtmlUtil.escape(workflowLog.getComment()) %>
</div>
</div>
</c:if>
</td>
</tr>
<%-- <div class="task-activity task-type-<%= workflowLog.getType() %>">
<div>
</div>
</div> --%>
<%
}
%>
</tbody>
</table>
<style>
.head-date {
width: 120px;
}
.head-description {
width: 60%;
}
.head-activity {
width: 150px;
}
.head-comment {
width: 40%;
}
.attivita-table {
overflow: auto!important;
table-layout: fixed;
}
.attivita-table thead th {
background-color: #812121!important;
color: white;
}
.attivita-table td {
border: 1px solid #dddddd;
}
.activity-note {
padding-bottom: 40px!important;
}
.post-it-note {
min-width: 13em;
background: rgb(255,215,7);
position: relative;
/* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
}
.post-it-note:after {
content: "";
position: absolute;
bottom: -2em;
left: 0;
right: 2em;
border-width: 1em;
border-style: solid;
border-color: rgb(255,215,7);
}
.post-it-note:before {
content: "";
position: absolute;
bottom: -2em;
right: 0;
border-width: 2em 2em 0 0;
border-style: solid;
border-color: #d3b100 transparent;
}
.header-post-it {
background-color: rgba(211, 177, 0, 0.30);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 5px;
}
.header-post-it p {
margin: 0;
padding: 0;
font-weight: bold;
font-size: 12px;
}
.body-post-it {
padding: 5px 10px 0px 10px;
}
</style>

516
liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_instances/workflow_task_action.jsp

@ -1,259 +1,259 @@
<%--
/**
* 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.
*/
--%>
<%@ include file="/html/portlet/workflow_instances/init.jsp" %>
<%
String randomId = StringUtil.randomId();
ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
WorkflowTask workflowTask = (WorkflowTask)row.getObject();
%>
<liferay-ui:icon-menu>
<c:if test="<%= portletName.equals(PortletKeys.WORKFLOW_DEFINITIONS) && !workflowTask.isCompleted() && !_isAssignedToUser(workflowTask, user) %>">
<portlet:actionURL var="assignToMeURL">
<portlet:param name="struts_action" value="/workflow_instances/edit_workflow_instance_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ASSIGN %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="workflowTaskId" value="<%= String.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= String.valueOf(user.getUserId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
cssClass='<%= "workflow-task-" + randomId + " task-assign-to-me-link" %>'
image="assign"
message="assign-to-me"
method="get"
url="<%= assignToMeURL %>"
/>
</c:if>
<c:if test="<%= !workflowTask.isCompleted() && _isAssignedToUser(workflowTask, user) %>">
<%
List<String> transitionNames = WorkflowTaskManagerUtil.getNextTransitionNames(company.getCompanyId(), user.getUserId(), workflowTask.getWorkflowTaskId());
for (String transitionName : transitionNames) {
String message = "proceed";
if (Validator.isNotNull(transitionName)) {
message = transitionName;
}
%>
<portlet:actionURL var="editURL">
<portlet:param name="struts_action" value="/workflow_instances/edit_workflow_instance_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.SAVE %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:actionURL>
<portlet:renderURL var="renderFormURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="formName" value='<%= "fm_"+ randomId %>' />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:renderURL>
<portlet:resourceURL var="validationURL">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:resourceURL>
<%
Map<String, Object> data = new HashMap<String, Object>();
data.put("href-validation", validationURL);
data.put("href-render-form", renderFormURL);
%>
<liferay-ui:icon
cssClass='<%= "workflow-task-" + randomId + " task-change-status-link" %>'
image="../aui/random"
message="<%= message %>"
method="get"
url="<%= editURL %>"
data="<%= data %>"
/>
<%
}
%>
</c:if>
</liferay-ui:icon-menu>
<div class="hide" id="<%= randomId %>updateComments">
<%-- hook tref-ekaleo --%>
<div id="<%= randomId %>formError"></div>
<div id="<%= randomId %>form"></div>
<aui:input cols="105" name="comment" rows="10" type="textarea" />
</div>
<aui:script use="aui-io-plugin-deprecated,liferay-util-window">
var showPopup = function(url, title, renderFormURL, validationURL) {
var form = A.Node.create('<form />');
form.setAttribute('action', url);
form.setAttribute('method', 'POST');
var comments = A.one('#<%= randomId %>updateComments');
if (comments) {
form.append(comments);
comments.show();
}
// reset
var formDiv = A.one('#<%= randomId %>form');
if (formDiv) {
formDiv.empty();
}
var formErrorDiv = A.one('#<%= randomId %>formError');
if (formErrorDiv) {
formErrorDiv.empty();
}
var dialog = Liferay.Util.Window.getWindow(
{
dialog: {
bodyContent: form,
height: 620,
toolbars: {
footer: [
{
label: Liferay.Language.get('ok'),
on: {
click: function() {
if (!validationURL) {
submitForm(form);
} else {
A.one('#<%= randomId %>formError').empty();
A.io.request(validationURL, {
method: 'POST',
dataType: 'json',
on: {
start: function() {
A.one('#<%= randomId %>updateComments').loadingmask.show();
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', true);
item.setStyle('opacity', 0.5);
});
});
},
complete: function() {
A.one('#<%= randomId %>updateComments').loadingmask.hide();
},
success: function() {
var responseData = this.get('responseData');
if (responseData.valid) {
submitForm(form);
} else {
var message = "<div class='alert alert-error'>" + Liferay.Language.get(responseData.message) + "</div>";
A.one('#<%= randomId %>formError').html(message);
}
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', false);
item.setStyle('opacity', 1);
});
});
}
}
});
}
}
}
},
{
label: Liferay.Language.get('cancel'),
on: {
click: function() {
dialog.hide();
}
}
}
]
},
width: 550
},
title: title
}
);
A.one('#<%= randomId %>updateComments').plug(A.LoadingMask, {});
A.io.request(renderFormURL, {
dataType: 'html',
on: {
start: function() {
A.one('#<%= randomId %>updateComments').loadingmask.show();
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', true);
item.setStyle('opacity', 0.5);
});
});
},
complete: function() {
A.one('#<%= randomId %>updateComments').loadingmask.hide();
},
success: function() {
var contentNode = A.one('#<%= randomId %>form');
contentNode.html(this.get('responseData'));
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', false);
item.setStyle('opacity', 1);
});
});
}
}
});
};
A.all('.workflow-task-<%= randomId %> a').on(
'click',
function(event) {
event.preventDefault();
var icon = event.currentTarget;
var title = icon.text();
var renderFormURL = icon.attr('data-href-render-form');
var validationURL = icon.attr('data-href-validation');
showPopup(icon.attr('href'), title, renderFormURL, validationURL);
}
);
<%--
/**
* 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.
*/
--%>
<%@ include file="/html/portlet/workflow_instances/init.jsp" %>
<%
String randomId = StringUtil.randomId();
ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
WorkflowTask workflowTask = (WorkflowTask)row.getObject();
%>
<liferay-ui:icon-menu>
<c:if test="<%= portletName.equals(PortletKeys.WORKFLOW_DEFINITIONS) && !workflowTask.isCompleted() && !_isAssignedToUser(workflowTask, user) %>">
<portlet:actionURL var="assignToMeURL">
<portlet:param name="struts_action" value="/workflow_instances/edit_workflow_instance_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ASSIGN %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="workflowTaskId" value="<%= String.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= String.valueOf(user.getUserId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
cssClass='<%= "workflow-task-" + randomId + " task-assign-to-me-link" %>'
image="assign"
message="assign-to-me"
method="get"
url="<%= assignToMeURL %>"
/>
</c:if>
<c:if test="<%= !workflowTask.isCompleted() && _isAssignedToUser(workflowTask, user) %>">
<%
List<String> transitionNames = WorkflowTaskManagerUtil.getNextTransitionNames(company.getCompanyId(), user.getUserId(), workflowTask.getWorkflowTaskId());
for (String transitionName : transitionNames) {
String message = "proceed";
if (Validator.isNotNull(transitionName)) {
message = transitionName;
}
%>
<portlet:actionURL var="editURL">
<portlet:param name="struts_action" value="/workflow_instances/edit_workflow_instance_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.SAVE %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:actionURL>
<portlet:renderURL var="renderFormURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="formName" value='<%= "fm_"+ randomId %>' />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:renderURL>
<portlet:resourceURL var="validationURL">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:resourceURL>
<%
Map<String, Object> data = new HashMap<String, Object>();
data.put("href-validation", validationURL);
data.put("href-render-form", renderFormURL);
%>
<liferay-ui:icon
cssClass='<%= "workflow-task-" + randomId + " task-change-status-link" %>'
image="../aui/random"
message="<%= message %>"
method="get"
url="<%= editURL %>"
data="<%= data %>"
/>
<%
}
%>
</c:if>
</liferay-ui:icon-menu>
<div class="hide" id="<%= randomId %>updateComments">
<%-- hook tref-ekaleo --%>
<div id="<%= randomId %>formError"></div>
<div id="<%= randomId %>form"></div>
<aui:input cols="105" name="comment" rows="10" type="textarea" />
</div>
<aui:script use="aui-io-plugin-deprecated,liferay-util-window">
var showPopup = function(url, title, renderFormURL, validationURL) {
var form = A.Node.create('<form />');
form.setAttribute('action', url);
form.setAttribute('method', 'POST');
var comments = A.one('#<%= randomId %>updateComments');
if (comments) {
form.append(comments);
comments.show();
}
// reset
var formDiv = A.one('#<%= randomId %>form');
if (formDiv) {
formDiv.empty();
}
var formErrorDiv = A.one('#<%= randomId %>formError');
if (formErrorDiv) {
formErrorDiv.empty();
}
var dialog = Liferay.Util.Window.getWindow(
{
dialog: {
bodyContent: form,
height: 620,
toolbars: {
footer: [
{
label: Liferay.Language.get('ok'),
on: {
click: function() {
if (!validationURL) {
submitForm(form);
} else {
A.one('#<%= randomId %>formError').empty();
A.io.request(validationURL, {
method: 'POST',
dataType: 'json',
on: {
start: function() {
A.one('#<%= randomId %>updateComments').loadingmask.show();
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', true);
item.setStyle('opacity', 0.5);
});
});
},
complete: function() {
A.one('#<%= randomId %>updateComments').loadingmask.hide();
},
success: function() {
var responseData = this.get('responseData');
if (responseData.valid) {
submitForm(form);
} else {
var message = "<div class='alert alert-error'>" + Liferay.Language.get(responseData.message) + "</div>";
A.one('#<%= randomId %>formError').html(message);
}
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', false);
item.setStyle('opacity', 1);
});
});
}
}
});
}
}
}
},
{
label: Liferay.Language.get('cancel'),
on: {
click: function() {
dialog.hide();
}
}
}
]
},
width: 550
},
title: title
}
);
A.one('#<%= randomId %>updateComments').plug(A.LoadingMask, {});
A.io.request(renderFormURL, {
dataType: 'html',
on: {
start: function() {
A.one('#<%= randomId %>updateComments').loadingmask.show();
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', true);
item.setStyle('opacity', 0.5);
});
});
},
complete: function() {
A.one('#<%= randomId %>updateComments').loadingmask.hide();
},
success: function() {
var contentNode = A.one('#<%= randomId %>form');
contentNode.html(this.get('responseData'));
A.all('.modal-footer').each(function(item, index, collection) {
item.all('button').each(function(item, index, collection) {
item.set('disabled', false);
item.setStyle('opacity', 1);
});
});
}
}
});
};
A.all('.workflow-task-<%= randomId %> a').on(
'click',
function(event) {
event.preventDefault();
var icon = event.currentTarget;
var title = icon.text();
var renderFormURL = icon.attr('data-href-render-form');
var validationURL = icon.attr('data-href-validation');
showPopup(icon.attr('href'), title, renderFormURL, validationURL);
}
);
</aui:script>

698
liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/edit_workflow_task.jsp

@ -1,350 +1,350 @@
<%--
/**
* 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.
*/
--%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@ include file="/html/portlet/workflow_tasks/init.jsp" %>
<%
String randomId = StringUtil.randomId();
String redirect = ParamUtil.getString(request, "redirect");
WorkflowTask workflowTask = (WorkflowTask)request.getAttribute(WebKeys.WORKFLOW_TASK);
WorkflowInstance workflowInstance = WorkflowInstanceManagerUtil.getWorkflowInstance(company.getCompanyId(), workflowTask.getWorkflowInstanceId());
Map<String, Serializable> workflowContext = workflowInstance.getWorkflowContext();
long companyId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_COMPANY_ID));
long groupId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_GROUP_ID));
String className = (String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_NAME);
long classPK = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK));
WorkflowHandler workflowHandler = WorkflowHandlerRegistryUtil.getWorkflowHandler(className);
AssetRenderer assetRenderer = workflowHandler.getAssetRenderer(classPK);
AssetRendererFactory assetRendererFactory = workflowHandler.getAssetRendererFactory();
AssetEntry assetEntry = null;
if (assetRenderer != null) {
assetEntry = assetRendererFactory.getAssetEntry(assetRendererFactory.getClassName(), assetRenderer.getClassPK());
}
String headerTitle = LanguageUtil.get(pageContext, workflowTask.getName());
headerTitle = headerTitle.concat(StringPool.COLON + StringPool.SPACE + workflowHandler.getTitle(classPK, locale));
boolean showEditURL = false;
if ((workflowTask.getAssigneeUserId() == user.getUserId()) && !workflowTask.isCompleted()) {
showEditURL = true;
}
PortletURL editPortletURL = workflowHandler.getURLEdit(classPK, liferayPortletRequest, liferayPortletResponse);
String viewFullContentURLString = null;
if (assetRenderer.isPreviewInContext()) {
viewFullContentURLString = assetRenderer.getURLViewInContext((LiferayPortletRequest)renderRequest, (LiferayPortletResponse)renderResponse, null);
}
else {
PortletURL viewFullContentURL = renderResponse.createRenderURL();
viewFullContentURL.setParameter("struts_action", "/workflow_tasks/view_content");
viewFullContentURL.setParameter("redirect", currentURL);
if (assetEntry != null) {
viewFullContentURL.setParameter("assetEntryId", String.valueOf(assetEntry.getEntryId()));
viewFullContentURL.setParameter("assetEntryVersionId", String.valueOf(classPK));
}
if (assetRendererFactory != null) {
viewFullContentURL.setParameter("type", assetRendererFactory.getType());
}
viewFullContentURL.setParameter("showEditURL", String.valueOf(showEditURL));
viewFullContentURL.setParameter("workflowAssetPreview", Boolean.TRUE.toString());
viewFullContentURLString = viewFullContentURL.toString();
}
request.setAttribute(WebKeys.WORKFLOW_ASSET_PREVIEW, Boolean.TRUE);
%>
<%-- <portlet:renderURL var="backURL">
<portlet:param name="struts_action" value="/workflow_tasks/view" />
</portlet:renderURL>
<liferay-ui:header
backURL="<%= backURL.toString() %>"
localizeTitle="<%= false %>"
title="<%= headerTitle %>"
/>--%>
<div class="container_gestione_attivita">
<div class="container_gestione_attivita_header">
<h2 class="container_gestione_attivita_header-title">Gestione Attività</h2>
</div>
<div class="container_gestione_attivita_body">
<div class="container_gestione_attivita_body-left">
<div class="container_gestione_attivita_body-left-dati">
<liferay-ui:error exception="<%= WorkflowTaskDueDateException.class %>" message="please-enter-a-valid-due-date" />
<div class="lfr-asset-assigned attivita_header-item">
<aui:field-wrapper label="assigned-to">
<i class="icon-user"></i>
<c:choose>
<c:when test="<%= workflowTask.isAssignedToSingleUser() %>">
<liferay-ui:input-resource url="<%= PortalUtil.getUserName(workflowTask.getAssigneeUserId(), StringPool.BLANK) %>" />
</c:when>
<c:otherwise>
<liferay-ui:input-resource url='<%= LanguageUtil.get(pageContext, "nobody") %>' />
</c:otherwise>
</c:choose>
</aui:field-wrapper>
</div>
<div class="lfr-asset-status attivita_header-item">
<aui:field-wrapper label="state">
<i class="icon-th-list"></i>
<liferay-ui:input-resource url="<%= LanguageUtil.get(pageContext, WorkflowInstanceLinkLocalServiceUtil.getState(companyId, groupId, className, classPK)) %>" />
</aui:field-wrapper>
</div>
<div class="lfr-asset-date attivita_header-item">
<aui:field-wrapper label="create-date">
<i class="icon-calendar"></i>
<liferay-ui:input-resource url="<%= dateFormatDateTime.format(workflowTask.getCreateDate()) %>" />
</aui:field-wrapper>
</div>
</div>
<c:if test="<%= Validator.isNotNull(workflowTask.getDescription()) %>">
<div class="lfr-asset-field">
<aui:field-wrapper label="description">
<%= workflowTask.getDescription() %>
</aui:field-wrapper>
</div>
</c:if>
<c:if test="<%= assetRenderer != null %>">
<%
String path = workflowHandler.render(classPK, renderRequest, renderResponse, AssetRenderer.TEMPLATE_ABSTRACT);
request.setAttribute(WebKeys.ASSET_RENDERER, assetRenderer);
request.setAttribute(WebKeys.ASSET_PUBLISHER_ABSTRACT_LENGTH, 200);
%>
<c:choose>
<c:when test="<%= path == null %>">
<%= workflowHandler.getSummary(classPK, locale) %>
</c:when>
<c:otherwise>
<liferay-util:include page="<%= path %>" portletId="<%= assetRendererFactory.getPortletId() %>" />
</c:otherwise>
</c:choose>
</c:if>
<liferay-ui:panel-container cssClass="task-panel-container" extended="<%= true %>">
<liferay-ui:panel defaultState="closed" title="Attività e Commenti">
<%
List<Integer> logTypes = new ArrayList<Integer>();
logTypes.add(WorkflowLog.TASK_ASSIGN);
logTypes.add(WorkflowLog.TASK_COMPLETION);
logTypes.add(WorkflowLog.TASK_UPDATE);
logTypes.add(WorkflowLog.TRANSITION);
List<WorkflowLog> workflowLogs = WorkflowLogManagerUtil.getWorkflowLogsByWorkflowInstance(company.getCompanyId(), workflowTask.getWorkflowInstanceId(), logTypes, QueryUtil.ALL_POS, QueryUtil.ALL_POS, WorkflowComparatorFactoryUtil.getLogCreateDateComparator(true));
%>
<%@ include file="/html/portlet/workflow_instances/workflow_logs.jspf" %>
</liferay-ui:panel>
</liferay-ui:panel-container>
</div>
</div>
<div class="container_gestione_attivita_body-right">
<div class="lfr-asset-summary">
<h2 class="title-action">Azioni</h2>
<div class="separator"></div>
</div>
<%
request.removeAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
%>
<liferay-util:include page="/html/portlet/workflow_tasks/workflow_task_action.jsp">
<liferay-portlet:param name="viewFullContentURLString" value="<%= viewFullContentURLString %>"/>
<!-- ADT BUG BO ID= 27 -->
<liferay-portlet:param name="classPkForCarichiLavoro" value="<%= String.valueOf(classPK) %>"/>
</liferay-util:include>
</div>
</div>
<style>
html {
padding: 0!important;
}
.container_gestione_attivita_header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border-bottom: 1px solid #ddd;
padding-left: 15px;
padding-right: 15px;
background-color: #812121;
}
.container_gestione_attivita_header-title {
color: #fff!important;
}
.attivita_header-item .control-label {
padding-left: 18px;
}
.attivita_header-item {
padding-right: 40px;
}
.container_gestione_attivita_body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.container_gestione_attivita_body-left {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.container_gestione_attivita_body-right {
width: 200px;
}
.container_gestione_attivita_body-left, .container_gestione_attivita_body-right {
padding: 15px;
}
.button_custom {
border-radius: 4px;
width: 80%;
}
.button_custom a, .button_custom a i, .button_custom a span, .button_custom a span:hover, .button_custom a i:hover, .button_custom a:hover {
color: #333!important;
}
.task-panel-header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.task-panel-header .task-content-title {
color: rgb(85, 85, 85);
}
.title-action {
margin: 0;
}
.container_gestione_attivita_body-right {
border-left: 1px solid #ddd;
}
.container_gestione_attivita_body-right .lfr-menu-list {
margin-left: 0;
}
.opens-new-window-accessible {
display: none!important;
}
.task-activity {
padding-bottom: 15px;
}
.task-activity:first-child {
padding-top: 15px;
}
.task-activity-date {
font-weight: 600;
font-size: 16px;
}
.container_gestione_attivita_body-left-dati {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
border-bottom: 1px solid #ddd;
}
.accordion .accordion-heading {
background-color: #812121!important;
}
.accordion .accordion-heading .title-text {
color: #fff;
}
.accordion .accordion-heading .accordion-toggle::before {
color: #fff!important;
opacity: 1!important;
}
#updateComments .columns-max .control-group.field-wrapper > .control-group select,
#updateComments .control-group.field-wrapper textarea,
#updateComments .control-group.field-wrapper label,
#updateComments .columns-max .control-group.field-wrapper > .control-group label,
#updateComments .control-group.field-wrapper span.control-label,
#updateComments .control-group.input-text-wrapper textarea.field,
.aui label.control-label{
color: black
}
</style>
<aui:script use="liferay-workflow-tasks">
var onTaskClickFn = A.rbind('onTaskClick', Liferay.WorkflowTasks, '');
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignToMeLink', onTaskClickFn);
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignLink', onTaskClickFn);
<%-- Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskDueDateLink', onTaskClickFn); --%>
</aui:script>
<%
PortalUtil.addPortletBreadcrumbEntry(request, headerTitle, currentURL);
<%--
/**
* 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.
*/
--%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@ include file="/html/portlet/workflow_tasks/init.jsp" %>
<%
String randomId = StringUtil.randomId();
String redirect = ParamUtil.getString(request, "redirect");
WorkflowTask workflowTask = (WorkflowTask)request.getAttribute(WebKeys.WORKFLOW_TASK);
WorkflowInstance workflowInstance = WorkflowInstanceManagerUtil.getWorkflowInstance(company.getCompanyId(), workflowTask.getWorkflowInstanceId());
Map<String, Serializable> workflowContext = workflowInstance.getWorkflowContext();
long companyId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_COMPANY_ID));
long groupId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_GROUP_ID));
String className = (String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_NAME);
long classPK = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK));
WorkflowHandler workflowHandler = WorkflowHandlerRegistryUtil.getWorkflowHandler(className);
AssetRenderer assetRenderer = workflowHandler.getAssetRenderer(classPK);
AssetRendererFactory assetRendererFactory = workflowHandler.getAssetRendererFactory();
AssetEntry assetEntry = null;
if (assetRenderer != null) {
assetEntry = assetRendererFactory.getAssetEntry(assetRendererFactory.getClassName(), assetRenderer.getClassPK());
}
String headerTitle = LanguageUtil.get(pageContext, workflowTask.getName());
headerTitle = headerTitle.concat(StringPool.COLON + StringPool.SPACE + workflowHandler.getTitle(classPK, locale));
boolean showEditURL = false;
if ((workflowTask.getAssigneeUserId() == user.getUserId()) && !workflowTask.isCompleted()) {
showEditURL = true;
}
PortletURL editPortletURL = workflowHandler.getURLEdit(classPK, liferayPortletRequest, liferayPortletResponse);
String viewFullContentURLString = null;
if (assetRenderer.isPreviewInContext()) {
viewFullContentURLString = assetRenderer.getURLViewInContext((LiferayPortletRequest)renderRequest, (LiferayPortletResponse)renderResponse, null);
}
else {
PortletURL viewFullContentURL = renderResponse.createRenderURL();
viewFullContentURL.setParameter("struts_action", "/workflow_tasks/view_content");
viewFullContentURL.setParameter("redirect", currentURL);
if (assetEntry != null) {
viewFullContentURL.setParameter("assetEntryId", String.valueOf(assetEntry.getEntryId()));
viewFullContentURL.setParameter("assetEntryVersionId", String.valueOf(classPK));
}
if (assetRendererFactory != null) {
viewFullContentURL.setParameter("type", assetRendererFactory.getType());
}
viewFullContentURL.setParameter("showEditURL", String.valueOf(showEditURL));
viewFullContentURL.setParameter("workflowAssetPreview", Boolean.TRUE.toString());
viewFullContentURLString = viewFullContentURL.toString();
}
request.setAttribute(WebKeys.WORKFLOW_ASSET_PREVIEW, Boolean.TRUE);
%>
<%-- <portlet:renderURL var="backURL">
<portlet:param name="struts_action" value="/workflow_tasks/view" />
</portlet:renderURL>
<liferay-ui:header
backURL="<%= backURL.toString() %>"
localizeTitle="<%= false %>"
title="<%= headerTitle %>"
/>--%>
<div class="container_gestione_attivita">
<div class="container_gestione_attivita_header">
<h2 class="container_gestione_attivita_header-title">Gestione Attività</h2>
</div>
<div class="container_gestione_attivita_body">
<div class="container_gestione_attivita_body-left">
<div class="container_gestione_attivita_body-left-dati">
<liferay-ui:error exception="<%= WorkflowTaskDueDateException.class %>" message="please-enter-a-valid-due-date" />
<div class="lfr-asset-assigned attivita_header-item">
<aui:field-wrapper label="assigned-to">
<i class="icon-user"></i>
<c:choose>
<c:when test="<%= workflowTask.isAssignedToSingleUser() %>">
<liferay-ui:input-resource url="<%= PortalUtil.getUserName(workflowTask.getAssigneeUserId(), StringPool.BLANK) %>" />
</c:when>
<c:otherwise>
<liferay-ui:input-resource url='<%= LanguageUtil.get(pageContext, "nobody") %>' />
</c:otherwise>
</c:choose>
</aui:field-wrapper>
</div>
<div class="lfr-asset-status attivita_header-item">
<aui:field-wrapper label="state">
<i class="icon-th-list"></i>
<liferay-ui:input-resource url="<%= LanguageUtil.get(pageContext, WorkflowInstanceLinkLocalServiceUtil.getState(companyId, groupId, className, classPK)) %>" />
</aui:field-wrapper>
</div>
<div class="lfr-asset-date attivita_header-item">
<aui:field-wrapper label="create-date">
<i class="icon-calendar"></i>
<liferay-ui:input-resource url="<%= dateFormatDateTime.format(workflowTask.getCreateDate()) %>" />
</aui:field-wrapper>
</div>
</div>
<c:if test="<%= Validator.isNotNull(workflowTask.getDescription()) %>">
<div class="lfr-asset-field">
<aui:field-wrapper label="description">
<%= workflowTask.getDescription() %>
</aui:field-wrapper>
</div>
</c:if>
<c:if test="<%= assetRenderer != null %>">
<%
String path = workflowHandler.render(classPK, renderRequest, renderResponse, AssetRenderer.TEMPLATE_ABSTRACT);
request.setAttribute(WebKeys.ASSET_RENDERER, assetRenderer);
request.setAttribute(WebKeys.ASSET_PUBLISHER_ABSTRACT_LENGTH, 200);
%>
<c:choose>
<c:when test="<%= path == null %>">
<%= workflowHandler.getSummary(classPK, locale) %>
</c:when>
<c:otherwise>
<liferay-util:include page="<%= path %>" portletId="<%= assetRendererFactory.getPortletId() %>" />
</c:otherwise>
</c:choose>
</c:if>
<liferay-ui:panel-container cssClass="task-panel-container" extended="<%= true %>">
<liferay-ui:panel defaultState="closed" title="Attività e Commenti">
<%
List<Integer> logTypes = new ArrayList<Integer>();
logTypes.add(WorkflowLog.TASK_ASSIGN);
logTypes.add(WorkflowLog.TASK_COMPLETION);
logTypes.add(WorkflowLog.TASK_UPDATE);
logTypes.add(WorkflowLog.TRANSITION);
List<WorkflowLog> workflowLogs = WorkflowLogManagerUtil.getWorkflowLogsByWorkflowInstance(company.getCompanyId(), workflowTask.getWorkflowInstanceId(), logTypes, QueryUtil.ALL_POS, QueryUtil.ALL_POS, WorkflowComparatorFactoryUtil.getLogCreateDateComparator(true));
%>
<%@ include file="/html/portlet/workflow_instances/workflow_logs.jspf" %>
</liferay-ui:panel>
</liferay-ui:panel-container>
</div>
</div>
<div class="container_gestione_attivita_body-right">
<div class="lfr-asset-summary">
<h2 class="title-action">Azioni</h2>
<div class="separator"></div>
</div>
<%
request.removeAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
%>
<liferay-util:include page="/html/portlet/workflow_tasks/workflow_task_action.jsp">
<liferay-portlet:param name="viewFullContentURLString" value="<%= viewFullContentURLString %>"/>
<!-- ADT BUG BO ID= 27 -->
<liferay-portlet:param name="classPkForCarichiLavoro" value="<%= String.valueOf(classPK) %>"/>
</liferay-util:include>
</div>
</div>
<style>
html {
padding: 0!important;
}
.container_gestione_attivita_header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border-bottom: 1px solid #ddd;
padding-left: 15px;
padding-right: 15px;
background-color: #812121;
}
.container_gestione_attivita_header-title {
color: #fff!important;
}
.attivita_header-item .control-label {
padding-left: 18px;
}
.attivita_header-item {
padding-right: 40px;
}
.container_gestione_attivita_body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.container_gestione_attivita_body-left {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.container_gestione_attivita_body-right {
width: 200px;
}
.container_gestione_attivita_body-left, .container_gestione_attivita_body-right {
padding: 15px;
}
.button_custom {
border-radius: 4px;
width: 80%;
}
.button_custom a, .button_custom a i, .button_custom a span, .button_custom a span:hover, .button_custom a i:hover, .button_custom a:hover {
color: #333!important;
}
.task-panel-header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.task-panel-header .task-content-title {
color: rgb(85, 85, 85);
}
.title-action {
margin: 0;
}
.container_gestione_attivita_body-right {
border-left: 1px solid #ddd;
}
.container_gestione_attivita_body-right .lfr-menu-list {
margin-left: 0;
}
.opens-new-window-accessible {
display: none!important;
}
.task-activity {
padding-bottom: 15px;
}
.task-activity:first-child {
padding-top: 15px;
}
.task-activity-date {
font-weight: 600;
font-size: 16px;
}
.container_gestione_attivita_body-left-dati {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
border-bottom: 1px solid #ddd;
}
.accordion .accordion-heading {
background-color: #812121!important;
}
.accordion .accordion-heading .title-text {
color: #fff;
}
.accordion .accordion-heading .accordion-toggle::before {
color: #fff!important;
opacity: 1!important;
}
#updateComments .columns-max .control-group.field-wrapper > .control-group select,
#updateComments .control-group.field-wrapper textarea,
#updateComments .control-group.field-wrapper label,
#updateComments .columns-max .control-group.field-wrapper > .control-group label,
#updateComments .control-group.field-wrapper span.control-label,
#updateComments .control-group.input-text-wrapper textarea.field,
.aui label.control-label{
color: black
}
</style>
<aui:script use="liferay-workflow-tasks">
var onTaskClickFn = A.rbind('onTaskClick', Liferay.WorkflowTasks, '');
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignToMeLink', onTaskClickFn);
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignLink', onTaskClickFn);
<%-- Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskDueDateLink', onTaskClickFn); --%>
</aui:script>
<%
PortalUtil.addPortletBreadcrumbEntry(request, headerTitle, currentURL);
%>

681
liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/render_form_task.jsp

@ -1,342 +1,341 @@
<%@page import="com.liferay.portal.kernel.util.MapUtil"%>
<%@page import="java.io.UnsupportedEncodingException"%>
<%@page import="org.apache.commons.codec.binary.Hex"%>
<%@page import="com.liferay.portal.kernel.util.UnicodeFormatter"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.service.DDMStructureLocalServiceUtil"%>
<%@page import="com.liferay.portal.kernel.util.StringUtil"%>
<%@page import="org.htmlparser.Node"%>
<%@page import="org.htmlparser.tags.OptionTag"%>
<%@page import="org.htmlparser.tags.TextareaTag"%>
<%@page import="org.htmlparser.tags.InputTag"%>
<%@page import="org.htmlparser.tags.SelectTag"%>
<%@page import="org.htmlparser.tags.Div" %>
<%@page import="org.htmlparser.tags.LabelTag" %>
<%@page import="org.htmlparser.nodes.TagNode"%>
<%@page import="org.htmlparser.nodes.TextNode"%>
<%@page import="org.htmlparser.util.NodeList"%>
<%@page import="org.htmlparser.Parser"%>
<%@page import="org.htmlparser.util.ParserException"%>
<%@page import="javax.portlet.RenderResponse"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.Map.Entry"%>
<%@page import="com.liferay.portal.kernel.util.LocaleUtil"%>
<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@page import="java.util.Set"%>
<%@page import="java.util.Locale"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.storage.StorageEngineUtil"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.storage.Fields"%>
<%@page import="com.liferay.portlet.dynamicdatalists.model.DDLRecordSet"%>
<%@page import="com.liferay.portlet.dynamicdatalists.service.DDLRecordSetServiceUtil"%>
<%@page import="com.liferay.portlet.dynamicdatalists.model.DDLRecordVersion"%>
<%@page import="com.liferay.portal.kernel.bean.BeanParamUtil"%>
<%@page import="com.liferay.portlet.dynamicdatalists.model.DDLRecord"%>
<%@page import="com.liferay.portal.kernel.util.StringPool"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.model.DDMStructure"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.model.DDMTemplate"%>
<%@ include file="/html/portlet/workflow_tasks/init.jsp" %>
<!-- ADT BUG BO ID=27 -->
<%
String classPkForCarichiLavoro = (String) renderRequest.getAttribute("classPkForCarichiLavoro");
%>
<c:if test="<%= Validator.isNotNull(classPkForCarichiLavoro) %>">
<div class="container_header_text_attivita">
<liferay-portlet:renderURL portletName='9_WAR_portosboportlet' windowState="<%=LiferayWindowState.POP_UP.toString() %>" var="carichiDiLavoro">
<liferay-portlet:param name="controlloPraticaId" value='<%= (String)renderRequest.getAttribute("classPkForCarichiLavoro") %>'/>
</liferay-portlet:renderURL>
<liferay-ui:icon url="<%=carichiDiLavoro %>" useDialog="true" message="visualizza-carichi-di-lavoro" linkCssClass="btn btn-rounded" iconCssClass="icon-bar-chart"/>
<span>Visualizza Carichi di Lavoro Istruttori</span>
</div>
</c:if>
<!-- ************ -->
<%
long ddmTemplateId = (Long) renderRequest.getAttribute("ddmTemplateId");
long ddmStructureId = (Long) renderRequest.getAttribute("ddmStructureId");
Map<String, Serializable> parameters = (Map<String, Serializable>) renderRequest.getAttribute("parameters");
String prefix = (String) renderRequest.getAttribute("prefix");
String suffix = (String) renderRequest.getAttribute("suffix");
Map<String, List<Map<String, Serializable>>> fieldNameOptions
= (Map<String, List<Map<String, Serializable>>>) renderRequest.getAttribute("fieldNameOptions");
String redirect = StringPool.BLANK;
DDLRecord record = null;
long recordId = BeanParamUtil.getLong(record, request, "recordId");
DDLRecordVersion recordVersion = null;
if (record != null) {
recordVersion = record.getLatestRecordVersion();
}
DDMStructure ddmStructure = DDMStructureLocalServiceUtil.getDDMStructure(ddmStructureId);
Fields fields = null;
if (recordVersion != null) {
fields = StorageEngineUtil.getFields(recordVersion.getDDMStorageId());
}
Locale[] availableLocales = new Locale[0];
if (fields != null) {
Set<Locale> availableLocalesSet = fields.getAvailableLocales();
availableLocales = availableLocalesSet.toArray(new Locale[availableLocalesSet.size()]);
}
String defaultLanguageId = StringPool.BLANK;
if (Validator.isNull(defaultLanguageId)) {
defaultLanguageId = themeDisplay.getLanguageId();
if (fields != null) {
defaultLanguageId = LocaleUtil.toLanguageId(fields.getDefaultLocale());
}
}
String languageId = defaultLanguageId;
boolean translating = false;
if (!defaultLanguageId.equals(languageId)) {
translating = true;
}
if (translating) {
redirect = currentURL;
}
long classNameId = PortalUtil.getClassNameId(DDMStructure.class);
long classPK = ddmStructure.getStructureId();
if (ddmTemplateId > 0) {
classNameId = PortalUtil.getClassNameId(DDMTemplate.class);
classPK = ddmTemplateId;
}
%>
<liferay-util:buffer var="html">
<liferay-ddm:html
classNameId="<%= classNameId %>"
classPK="<%= classPK %>"
fields="<%= fields %>"
repeatable="<%= translating ? false : true %>"
requestedLocale="<%= LocaleUtil.fromLanguageId(languageId) %>"
/>
</liferay-util:buffer>
<%= normalize(html, parameters, fieldNameOptions, renderResponse, prefix, suffix) %>
<%!
private String normalize(String html, Map<String, Serializable> parameters,
Map<String, List<Map<String, Serializable>>> fieldNameOptions,
RenderResponse renderResponse, String prefix, String suffix) {
if (Validator.isNull(html)) {
return StringPool.BLANK;
}
// replace portlet namespace + random namespace
html = html.replaceAll("name=\"" + renderResponse.getNamespace(), "name=\"");
try {
Parser parser = Parser.createParser(html, StringPool.UTF8);
NodeList nodeList = (NodeList) parser.parse(null);
for (int i = 0; i < nodeList.size(); i++) {
filter(nodeList.elementAt(i), parameters, fieldNameOptions, prefix, suffix);
}
html = nodeList.toHtml();
} catch (ParserException e) {
}
// add prefix + suffix
html = html.replaceAll("name=\"(.*?)\"", "name=\"" + prefix + "$1" + suffix + "\"");
// ignore ddm fields display
html = html.replaceAll("name=\"" + prefix + "_fieldsDisplay" + suffix, "name=\"_fieldsDisplay\"");
return html;
}
private void filter(Node node, Map<String, Serializable> parameters,
Map<String, List<Map<String, Serializable>>> fieldNameOptions,
String prefix, String suffix) {
if (node != null) {
if (node instanceof SelectTag || node instanceof InputTag || node instanceof TextareaTag) {
TagNode tag = (TagNode) node;
String name = tag.getAttribute("name");
String namespace = getNamespace(node);
if (Validator.isNotNull(namespace)) {
name = name.replaceAll(namespace, StringPool.BLANK);
tag.setAttribute("name", name);
}
String value = null;
if (parameters.containsKey(name)) {
value = parameters.get(name).toString();
if (node instanceof TextareaTag) {
if (node.getChildren() != null && node.getChildren().size() > 0) {
TextNode text = (TextNode) node.getChildren().elementAt(0);
text.setText(value);
} else {
NodeList nodeList = new NodeList();
nodeList.add(new TextNode(value));
node.setChildren(nodeList);
}
} else if (tag instanceof SelectTag) {
if (node.getChildren() != null && node.getChildren().size() > 0) {
for (int i = 0; i < node.getChildren().size(); i++) {
if (node.getChildren().elementAt(i) instanceof OptionTag) {
TagNode optionTag = (TagNode) node.getChildren().elementAt(i);
String optionValue = optionTag.getAttribute("value");
optionValue = replaceHex(optionValue);
String[] values = StringUtil.split(value, StringPool.COMMA);
for (String v : values) {
if (StringUtil.trim(v).equals(optionValue)) {
optionTag.setAttribute("selected", "selected");
}
}
}
}
}
} else {
String type = tag.getAttribute("type");
if (type.equals("checkbox")) {
value = parameters.get(
StringUtil.replace(name, "Checkbox", StringPool.BLANK)).toString();
if (value.equalsIgnoreCase("true")) {
tag.setAttribute("checked", "checked");
}
} else if (type.equals("radio")) {
String valueInput = tag.getAttribute("value");
valueInput = replaceHex(valueInput);
if (value.equals(valueInput)) {
tag.setAttribute("checked", "checked");
}
} else {
tag.setAttribute("value", value, '"');
}
}
}
// select singolo o multiplo senza opzioni fisse
if (tag instanceof SelectTag) {
List<Map<String, Serializable>> options = fieldNameOptions.get(name);
if (options != null && !options.isEmpty()) {
NodeList optionsTag = new NodeList();
for (Map<String, Serializable> option : options) {
String label = MapUtil.getString(option, "label");
String valueOption = MapUtil.getString(option, "value");
boolean defaultValue = MapUtil.getBoolean(option, "default");
// new option
OptionTag optionTag = new OptionTag();
optionTag.setAttribute("value", valueOption, '"');
if (defaultValue && !parameters.containsKey(name)) {
optionTag.setAttribute("selected", "selected");
} else if (Validator.isNotNull(value) && value.equals(valueOption)) {
optionTag.setAttribute("selected", "selected");
}
TextNode textNode = new TextNode(label);
NodeList nodeList = new NodeList();
nodeList.add(textNode);
optionTag.setChildren(nodeList);
optionsTag.add(optionTag);
}
tag.setChildren(optionsTag);
}
} else if ("radio".equals(tag.getAttribute("type"))) {
List<Map<String, Serializable>> options = fieldNameOptions.get(name);
if(options!=null){
for (Map<String, Serializable> option : options) {
String label = MapUtil.getString(option, "label");
String valueOption = MapUtil.getString(option, "value");
boolean defaultValue = MapUtil.getBoolean(option, "default");
if(tag.getAttribute("value").equals(valueOption)){
tag.getNextSibling().setText(label);
}
}
}
}
}
if (node.getChildren() != null) {
for (int i = 0; i < node.getChildren().size(); i++) {
filter(node.getChildren().elementAt(i), parameters, fieldNameOptions, prefix, suffix);
}
}
}
}
private String getNamespace(Node node) {
String namespace = null;
boolean trovato = false;
Node parent = node.getParent();
while (!trovato && parent != null) {
if (parent instanceof TagNode) {
TagNode tag = (TagNode) parent;
String dataFieldNamespace = tag.getAttribute("data-fieldnamespace");
if (Validator.isNotNull(dataFieldNamespace)) {
trovato = true;
namespace = dataFieldNamespace;
}
}
if (!trovato) {
parent = parent.getParent();
}
}
return namespace;
}
private String replaceHex(String s) {
final String prefix = "&#x";
final String suffix = ";";
int index = 0;
while (true) {
int i = s.indexOf(prefix, index);
if (i < 0) {
break;
} else {
int j = s.indexOf(suffix, i);
if (j < 0) {
break;
} else {
String hexCode = s.substring(i, (j + 1));
String hex = hexCode.substring(prefix.length(), hexCode.length() - 1);
try {
s = StringUtil.replace(s, hexCode,
new String(Hex.decodeHex(hex.toCharArray()), StringPool.UTF8));
} catch (Exception e) {}
index = i;
}
}
}
return s;
}
<%@page import="com.liferay.portal.kernel.util.MapUtil"%>
<%@page import="java.io.UnsupportedEncodingException"%>
<%@page import="org.apache.commons.codec.binary.Hex"%>
<%@page import="com.liferay.portal.kernel.util.UnicodeFormatter"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.service.DDMStructureLocalServiceUtil"%>
<%@page import="com.liferay.portal.kernel.util.StringUtil"%>
<%@page import="org.htmlparser.Node"%>
<%@page import="org.htmlparser.tags.OptionTag"%>
<%@page import="org.htmlparser.tags.TextareaTag"%>
<%@page import="org.htmlparser.tags.InputTag"%>
<%@page import="org.htmlparser.tags.SelectTag"%>
<%@page import="org.htmlparser.tags.Div" %>
<%@page import="org.htmlparser.tags.LabelTag" %>
<%@page import="org.htmlparser.nodes.TagNode"%>
<%@page import="org.htmlparser.nodes.TextNode"%>
<%@page import="org.htmlparser.util.NodeList"%>
<%@page import="org.htmlparser.Parser"%>
<%@page import="org.htmlparser.util.ParserException"%>
<%@page import="javax.portlet.RenderResponse"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.Map.Entry"%>
<%@page import="com.liferay.portal.kernel.util.LocaleUtil"%>
<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@page import="java.util.Set"%>
<%@page import="java.util.Locale"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.storage.StorageEngineUtil"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.storage.Fields"%>
<%@page import="com.liferay.portlet.dynamicdatalists.model.DDLRecordSet"%>
<%@page import="com.liferay.portlet.dynamicdatalists.service.DDLRecordSetServiceUtil"%>
<%@page import="com.liferay.portlet.dynamicdatalists.model.DDLRecordVersion"%>
<%@page import="com.liferay.portal.kernel.bean.BeanParamUtil"%>
<%@page import="com.liferay.portlet.dynamicdatalists.model.DDLRecord"%>
<%@page import="com.liferay.portal.kernel.util.StringPool"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.model.DDMStructure"%>
<%@page import="com.liferay.portlet.dynamicdatamapping.model.DDMTemplate"%>
<%@ include file="/html/portlet/workflow_tasks/init.jsp" %>
<!-- ADT BUG BO ID=27 -->
<%
String classPkForCarichiLavoro = (String) renderRequest.getAttribute("classPkForCarichiLavoro");
%>
<c:if test="<%= Validator.isNotNull(classPkForCarichiLavoro) %>">
<div class="container_header_text_attivita">
<liferay-portlet:renderURL portletName='9_WAR_portosboportlet' windowState="<%=LiferayWindowState.POP_UP.toString() %>" var="carichiDiLavoro">
<liferay-portlet:param name="controlloPraticaId" value='<%= (String)renderRequest.getAttribute("classPkForCarichiLavoro") %>'/>
</liferay-portlet:renderURL>
<liferay-ui:icon url="<%=carichiDiLavoro %>" useDialog="true" message="visualizza-carichi-di-lavoro" linkCssClass="btn btn-rounded" iconCssClass="icon-bar-chart"/>
<span>Visualizza Carichi di Lavoro Istruttori</span>
</div>
</c:if>
<!-- ************ -->
<%
long ddmTemplateId = (Long) renderRequest.getAttribute("ddmTemplateId");
long ddmStructureId = (Long) renderRequest.getAttribute("ddmStructureId");
Map<String, Serializable> parameters = (Map<String, Serializable>) renderRequest.getAttribute("parameters");
String prefix = (String) renderRequest.getAttribute("prefix");
String suffix = (String) renderRequest.getAttribute("suffix");
Map<String, List<Map<String, Serializable>>> fieldNameOptions
= (Map<String, List<Map<String, Serializable>>>) renderRequest.getAttribute("fieldNameOptions");
String redirect = StringPool.BLANK;
DDLRecord record = null;
long recordId = BeanParamUtil.getLong(record, request, "recordId");
DDLRecordVersion recordVersion = null;
if (record != null) {
recordVersion = record.getLatestRecordVersion();
}
DDMStructure ddmStructure = DDMStructureLocalServiceUtil.getDDMStructure(ddmStructureId);
Fields fields = null;
if (recordVersion != null) {
fields = StorageEngineUtil.getFields(recordVersion.getDDMStorageId());
}
Locale[] availableLocales = new Locale[0];
if (fields != null) {
Set<Locale> availableLocalesSet = fields.getAvailableLocales();
availableLocales = availableLocalesSet.toArray(new Locale[availableLocalesSet.size()]);
}
String defaultLanguageId = StringPool.BLANK;
if (Validator.isNull(defaultLanguageId)) {
defaultLanguageId = themeDisplay.getLanguageId();
if (fields != null) {
defaultLanguageId = LocaleUtil.toLanguageId(fields.getDefaultLocale());
}
}
String languageId = defaultLanguageId;
boolean translating = false;
if (!defaultLanguageId.equals(languageId)) {
translating = true;
}
if (translating) {
redirect = currentURL;
}
long classNameId = PortalUtil.getClassNameId(DDMStructure.class);
long classPK = ddmStructure.getStructureId();
if (ddmTemplateId > 0) {
classNameId = PortalUtil.getClassNameId(DDMTemplate.class);
classPK = ddmTemplateId;
}
%>
<liferay-util:buffer var="html">
<liferay-ddm:html
classNameId="<%= classNameId %>"
classPK="<%= classPK %>"
fields="<%= fields %>"
repeatable="<%= translating ? false : true %>"
requestedLocale="<%= LocaleUtil.fromLanguageId(languageId) %>"
/>
</liferay-util:buffer>
<%= normalize(html, parameters, fieldNameOptions, renderResponse, prefix, suffix) %>
<%!
private String normalize(String html, Map<String, Serializable> parameters,
Map<String, List<Map<String, Serializable>>> fieldNameOptions,
RenderResponse renderResponse, String prefix, String suffix) {
if (Validator.isNull(html)) {
return StringPool.BLANK;
}
// replace portlet namespace + random namespace
html = html.replaceAll("name=\"" + renderResponse.getNamespace(), "name=\"");
try {
Parser parser = Parser.createParser(html, StringPool.UTF8);
NodeList nodeList = (NodeList) parser.parse(null);
for (int i = 0; i < nodeList.size(); i++) {
filter(nodeList.elementAt(i), parameters, fieldNameOptions, prefix, suffix);
}
html = nodeList.toHtml();
} catch (ParserException e) {
}
// add prefix + suffix
html = html.replaceAll("name=\"(.*?)\"", "name=\"" + prefix + "$1" + suffix + "\"");
// ignore ddm fields display
html = html.replaceAll("name=\"" + prefix + "_fieldsDisplay" + suffix, "name=\"_fieldsDisplay\"");
return html;
}
private void filter(Node node, Map<String, Serializable> parameters,
Map<String, List<Map<String, Serializable>>> fieldNameOptions,
String prefix, String suffix) {
if (node != null) {
if (node instanceof SelectTag || node instanceof InputTag || node instanceof TextareaTag) {
TagNode tag = (TagNode) node;
String name = tag.getAttribute("name");
String namespace = getNamespace(node);
if (Validator.isNotNull(namespace)) {
name = name.replaceAll(namespace, StringPool.BLANK);
tag.setAttribute("name", name);
}
String value = null;
if (parameters.containsKey(name)) {
value = parameters.get(name).toString();
if (node instanceof TextareaTag) {
if (node.getChildren() != null && node.getChildren().size() > 0) {
TextNode text = (TextNode) node.getChildren().elementAt(0);
text.setText(value);
} else {
NodeList nodeList = new NodeList();
nodeList.add(new TextNode(value));
node.setChildren(nodeList);
}
} else if (tag instanceof SelectTag) {
if (node.getChildren() != null && node.getChildren().size() > 0) {
for (int i = 0; i < node.getChildren().size(); i++) {
if (node.getChildren().elementAt(i) instanceof OptionTag) {
TagNode optionTag = (TagNode) node.getChildren().elementAt(i);
String optionValue = optionTag.getAttribute("value");
optionValue = replaceHex(optionValue);
String[] values = StringUtil.split(value, StringPool.COMMA);
for (String v : values) {
if (StringUtil.trim(v).equals(optionValue)) {
optionTag.setAttribute("selected", "selected");
}
}
}
}
}
} else {
String type = tag.getAttribute("type");
if (type.equals("checkbox")) {
value = parameters.get(
StringUtil.replace(name, "Checkbox", StringPool.BLANK)).toString();
if (value.equalsIgnoreCase("true")) {
tag.setAttribute("checked", "checked");
}
} else if (type.equals("radio")) {
String valueInput = tag.getAttribute("value");
valueInput = replaceHex(valueInput);
if (value.equals(valueInput)) {
tag.setAttribute("checked", "checked");
}
} else {
tag.setAttribute("value", value, '"');
}
}
}
// select singolo o multiplo senza opzioni fisse
if (tag instanceof SelectTag) {
List<Map<String, Serializable>> options = fieldNameOptions.get(name);
if (options != null && !options.isEmpty()) {
NodeList optionsTag = new NodeList();
for (Map<String, Serializable> option : options) {
String label = MapUtil.getString(option, "label");
String valueOption = MapUtil.getString(option, "value");
boolean defaultValue = MapUtil.getBoolean(option, "default");
// new option
OptionTag optionTag = new OptionTag();
optionTag.setAttribute("value", valueOption, '"');
if (defaultValue && !parameters.containsKey(name)) {
optionTag.setAttribute("selected", "selected");
} else if (Validator.isNotNull(value) && value.equals(valueOption)) {
optionTag.setAttribute("selected", "selected");
}
TextNode textNode = new TextNode(label);
NodeList nodeList = new NodeList();
nodeList.add(textNode);
optionTag.setChildren(nodeList);
optionsTag.add(optionTag);
}
tag.setChildren(optionsTag);
}
} else if ("radio".equals(tag.getAttribute("type"))) {
List<Map<String, Serializable>> options = fieldNameOptions.get(name);
if(options!=null){
for (Map<String, Serializable> option : options) {
String label = MapUtil.getString(option, "label");
String valueOption = MapUtil.getString(option, "value");
boolean defaultValue = MapUtil.getBoolean(option, "default");
if(tag.getAttribute("value").equals(valueOption)){
tag.getNextSibling().setText(label);
}
}
}
}
}
if (node.getChildren() != null) {
for (int i = 0; i < node.getChildren().size(); i++) {
filter(node.getChildren().elementAt(i), parameters, fieldNameOptions, prefix, suffix);
}
}
}
}
private String getNamespace(Node node) {
String namespace = null;
boolean trovato = false;
Node parent = node.getParent();
while (!trovato && parent != null) {
if (parent instanceof TagNode) {
TagNode tag = (TagNode) parent;
String dataFieldNamespace = tag.getAttribute("data-fieldnamespace");
if (Validator.isNotNull(dataFieldNamespace)) {
trovato = true;
namespace = dataFieldNamespace;
}
}
if (!trovato) {
parent = parent.getParent();
}
}
return namespace;
}
private String replaceHex(String s) {
final String prefix = "&#x";
final String suffix = ";";
int index = 0;
while (true) {
int i = s.indexOf(prefix, index);
if (i < 0) {
break;
} else {
int j = s.indexOf(suffix, i);
if (j < 0) {
break;
} else {
String hexCode = s.substring(i, (j + 1));
String hex = hexCode.substring(prefix.length(), hexCode.length() - 1);
try {
s = StringUtil.replace(s, hexCode,
new String(Hex.decodeHex(hex.toCharArray()), StringPool.UTF8));
} catch (Exception e) {}
index = i;
}
}
}
return s;
}
%>

590
liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/workflow_task_action.jsp

@ -1,296 +1,296 @@
<%--
/**
* 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; eitheistrr 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.
*/
--%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<%@ include file="/html/portlet/workflow_tasks/init.jsp" %>
<%
String randomId = StringPool.BLANK;
String closeRedirect = ParamUtil.getString(request, "closeRedirect");
//boolean canPortosAssegnatore = ParamUtil.getBoolean(request, "canPortosAssegnatore", false);
//boolean canPortosApprovatore = ParamUtil.getBoolean(request, "canPortosApprovatore", false);
//boolean canPortosIstruttore = ParamUtil.getBoolean(request, "canPortosIstruttore", false);
boolean canPortosAssegnatore = (Boolean)request.getAttribute("canPortosAssegnatore");
boolean canPortosApprovatore = (Boolean)request.getAttribute("canPortosApprovatore");
boolean canPortosIstruttore = (Boolean)request.getAttribute("canPortosIstruttore");
ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
String viewFullContentURLString = ParamUtil.getString(request, "viewFullContentURLString");
// ADT BUG BO ID= 27
String classPkForCarichiLavoro=ParamUtil.getString(request, "classPkForCarichiLavoro");
WorkflowTask workflowTask = null;
if (row != null) {
randomId = StringUtil.randomId();
workflowTask = (WorkflowTask)row.getParameter("workflowTask");
}
else {
workflowTask = (WorkflowTask)request.getAttribute(WebKeys.WORKFLOW_TASK);
}
long[] pooledActorsIds = WorkflowTaskManagerUtil.getPooledActorsIds(company.getCompanyId(), workflowTask.getWorkflowTaskId());
%>
<liferay-ui:icon-menu showExpanded="<%= (row == null) %>" showWhenSingleIcon="<%= (row == null) %>" cssClass="wrap-action">
<div class="task-content-actions">
<liferay-ui:icon-list>
<liferay-ui:icon iconCssClass="icon-eye-open" cssClass="btn btn-large button_custom" message="Visualizza" method="get" target="_blank" url="<%= viewFullContentURLString %>" />
</liferay-ui:icon-list>
</div>
<c:if test="<%= !workflowTask.isCompleted() && _isAssignedToUser(workflowTask, user) %>">
<%
List<String> transitionNames = WorkflowTaskManagerUtil.getNextTransitionNames(company.getCompanyId(), user.getUserId(), workflowTask.getWorkflowTaskId());
for (String transitionName : transitionNames) {
String message = "proceed";
if (Validator.isNotNull(transitionName)) {
message = transitionName;
}
%>
<%
//Non fa nulla ma forse tornera comodo
boolean canCose = true;
if(transitionName.equals("registra-esito") && !canPortosIstruttore){
canCose = false;
} else if(transitionName.equals("approva") && !canPortosApprovatore){
canCose = false;
}
%>
<portlet:actionURL var="editURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.SAVE %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="closeRedirect" value="<%= closeRedirect %>" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:actionURL>
<portlet:renderURL var="renderFormURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="formName" value='<%= "fm_"+ randomId %>' />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:renderURL>
<portlet:resourceURL var="validationURL">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:resourceURL>
<%
Map<String, Object> data = new HashMap<String, Object>();
data.put("href-validation", validationURL);
data.put("href-render-form", renderFormURL);
%>
<liferay-ui:icon
iconCssClass="icon-random"
linkCssClass='<%= "workflow-task-" + randomId + " task-change-status-link btn btn-large button_custom" %>'
id='<%= randomId + transitionName + "taskChangeStatusLink" %>'
message="<%= message %>"
method="get"
url="<%= editURL %>"
data="<%= data %>"
/>
<%
}
%>
</c:if>
<c:if test='<%= !workflowTask.isCompleted() && !_isAssignedToUser(workflowTask, user) && !workflowTask.getName().equalsIgnoreCase("esito") && canPortosAssegnatore%>'>
<portlet:actionURL var="assignToMeURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ASSIGN %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="closeRedirect" value="<%= closeRedirect %>" />
<portlet:param name="workflowTaskId" value="<%= String.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= String.valueOf(user.getUserId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
iconCssClass="icon-reply"
linkCssClass='<%= "workflow-task-" + randomId + " task-assign-to-me-link btn btn-large button_custom btn-action" %>'
id='<%= randomId + "taskAssignToMeLink" %>'
message="assign-to-me"
method="get"
url="<%= assignToMeURL %>"
/>
</c:if>
<c:if test="<%= _hasOtherAssignees(pooledActorsIds, workflowTask, user) %>">
<portlet:actionURL var="assignURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ASSIGN %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="closeRedirect" value="<%= closeRedirect %>" />
<portlet:param name="workflowTaskId" value="<%= String.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<!-- ADT BUG BO id = 27 -->
<portlet:param name="classPkForCarichiLavoro" value="<%= classPkForCarichiLavoro %>" />
</portlet:actionURL>
<liferay-ui:icon
iconCssClass="icon-share-alt"
linkCssClass='<%= "workflow-task-" + randomId + " task-assign-link btn btn-large button_custom" %>'
id='<%= randomId + "taskAssignLink" %>'
message="assign-to-..."
method="get"
url="<%= assignURL %>"
/>
</c:if>
<%-- <c:if test="<%= !workflowTask.isCompleted() %>">
<portlet:actionURL var="updateDueDateURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.UPDATE %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
cssClass='<%= "workflow-task-" + randomId + " task-due-date-link" %>'
id='<%= randomId + "taskDueDateLink" %>'
image="time"
message="update-due-date"
method="get"
url="<%= updateDueDateURL %>"
/>
</c:if> --%>
</liferay-ui:icon-menu>
<%-- <div class="hide" id="<%= randomId %>updateAsignee">
<c:if test="<%= _hasOtherAssignees(pooledActorsIds, workflowTask, user) %>">
<aui:select label="assign-to" name="assigneeUserId">
<%
for (long pooledActorId : pooledActorsIds) {
if (pooledActorId == user.getUserId()) {
continue;
}
%>
<aui:option label="<%= HtmlUtil.escape(PortalUtil.getUserName(pooledActorId, StringPool.BLANK)) %>" selected="<%= workflowTask.getAssigneeUserId() == pooledActorId %>" value="<%= String.valueOf(pooledActorId) %>" />
<%
}
%>
</aui:select>
</c:if>
</div> --%>
<div class="hide" id="<%= randomId %>updateAsigneeToMe">
<aui:input name="asigneeUserId" type="hidden" value="<%= user.getUserId() %>" />
</div>
<div class="hide" id="<%= randomId %>updateDueDate">
<aui:input bean="<%= workflowTask %>" model="<%= WorkflowTask.class %>" name="dueDate" />
</div>
<div class="hide" id="<%= randomId %>updateComments">
<%-- hook tref-ekaleo --%>
<div id="<%= randomId %>formError"></div>
<div id="<%= randomId %>form"></div>
<aui:input cols="105" name="comment" rows="10" type="textarea" required="true" />
</div>
<%-- hook tref-ekaleo --%>
<aui:script use="liferay-workflow-tasks,aui-io-plugin-deprecated">
var onTaskClickFn = A.rbind('onTaskClick', Liferay.WorkflowTasks, '<%= randomId %>');
<c:if test="<%= !workflowTask.isCompleted() && _isAssignedToUser(workflowTask, user) %>">
var renderFormFn = A.rbind('renderForm', Liferay.WorkflowTasks, '<%= randomId %>');
<%
List<String> transitionNames = WorkflowTaskManagerUtil.getNextTransitionNames(company.getCompanyId(), user.getUserId(), workflowTask.getWorkflowTaskId());
for (String transitionName : transitionNames) {
String message = "proceed";
if (Validator.isNotNull(transitionName)) {
message = transitionName;
}
%>
Liferay.delegateClick('<portlet:namespace /><%= randomId + transitionName %>taskChangeStatusLink', renderFormFn);
<%
}
%>
</c:if>
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignToMeLink', onTaskClickFn);
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignLink', onTaskClickFn);
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskDueDateLink', onTaskClickFn);
</aui:script>
<style>
.wrap-action {
list-style: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.wrap-action .btn {
margin: 2px;
}
.button_custom {
min-width: 140px!important;
}
<%--
/**
* 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; eitheistrr 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.
*/
--%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<%@ include file="/html/portlet/workflow_tasks/init.jsp" %>
<%
String randomId = StringPool.BLANK;
String closeRedirect = ParamUtil.getString(request, "closeRedirect");
//boolean canPortosAssegnatore = ParamUtil.getBoolean(request, "canPortosAssegnatore", false);
//boolean canPortosApprovatore = ParamUtil.getBoolean(request, "canPortosApprovatore", false);
//boolean canPortosIstruttore = ParamUtil.getBoolean(request, "canPortosIstruttore", false);
boolean canPortosAssegnatore = (Boolean)request.getAttribute("canPortosAssegnatore");
boolean canPortosApprovatore = (Boolean)request.getAttribute("canPortosApprovatore");
boolean canPortosIstruttore = (Boolean)request.getAttribute("canPortosIstruttore");
ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
String viewFullContentURLString = ParamUtil.getString(request, "viewFullContentURLString");
// ADT BUG BO ID= 27
String classPkForCarichiLavoro=ParamUtil.getString(request, "classPkForCarichiLavoro");
WorkflowTask workflowTask = null;
if (row != null) {
randomId = StringUtil.randomId();
workflowTask = (WorkflowTask)row.getParameter("workflowTask");
}
else {
workflowTask = (WorkflowTask)request.getAttribute(WebKeys.WORKFLOW_TASK);
}
long[] pooledActorsIds = WorkflowTaskManagerUtil.getPooledActorsIds(company.getCompanyId(), workflowTask.getWorkflowTaskId());
%>
<liferay-ui:icon-menu showExpanded="<%= (row == null) %>" showWhenSingleIcon="<%= (row == null) %>" cssClass="wrap-action">
<div class="task-content-actions">
<liferay-ui:icon-list>
<liferay-ui:icon iconCssClass="icon-eye-open" cssClass="btn btn-large button_custom" message="Visualizza" method="get" target="_blank" url="<%= viewFullContentURLString %>" />
</liferay-ui:icon-list>
</div>
<c:if test="<%= !workflowTask.isCompleted() && _isAssignedToUser(workflowTask, user) %>">
<%
List<String> transitionNames = WorkflowTaskManagerUtil.getNextTransitionNames(company.getCompanyId(), user.getUserId(), workflowTask.getWorkflowTaskId());
for (String transitionName : transitionNames) {
String message = "proceed";
if (Validator.isNotNull(transitionName)) {
message = transitionName;
}
%>
<%
//Non fa nulla ma forse tornera comodo
boolean canCose = true;
if(transitionName.equals("registra-esito") && !canPortosIstruttore){
canCose = false;
} else if(transitionName.equals("approva") && !canPortosApprovatore){
canCose = false;
}
%>
<portlet:actionURL var="editURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.SAVE %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="closeRedirect" value="<%= closeRedirect %>" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:actionURL>
<portlet:renderURL var="renderFormURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="formName" value='<%= "fm_"+ randomId %>' />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:renderURL>
<portlet:resourceURL var="validationURL">
<portlet:param name="struts_action" value="/workflow_tasks/render_form_task" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= StringUtil.valueOf(workflowTask.getAssigneeUserId()) %>" />
<c:if test="<%= transitionName != null %>">
<portlet:param name="transitionName" value="<%= transitionName %>" />
</c:if>
</portlet:resourceURL>
<%
Map<String, Object> data = new HashMap<String, Object>();
data.put("href-validation", validationURL);
data.put("href-render-form", renderFormURL);
%>
<liferay-ui:icon
iconCssClass="icon-random"
linkCssClass='<%= "workflow-task-" + randomId + " task-change-status-link btn btn-large button_custom" %>'
id='<%= randomId + transitionName + "taskChangeStatusLink" %>'
message="<%= message %>"
method="get"
url="<%= editURL %>"
data="<%= data %>"
/>
<%
}
%>
</c:if>
<c:if test='<%= !workflowTask.isCompleted() && !_isAssignedToUser(workflowTask, user) && !workflowTask.getName().equalsIgnoreCase("esito") && canPortosAssegnatore%>'>
<portlet:actionURL var="assignToMeURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ASSIGN %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="closeRedirect" value="<%= closeRedirect %>" />
<portlet:param name="workflowTaskId" value="<%= String.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<portlet:param name="assigneeUserId" value="<%= String.valueOf(user.getUserId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
iconCssClass="icon-reply"
linkCssClass='<%= "workflow-task-" + randomId + " task-assign-to-me-link btn btn-large button_custom btn-action" %>'
id='<%= randomId + "taskAssignToMeLink" %>'
message="assign-to-me"
method="get"
url="<%= assignToMeURL %>"
/>
</c:if>
<c:if test="<%= _hasOtherAssignees(pooledActorsIds, workflowTask, user) %>">
<portlet:actionURL var="assignURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ASSIGN %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="closeRedirect" value="<%= closeRedirect %>" />
<portlet:param name="workflowTaskId" value="<%= String.valueOf(workflowTask.getWorkflowTaskId()) %>" />
<!-- ADT BUG BO id = 27 -->
<portlet:param name="classPkForCarichiLavoro" value="<%= classPkForCarichiLavoro %>" />
</portlet:actionURL>
<liferay-ui:icon
iconCssClass="icon-share-alt"
linkCssClass='<%= "workflow-task-" + randomId + " task-assign-link btn btn-large button_custom" %>'
id='<%= randomId + "taskAssignLink" %>'
message="assign-to-..."
method="get"
url="<%= assignURL %>"
/>
</c:if>
<%-- <c:if test="<%= !workflowTask.isCompleted() %>">
<portlet:actionURL var="updateDueDateURL">
<portlet:param name="struts_action" value="/workflow_tasks/edit_workflow_task" />
<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.UPDATE %>" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="workflowTaskId" value="<%= StringUtil.valueOf(workflowTask.getWorkflowTaskId()) %>" />
</portlet:actionURL>
<liferay-ui:icon
cssClass='<%= "workflow-task-" + randomId + " task-due-date-link" %>'
id='<%= randomId + "taskDueDateLink" %>'
image="time"
message="update-due-date"
method="get"
url="<%= updateDueDateURL %>"
/>
</c:if> --%>
</liferay-ui:icon-menu>
<%-- <div class="hide" id="<%= randomId %>updateAsignee">
<c:if test="<%= _hasOtherAssignees(pooledActorsIds, workflowTask, user) %>">
<aui:select label="assign-to" name="assigneeUserId">
<%
for (long pooledActorId : pooledActorsIds) {
if (pooledActorId == user.getUserId()) {
continue;
}
%>
<aui:option label="<%= HtmlUtil.escape(PortalUtil.getUserName(pooledActorId, StringPool.BLANK)) %>" selected="<%= workflowTask.getAssigneeUserId() == pooledActorId %>" value="<%= String.valueOf(pooledActorId) %>" />
<%
}
%>
</aui:select>
</c:if>
</div> --%>
<div class="hide" id="<%= randomId %>updateAsigneeToMe">
<aui:input name="asigneeUserId" type="hidden" value="<%= user.getUserId() %>" />
</div>
<div class="hide" id="<%= randomId %>updateDueDate">
<aui:input bean="<%= workflowTask %>" model="<%= WorkflowTask.class %>" name="dueDate" />
</div>
<div class="hide" id="<%= randomId %>updateComments">
<%-- hook tref-ekaleo --%>
<div id="<%= randomId %>formError"></div>
<div id="<%= randomId %>form"></div>
<aui:input cols="105" name="comment" rows="10" type="textarea" required="true" />
</div>
<%-- hook tref-ekaleo --%>
<aui:script use="liferay-workflow-tasks,aui-io-plugin-deprecated">
var onTaskClickFn = A.rbind('onTaskClick', Liferay.WorkflowTasks, '<%= randomId %>');
<c:if test="<%= !workflowTask.isCompleted() && _isAssignedToUser(workflowTask, user) %>">
var renderFormFn = A.rbind('renderForm', Liferay.WorkflowTasks, '<%= randomId %>');
<%
List<String> transitionNames = WorkflowTaskManagerUtil.getNextTransitionNames(company.getCompanyId(), user.getUserId(), workflowTask.getWorkflowTaskId());
for (String transitionName : transitionNames) {
String message = "proceed";
if (Validator.isNotNull(transitionName)) {
message = transitionName;
}
%>
Liferay.delegateClick('<portlet:namespace /><%= randomId + transitionName %>taskChangeStatusLink', renderFormFn);
<%
}
%>
</c:if>
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignToMeLink', onTaskClickFn);
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskAssignLink', onTaskClickFn);
Liferay.delegateClick('<portlet:namespace /><%= randomId %>taskDueDateLink', onTaskClickFn);
</aui:script>
<style>
.wrap-action {
list-style: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.wrap-action .btn {
margin: 2px;
}
.button_custom {
min-width: 140px!important;
}
</style>
Caricamento…
Annulla
Salva