diff --git a/app/Policies/PagePolicy.php b/app/Policies/PagePolicy.php index 1c5d14d..f94c7d1 100644 --- a/app/Policies/PagePolicy.php +++ b/app/Policies/PagePolicy.php @@ -11,6 +11,13 @@ use Illuminate\Auth\Access\HandlesAuthorization; class PagePolicy { use HandlesAuthorization; + + public function before(AuthUser $user, $ability) + { + if ($user->hasRole('super_admin')) { + return true; + } + } public function viewAny(AuthUser $authUser): bool { diff --git a/check-permissions.php b/check-permissions.php new file mode 100644 index 0000000..c7a6a4e --- /dev/null +++ b/check-permissions.php @@ -0,0 +1,20 @@ +make('Illuminate\Contracts\Console\Kernel')->bootstrap(); + +use App\Models\User; + +$user = User::where('email', 'admin@truncgil.com')->first(); + +if (!$user) { + echo "User not found!\n"; + exit(1); +} + +echo "User: {$user->name} ({$user->email})\n"; +echo "Roles: " . $user->roles->pluck('name')->implode(', ') . "\n"; +echo "Permissions: " . $user->getAllPermissions()->pluck('name')->implode(', ') . "\n"; +echo "Is Super Admin: " . ($user->hasRole('super_admin') ? 'YES' : 'NO') . "\n"; diff --git a/database/seeders/PageSeeder.php b/database/seeders/PageSeeder.php index 41b6a37..6cebc3f 100644 --- a/database/seeders/PageSeeder.php +++ b/database/seeders/PageSeeder.php @@ -33,7 +33,7 @@ class PageSeeder extends Seeder 'template' => 'home', 'status' => 'published', 'is_homepage' => true, - 'show_in_menu' => true, + 'show_in_menu' => false, 'sort_order' => 1, 'published_at' => now(), 'meta_title' => 'Truncgil Teknoloji - Kurumsal', @@ -54,7 +54,7 @@ class PageSeeder extends Seeder 'status' => 'published', 'is_homepage' => false, 'show_in_menu' => true, - 'sort_order' => 2, + 'sort_order' => 1, 'published_at' => now(), ] ); @@ -95,6 +95,42 @@ class PageSeeder extends Seeder ] ); + // 2.3 Kitaplarımız (Child of Kurumsal) + Page::updateOrCreate( + ['slug' => 'kitaplarimiz'], + [ + 'author_id' => $author->id, + 'parent_id' => $corporate->id, + 'title' => 'Kitaplarımız', + 'excerpt' => 'Yayınladığımız kitaplar', + 'content' => null, + 'template' => 'books.books', + 'status' => 'published', + 'is_homepage' => false, + 'show_in_menu' => true, + 'sort_order' => 3, + 'published_at' => now(), + ] + ); + + // 2.4 Banka Bilgilerimiz (Child of Kurumsal) + Page::updateOrCreate( + ['slug' => 'banka-bilgilerimiz'], + [ + 'author_id' => $author->id, + 'parent_id' => $corporate->id, + 'title' => 'Banka Bilgilerimiz', + 'excerpt' => 'Banka hesap bilgilerimiz', + 'content' => '

Banka hesap bilgilerimiz burada yer alacaktır.

', + 'template' => 'generic', + 'status' => 'published', + 'is_homepage' => false, + 'show_in_menu' => true, + 'sort_order' => 4, + 'published_at' => now(), + ] + ); + // 3. Ürünlerimiz (Mega Menu Target) Page::updateOrCreate( ['slug' => 'urunlerimiz'], @@ -107,12 +143,46 @@ class PageSeeder extends Seeder 'status' => 'published', 'is_homepage' => false, 'show_in_menu' => true, + 'sort_order' => 2, + 'published_at' => now(), + ] + ); + + // 4. Kariyer + Page::updateOrCreate( + ['slug' => 'kariyer'], + [ + 'author_id' => $author->id, + 'title' => 'Kariyer', + 'excerpt' => 'Kariyer fırsatları', + 'content' => '

Kariyer içeriği...

', + 'template' => 'generic', + 'status' => 'published', + 'is_homepage' => false, + 'show_in_menu' => true, 'sort_order' => 3, 'published_at' => now(), ] ); - // 4. Blog + // 5. Neler Yaparız + Page::updateOrCreate( + ['slug' => 'neler-yapariz'], + [ + 'author_id' => $author->id, + 'title' => 'Neler Yaparız', + 'excerpt' => 'Hizmetlerimiz ve çözümlerimiz', + 'content' => null, + 'template' => 'neler-yapariz', + 'status' => 'published', + 'is_homepage' => false, + 'show_in_menu' => true, + 'sort_order' => 4, + 'published_at' => now(), + ] + ); + + // 6. Blog Page::updateOrCreate( ['slug' => 'blog'], [ @@ -124,12 +194,12 @@ class PageSeeder extends Seeder 'status' => 'published', 'is_homepage' => false, 'show_in_menu' => true, - 'sort_order' => 4, + 'sort_order' => 5, 'published_at' => now(), ] ); - // 5. İletişim + // 7. İletişim Page::updateOrCreate( ['slug' => 'iletisim'], [ @@ -141,7 +211,7 @@ class PageSeeder extends Seeder 'status' => 'published', 'is_homepage' => false, 'show_in_menu' => true, - 'sort_order' => 5, + 'sort_order' => 6, 'published_at' => now(), ] ); diff --git a/fix-permissions.php b/fix-permissions.php new file mode 100644 index 0000000..0f1a157 --- /dev/null +++ b/fix-permissions.php @@ -0,0 +1,28 @@ +make('Illuminate\Contracts\Console\Kernel')->bootstrap(); + +use App\Models\User; +use Spatie\Permission\Models\Role; + +// İlk kullanıcıyı al +$user = User::first(); + +if (!$user) { + echo "No user found!\n"; + exit(1); +} + +echo "User found: {$user->email}\n"; + +// Super admin rolü var mı kontrol et +$superAdminRole = Role::firstOrCreate(['name' => 'super_admin']); + +// Kullanıcıya rolü ata +$user->assignRole($superAdminRole); + +echo "Super admin role assigned successfully!\n"; +echo "User: {$user->name} ({$user->email})\n"; diff --git a/public/assets/img/photos/adobe-premiere-book.jpg b/public/assets/img/photos/adobe-premiere-book.jpg new file mode 100644 index 0000000..08cec43 Binary files /dev/null and b/public/assets/img/photos/adobe-premiere-book.jpg differ diff --git a/public/assets/img/photos/php-eticaret-book.jpg b/public/assets/img/photos/php-eticaret-book.jpg new file mode 100644 index 0000000..712f1eb Binary files /dev/null and b/public/assets/img/photos/php-eticaret-book.jpg differ diff --git a/public/assets/img/photos/tensorflow-book-real.jpg b/public/assets/img/photos/tensorflow-book-real.jpg new file mode 100644 index 0000000..64d1fd7 Binary files /dev/null and b/public/assets/img/photos/tensorflow-book-real.jpg differ diff --git a/public/assets/img/photos/tensorflow-book.png b/public/assets/img/photos/tensorflow-book.png new file mode 100644 index 0000000..0ded590 Binary files /dev/null and b/public/assets/img/photos/tensorflow-book.png differ diff --git a/resources/views/components/front/header.blade.php b/resources/views/components/front/header.blade.php index 76a85b0..7b39b3c 100644 --- a/resources/views/components/front/header.blade.php +++ b/resources/views/components/front/header.blade.php @@ -18,15 +18,17 @@ $menuItems = \App\Models\Page::with(['children' => function ($query) { ->orderBy('title', 'asc') ->get(); -$midPoint = ceil($menuItems->count() / 2); -$leftMenuItems = $menuItems->slice(0, $midPoint); -$rightMenuItems = $menuItems->slice($midPoint); +// Check if we're on homepage - multiple checks for reliability +$currentRoute = request()->route() ? request()->route()->getName() : null; +$currentPath = request()->path(); +$isHomepage = $currentRoute === 'homepage' || $currentPath === '/' || request()->is('/'); @endphp -
-