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