From 293e762e2364ef2caf5205be51d293be4964deab Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 21 Oct 2011 21:17:59 +0000 Subject: [PATCH] NIHVIVO-2343 Create permissions for managing your own proxies and for managing all proxies. --- .../policy/UseRestrictedPagesByRoleLevelPolicy.java | 8 ++++++++ .../requestedAction/usepages/ManageOwnProxies.java | 11 +++++++++++ .../auth/requestedAction/usepages/ManageProxies.java | 11 +++++++++++ 3 files changed, 30 insertions(+) create mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageOwnProxies.java create mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java index 2e7872acc..0f8ec6986 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/UseRestrictedPagesByRoleLevelPolicy.java @@ -18,7 +18,9 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOntolo import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditOwnAccount; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.EditSiteInformation; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageMenus; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageOwnProxies; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManagePortals; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageProxies; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageSearchIndex; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageTabs; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.ManageUserAccounts; @@ -84,6 +86,9 @@ public class UseRestrictedPagesByRoleLevelPolicy implements PolicyIface { } else if (whatToAuth instanceof SeeStartupStatus) { result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole); + } else if (whatToAuth instanceof ManageProxies) { + result = isAuthorized(whatToAuth, RoleLevel.DB_ADMIN, userRole); + } else if (whatToAuth instanceof EditOntology) { result = isAuthorized(whatToAuth, RoleLevel.CURATOR, userRole); @@ -126,6 +131,9 @@ public class UseRestrictedPagesByRoleLevelPolicy implements PolicyIface { } else if (whatToAuth instanceof EditOwnAccount) { result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole); + } else if (whatToAuth instanceof ManageOwnProxies) { + result = isAuthorized(whatToAuth, RoleLevel.SELF, userRole); + } else { result = defaultDecision("Unrecognized action"); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageOwnProxies.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageOwnProxies.java new file mode 100644 index 000000000..f468b4ea0 --- /dev/null +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageOwnProxies.java @@ -0,0 +1,11 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages; + +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction; + +/** Should we allow the user to manage the proxy editors for his own profile? */ +public class ManageOwnProxies extends RequestedAction implements + UsePagesRequestedAction { + // no fields +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java new file mode 100644 index 000000000..0e8aafc4d --- /dev/null +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageProxies.java @@ -0,0 +1,11 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages; + +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction; + +/** Should we allow the user to manage the proxy editors for everyone? */ +public class ManageProxies extends RequestedAction implements + UsePagesRequestedAction { + // no fields +}