List<PageSelection<T>> entries = new ArrayList<>(); List<T> currentPage = getCurrentPage(); currentSelectPage = new PageSelections<>(); currentSelectPage.setName(name); if (currentPage != null && !currentPage.isEmpty()) { if (selectedEntries == null || selectedEntries.isEmpty()) { currentSelectPage.setSelected(true); currentSelectPage.setEntries(entries);
/** * Update the dataTableModel from the current {@link SecurityData} this method is automatically called by * rebuildSecurityData method */ protected void reconstructTableModel() { List<String> items = getCurrentDocumentUsers(); entries = new PageSelections<String>(); if (items != null) { for (String item : items) { if (SecurityConstants.EVERYONE.equals(item)) { final List<String> grantedPerms = securityData.getCurrentDocGrant().get(item); final List<String> deniedPerms = securityData.getCurrentDocDeny().get(item); if (deniedPerms != null && deniedPerms.contains(SecurityConstants.EVERYTHING) && grantedPerms == null && deniedPerms.size() == 1) { // the only perm is deny everything, there is no need to display the row continue; } } entries.add(new PageSelection<String>(item, false)); } } }
/** * @return The list of selected rows in the local rights table. * @since 6.0 */ private List<PageSelection<String>> getSelectedRows() { List<PageSelection<String>> selectedRows = new ArrayList<PageSelection<String>>(); if (!getDataTableModel().isEmpty()) { for (PageSelection<String> entry : getDataTableModel().getEntries()) { if (entry.isSelected()) { selectedRows.add(entry); } } } return selectedRows; }
@Override public void retrieveVersions() { /** * in case the document is a proxy,meaning is the result of a publishing,to have the history of the document * from which this proxy was created,first we have to get to the version that was created when the document was * publish,and to which the proxy document indicates,and then from that version we have to get to the root * document. */ DocumentModel currentDocument = navigationContext.getCurrentDocument(); DocumentModel doc; if (currentDocument.isProxy()) { DocumentRef ref = currentDocument.getRef(); DocumentModel version = documentManager.getSourceDocument(ref); doc = documentManager.getSourceDocument(version.getRef()); } else { doc = currentDocument; } List<PageSelection<VersionModel>> versionModelSelections = new ArrayList<PageSelection<VersionModel>>(); for (VersionModel versionModel : documentVersioning.getItemVersioningHistory(doc)) { versionModelSelections.add(new PageSelection<VersionModel>(versionModel, isVersionSelected(versionModel))); } versionModelList = new PageSelections<VersionModel>(versionModelSelections); }
@Override @Factory(value = "versionList", scope = EVENT) public PageSelections<VersionModel> getVersionList() { if (versionModelList == null || versionModelList.getEntries() == null || versionModelList.getEntries().isEmpty()) { retrieveVersions(); } return versionModelList; }
@Override public String removePermissionsAndUpdate() { for (PageSelection<String> user : getDataTableModel().getEntries()) { securityData.removeModifiablePrivilege(user.getData()); if (!checkPermissions()) { facesMessages.add(StatusMessage.Severity.ERROR, resourcesAccessor.getMessages().get("message.error.removeRight")); return null; } } updateSecurityOnDocument(); facesMessages.add(StatusMessage.Severity.INFO, resourcesAccessor.getMessages().get("message.updated.rights")); // do not redirect to the default folder view return null; }