Пример #1
0
 public function getIndex()
 {
     Auth::getUser()->hasPermissionOr401(Config::get("permissions.users"), 0);
     $view = View::make('home.admin.users.index');
     $tableData = array();
     $pageNo = FormHelpers::getPageNo();
     $searchTerm = FormHelpers::getValue("search", "", false, true);
     // get shared lock on records so that they can't be deleted before query runs to get specific range
     // (this doesn't prevent new ones getting added but that doesn't really matter too much)
     $noUsers = User::search($searchTerm)->sharedLock()->count();
     $noPages = FormHelpers::getNoPages($noUsers);
     if ($pageNo > 0 && FormHelpers::getPageStartIndex() > $noUsers - 1) {
         App::abort(404);
         return;
     }
     $users = User::with("permissionGroups")->search($searchTerm)->usePagination()->orderBy("disabled", "asc")->orderBy("admin", "desc")->orderBy("cosign_user", "asc")->orderBy("username", "asc")->orderBy("created_at", "desc")->sharedLock()->get();
     foreach ($users as $a) {
         $enabled = !(bool) $a->disabled;
         $enabledStr = $enabled ? "Yes" : "No";
         $admin = (bool) $a->admin;
         $adminStr = $admin ? "Yes" : "No";
         $groupsStr = null;
         $groups = array();
         $groupModels = $a->permissionGroups()->orderBy("position", "asc")->get();
         if (count($groupModels) > 0) {
             foreach ($groupModels as $b) {
                 $groups[] = $b->name;
             }
             $groupsStr = implode(", ", $groups);
         } else {
             $groupsStr = "[No Groups]";
         }
         $tableData[] = array("enabled" => $enabledStr, "enabledCss" => $enabled ? "text-success" : "text-danger", "admin" => $adminStr, "adminCss" => $admin ? "text-success" : "text-danger", "cosignUser" => !is_null($a->cosign_user) ? $a->cosign_user : "******", "user" => !is_null($a->username) ? $a->username : "******", "groups" => $groupsStr, "timeCreated" => $a->created_at->toDateTimeString(), "editUri" => Config::get("custom.admin_base_url") . "/users/edit/" . $a->id, "id" => $a->id);
     }
     $view->tableData = $tableData;
     $view->editEnabled = Auth::getUser()->hasPermission(Config::get("permissions.users"), 1);
     $view->pageNo = $pageNo;
     $view->noPages = $noPages;
     $view->createUri = Config::get("custom.admin_base_url") . "/users/edit";
     $view->deleteUri = Config::get("custom.admin_base_url") . "/users/delete";
     $this->setContent($view, "users", "users");
 }