From e1ca975797be4f063f149dd43154fe65da3c95d9 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Wed, 5 Aug 2015 17:34:20 -0500
Subject: [PATCH] upgrade: Fix possible crash if a user did not have a group

---
 .../upgrader/streams/core/0d6099a6-98ad7d55.task.php   | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/upgrader/streams/core/0d6099a6-98ad7d55.task.php b/include/upgrader/streams/core/0d6099a6-98ad7d55.task.php
index 75ff0416f..abcc0498c 100644
--- a/include/upgrader/streams/core/0d6099a6-98ad7d55.task.php
+++ b/include/upgrader/streams/core/0d6099a6-98ad7d55.task.php
@@ -5,7 +5,11 @@ class StaffPermissions extends MigrationTask {
 
     function run($time) {
         foreach (Staff::objects() as $staff) {
-            $role = $staff->getRole()->getPermission();
+            $role = $staff->getRole();
+            if ($role)
+                $role_perms = $role->getPermission();
+            else
+                $role_perms = new RolePermission(null);
             $perms = array(
                 User::PERM_CREATE,
                 User::PERM_EDIT,
@@ -16,9 +20,9 @@ class StaffPermissions extends MigrationTask {
                 Organization::PERM_EDIT,
                 Organization::PERM_DELETE,
             );
-            if ($role->has(FAQ::PERM_MANAGE))
+            if ($role_perms->has(FAQ::PERM_MANAGE))
                 $perms[] = FAQ::PERM_MANAGE;
-            if ($role->has(Email::PERM_BANLIST))
+            if ($role_perms->has(Email::PERM_BANLIST))
                 $perms[] = Email::PERM_BANLIST;
 
             $errors = array();
-- 
GitLab