|
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\Department;
use Illuminate\Http\Request;
class DepartmentController extends Controller
{
public function index()
{
if(\Auth::user()->can('manage department'))
{
$departments = Department::where('created_by', '=', \Auth::user()->creatorId())->get();
return view('department.index', compact('departments'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function create()
{
if(\Auth::user()->can('create department'))
{
$branch = Branch::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
return view('department.create', compact('branch'));
}
else
{
return response()->json(['error' => __('Permission denied.')], 401);
}
}
public function store(Request $request)
{
if(\Auth::user()->can('create department'))
{
$validator = \Validator::make(
$request->all(), [
'branch_id' => 'required',
'name' => 'required|max:20',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$department = new Department();
$department->branch_id = $request->branch_id;
$department->name = $request->name;
$department->created_by = \Auth::user()->creatorId();
$department->save();
return redirect()->route('department.index')->with('success', __('Department successfully created.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function show(Department $department)
{
return redirect()->route('department.index');
}
public function edit(Department $department)
{
if(\Auth::user()->can('edit department'))
{
if($department->created_by == \Auth::user()->creatorId())
{
$branch = Branch::where('created_by', \Auth::user()->creatorId())->get()->pluck('name', 'id');
return view('department.edit', compact('department', 'branch'));
}
else
{
return response()->json(['error' => __('Permission denied.')], 401);
}
}
else
{
return response()->json(['error' => __('Permission denied.')], 401);
}
}
public function update(Request $request, Department $department)
{
if(\Auth::user()->can('edit department'))
{
if($department->created_by == \Auth::user()->creatorId())
{
$validator = \Validator::make(
$request->all(), [
'branch_id' => 'required',
'name' => 'required|max:20',
]
);
if($validator->fails())
{
$messages = $validator->getMessageBag();
return redirect()->back()->with('error', $messages->first());
}
$department->branch_id = $request->branch_id;
$department->name = $request->name;
$department->save();
return redirect()->route('department.index')->with('success', __('Department successfully updated.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
public function destroy(Department $department)
{
if(\Auth::user()->can('delete department'))
{
if($department->created_by == \Auth::user()->creatorId())
{
$department->delete();
return redirect()->route('department.index')->with('success', __('Department successfully deleted.'));
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
else
{
return redirect()->back()->with('error', __('Permission denied.'));
}
}
}