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

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Dec 7 17:14:25 EST 2010


Author: brucedechant
Date: 2010-12-07 14:14:25 -0800 (Tue, 07 Dec 2010)
New Revision: 5445

Modified:
   trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp
Log:
Fix for trac ticket 1554 - Assign one new user the Map Author role caused deletion of Administrator role
http://trac.osgeo.org/mapguide/ticket/1554

Notes:
- Updated XQuery queries


Modified: trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp	2010-12-07 05:19:30 UTC (rev 5444)
+++ trunk/MgDev/Server/src/Services/Resource/SiteResourceContentManager.cpp	2010-12-07 22:14:25 UTC (rev 5445)
@@ -1706,7 +1706,7 @@
         }
     }
 
-    //  iterate through roless, then remove every user from role
+    //  iterate through roles, then remove every user from role
     INT32 numRoles = roles->GetCount();
 
     for (INT32 i = 0; i < numRoles; ++i)
@@ -2024,9 +2024,12 @@
 
     // 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 += "\"]";
@@ -2135,9 +2138,12 @@
 
     // 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 += "\"]";
@@ -2246,9 +2252,12 @@
 
     // 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 += MgUtil::WideCharToMultiByte(groupId);
     query += "\"]";



More information about the mapguide-commits mailing list