Fix #6027 - group memberships on users list
authorAlan Knowles <alan@roojs.com>
Wed, 4 Sep 2019 02:47:13 +0000 (10:47 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 4 Sep 2019 02:47:13 +0000 (10:47 +0800)
DataObjects/Core_person.php
Pman.Tab.PersonList.js

index 1e30d4a..740fb54 100644 (file)
@@ -1143,22 +1143,21 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     function selectAddGroupMemberships()
     {
         $this->selectAdd("
     function selectAddGroupMemberships()
     {
         $this->selectAdd("
-            CONCAT ('[',
-                COALESCE((
-                    SELECT
-                        GROUP_CONCAT( 
-                            JSON_QUOTE(core_group.name)
-                        )
-                    FROM
-                        core_group_member
-                    LEFT JOIN
-                        core_group
-                    ON
-                        core_group.id = core_group_member.group_id
-                    WHERE
-                        core_group_member.user_id = core_person.id
-                ), ''),
-            ']') as member_of_json");
+            
+            COALESCE((
+                SELECT
+                    GROUP_CONCAT( 
+                        core_group.name
+                    , '\n')
+                FROM
+                    core_group_member
+                LEFT JOIN
+                    core_group
+                ON
+                    core_group.id = core_group_member.group_id
+                WHERE
+                    core_group_member.user_id = core_person.id
+            ), '')  as member_of");
     }
     
     function setFromRoo($ar, $roo)
     }
     
     function setFromRoo($ar, $roo)
index fcd47cd..9da9e67 100644 (file)
@@ -629,10 +629,9 @@ Pman.Tab.PersonList.prototype = {
         return Roo.apply({
          //   id : (this.id + '-name').toLowerCase(),
             header : "Group Membership",
         return Roo.apply({
          //   id : (this.id + '-name').toLowerCase(),
             header : "Group Membership",
-            dataIndex : 'member_of_json',
+            dataIndex : 'member_of',
             sortable : false,
             sortable : false,
-            renderer : function(vv,p,r) {
-                var v = vv ? JSON.parse(vv).join("\n") : '';
+            renderer : function(v,p,r) {
                 if(r.data.active != 1){
                     return String.format('<div style="text-decoration:line-through">{0}</div>', v).split("\n").join("<br/>"); 
                 }
                 if(r.data.active != 1){
                     return String.format('<div style="text-decoration:line-through">{0}</div>', v).split("\n").join("<br/>"); 
                 }