Map<UUID, Presentation> presentationsMap) { SearchFolder newFolder; if (searchFolder.getUser() == null) return searchFolder; newFolder = copiedFolders.get(searchFolder); return null; newFolder = metadata.create(SearchFolder.class); newFolder.setUser(toUser); newFolder.setApplyDefault(searchFolder.getApplyDefault()); newFolder.setFilterComponentId(searchFolder.getFilterComponentId()); newFolder.setFilterXml(searchFolder.getFilterXml()); newFolder.setItemStyle(searchFolder.getItemStyle()); newFolder.setName(searchFolder.getName()); newFolder.setTabName(searchFolder.getTabName()); newFolder.setSortOrder(searchFolder.getSortOrder()); newFolder.setIsSet(searchFolder.getIsSet()); newFolder.setEntityType(searchFolder.getEntityType()); SearchFolder copiedFolder = copiedFolders.get(searchFolder.getParent()); if (searchFolder.getParent() != null) { if (copiedFolder != null) { newFolder.setParent(copiedFolder); } else { SearchFolder newParent = getParent((SearchFolder) searchFolder.getParent(), toUser, copiedFolders, presentationsMap); newFolder.setParent(newParent); if (searchFolder.getPresentation() != null) { if (searchFolder.getPresentation().getUser() == null) { newFolder.setPresentation(searchFolder.getPresentation());
return; folder.setName(nameField.getValue()); folder.setTabName(tabNameField.getValue()); folder.setSortOrder(null); } else { String value = sortOrderField.getValue(); return; folder.setSortOrder(sortOrder); folder.setParent((Folder) parent); else folder.setParent(null); folder.setApplyDefault(Boolean.valueOf(applyDefaultCb.getValue().toString())); if (globalCb != null) { if (BooleanUtils.isTrue(globalCb.getValue())) { folder.setUser(null); } else { folder.setUser(userSessionSource.getUserSession().getCurrentOrSubstitutedUser()); folder.setUser(userSessionSource.getUserSession().getCurrentOrSubstitutedUser()); folder.setPresentation((Presentation) presentation.getValue());
@Subscribe("createNew") protected void onCreateNewClick(Button.ClickEvent event) { QueryParser parser = QueryTransformerFactory.createParser(query); String entityAlias = parser.getEntityAlias(entityType); String filterXml = UserSetHelper.generateSetFilter(ids, entityClass, componentId, entityAlias); SearchFolder folder = metadata.create(SearchFolder.class); folder.setUser(sessionSource.getUserSession().getUser()); folder.setName(""); folder.setFilterXml(filterXml); folder.setFilterComponentId(componentPath); folder.setEntityType(entityType); folder.setIsSet(true); Runnable commitHandler = () -> { foldersPane.saveFolder(folder); foldersPane.refreshFolders(); }; FolderEditWindow window = AppFolderEditWindow.create(false, false, folder, null, commitHandler); AppUI.getCurrent().addWindow(window); window.addCloseListener(e -> close(COMMIT_ACTION_ID)); }
presentation.setNullSelectionAllowed(true); fillPresentations(presentations); presentation.setValue(((SearchFolder) folder).getPresentation()); layout.addComponent(presentation); } else if (((SearchFolder) folder).getPresentation() != null) { selectedPresentationField = new TextField(); selectedPresentationField.setWidth("250px"); selectedPresentationField.setCaption(getMessage("folders.folderEditWindow.presentation")); selectedPresentationField.setValue(((SearchFolder) folder).getPresentation().getName()); selectedPresentationField.setEnabled(false); layout.addComponent(selectedPresentationField); && BooleanUtils.isNotTrue(((SearchFolder) folder).getIsSet())) { globalCb = new CubaCheckBox(getMessage("folders.folderEditWindow.global")); globalCb.setValue(((SearchFolder) folder).getUser() == null); layout.addComponent(globalCb); applyDefaultCb.setVisible(clientConfig.getGenericFilterManualApplyRequired() && folder instanceof SearchFolder && BooleanUtils.isNotTrue(((SearchFolder) folder).getIsSet())); layout.addComponent(applyDefaultCb);
@Override public void copyFrom(AbstractSearchFolder srcFolder) { super.copyFrom(srcFolder); UserSessionSource sessionSource = AppBeans.get(UserSessionSource.NAME); setUser(sessionSource.getUserSession().getUser()); }
@Subscribe("insertBtn") protected void onInsertBtnClick(Button.ClickEvent event) { SearchFolder folder = folderSelect.getValue(); if (folder == null) { showNotification(getMessage("saveSetWindow.notSelected"), NotificationType.TRAY); return; } String filterXml = folder.getFilterXml(); folder.setFilterXml(UserSetHelper.addEntities(filterXml, ids)); foldersPane.saveFolder(folder); foldersPane.refreshFolders(); close(COMMIT_ACTION_ID, true); } }
filterEntity.setApplyDefault(BooleanUtils.isNotFalse(folder.getApplyDefault())); if (folder instanceof SearchFolder) { filterEntity.setIsSet(((SearchFolder) folder).getIsSet()); if (searchFolder.getPresentation() != null) { ((HasPresentations) filterComponent.getApplyTo()) .applyPresentation(searchFolder.getPresentation().getId());
protected boolean isGlobalFolder(SearchFolder folder) { return (folder.getUser() == null); }
@Override public String toString() { return getName(); }
protected boolean isFilterFolder(SearchFolder folder) { return (folder.getFilterComponentId() != null); }
protected Resource getSearchFolderIcon(SearchFolder item) { return BooleanUtils.isTrue(item.getIsSet()) ? iconResolver.getIconResource("icons/set-small.png") : iconResolver.getIconResource("icons/search-folder-small.png"); }
protected SearchFolder getParent(SearchFolder parentFolder, User toUser, Map<SearchFolder, SearchFolder> copiedFolders, Map<UUID, Presentation> presentationMap) { if (parentFolder == null) { return null; } if (parentFolder.getUser() == null) { return parentFolder; } return copyFolder(parentFolder, toUser, copiedFolders, presentationMap); }
protected void checkImportPermissions(Folder folder) { UserSession userSession = userSessionSource.getUserSession(); if (folder instanceof SearchFolder) { SearchFolder searchFolder = (SearchFolder) folder; User currentUser = userSession.getCurrentOrSubstitutedUser(); if (searchFolder.getUser() != null && !currentUser.equals(searchFolder.getUser())) { throw new AccessDeniedException(PermissionType.ENTITY_OP, Folder.class.getSimpleName()); } if (searchFolder.getUser() == null && !userSession.isSpecificPermitted("cuba.gui.searchFolder.global")) { throw new AccessDeniedException(PermissionType.ENTITY_OP, Folder.class.getSimpleName()); } } if (folder instanceof AppFolder) { if (!userSession.isSpecificPermitted("cuba.gui.appFolder.global")) { throw new AccessDeniedException(PermissionType.ENTITY_OP, Folder.class.getSimpleName()); } } }
protected boolean isOwner(SearchFolder folder) { return userSessionSource.getUserSession().getCurrentOrSubstitutedUser().equals(folder.getUser()); }