Salvatore La Manna
4 anni fa
6 ha cambiato i file con 1279 aggiunte e 1281 eliminazioni
@ -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> |
@ -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> |
@ -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; |
||||
} |
||||
%> |
@ -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…
Reference in new issue