Zizaco / entrust

Role-based Permissions for Laravel 5
MIT License
6.05k stars 1.29k forks source link

problem accessing web page - missing users,roles,permissions #646

Open rchilro opened 8 years ago

rchilro commented 8 years ago

Hi there, If I may, i would like to contribute to this "issue". the problem is the missing seed data to be able to access the webpage in the browser. I would suggest to include the following seed files:

--------- PermissionTableSeeder.php ---------- <?php

use Illuminate\Database\Seeder; use App\Permission;

class PermissionTableSeeder extends Seeder { /* * Run the database seeds. * @return void */ public function run() { $permission = [ [ 'name' => 'role-list', 'display_name' => 'Display Role Listing', 'description' => 'See only Listing Of Role' ], [ 'name' => 'role-create', 'display_name' => 'Create Role', 'description' => 'Create New Role' ], [ 'name' => 'role-edit', 'display_name' => 'Edit Role', 'description' => 'Edit Role' ], [ 'name' => 'role-delete', 'display_name' => 'Delete Role', 'description' => 'Delete Role' ], [ 'name' => 'item-list', 'display_name' => 'Display Item Listing', 'description' => 'See only Listing Of Item' ], [ 'name' => 'item-create', 'display_name' => 'Create Item', 'description' => 'Create New Item' ], [ 'name' => 'item-edit', 'display_name' => 'Edit Item', 'description' => 'Edit Item' ], [ 'name' => 'item-delete', 'display_name' => 'Delete Item', 'description' => 'Delete Item' ], [ 'name' => 'user-list', 'display_name' => 'Display user Listing', 'description' => 'See only Listing Of user' ], [ 'name' => 'user-create', 'display_name' => 'Create user', 'description' => 'Create New user' ], [ 'name' => 'user-edit', 'display_name' => 'Edit user', 'description' => 'Edit user' ], [ 'name' => 'user-delete', 'display_name' => 'Delete user', 'description' => 'Delete user' ] ];

    foreach ($permission as $key => $value) {
        Permission::create($value);
    }
}

}


--------- RolesTableSeeder.php ---------- <?php

use Illuminate\Database\Seeder; use App\Role; use App\Permission;

class RolesTableSeeder extends Seeder { /* * Run the database seeds. * @return void */ public function run() {

$roles = [
    [
            'name' => 'admin',
        'display_name' => 'Administrator',
        'description' => 'User is allowed to manage and edit EVERYTHING'
    ],
    [
        'name' => 'view',
        'display_name' => 'Viewer',
        'description' => 'User is allowed to view '
    ],
    [
        'name' => 'manage',
        'display_name' => 'manager',
        'description' => 'User is allowed to manage items, roles, permissions '
    ]           
];

foreach ($roles as $key => $value) {
    Role::create($value);
}

$tt=Role::all()->first();

$tt->attachPermission(1);
$tt->attachPermission(2);
$tt->attachPermission(3);
$tt->attachPermission(4);
$tt->attachPermission(5);
$tt->attachPermission(6);
$tt->attachPermission(7);
$tt->attachPermission(8);
$tt->attachPermission(9);
$tt->attachPermission(10);
$tt->attachPermission(11);
$tt->attachPermission(12);
$tt->save();

$tt=Role::find(2);
$tt->attachPermission(1);
$tt->attachPermission(5);
$tt->attachPermission(9);
$tt->save();

$tt=Role::find(3);
$tt->attachPermission(1);
$tt->attachPermission(2);
$tt->attachPermission(3);
$tt->attachPermission(4);
$tt->attachPermission(5);
$tt->attachPermission(6);
$tt->attachPermission(7);
$tt->attachPermission(8);
$tt->attachPermission(9);   
$tt->save();
}

} ?>


--------- UsersTableSeeder.php ----------

use Illuminate\Database\Seeder; use App\User; use App\Roles;

class UsersTableSeeder extends Seeder { /* * Run the database seeds. * @return void */ public function run() {

$users = [
    [
        'name' => 'admin',
        'email' => 'admin@ttt.pt',
        'password' => Hash::make('123456')
    ],
    [
        'name' => 'view',
        'email' => 'view@ttt.pt',
        'password' => Hash::make('123456')
    ],
    [
        'name' => 'manager',
        'email' => 'manager@ttt.pt',
        'password' => Hash::make('123456')
    ]           
];

foreach ($users as $key => $value) {
    User::create($value);
}

$tt=User::all()->first();
$tt->attachRole(1);

$user = User::find(2);
echo $user->name;
$user->attachRole(2);

User::find(3)->attachRole(3);
}

}


albertonieto commented 8 years ago

Does it work for you? I can't make this run. I am getting the following error:

 [BadMethodCallException]
 Call to undefined method Illuminate\Database\Query\Builder::attachRole()