handle empty companies
[Pman.Core] / DataObjects / Core_person.php
index 1e30d4a..5160b4e 100644 (file)
@@ -602,6 +602,9 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     function company()
     {
+        if (empty($this->company_id)) {
+            return false;
+        }
         $x = DB_DataObject::factory('core_company');
         $x->autoJoin();
         $x->get($this->company_id);
@@ -1143,27 +1146,24 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     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 separator  '\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)
     {
-        $this->setFrom($ar);
+        $this->setFrom($ar); 
         
         if(!empty($ar['_enable_oath_key'])){
             $oath_key = $this->generateOathKey();
@@ -1184,7 +1184,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         }
         // this only applies to our owner company..
         $c = $this->company();
-        if (empty($c->comptype_name) || $c->comptype_name != 'OWNER') {
+        if (empty($c) || empty($c->comptype_name) || $c->comptype_name != 'OWNER') {
             return true;
         }