From b11015ae8fc3ca96e01ed11fdef0d223fc2cbaca Mon Sep 17 00:00:00 2001 From: aslan Date: Wed, 7 Feb 2024 16:34:04 +0300 Subject: [PATCH] refactored Educational Institutions --- .../EducationalInstitutionController.php | 11 +++++++---- app/Models/EducationalInstitution.php | 13 +++++++++++++ .../educational-institution/create.blade.php | 0 .../educational-institution/edit.blade.php | 0 .../educational-institution/index.blade.php | 0 resources/views/layouts/admin-layout.blade.php | 15 ++++++++++----- 6 files changed, 30 insertions(+), 9 deletions(-) rename resources/views/{ => catalog}/educational-institution/create.blade.php (100%) rename resources/views/{ => catalog}/educational-institution/edit.blade.php (100%) rename resources/views/{ => catalog}/educational-institution/index.blade.php (100%) diff --git a/app/Http/Controllers/EducationalInstitutionController.php b/app/Http/Controllers/EducationalInstitutionController.php index db2a7ac..8da1451 100644 --- a/app/Http/Controllers/EducationalInstitutionController.php +++ b/app/Http/Controllers/EducationalInstitutionController.php @@ -14,12 +14,12 @@ class EducationalInstitutionController extends Controller public function index(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application { $educationalInstitutions = EducationalInstitution::all(); - return view('educational-institution.index', compact('educationalInstitutions')); + return view('catalog.educational-institution.index', compact('educationalInstitutions')); } public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application { - return view('educational-institution.create'); + return view('catalog.educational-institution.create'); } public function store(StoreEducationalInstitutionRequest $request) @@ -37,12 +37,12 @@ class EducationalInstitutionController extends Controller public function show(EducationalInstitution $educationalInstitution) { - return view('educational-institution.show', compact('educationalInstitution')); + return view('catalog.educational-institution.show', compact('educationalInstitution')); } public function edit(EducationalInstitution $educationalInstitution) { - return view('educational-institution.edit', compact('educationalInstitution')); + return view('catalog.educational-institution.edit', compact('educationalInstitution')); } public function update(UpdateEducationalInstitutionRequest $request, EducationalInstitution $educationalInstitution) @@ -59,6 +59,9 @@ class EducationalInstitutionController extends Controller public function destroy(EducationalInstitution $educationalInstitution) { + if ($educationalInstitution->faculties()->exists()) { + return back(); + } $educationalInstitution->delete(); return redirect()->route('educational-institutions.index'); diff --git a/app/Models/EducationalInstitution.php b/app/Models/EducationalInstitution.php index d7616a5..db0ac50 100644 --- a/app/Models/EducationalInstitution.php +++ b/app/Models/EducationalInstitution.php @@ -4,8 +4,21 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\HasMany; class EducationalInstitution extends Model { use HasFactory; + + protected $fillable = [ + 'id', + 'name', + 'description', + 'position', + ]; + + public function faculties(): HasMany + { + return $this->hasMany('App\Models\Faculty', 'educational_institution_id'); + } } diff --git a/resources/views/educational-institution/create.blade.php b/resources/views/catalog/educational-institution/create.blade.php similarity index 100% rename from resources/views/educational-institution/create.blade.php rename to resources/views/catalog/educational-institution/create.blade.php diff --git a/resources/views/educational-institution/edit.blade.php b/resources/views/catalog/educational-institution/edit.blade.php similarity index 100% rename from resources/views/educational-institution/edit.blade.php rename to resources/views/catalog/educational-institution/edit.blade.php diff --git a/resources/views/educational-institution/index.blade.php b/resources/views/catalog/educational-institution/index.blade.php similarity index 100% rename from resources/views/educational-institution/index.blade.php rename to resources/views/catalog/educational-institution/index.blade.php diff --git a/resources/views/layouts/admin-layout.blade.php b/resources/views/layouts/admin-layout.blade.php index d89a2e4..a095cd1 100644 --- a/resources/views/layouts/admin-layout.blade.php +++ b/resources/views/layouts/admin-layout.blade.php @@ -13,11 +13,12 @@ -
+
@@ -52,10 +53,14 @@
  • Файлы
  • Экран Приема
  • @if(!is_null(Auth::getUser()) && Auth::getUser()->name === 'admin') -{{--
  • --}} -
  • Список администраторов
  • -
  • Учебные заведения
  • +
  • +
  • Список администраторов
  • @endif +
  • +
  • Справочники
  • +
  • Учебные + заведения
  • +
  • Факультеты
  • @yield('content')