From 08a26be0e944ece2e49aff33621de005c619d64b Mon Sep 17 00:00:00 2001
From: Peter Rotich <peter@enhancesoft.com>
Date: Mon, 9 Apr 2018 02:51:57 +0000
Subject: [PATCH] Installer: Extended Access to ALL Departments

Give initial Admin user extended access to ALL departments loaded on
install. This will help new osTicket users, without the Access Control knowhow, see all tickets regardless of the
department while learning the system.
---
 setup/inc/class.installer.php | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/setup/inc/class.installer.php b/setup/inc/class.installer.php
index 1a1983255..d5aff5044 100644
--- a/setup/inc/class.installer.php
+++ b/setup/inc/class.installer.php
@@ -210,6 +210,18 @@ class Installer extends SetupWizard {
             return false;
         }
 
+        // Extended Access
+        foreach (Dept::objects()
+                ->filter(Q::not(array('id' => $dept_id)))
+                ->values_flat('id') as $row) {
+            $da = new StaffDeptAccess(array(
+                        'dept_id' => $row[0],
+                        'role_id' => $role_id
+                        ));
+            $staff->dept_access->add($da);
+        }
+        $staff->dept_access->saveAll();
+
         // Create default emails!
         $email = $vars['email'];
         list(,$domain) = explode('@', $vars['email']);
-- 
GitLab