public List<org.brixcms.workspace.Workspace> filterVisibleWorkspaces( List<org.brixcms.workspace.Workspace> workspaces, Context context) { if (workspaces == null) { return Collections.emptyList(); } else { List<org.brixcms.workspace.Workspace> result = new ArrayList<org.brixcms.workspace.Workspace>( workspaces.size()); for (org.brixcms.workspace.Workspace w : workspaces) { Action action = new ViewWorkspaceAction(context, w); if (getAuthorizationStrategy().isActionAuthorized(action)) { result.add(w); } } return result; } }
public boolean canViewNodeChildren(BrixNode node, Context context) { Action action = new SiteNodeAction(context, Type.NODE_VIEW_CHILDREN, node); return brix.getAuthorizationStrategy().isActionAuthorized(action); }
public boolean canViewNode(BrixNode node, Context context) { Action action = new SiteNodeAction(context, Type.NODE_VIEW, node); return brix.getAuthorizationStrategy().isActionAuthorized(action); }
public boolean canRenameNode(BrixNode node, Context context) { if (!isNodeEditable(node)) { return false; } Action action = new SiteNodeAction(context, Type.NODE_DELETE, node); return brix.getAuthorizationStrategy().isActionAuthorized(action); }
public boolean canEditNode(BrixNode node, Context context) { if (!isNodeEditable(node)) { return false; } Action action = new SiteNodeAction(context, Type.NODE_EDIT, node); return brix.getAuthorizationStrategy().isActionAuthorized(action); }
@Override public boolean isVisible() { Workspace target = ManageSnapshotsPanel.this.getModelObject(); Action action = new RestoreSnapshotAction(Context.ADMINISTRATION, target); return getBrix().getAuthorizationStrategy().isActionAuthorized(action); } };
@Override public boolean isVisible() { final Action action = new AccessMenuPluginAction(getWorkspaceModel().getObject()); return Brix.get().getAuthorizationStrategy().isActionAuthorized(action); } }
public boolean canAddNodeChild(BrixNode node, Context context) { if (!isNodeEditable(node)) { return false; } Action action = new SiteNodeAction(context, Type.NODE_ADD_CHILD, node); return brix.getAuthorizationStrategy().isActionAuthorized(action); }
@Override public boolean isVisible() { final Action action = new AccessPrototypePluginAction(getWorkspaceModel().getObject()); return Brix.get().getAuthorizationStrategy().isActionAuthorized(action); }
@Override public boolean isVisible() { final Action action = new AccessSnapshotPluginAction(getWorkspaceModel().getObject()); return Brix.get().getAuthorizationStrategy().isActionAuthorized(action); }
@Override public boolean isVisible() { Workspace current = ManagePrototypesPanel.this.getModelObject(); Action action = new CreatePrototypeAction(Context.ADMINISTRATION, current); return getBrix().getAuthorizationStrategy().isActionAuthorized(action); } };
public boolean canDeleteNode(BrixNode node, Context context) { if (!isNodeEditable(node)) { return false; } Action action = new SiteNodeAction(context, Type.NODE_DELETE, node); return brix.getAuthorizationStrategy().isActionAuthorized(action); }
@Override public boolean isVisible() { final Action action = new AccessSitePluginAction(getWorkspaceModel().getObject()); return Brix.get().getAuthorizationStrategy().isActionAuthorized(action); } }
@Override public boolean isVisible() { Workspace target = ManageSnapshotsPanel.this.getModelObject(); Action action = new CreateSnapshotAction(Context.ADMINISTRATION, target); return getBrix().getAuthorizationStrategy().isActionAuthorized(action); } };
@Override public boolean isVisible() { final Brix brix = Brix.get(); final Workspace workspace = getWorkspaceModel().getObject(); final Action action = new AccessWebDavUrlPluginAction(workspace); final boolean granted = brix.getAuthorizationStrategy().isActionAuthorized(action); return granted; } }
@Override public boolean isVisible() { Workspace workspace = PublishingPanel.this.getModelObject(); String state = SitePlugin.get().getWorkspaceState(workspace); Action action = new PublishWorkspaceAction(Context.ADMINISTRATION, workspace, targetState); return requiredState.equals(state) && Brix.get().getAuthorizationStrategy().isActionAuthorized( action); } }
@Override public boolean isEnabled(Component component) { if (!Brix.get().getAuthorizationStrategy().isActionAuthorized( new AccessWorkspaceSwitcherToolbarAction())) { return false; } RequestCycle requestCycle = RequestCycle.get(); if (!requestCycle.getRequest().getRequestParameters().getParameterValue(WorkspaceUtils.WORKSPACE_PARAM).isNull()) { return false; } else { List<WorkspaceEntry> workspaces = getWorkspaces(); return workspaces.size() > 1 || (workspaces.size() == 1 && !workspaces.get(0).id .equals(getCurrentWorkspaceId())); } }
@Override public boolean isVisible() { final Action action = new AccessSitePluginAction(getWorkspaceModel().getObject()); final boolean granted = Brix.get().getAuthorizationStrategy().isActionAuthorized(action); if (granted) { JcrSession session = Brix.get().getCurrentSession(getWorkspaceModel().getObject().getId()); SitePlugin sp = SitePlugin.get(); return sp.canEditNode(sp.getGlobalContainer(session), Context.ADMINISTRATION); } return false; } }
@Override public boolean isVisible() { final Action action = new AccessSitePluginAction(getWorkspaceModel().getObject()); final boolean granted = Brix.get().getAuthorizationStrategy().isActionAuthorized(action); if (granted) { JcrSession session = Brix.get().getCurrentSession(getWorkspaceModel().getObject().getId()); SitePlugin sp = SitePlugin.get(); return sp.canEditNode(sp.getGlobalContainer(session), Context.ADMINISTRATION); } return false; } }
public ConvertNodePanel(String id, IModel<BrixNode> nodeModel) { super(id, nodeModel); RepeatingView converters = new RepeatingView("converters"); add(converters); BrixNode node = getModelObject(); Collection<SiteNodePlugin> plugins = SitePlugin.get().getNodePlugins(); boolean found = false; for (SiteNodePlugin plugin : plugins) { if (plugin.getConverterForNode(node) != null) { Action action = new ConvertNodeAction(Action.Context.ADMINISTRATION, node, plugin.getNodeType()); if (node.getBrix().getAuthorizationStrategy().isActionAuthorized(action)) { found = true; WebMarkupContainer item = new WebMarkupContainer(converters.newChildId()); converters.add(item); Model<String> typeName = new Model<String>(plugin.getNodeType()); item.add(new TextLink<String>("convert", typeName, new Model<String>(plugin.getName())) { @Override public void onClick() { final String type = (String) getModelObject(); convertToType(type); getSession().info(getString("nodeConverted")); } }); } } } setVisible(found); }