mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
RM-2268 (If the currentPage attribute value is changed to a invalid one in the URL the Security Clearance page is not displayed in error)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104905 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -57,6 +57,7 @@ public class UserSecurityClearanceGet extends AbstractRmWebScript
|
||||
private static final String ITEMS = "items";
|
||||
private static final String DATA = "data";
|
||||
private static final String NAME_FILTER = "nameFilter";
|
||||
private static final String PAGE_NUMBER = "page";
|
||||
|
||||
/** Security clearance service */
|
||||
private SecurityClearanceService securityClearanceService;
|
||||
@@ -92,11 +93,19 @@ public class UserSecurityClearanceGet extends AbstractRmWebScript
|
||||
setSortProps(userQueryParams, req);
|
||||
|
||||
PagingResults<SecurityClearance> usersSecurityClearance = getSecurityClearanceService().getUsersSecurityClearance(userQueryParams);
|
||||
|
||||
int total = getTotal(usersSecurityClearance).intValue();
|
||||
int maxItems = userQueryParams.getMaxItems();
|
||||
if (getPageNumber(req) > Math.ceil((double) total / (double) maxItems))
|
||||
{
|
||||
throw new WebScriptException("The requested page is not valid");
|
||||
}
|
||||
|
||||
List<SecurityClearance> securityClearanceItems = getSecurityClearanceItems(usersSecurityClearance);
|
||||
|
||||
Map<String, Object> securityClearanceData = new HashMap<>();
|
||||
securityClearanceData.put(TOTAL, getTotal(usersSecurityClearance));
|
||||
securityClearanceData.put(MAX_ITEMS, userQueryParams.getMaxItems());
|
||||
securityClearanceData.put(TOTAL, total);
|
||||
securityClearanceData.put(MAX_ITEMS, maxItems);
|
||||
securityClearanceData.put(SKIP_COUNT, userQueryParams.getSkipCount());
|
||||
securityClearanceData.put(ITEM_COUNT, securityClearanceItems.size());
|
||||
securityClearanceData.put(ITEMS, securityClearanceItems);
|
||||
@@ -145,6 +154,18 @@ public class UserSecurityClearanceGet extends AbstractRmWebScript
|
||||
return req.getParameter(NAME_FILTER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the page number from the webscript request
|
||||
*
|
||||
* @param req {@link WebScriptRequest} The webscript request
|
||||
* @return <code>int</code> The page number
|
||||
*/
|
||||
private int getPageNumber(WebScriptRequest req)
|
||||
{
|
||||
String pageNumber = req.getParameter(PAGE_NUMBER);
|
||||
return isNotBlank(pageNumber) ? parseInt(pageNumber) : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to set the max index for the request query object
|
||||
*
|
||||
|
Reference in New Issue
Block a user