Fix #6948 - project groups access
[Pman.Core] / DataObjects / Core_person.php
index 7b61faf..2c5e774 100644 (file)
@@ -1093,6 +1093,15 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
                 {$this->tableName()}.name LIKE '%{$this->escape($q['query']['name'])}%'
             ");
         }
+        
+         if(!empty($q['query']['name_or_email'])){
+            $v = $this->escape($q['query']['name_or_email']);
+            $this->whereAdd("
+                {$this->tableName()}.name LIKE '%{$v}%'
+                OR
+                {$this->tableName()}.email LIKE '%{$v}%'
+            ");
+        }
          if(!empty($q['query']['name_starts'])){
             $this->whereAdd("
                 {$this->tableName()}.name LIKE '{$this->escape($q['query']['name_starts'])}%'
@@ -1172,7 +1181,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             
             if (!$roo->hasPerm('Core.Projects_All', 'S')) {
                 $peps = $p->people($pids);
-                $this->whereAddIn("{$tn}.id", $peps, 'int');
+                $this->whereAddIn("{$this->tableName()}.id", $peps, 'int');
             }
         }    
         
@@ -1222,7 +1231,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             
             COALESCE((
                 SELECT
-                    GROUP_CONCAT(  core_group.name separator  '\n')
+                    GROUP_CONCAT(  CASE WHEN core_group.display_name = '' THEN core_group.name ELSE core_group.display_name  END  separator  '\n')
                 FROM
                     core_group_member
                 LEFT JOIN
@@ -1231,6 +1240,8 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
                     core_group.id = core_group_member.group_id
                 WHERE
                     core_group_member.user_id = core_person.id
+                ORDER BY
+                    core_group.display_name ASC
             ), '')  as member_of");
     }