/** * 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 deleteAccount($email) { $account = Account::where('email', $email)->get()->first(); if (!isset($account)) { return response()->json(['message' => 'account_deleted']); } if (!Entrust::can(PermissionNames::ManageAccounts()) && $account->id != Auth::user()->id) { return response()->json(['message' => 'cannot_manage_account'], 403); } $account->delete(); return ["message" => "account_deleted"]; }