/** * Run the database seeds. * * @return void */ public function run() { DB::table('permissions')->delete(); /** * Permission Attributes * * name: Unique name for the permission, used for looking up permission information in the * application layer. For example: "create-post", "edit-user", "post-payment", "mailing-list-subscribe". * * display_name: Human readable name for the permission. Not necessarily unique, and is optional. * For example "Create Posts", "Edit Users", "Post Payments", "Subscribe to mailing list". * * description: A more detailed explanation of the Permission. This is also optional. */ $permissions = array(self::pArray(PermissionNames::CreateConference(), "Create Conference"), self::pArray(PermissionNames::ManageGlobalPermissions(), "Manage Global Permissions"), self::pArray(PermissionNames::ApproveUserRegistration(), "Approve User Registration"), self::pArray(PermissionNames::ViewSiteStatistics(), "View Site Statistics"), self::pArray(PermissionNames::ManageAccounts(), "Manage Accounts")); foreach ($permissions as $p) { $entry = new Permission(); $entry->name = $p['name']; if (array_key_exists('display_name', $p)) { $entry->display_name = $p['display_name']; } if (array_key_exists('description', $p)) { $entry->description = $p['description']; } $entry->save(); } }
public function approveUser($id) { if (!Entrust::can(PermissionNames::ApproveUserRegistration())) { return response()->json(["message" => "cannot_approve_users"], 403); } $user = User::find($id); if (!isset($user)) { return response()->json(["message" => "user_does_not_exist", 404]); } $user->approved = 1; $user->save(); //return 200 OKAY return ""; }
public function allUnapproved() { if (!Entrust::can(PermissionNames::ApproveUserRegistration()) && Auth::user()->id != $accountID) { return response()->json(["message" => "no_user_approval_access"]); } $dependents = User::where('approved', 0)->get(); return response()->json(['message' => 'returned_unapproved_dependents', 'dependents' => $dependents]); }
private function buildPermissionsJson() { $permissions = []; $this->checkPermission(PermissionNames::CreateConference(), $permissions); $this->checkPermission(PermissionNames::ManageGlobalPermissions(), $permissions); $this->checkPermission(PermissionNames::ApproveUserRegistration(), $permissions); $this->checkPermission(PermissionNames::ViewSiteStatistics(), $permissions); if (!is_null(Auth::user())) { $pnames = Permission::whereHas("roles", function ($query) { $query->whereHas("users", function ($query) { $query->where("id", Auth::user()->id); }); })->select("name")->get()->toArray(); $pnames = array_map(function ($p) { return $p['name']; }, $pnames); $lookFor = PermissionNames::permissionManagementPermissionBases(); foreach ($pnames as $permName) { $normal = PermissionNames::normalizePermissionName($permName); if (in_array($normal, $lookFor)) { $permissions[] = "manage-some-permissions"; break; } } } return $permissions; }