use of com.haulmont.cuba.security.entity.FilterEntity in project cuba by cuba-platform.
the class FilterDelegateImpl method saveFilterEntity.
protected void saveFilterEntity() {
Boolean isDefault = filterEntity.getIsDefault();
Boolean applyDefault = filterEntity.getApplyDefault();
if (filterEntity.getFolder() == null) {
CommitContext ctx = new CommitContext(Collections.singletonList(filterEntity));
Set<Entity> result = dataService.commit(ctx);
FilterEntity savedFilterEntity = (FilterEntity) result.iterator().next();
filterEntities.remove(filterEntity);
filterEntity = savedFilterEntity;
filterEntities.add(filterEntity);
filterEntity.setApplyDefault(applyDefault);
filterEntity.setIsDefault(isDefault);
} else {
filterEntity.getFolder().setName(filterEntity.getName());
filterEntity.getFolder().setFilterXml(filterEntity.getXml());
AbstractSearchFolder folder = saveFolder(filterEntity.getFolder());
filterEntity.setFolder(folder);
}
saveInitialFilterState();
setFilterActionsEnabled();
updateFilterModifiedIndicator();
}
use of com.haulmont.cuba.security.entity.FilterEntity in project cuba by cuba-platform.
the class FilterSelectWindow method fillDatasource.
protected void fillDatasource(String nameFilterText) {
filterEntitiesDs.clear();
for (FilterEntity filterEntity : filterEntities) {
if (passesFilter(filterEntity, nameFilterText)) {
filterEntitiesDs.includeItem(filterEntity);
}
}
filterEntitiesDs.refresh();
}
use of com.haulmont.cuba.security.entity.FilterEntity in project cuba by cuba-platform.
the class FilteringLookupAction method applyFilter.
protected void applyFilter(Filter filterComponent) {
Metadata metadata = AppBeans.get(Metadata.class);
FilterEntity filterEntity = metadata.create(FilterEntity.class);
filterEntity.setComponentId(ComponentsHelper.getFilterComponentPath(filterComponent));
filterEntity.setName(messages.getMainMessage("dynamicAttributes.entity.filter"));
filterEntity.setXml(createFilterXml(filterComponent));
filterEntity.setUser(userSession.getCurrentOrSubstitutedUser());
filterComponent.setFilterEntity(filterEntity);
filterComponent.apply(true);
}
use of com.haulmont.cuba.security.entity.FilterEntity in project cuba by cuba-platform.
the class FoldersBean method openFolder.
@Override
public void openFolder(AbstractSearchFolder folder) {
if (StringUtils.isBlank(folder.getFilterComponentId())) {
log.warn("Unable to open folder: componentId is blank");
return;
}
String[] strings = ValuePathHelper.parse(folder.getFilterComponentId());
String screenId = strings[0];
WindowConfig windowConfig = AppBeans.get(WindowConfig.NAME);
WindowInfo windowInfo = windowConfig.getWindowInfo(screenId);
Map<String, Object> params = new HashMap<>();
WindowParams.DISABLE_AUTO_REFRESH.set(params, true);
WindowParams.DISABLE_RESUME_SUSPENDED.set(params, true);
if (!StringUtils.isBlank(folder.getTabName())) {
WindowParams.DESCRIPTION.set(params, messages.getMainMessage(folder.getTabName()));
} else {
WindowParams.DESCRIPTION.set(params, messages.getMainMessage(folder.getName()));
}
WindowParams.FOLDER_ID.set(params, folder.getId());
com.haulmont.cuba.gui.components.Window window = App.getInstance().getWindowManager().openWindow(windowInfo, OpenType.NEW_TAB, params);
Filter filterComponent = null;
if (strings.length > 1) {
String filterComponentId = StringUtils.join(Arrays.copyOfRange(strings, 1, strings.length), '.');
filterComponent = (Filter) window.getComponentNN(filterComponentId);
FilterEntity filterEntity = metadata.create(FilterEntity.class);
filterEntity.setFolder(folder);
filterEntity.setComponentId(folder.getFilterComponentId());
filterEntity.setName(folder.getLocName());
filterEntity.setXml(folder.getFilterXml());
filterEntity.setApplyDefault(BooleanUtils.isNotFalse(folder.getApplyDefault()));
if (folder instanceof SearchFolder) {
filterEntity.setIsSet(((SearchFolder) folder).getIsSet());
}
filterComponent.setFilterEntity(filterEntity);
filterComponent.switchFilterMode(FilterDelegate.FilterMode.GENERIC_MODE);
}
if (filterComponent != null && folder instanceof SearchFolder) {
final SearchFolder searchFolder = (SearchFolder) folder;
if (searchFolder.getPresentation() != null) {
((com.haulmont.cuba.gui.components.Component.HasPresentations) filterComponent.getApplyTo()).applyPresentation(searchFolder.getPresentation().getId());
}
}
((DsContextImplementation) window.getDsContext()).resumeSuspended();
}
use of com.haulmont.cuba.security.entity.FilterEntity in project cuba by cuba-platform.
the class RelatedEntitiesBean method applyFilter.
protected void applyFilter(Filter component, Collection<? extends Entity> selectedParents, RelatedScreenDescriptor descriptor, MetaDataDescriptor metaDataDescriptor) {
FilterEntity filterEntity = metadata.create(FilterEntity.class);
filterEntity.setComponentId(ComponentsHelper.getFilterComponentPath(component));
if (StringUtils.isNotEmpty(descriptor.getFilterCaption())) {
filterEntity.setName(descriptor.getFilterCaption());
} else {
MetaProperty metaProperty = metaDataDescriptor.getMetaProperty();
filterEntity.setName(messages.getMainMessage("actions.Related.Filter") + " " + messageTools.getPropertyCaption(metaProperty.getDomain(), metaProperty.getName()));
}
MetaClass effectiveMetaClass = extendedEntities.getEffectiveMetaClass(metaDataDescriptor.getRelatedMetaClass());
filterEntity.setXml(getRelatedEntitiesFilterXml(effectiveMetaClass, selectedParents, component, metaDataDescriptor));
filterEntity.setUser(userSessionSource.getUserSession().getCurrentOrSubstitutedUser());
component.setFilterEntity(filterEntity);
component.apply(true);
}
Aggregations