|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/erp.theinteractive.co.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Models\Branch;
use App\Models\Trainer;
use Illuminate\Http\Request;
class TrainerController extends Controller
{
public function index()
{
if(\Auth::user()->can('manage trainer'))
{
$trainers = Trainer::where('created_by', '=', \Auth::user()->creatorId())->with('branches')->get();
return view('trainer.index', compact('trainers'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function create()
{
if(\Auth::user()->can('create trainer'))
{
$branches = Branch::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
return view('trainer.create', compact('branches'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function store(Request $request)
{
if(\Auth::user()->can('create trainer'))
{
$validator = \Validator::make(
$request->all(), [
'branch' => 'required',
'firstname' => 'required',
'lastname' => 'required',
'contact' => 'required',
'email' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$trainer = new Trainer();
$trainer->branch = $request->branch;
$trainer->firstname = $request->firstname;
$trainer->lastname = $request->lastname;
$trainer->contact = $request->contact;
$trainer->email = $request->email;
$trainer->address = $request->address;
$trainer->expertise = $request->expertise;
$trainer->created_by = \Auth::user()->creatorId();
$trainer->save();
return redirect()->route('trainer.index')->with('success', __('Trainer successfully created.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function show(Trainer $trainer)
{
return view('trainer.show', compact('trainer'));
}
public function edit(Trainer $trainer)
{
if(\Auth::user()->can('edit trainer'))
{
$branches = Branch::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
return view('trainer.edit', compact('branches', 'trainer'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function update(Request $request, Trainer $trainer)
{
if(\Auth::user()->can('edit trainer'))
{
$validator = \Validator::make(
$request->all(), [
'branch' => 'required',
'firstname' => 'required',
'lastname' => 'required',
'contact' => 'required',
'email' => 'required',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$trainer->branch = $request->branch;
$trainer->firstname = $request->firstname;
$trainer->lastname = $request->lastname;
$trainer->contact = $request->contact;
$trainer->email = $request->email;
$trainer->address = $request->address;
$trainer->expertise = $request->expertise;
$trainer->save();
return redirect()->route('trainer.index')->with('success', __('Trainer successfully updated.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function destroy(Trainer $trainer)
{
if(\Auth::user()->can('delete trainer'))
{
if($trainer->created_by == \Auth::user()->creatorId())
{
$trainer->delete();
return redirect()->route('trainer.index')->with('success', __('Trainer successfully deleted.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
}