[jboss-svn-commits] JBL Code SVN: r6726 - labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 10 11:55:03 EDT 2006
Author: dejp
Date: 2006-10-10 11:54:57 -0400 (Tue, 10 Oct 2006)
New Revision: 6726
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java
labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java
Log:
new methods
Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java 2006-10-10 14:45:19 UTC (rev 6725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java 2006-10-10 15:54:57 UTC (rev 6726)
@@ -31,6 +31,10 @@
return isUserLogged() && ConTools.hasPermission("con-admin");
}
+ public boolean isProjectManager() {
+ return ConTools.isProjectLead();
+ }
+
public boolean isUserLogged() {
return ConTools.getRemoteUser() != null;
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java 2006-10-10 14:45:19 UTC (rev 6725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java 2006-10-10 15:54:57 UTC (rev 6726)
@@ -21,29 +21,36 @@
*/
package org.jboss.forge.contributor;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import org.jboss.forge.common.Constants;
import org.jboss.forge.common.ForgeHelper;
import org.jboss.forge.common.PermissionTools;
+import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.forge.common.soa.LabsServices;
import org.jboss.portal.api.node.PortalNodeURL;
import org.jboss.portlet.JBossActionRequest;
+import org.jboss.portlet.JBossActionResponse;
import org.jboss.portlet.JBossRenderRequest;
import org.jboss.portlet.JBossRenderResponse;
-import org.jboss.portlet.JBossActionResponse;
/**
* @author adamw
+ * @author dejp
* Various static helper methods, mainly reading from the current
* faces and external contexts.
*/
public class ConTools {
- static ExternalContext getExternalContext() {
+ public static ExternalContext getExternalContext() {
return FacesContext.getCurrentInstance().getExternalContext();
}
- static String getRequestProperty(String propertyName) {
+ public static String getRequestProperty(String propertyName) {
Object request = getExternalContext().getRequest();
if (request instanceof JBossActionRequest) {
return ((JBossActionRequest) request).getPortalContext().
@@ -54,7 +61,7 @@
} else return null;
}
- static PortalNodeURL createRenderURL() {
+ public static PortalNodeURL createRenderURL() {
Object response = getExternalContext().getResponse();
if (response instanceof JBossActionResponse) {
//TODO
@@ -70,7 +77,7 @@
}
}
- static String getBaseServerAddress() {
+ public static String getBaseServerAddress() {
Object request = getExternalContext().getRequest();
if (request instanceof JBossActionRequest) {
return ForgeHelper.getBaseServerAddress((JBossActionRequest) request);
@@ -79,11 +86,12 @@
} else return "";
}
- static String getPortalName() {
+ public static String getPortalName() {
return getRequestProperty(Constants.PROP_SHOTOKU_PORTAL_DIRECTORY);
}
- static boolean hasPermission(String permission) {
+ public static boolean hasPermission(String permission) {
+
Object request = getExternalContext().getRequest();
if (request instanceof JBossActionRequest) {
org.jboss.portal.identity.User u = ((JBossActionRequest) request).getUser();
@@ -99,10 +107,73 @@
}
return PermissionTools.isUserInRole(u, permission);
- } else return false;
+ } else
+ return false;
}
- static String getRemoteUser() {
+ public static boolean isProjectLead() {
+
+ Set<String> projectIds = ProjectsHelper.getProjectIds(ConTools.getPortalName());
+
+ org.jboss.portal.identity.User u = getUser();
+
+ if (u == null) {
+ return false;
+ }
+
+ List<String> roles = PermissionTools.getRoleNames(u);
+ for (String role : roles) {
+ if (role.endsWith("-admin")) {
+ if (projectIds.contains(role.replaceAll("-admin", "")))
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public static org.jboss.portal.identity.User getUser() {
+
+ Object request = getExternalContext().getRequest();
+
+ org.jboss.portal.identity.User u = null;
+ if (request instanceof JBossActionRequest) {
+ u = ((JBossActionRequest) request).getUser();
+ } else if (request instanceof JBossRenderRequest) {
+ u = ((JBossRenderRequest) request).getUser();
+ }
+ return u;
+ }
+
+ public static Set<String> getLeadProjectsIds() {
+
+ Set<String> projectIds = ProjectsHelper.getProjectIds(ConTools.getPortalName());
+
+ org.jboss.portal.identity.User user = getUser();
+
+ if (user == null) {
+ return null;
+ }
+
+ Set<String> results = new LinkedHashSet<String>();
+
+ List<String> roles = PermissionTools.getRoleNames(user);
+ for (String role : roles) {
+ if (role.endsWith("-admin")) {
+ String projectId = role.replaceAll("-admin", "");
+ if (projectIds.contains(projectId))
+ results.add(projectId);
+ }
+ }
+
+ return results;
+ }
+
+ public static String getRemoteUser() {
return getExternalContext().getRemoteUser();
}
+
+ public static org.jboss.portal.identity.User getUser(String username) {
+ return null;
+ }
}
More information about the jboss-svn-commits
mailing list