diff --git a/app/Http/Controllers/Admin/QuizSubjectController.php b/app/Http/Controllers/Admin/QuizSubjectController.php new file mode 100644 index 0000000..5336105 --- /dev/null +++ b/app/Http/Controllers/Admin/QuizSubjectController.php @@ -0,0 +1,44 @@ +latest()->get(); + return view('admin.quiz-subjects.index', compact('subjects')); + } + + public function store(Request $request) + { + $request->validate([ + 'title' => 'required|string|max:255', + ]); + + QuizSubject::create([ + 'title' => $request->title, + // Generate a unique slug for potential API/URL usage + 'slug' => Str::slug($request->title) . '-' . time(), + ]); + + return back()->with('success', 'درس با موفقیت اضافه شد.'); + } + + public function destroy(QuizSubject $quiz_subject) + { + // Prevent deletion if questions are already assigned to this subject + if ($quiz_subject->questions()->count() > 0) { + return back()->with('error', 'این درس دارای سوال است و نمیتواند حذف شود. ابتدا سوالات مربوطه را ویرایش یا حذف کنید.'); + } + + $quiz_subject->delete(); + return back()->with('success', 'درس با موفقیت حذف شد.'); + } +} \ No newline at end of file diff --git a/resources/views/admin/partial/menu.blade.php b/resources/views/admin/partial/menu.blade.php index e528445..77adc7e 100644 --- a/resources/views/admin/partial/menu.blade.php +++ b/resources/views/admin/partial/menu.blade.php @@ -60,6 +60,13 @@ +
| عنوان درس | +تعداد سوالات مرتبط | +عملیات | +
|---|---|---|
| {{ $subject->title }} | ++ {{ $subject->questions_count }} سوال + | ++ + | +
| هیچ درسی یافت نشد. | +||