/**
  * 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();
     }
 }
Пример #2
0
 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"];
 }