[mapguide-commits] r5480 - trunk/MgDev/Server/src/Services/Resource

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Dec 21 17:43:01 EST 2010


Author: brucedechant
Date: 2010-12-21 14:43:00 -0800 (Tue, 21 Dec 2010)
New Revision: 5480

Modified:
   trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp
Log:
Fix for trac ticket 1575 - Can't remove user from role or group
http://trac.osgeo.org/mapguide/ticket/1575

Submitted on behalf of Christine Bao

Notes:
- Updated XQueries


Modified: trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp	2010-12-20 03:10:10 UTC (rev 5479)
+++ trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp	2010-12-21 22:43:00 UTC (rev 5480)
@@ -2024,15 +2024,15 @@
 
     // Set up an XQuery.
 
-    string query = "delete nodes (collection('";
+    string query = "delete nodes collection('";
     query += m_container.getName();
     query += "')";
-    query += "//";
-    query += MgUtil::WideCharToMultiByte(groupRes->GetName());
-    query += ")";
     query += "/Group/Users/User[Name=\"";
     query += MgUtil::WideCharToMultiByte(userId);
     query += "\"]";
+    query += "/*[starts-with(dbxml:metadata('dbxml:name'),'Site://Groups/";
+    query += MgUtil::WideCharToMultiByte(groupRes->GetName());
+    query += ".Group')]/..";
 
     // Execute the XQuery.
 
@@ -2138,15 +2138,15 @@
 
     // Set up an XQuery.
 
-    string query = "delete nodes (collection('";
+    string query = "delete nodes collection('";
     query += m_container.getName();
     query += "')";
-    query += "//";
-    query += MgUtil::WideCharToMultiByte(roleRes->GetName());
-    query += ")";
     query += "/Role/Users/User[Name=\"";
     query += MgUtil::WideCharToMultiByte(userId);
     query += "\"]";
+    query += "/*[starts-with(dbxml:metadata('dbxml:name'),'Site://Roles/";
+    query += MgUtil::WideCharToMultiByte(roleRes->GetName());
+    query += ".Role')]/..";
 
     // Execute the XQuery.
 
@@ -2251,16 +2251,16 @@
     XmlValue docValue(xmlDoc);
 
     // Set up an XQuery.
-
-    string query = "delete nodes (collection('";
+  
+    string query = "delete nodes collection('";
     query += m_container.getName();
     query += "')";
-    query += "//";
-    query += MgUtil::WideCharToMultiByte(roleRes->GetName());
-    query += ")";
-    query += "/Roles/Groups/Group[Name=\"";
+    query += "/Role/Groups/Group[Name=\"";
     query += MgUtil::WideCharToMultiByte(groupId);
     query += "\"]";
+    query += "/*[starts-with(dbxml:metadata('dbxml:name'),'Site://Roles/";
+    query += MgUtil::WideCharToMultiByte(roleRes->GetName());
+    query += ".Role')]/..";
 
     // Execute the XQuery.
 



More information about the mapguide-commits mailing list