admin module added

This commit is contained in:
2024-04-14 18:29:29 +05:45
parent c7c79e69a5
commit efe174e3b3
63 changed files with 1454 additions and 182 deletions

View File

@ -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);

View File

@ -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);
}
/**