Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions src/java/fr/paris/lutece/plugins/workflow/web/WorkflowJspBean.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
Expand All @@ -52,6 +51,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import fr.paris.lutece.portal.web.constants.Parameters;
import fr.paris.lutece.util.sort.AttributeComparator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.iterators.EntrySetMapIterator;
import org.apache.commons.fileupload.FileItem;
Expand Down Expand Up @@ -264,6 +265,7 @@ public class WorkflowJspBean extends PluginAdminPageJspBean
private static final String MARK_LIST_PREREQUISITE = "listPrerequisite";
private static final String MARK_MDGRAPH = "mdgraph";
private static final String MARK_SHOW_TASKS = "showTasks";
private static final String MARK_SORT_SEARCH_ATTRIBUTE = "sort_search_attribute";

// MESSAGES
private static final String MESSAGE_ERROR_INVALID_SECURITY_TOKEN = "workflow.message.error.invalidSecurityToken";
Expand All @@ -289,6 +291,7 @@ public class WorkflowJspBean extends PluginAdminPageJspBean
private static final String PANE_STATES = "pane-states";
private static final String PANE_ACTIONS = "pane-actions";
private static final String PANE_DEFAULT = PANE_STATES;
private static final String SORT_SEARCH_ATTRIBUTE_DEFAULT = "name";

private static final String LOG_ACTION_NOT_FOUND = "Action not found for ID ";
private static final String LOG_WORKFLOW_NOT_FOUND = "Workflow not found for ID ";
Expand All @@ -305,6 +308,8 @@ public class WorkflowJspBean extends PluginAdminPageJspBean
private int _nItemsPerPageAction;
private int _nIsEnabled = -1;
private String _strWorkGroup = AdminWorkgroupService.ALL_GROUPS;
private String _strSortedAttributeName = SORT_SEARCH_ATTRIBUTE_DEFAULT;
private boolean _bIsAscSort = false;
private IWorkflowService _workflowService = SpringContextService.getBean( WorkflowService.BEAN_SERVICE );
private IStateService _stateService = SpringContextService.getBean( StateService.BEAN_SERVICE );
private IActionService _actionService = SpringContextService.getBean( ActionService.BEAN_SERVICE );
Expand Down Expand Up @@ -351,7 +356,19 @@ public String getManageWorkflow( HttpServletRequest request )

List<Workflow> listWorkflow = _workflowService.getListWorkflowsByFilter( filter );
listWorkflow = (List<Workflow>) AdminWorkgroupService.getAuthorizedCollection( listWorkflow, (User) getUser( ) );
Collections.sort( listWorkflow, Comparator.comparing( Workflow::getName ) );

// SORT
String strSortedAttributeName = request.getParameter( Parameters.SORTED_ATTRIBUTE_NAME );
String strAscSort = null;

if ( strSortedAttributeName != null )
{
_strSortedAttributeName = strSortedAttributeName;
strAscSort = request.getParameter( Parameters.SORTED_ASC );
_bIsAscSort = Boolean.parseBoolean( strAscSort );
}

Collections.sort( listWorkflow, new AttributeComparator( _strSortedAttributeName, _bIsAscSort ) );

LocalizedPaginator<Workflow> paginator = new LocalizedPaginator<>( listWorkflow, _nItemsPerPageWorkflow, getJspManageWorkflow( request ),
PARAMETER_PAGE_INDEX, _strCurrentPageIndexWorkflow, getLocale( ) );
Expand All @@ -361,6 +378,7 @@ public String getManageWorkflow( HttpServletRequest request )

Map<String, Object> model = new HashMap<>( );

model.put( MARK_SORT_SEARCH_ATTRIBUTE, _strSortedAttributeName );
model.put( MARK_PAGINATOR, paginator );
model.put( MARK_NB_ITEMS_PER_PAGE, WorkflowUtils.EMPTY_STRING + _nItemsPerPageWorkflow );
model.put( MARK_USER_WORKGROUP_REF_LIST, AdminWorkgroupService.getUserWorkgroups( getUser( ), getLocale( ) ) );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<#macro manageWorkflowFilters type='' class=''>
<@tform align='left' class='${class}'>
<@formGroup formStyle="inline" labelFor='is_enabled' labelKey='#i18n{workflow.manage_workflow.label_active}' hideLabel=['all']>
<@select name='is_enabled' items=active_list default_value='active_selected' size='' />
<@select name='is_enabled' items=active_list default_value=active_selected?string!'' size='' />
</@formGroup>
<@formGroup formStyle="inline" labelFor='workgroup' labelKey='#i18n{workflow.manage_workflow.label_workgroup}' hideLabel=['all']>
<@inputGroup>
Expand Down Expand Up @@ -31,7 +31,9 @@
<@manageWorkflowFilters class='d-md-none mb-3' />
<@table responsive=false class='mb-3'>
<@tr>
<@th>#i18n{workflow.manage_workflow.row_name}</@th>
<@th hide=['xs']>#i18n{workflow.manage_workflow.row_name}
<@sort jsp_url="jsp/admin/plugins/workflow/ManageWorkflow.jsp" attribute="name" />
</@th>
<@th>#i18n{workflow.manage_workflow.row_actions}</@th>
</@tr>
<#list workflow_list as workflow>
Expand Down