<?php
namespace App\Http\Controllers;
use Laracasts\Flash\Flash;
use App\Models\User;
use App\Models\Course;
use App\Models\Trainer;
use Illuminate\Http\Request;
use App\Http\Controllers\AppBaseController;
use App\Repositories\CourseTrainerRepository;
use App\Http\Requests\CreateCourseTrainerRequest;
use App\Http\Requests\UpdateCourseTrainerRequest;
class CourseTrainerController extends AppBaseController
{
/** @var CourseTrainerRepository $courseTrainerRepository*/
private $courseTrainerRepository;
public function __construct(CourseTrainerRepository $courseTrainerRepo)
{
$this->middleware('permission:courseTrainers.index', ['only' => ['index','show']]);
$this->middleware('permission:courseTrainers.create', ['only' => ['create','store']]);
$this->middleware('permission:courseTrainers.edit', ['only' => ['edit','update']]);
$this->middleware('permission:courseTrainers.destroy', ['only' => ['destroy']]);
$this->courseTrainerRepository = $courseTrainerRepo;
}
/**
* Display a listing of the CourseTrainer.
*/
public function index(Request $request)
{
$courseTrainers = $this->courseTrainerRepository->paginate(10);
return view('course_trainers.index')
->with('courseTrainers', $courseTrainers);
}
/**
* Show the form for creating a new CourseTrainer.
*/
public function create()
{
$Course=Course::pluck('name','id');
$Trainer=Trainer::pluck('full_name','id');
return view('course_trainers.create',compact('Course','Trainer'));
}
/**
* Store a newly created CourseTrainer in storage.
*/
public function store(CreateCourseTrainerRequest $request)
{
$input = $request->all();
$courseTrainer = $this->courseTrainerRepository->create($input);
Flash::success('Course Trainer saved successfully.');
return redirect(route('courseTrainers.index'));
}
/**
* Display the specified CourseTrainer.
*/
public function show($id)
{
$courseTrainer = $this->courseTrainerRepository->find($id);
if (empty($courseTrainer)) {
Flash::error('Course Trainer not found');
return redirect(route('courseTrainers.index'));
}
return view('course_trainers.show')->with('courseTrainer', $courseTrainer);
}
/**
* Show the form for editing the specified CourseTrainer.
*/
public function edit($id)
{
$courseTrainer = $this->courseTrainerRepository->find($id);
$Course=Course::pluck('name','id');
$Trainer=Trainer::pluck('full_name','id');
if (empty($courseTrainer)) {
Flash::error('Course Trainer not found');
return redirect(route('courseTrainers.index'));
}
return view('course_trainers.edit',compact('Course','Trainer'))->with('courseTrainer', $courseTrainer);
}
/**
* Update the specified CourseTrainer in storage.
*/
public function update($id, UpdateCourseTrainerRequest $request)
{
$courseTrainer = $this->courseTrainerRepository->find($id);
if (empty($courseTrainer)) {
Flash::error('Course Trainer not found');
return redirect(route('courseTrainers.index'));
}
$courseTrainer = $this->courseTrainerRepository->update($request->all(), $id);
Flash::success('Course Trainer updated successfully.');
return redirect(route('courseTrainers.index'));
}
/**
* Remove the specified CourseTrainer from storage.
*
* @throws \Exception
*/
public function destroy($id)
{
$courseTrainer = $this->courseTrainerRepository->find($id);
if (empty($courseTrainer)) {
Flash::error('Course Trainer not found');
return redirect(route('courseTrainers.index'));
}
$this->courseTrainerRepository->delete($id);
Flash::success('Course Trainer deleted successfully.');
return redirect(route('courseTrainers.index'));
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]