Compare commits

...

5 Commits
master ... erp

5 changed files with 25 additions and 33 deletions

View File

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

View File

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

View File

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

View File

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

View File

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