admin module added
This commit is contained in:
@ -5,19 +5,22 @@ namespace Modules\Leave\Http\Controllers;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\Employee\Repositories\EmployeeInterface;
|
||||
use Modules\Leave\Repositories\LeaveInterface;
|
||||
use Modules\Employee\Repositories\EmployeeRepository;
|
||||
use Modules\Leave\Repositories\LeaveRepository;
|
||||
use Modules\Leave\Repositories\LeaveTypeRepository;
|
||||
use Yoeunes\Toastr\Facades\Toastr;
|
||||
|
||||
class LeaveController extends Controller
|
||||
{
|
||||
private $leaveRepository;
|
||||
private $employeeRepository;
|
||||
private $leaveTypeRepository;
|
||||
|
||||
public function __construct(LeaveInterface $leaveRepository, EmployeeInterface $employeeRepository)
|
||||
public function __construct(LeaveRepository $leaveRepository, EmployeeRepository $employeeRepository, LeaveTypeRepository $leaveTypeRepository)
|
||||
{
|
||||
$this->leaveRepository = $leaveRepository;
|
||||
$this->employeeRepository = $employeeRepository;
|
||||
$this->leaveTypeRepository = $leaveTypeRepository;
|
||||
|
||||
$this->middleware('role_or_permission:access leaves|create leaves|edit leaves|delete leaves', ['only' => ['index', 'show']]);
|
||||
$this->middleware('role_or_permission:create leaves', ['only' => ['create', 'store']]);
|
||||
@ -42,7 +45,9 @@ class LeaveController extends Controller
|
||||
public function create()
|
||||
{
|
||||
$data['title'] = 'Create Leave';
|
||||
$data['editable'] = false;
|
||||
$data['employeeList'] = $this->employeeRepository->pluck();
|
||||
$data['leaveTypeList'] = $this->leaveTypeRepository->pluck();
|
||||
return view('leave::leave.create', $data);
|
||||
}
|
||||
|
||||
@ -76,6 +81,8 @@ class LeaveController extends Controller
|
||||
{
|
||||
$data['title'] = 'Edit Leave';
|
||||
|
||||
$data['editable'] = true;
|
||||
|
||||
$data['leave'] = $this->leaveRepository->getLeaveById($id);
|
||||
|
||||
return view('leave::leave.edit', $data);
|
||||
|
@ -5,18 +5,14 @@ namespace Modules\Leave\Http\Controllers;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\Leave\Repositories\LeaveInterface;
|
||||
use Modules\Leave\Repositories\LeaveTypeInterface;
|
||||
|
||||
class LeaveTypeController extends Controller
|
||||
{
|
||||
|
||||
private $leaveRepository;
|
||||
private $leaveTypeRepository;
|
||||
|
||||
public function __construct(LeaveInterface $leaveRepository, LeaveTypeInterface $leaveTypeRepository)
|
||||
public function __construct(LeaveTypeInterface $leaveTypeRepository)
|
||||
{
|
||||
$this->leaveRepository = $leaveRepository;
|
||||
$this->leaveTypeRepository = $leaveTypeRepository;
|
||||
}
|
||||
/**
|
||||
@ -24,7 +20,8 @@ class LeaveTypeController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$data['leaveTypes'] = $this->leaveTypeRepository->findAll();
|
||||
$data['title'] = 'LeaveType List';
|
||||
$data['leaveTypeLists'] = $this->leaveTypeRepository->findAll();
|
||||
return view('leave::leave-type.index', $data);
|
||||
}
|
||||
|
||||
@ -33,7 +30,9 @@ class LeaveTypeController extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$data['title'] = 'Create Leave Type';
|
||||
$data['title'] = 'Create LeaveType';
|
||||
|
||||
$data['editable'] = false;
|
||||
|
||||
return view('leave::leave-type.create', $data);
|
||||
}
|
||||
@ -43,7 +42,12 @@ class LeaveTypeController extends Controller
|
||||
*/
|
||||
public function store(Request $request): RedirectResponse
|
||||
{
|
||||
//
|
||||
try {
|
||||
$this->leaveTypeRepository->create($request->all());
|
||||
return redirect()->route('leaveType.index')->with('success', 'Leave Type Created Successfully');
|
||||
} catch (\Throwable $th) {
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -59,7 +63,11 @@ class LeaveTypeController extends Controller
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
return view('leave::leave-type.edit');
|
||||
$data['editable'] = false;
|
||||
|
||||
$data['title'] = 'Edit LeaveType';
|
||||
|
||||
return view('leave::leave-type.edit', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user