Compare commits

...

5 Commits
master ... erp

5 changed files with 25 additions and 33 deletions

View File

@ -1,6 +1,7 @@
<?php <?php
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
use Modules\Usermanager\Entities\PermissionGroup; use Modules\Usermanager\Entities\PermissionGroup;
@ -22,7 +23,10 @@
public function down() public function down()
: void : void
{ {
Schema::dropForeignKey('permission_group_id'); Schema::withoutForeignKeyConstraints(function () {
Schema::dropColumn('permission_group_id'); Schema::table('permissions', function (Blueprint $table) {
$table->dropColumn('permission_group_id');
});
});
} }
}; };

View File

@ -22,22 +22,17 @@
foreach ($data as $value) { foreach ($data as $value) {
$permission = Permission::updateOrCreate([ $permission = Permission::updateOrCreate([
'name' => $value['name'], 'name' => $value['name'],
'guard_name' => 'web' // or 'api 'guard_name' => 'web'
], [ ], [ // or 'api
'permission_group_id' => $value['group'] 'permission_group_id' => $value['group']
]); ]);
$roles = Role::all(); $roles = Role::all();
foreach ($roles as $role) { foreach ($roles as $role) {
if ($role->name == 'administrator') { if ($role->name == 'super-administrator') {
$role->givePermissionTo($permission); $role->givePermissionTo($permission);
} else {
if ($permission->name == 'user.read' || $permission->name == 'role.read' || $permission->name == 'permission.read') {
$role->givePermissionTo($permission);
}
} }
} }
} }
} }

View File

@ -26,8 +26,11 @@
public function data() public function data()
{ {
return [ return [
['name' => 'super-administrator'],
['name' => 'administrator'], ['name' => 'administrator'],
['name' => 'user'], ['name' => 'finance'],
['name' => 'procurement'],
['name' => 'sales'],
]; ];
} }
} }

View File

@ -2,10 +2,9 @@
namespace Modules\Usermanager\Database\Seeders; namespace Modules\Usermanager\Database\Seeders;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
class UserManagerDatabaseSeeder extends Seeder class UsermanagerDatabaseSeeder extends Seeder
{ {
/** /**
* Run the database seeds. * Run the database seeds.
@ -14,8 +13,6 @@
*/ */
public function run() public function run()
{ {
Model::unguard();
$this->call([ $this->call([
PermissionGroupSeeder::class, PermissionGroupSeeder::class,
RolesSeeder::class, RolesSeeder::class,

View File

@ -17,24 +17,17 @@
*/ */
public function run(Generator $faker) public function run(Generator $faker)
{ {
$roleAdmin = Role::find(1); $roles = Role::all();
$roleUser = Role::find(2);
$user = User::create([ foreach ($roles as $role) {
'name' => $faker->name, $user = User::create([
'email' => 'demo@demo.com', 'name' => $faker->name,
'password' => Hash::make('demo'), 'email' => $role->name.'@demo.com',
'email_verified_at' => now(), 'password' => Hash::make('demo'),
]); 'email_verified_at' => now(),
]);
$admin = User::create([ $user->assignRole($role);
'name' => $faker->name, }
'email' => 'admin@demo.com',
'password' => Hash::make('demo'),
'email_verified_at' => now(),
]);
$admin->assignRole($roleAdmin,);
$user->assignRole($roleUser);
} }
} }