]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/SecurityPerspective.java
Introduce OSGi webapp
[lgpl/argeo-commons.git] / security / plugins / org.argeo.security.ui / src / main / java / org / argeo / security / ui / SecurityPerspective.java
1 package org.argeo.security.ui;
2
3 import org.eclipse.jface.dialogs.MessageDialog;
4 import org.eclipse.swt.widgets.Display;
5 import org.eclipse.ui.IFolderLayout;
6 import org.eclipse.ui.IPageLayout;
7 import org.eclipse.ui.IPerspectiveFactory;
8
9 public class SecurityPerspective implements IPerspectiveFactory {
10 private String adminRole = "ROLE_ADMIN";
11
12 public void createInitialLayout(IPageLayout layout) {
13 if (!CurrentUser.roles().contains(adminRole)) {
14 MessageDialog
15 .openError(Display.getCurrent().getActiveShell(),
16 "Forbidden",
17 "You are not allowed to access this resource.");
18 return;
19 }
20
21 String editorArea = layout.getEditorArea();
22 layout.setEditorAreaVisible(true);
23 layout.setFixed(false);
24
25 IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT,
26 0.4f, editorArea);
27
28 left.addView("org.argeo.security.ui.usersView");
29 left.addView("org.argeo.security.ui.rolesView");
30 // left.addView("org.argeo.security.ui.currentUserView");
31 }
32
33 public void setAdminRole(String adminRole) {
34 this.adminRole = adminRole;
35 }
36
37 }