// SYSTEM PANEL //
[ROOT]
/
mnt
/
pleskStorage
/
vhosts
/
kodsolutions.net
/
subdomains
/
go-rent.kodsolutions.net
/
database
/
seeders
[ PARENT ]
EDIT :: MainPermissionsTableDataSeeder.php
<?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use App\Models\Permission\Permission; use Illuminate\Support\Facades\Schema; class MainPermissionsTableDataSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { //create main permission module //php artisan db:seed --class=MainPermissionsTableDataSeeder // ini_set('memory_limit', '-1'); // app()[PermissionRegistrar::class]->forgetCachedPermissions(); /**1 */ Schema::disableForeignKeyConstraints(); DB::table('permissions')->truncate(); Permission::updateOrCreate( ['name' => 'properties.module'], ['guard_name' => 'admin', 'title' => ['ar' => 'العقارات', 'en' => 'Properties Module'], 'name' => 'properties.module'] ); Permission::updateOrCreate( ['name' => 'products.module'], ['guard_name' => 'admin', 'title' => ['ar' => 'المنتجات', 'en' => 'Product Module'], 'name' => 'products.module'] ); Permission::updateOrCreate( ['name' => 'settings.module'], ['guard_name' => 'admin', 'title' => ['ar' => 'إعدادات عامة', 'en' => 'Setting Module'], 'name' => 'settings.module'] ); Permission::updateOrCreate( ['name' => 'expenses.module'], ['guard_name' => 'admin', 'title' => ['ar' => 'المصروفات', 'en' => 'Expenses Module'], 'name' => 'expenses.module'] ); Permission::updateOrCreate( ['name' => 'roles.module'], ['guard_name' => 'admin', 'title' => ['ar' => 'الموظفين والصلاحيات', 'en' => 'Role Module'], 'name' => 'roles.module'] ); Permission::updateOrCreate( ['name' => 'reports.module'], ['guard_name' => 'admin', 'title' => ['ar' => 'التقارير', 'en' => 'Reports Module'], 'name' => 'reports.module'] ); /** sub permission */ Permission::updateOrCreate( ['name' => 'trips', 'parent_id' => 1], ['guard_name' => 'admin', 'title' => ['ar' => 'الرحلات', 'en' => 'Trips'], 'name' => 'trips', 'parent_id' => 1] ); Permission::updateOrCreate( ['name' => 'tickets', 'parent_id' => 1], ['guard_name' => 'admin', 'title' => ['ar' => ' التذاكر', 'en' => 'Tickets'], 'name' => 'tickets', 'parent_id' => 1] ); Permission::updateOrCreate( ['name' => 'buses', 'parent_id' => 1], ['guard_name' => 'admin', 'title' => ['ar' => 'الحافلات', 'en' => 'Buses'], 'name' => 'buses', 'parent_id' => 1] ); Permission::updateOrCreate( ['name' => 'hotels', 'parent_id' => 1], ['guard_name' => 'admin', 'title' => ['ar' => 'الفنادق', 'en' => 'Hotels'], 'name' => 'hotels', 'parent_id' => 1] ); Permission::updateOrCreate( ['name' => 'products', 'parent_id' => 2], ['guard_name' => 'admin', 'title' => ['ar' => ' المنتجات', 'en' => 'Products'], 'name' => 'products', 'parent_id' => 2] ); Permission::updateOrCreate( ['name' => 'orders', 'parent_id' => 2], ['guard_name' => 'admin', 'title' => ['ar' => 'مبيعات المنتجات', 'en' => 'orders'], 'name' => 'orders', 'parent_id' => 2] ); Permission::updateOrCreate( ['name' => 'settings', 'parent_id' => 3], ['guard_name' => 'admin', 'title' => ['ar' => 'الإعدادات ', 'en' => 'settings'], 'name' => 'settings', 'parent_id' => 3] ); Permission::updateOrCreate( ['name' => 'branches', 'parent_id' => 3], ['guard_name' => 'admin', 'title' => ['ar' => 'الفروع ', 'en' => 'Branches'], 'name' => 'branches', 'parent_id' => 3] ); Permission::updateOrCreate( ['name' => 'cities', 'parent_id' => 3], ['guard_name' => 'admin', 'title' => ['ar' => 'المدن ', 'en' => 'Cities'], 'name' => 'cities', 'parent_id' => 3] ); Permission::updateOrCreate( ['name' => 'expenses', 'parent_id' => 4], ['guard_name' => 'admin', 'title' => ['ar' => 'المصروفات', 'en' => 'Expenses'], 'name' => 'expenses', 'parent_id' => 4] ); Permission::updateOrCreate( ['name' => 'roles', 'parent_id' => 5], ['guard_name' => 'admin', 'title' => ['ar' => 'الصلاحيات', 'en' => 'roles'], 'name' => 'roles', 'parent_id' => 5] ); Permission::updateOrCreate( ['name' => 'admins', 'parent_id' => 5], ['guard_name' => 'admin', 'title' => ['ar' => 'الموظفين', 'en' => 'admins'], 'name' => 'admins', 'parent_id' => 5] ); Permission::updateOrCreate( ['name' => 'activities', 'parent_id' => 5], ['guard_name' => 'admin', 'title' => ['ar' => 'أنشطة الموظفين', 'en' => 'activities'], 'name' => 'activities', 'parent_id' => 5] ); Permission::updateOrCreate( ['name' => 'order_reports', 'parent_id' => 6], ['guard_name' => 'admin', 'title' => ['ar' => 'تقارير مبيعات المنتجات', 'en' => 'Sale product reports'], 'name' => 'order_reports', 'parent_id' => 6] ); Permission::updateOrCreate( ['name' => 'trip_reports', 'parent_id' => 6], ['guard_name' => 'admin', 'title' => ['ar' => 'تقارير الرحلات', 'en' => 'Trip reports'], 'name' => 'trip_reports', 'parent_id' => 6] ); Permission::updateOrCreate( ['name' => 'ticket_reports', 'parent_id' => 6], ['guard_name' => 'admin', 'title' => ['ar' => 'تقارير التذاكر', 'en' => 'Ticket reports'], 'name' => 'ticket_reports', 'parent_id' => 6] ); $permissions = [ ['title' => ['ar' => ' الرحلات', 'en' => 'Trips'], 'name' => 'trips', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'التذاكر', 'en' => 'tickets'], 'name' => 'tickets', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'الحافلات', 'en' => 'buses'], 'name' => 'buses', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'الفنادق', 'en' => 'hotels'], 'name' => 'hotels', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'العملاء', 'en' => 'customers'], 'name' => 'customers', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'المنتجات', 'en' => 'Products'], 'name' => 'products', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'مبيعات المنتجات', 'en' => 'Sale Products'], 'name' => 'orders', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'الصلاحيات', 'en' => 'roles'], 'name' => 'roles', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'الموظفين', 'en' => 'Users'], 'name' => 'admins', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'أنشطة الموظفين', 'en' => 'activities'], 'name' => 'activities', 'type' => [0, 3]], ['title' => ['ar' => 'المصروفات', 'en' => 'Expenses'], 'name' => 'expenses', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => 'إعدادات الموقع', 'en' => 'App Settings'], 'name' => 'settings', 'type' => [0, 2]], ['title' => ['ar' => ' المدن', 'en' => 'Cities'], 'name' => 'cities', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => ' الفروع', 'en' => 'Branches'], 'name' => 'branches', 'type' => [0, 1, 2, 3]], ['title' => ['ar' => ' تقارير التذاكر', 'en' => 'Ticket reports'], 'name' => 'ticket_reports', 'type' => [0, 5]], ['title' => ['ar' => ' تقارير الرحلات', 'en' => 'Trip reports'], 'name' => 'trip_reports', 'type' => [0, 5]], ['title' => ['ar' => ' تقارير مبيعات المنتجات', 'en' => 'Order reports'], 'name' => 'order_reports', 'type' => [0, 5]], ]; $crudOperations = [ ['title' => ['ar' => 'عرض', 'en' => 'View'], 'name' => 'index', 'type' => 0], ['title' => ['ar' => 'إضافة', 'en' => 'Create'], 'name' => 'create', 'type' => 1], ['title' => ['ar' => 'تعديل', 'en' => 'Update'], 'name' => 'edit', 'type' => 2], ['title' => ['ar' => 'حذف', 'en' => 'Delete'], 'name' => 'delete', 'type' => 3], ['title' => ['ar' => 'تغيير الحالة', 'en' => 'Change status'], 'name' => 'update-status', 'type' => 4], ['title' => ['ar' => 'طباعة', 'en' => 'Print'], 'name' => 'print', 'type' => 5], ]; foreach ($permissions as $permission) { //get main permission $parent = Permission::where('name', $permission['name'])->first(); if (!empty($parent)) { foreach ($crudOperations as $operation) { if (in_array($operation['type'], $permission['type'])) { Permission::updateOrCreate( [ 'name' => $permission['name'] . '.' . $operation['name'], 'permission_id' => $parent->id, 'type' => $operation['type'], ], [ 'title' => [ 'en' => $operation['title']['en'] . ' ' . $permission['title']['en'], 'ar' => $operation['title']['ar'] . ' ' . $permission['title']['ar'] ], 'name' => $permission['name'] . '.' . $operation['name'], 'permission_id' => $parent->id, 'type' => $operation['type'], 'guard_name' => 'admin' ] ); } } } } } }
SAVE
CANCEL