Author: ludovic
Date: 2007-12-18 20:50:04 +0100 (Tue, 18 Dec 2007)
New Revision: 6416
Modified:
xwiki-products/curriki/trunk/plugins/spacemanager/src/main/java/org/xwiki/plugin/spacemanager/impl/SpaceManagerImpl.java
Log:
CURRIKI-1179 added getSpaceNames for user and role
Modified:
xwiki-products/curriki/trunk/plugins/spacemanager/src/main/java/org/xwiki/plugin/spacemanager/impl/SpaceManagerImpl.java
===================================================================
---
xwiki-products/curriki/trunk/plugins/spacemanager/src/main/java/org/xwiki/plugin/spacemanager/impl/SpaceManagerImpl.java
2007-12-18 19:31:00 UTC (rev 6415)
+++
xwiki-products/curriki/trunk/plugins/spacemanager/src/main/java/org/xwiki/plugin/spacemanager/impl/SpaceManagerImpl.java
2007-12-18 19:50:04 UTC (rev 6416)
@@ -552,9 +552,24 @@
* @return list of Strings (space names)
* @throws SpaceManagerException
*/
- public List getSpaceNames(String userName, String role, XWikiContext
context) throws SpaceManagerException{
- notImplemented();
- return null;
+ public List getSpaceNames(String userName, String role, XWikiContext
context) throws SpaceManagerException {
+ String sql;
+ if (role==null)
+ sql = "select distinct doc.web from XWikiDocument as doc, BaseObject
as obj, StringProperty as memberprop where doc.name='MemberGroup' and
doc.fullName=obj.name and obj.className = 'XWiki.XWikiAllGroup'"
+ + " and obj.id=memberprop.id.id and
memberprop.id.name='member' and memberprop.value='" + userName + "'";
+ else {
+ String roleGroupName = getRoleGroupName("", role).substring(1);
+ sql = "select distinct doc.web from XWikiDocument as doc,
BaseObject as obj, StringProperty as memberprop where doc.name='" +
roleGroupName + "' and doc.fullName=obj.name and obj.className =
'XWiki.XWikiAllGroup'"
+ + " and obj.id=memberprop.id.id and
memberprop.id.name='member' and memberprop.value='" + userName + "'";
+
+ }
+ List spaceList = null;
+ try {
+ spaceList = context.getWiki().getStore().search(sql, 0, 0,
context);
+ } catch (XWikiException e) {
+ throw new SpaceManagerException(e);
+ }
+ return spaceList;
}
public void updateSpaceFromRequest(Space space, XWikiContext context)
throws SpaceManagerException {
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications