diff --git a/Modules/Admin/app/Http/Controllers/AppreciationController.php b/Modules/Admin/app/Http/Controllers/AppreciationController.php
new file mode 100644
index 0000000..e300b18
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/AppreciationController.php
@@ -0,0 +1,85 @@
+appreciationRepository = $appreciationRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = "Appreciation Lists";
+ $data['appreciationLists'] = $this->appreciationRepository->findAll();
+ return view('admin::appreciations.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = "Create Appreciation";
+ $data['editable'] = false;
+ return view('admin::appreciations.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ $this->appreciationRepository->create($request->all());
+ toastr()->success('Appreciation Created Successfully.');
+ return redirect()->route('appreciation.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::appreciations.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ $data['title'] = "Edit Appreciation";
+ $data['editable'] = true;
+ $data['appreciation'] = $this->appreciationRepository->getAppreciationById($id);
+ return view('admin::appreciations.edit', $data);
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ $this->appreciationRepository->update($id, $request->all());
+ toastr()->success('Appreciation Updated Successfully.');
+ return redirect()->route('appreciation.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ //
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/CalendarController.php b/Modules/Admin/app/Http/Controllers/CalendarController.php
new file mode 100644
index 0000000..0adfae3
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/CalendarController.php
@@ -0,0 +1,67 @@
+companyRepository = $companyRepository;
+ $this->adminService = $adminService;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Company Lists';
+ $data['companyLists'] = $this->companyRepository->findAll();
+ return view('admin::companies.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Company';
+ $data['editable'] = false;
+ $data['companyTypeLists'] = $this->adminService->pluckCompanyTypes();
+ return view('admin::companies.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->companyRepository->create($request->all());
+ toastr()->success('Company Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('company.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::companies.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Company';
+ $data['editable'] = true;
+ $data['companyTypeLists'] = $this->adminService->pluckCompanyTypes();
+ $data['company'] = $this->companyRepository->getCompanyById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::companies.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->companyRepository->update($id, $request->all());
+ toastr()->success('Company Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('company.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->companyRepository->delete($id);
+ toastr()->success('Company Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('company.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/CompanyTypeController.php b/Modules/Admin/app/Http/Controllers/CompanyTypeController.php
new file mode 100644
index 0000000..7037340
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/CompanyTypeController.php
@@ -0,0 +1,109 @@
+companyTypeRepository = $companyTypeRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Company Type Lists';
+ $data['companyTypeLists'] = $this->companyTypeRepository->findAll();
+ return view('admin::companytypes.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Company Type';
+ $data['editable'] = false;
+ return view('admin::companytypes.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->companyTypeRepository->create($request->all());
+ toastr()->success('Company Type Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('companyType.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::companytypes.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Company Type';
+ $data['editable'] = true;
+ $data['companyType'] = $this->companyTypeRepository->getCompanyById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::companytypes.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->companyTypeRepository->update($id, $request->all());
+ toastr()->success('Company Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('company.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->companyTypeRepository->delete($id);
+ toastr()->success('Company Type Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('companyType.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/ComplaintController.php b/Modules/Admin/app/Http/Controllers/ComplaintController.php
new file mode 100644
index 0000000..304e180
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/ComplaintController.php
@@ -0,0 +1,109 @@
+complaintRepository = $complaintRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Complaint Lists';
+ $data['complaintLists'] = $this->complaintRepository->findAll();
+ return view('admin::complaints.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Complaint';
+ $data['editable'] = false;
+ return view('admin::complaints.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->complaintRepository->create($request->all());
+ toastr()->success('Complaint Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('complaint.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::complaints.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Complaint';
+ $data['editable'] = true;
+ $data['complaint'] = $this->complaintRepository->getComplaintById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::complaints.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->complaintRepository->update($id, $request->all());
+ toastr()->success('Complaint Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('complaint.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->complaintRepository->delete($id);
+ toastr()->success('Complaint Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('complaint.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/DepartmentsController.php b/Modules/Admin/app/Http/Controllers/DepartmentsController.php
new file mode 100644
index 0000000..b30308b
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/DepartmentsController.php
@@ -0,0 +1,218 @@
+modelService = new CommonModelService($model);
+ }
+ public function index(Request $request)
+ {
+
+ $data = Departments::where('status', '<>', -1)->orderBy('display_order')->get();
+
+ return view("admin::departments.index", compact('data'));
+ }
+
+ public function create(Request $request)
+ {
+
+ $TableData = Departments::where('status', '<>', -1)->orderBy('display_order')->get();
+ $editable = false;
+ return view("admin::departments.edit", compact('TableData', 'editable'));
+ }
+
+ public function store(Request $request)
+ {
+
+ $validator = Validator::make($request->all(), [
+ //ADD REQUIRED FIELDS FOR VALIDATION
+ ]);
+
+ if ($validator->fails()) {
+ return response()->json([
+ 'error' => $validator->errors(),
+ ], 500);
+ }
+ $request->request->add(['alias' => slugify($request->title)]);
+ $request->request->add(['display_order' => getDisplayOrder('tbl_departments')]);
+ $request->request->add(['created_at' => date("Y-m-d h:i:s")]);
+ $request->request->add(['updated_at' => date("Y-m-d h:i:s")]);
+ $requestData = $request->all();
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL') . '/', '', $value);
+ });
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL'), '', $value);
+ });
+ DB::beginTransaction();
+ try {
+ $operationNumber = getOperationNumber();
+ $this->modelService->create($operationNumber, $operationNumber, null, $requestData);
+ } catch (\Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DepartmentsController::class, 'store', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ if ($request->ajax()) {
+ return response()->json(['status' => true, 'message' => 'The Departments Created Successfully.'], 200);
+ }
+ return redirect()->route('department.index')->with('success', 'The Departments created Successfully.');
+ }
+
+ public function sort(Request $request)
+ {
+ $idOrder = $request->input('id_order');
+
+ foreach ($idOrder as $index => $id) {
+ $companyArticle = Departments::find($id);
+ $companyArticle->display_order = $index + 1;
+ $companyArticle->save();
+ }
+
+ return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
+ }
+ public function updatealias(Request $request)
+ {
+
+ $articleId = $request->input('articleId');
+ $newAlias = $request->input('newAlias');
+ $companyArticle = Departments::find($articleId);
+ if (!$companyArticle) {
+ return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
+ }
+ $companyArticle->alias = $newAlias;
+ $companyArticle->save();
+ return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
+ }
+
+
+
+
+ public function show(Request $request, $id)
+ {
+
+ $data = Departments::findOrFail($id);
+
+ return view("admin::departments.show", compact('data'));
+ }
+
+
+ public function edit(Request $request, $id)
+ {
+
+ $TableData = Departments::where('status', '<>', -1)->orderBy('display_order')->get();
+ $data = Departments::findOrFail($id);
+ $editable = true;
+ return view("admin::departments.edit", compact('data', 'TableData', 'editable'));
+ }
+
+
+ public function update(Request $request, $id)
+ {
+
+ $validator = Validator::make($request->all(), [
+ //ADD VALIDATION FOR REQIRED FIELDS
+ ]);
+
+ if ($validator->fails()) {
+ return response()->json([
+ 'error' => $validator->errors(),
+ ], 500);
+ }
+ $requestData = $request->all();
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL') . '/', '', $value);
+ });
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL'), '', $value);
+ });
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $request->input('department_id'));
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DepartmentsController::class, 'update', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ if ($request->ajax()) {
+ return response()->json(['status' => true, 'message' => 'The Departments updated Successfully.'], 200);
+ }
+ // return redirect()->route('departments.index')->with('success','The Departments updated Successfully.');
+ return redirect()->back()->with('success', 'The Departments updated successfully.');
+ }
+
+ public function destroy(Request $request, $id)
+ {
+
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->destroy($OperationNumber, $OperationNumber, $id);
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DepartmentsController::class, 'destroy', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ return response()->json(['status' => true, 'message' => 'The Departments Deleted Successfully.'], 200);
+ }
+ public function toggle(Request $request, $id)
+ {
+
+ $data = Departments::findOrFail($id);
+ $requestData = ['status' => ($data->status == 1) ? 0 : 1];
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DepartmentsController::class, 'destroy', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ return response()->json(['status' => true, 'message' => 'The Departments Deleted Successfully.'], 200);
+ }
+ public function clone(Request $request, $id)
+ {
+
+ $data = Departments::findOrFail($id);
+ unset($data['updatedby']);
+ unset($data['createdby']);
+ $requestData = $data->toArray();
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->create($OperationNumber, $OperationNumber, null, $requestData);
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DepartmentsController::class, 'clone', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ return response()->json(['status' => true, 'message' => 'The Departments Clonned Successfully.'], 200);
+ }
+
+
+
+}
diff --git a/Modules/Admin/app/Http/Controllers/DesignationsController.php b/Modules/Admin/app/Http/Controllers/DesignationsController.php
new file mode 100644
index 0000000..35cd12e
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/DesignationsController.php
@@ -0,0 +1,209 @@
+modelService = new CommonModelService($model);
+ }
+ public function index(Request $request)
+ {
+ $data = Designations::where('status', '<>', -1)->orderBy('display_order')->get();
+
+ return view("admin::designations.index", compact('data'));
+ }
+
+ public function create(Request $request)
+ {
+ $TableData = Designations::where('status', '<>', -1)->orderBy('display_order')->get();
+ $editable = false;
+ return view("admin::designations.edit", compact('TableData', 'editable'));
+ }
+
+ public function store(Request $request)
+ {
+ $validator = Validator::make($request->all(), [
+ //ADD REQUIRED FIELDS FOR VALIDATION
+ ]);
+
+ if ($validator->fails()) {
+ return response()->json([
+ 'error' => $validator->errors(),
+ ], 500);
+ }
+ $request->request->add(['alias' => slugify($request->title)]);
+ $request->request->add(['display_order' => getDisplayOrder('tbl_designations')]);
+ $request->request->add(['created_at' => date("Y-m-d h:i:s")]);
+ $request->request->add(['updated_at' => date("Y-m-d h:i:s")]);
+ $requestData = $request->all();
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL') . '/', '', $value);
+ });
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL'), '', $value);
+ });
+ DB::beginTransaction();
+ try {
+ $operationNumber = getOperationNumber();
+ $this->modelService->create($operationNumber, $operationNumber, null, $requestData);
+ } catch (\Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DesignationsController::class, 'store', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ if ($request->ajax()) {
+ return response()->json(['status' => true, 'message' => 'The Designations Created Successfully.'], 200);
+ }
+ return redirect()->route('designation.index')->with('success', 'The Designations created Successfully.');
+ }
+
+ public function sort(Request $request)
+ {
+ $idOrder = $request->input('id_order');
+
+ foreach ($idOrder as $index => $id) {
+ $companyArticle = Designations::find($id);
+ $companyArticle->display_order = $index + 1;
+ $companyArticle->save();
+ }
+
+ return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
+ }
+ public function updatealias(Request $request)
+ {
+
+ $articleId = $request->input('articleId');
+ $newAlias = $request->input('newAlias');
+ $companyArticle = Designations::find($articleId);
+ if (!$companyArticle) {
+ return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
+ }
+ $companyArticle->alias = $newAlias;
+ $companyArticle->save();
+ return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
+ }
+
+
+
+
+ public function show(Request $request, $id)
+ {
+ $data = Designations::findOrFail($id);
+
+ return view("admin::designations.show", compact('data'));
+ }
+
+
+ public function edit(Request $request, $id)
+ {
+ $TableData = Designations::where('status', '<>', -1)->orderBy('display_order')->get();
+ $data = Designations::findOrFail($id);
+ $editable = true;
+ return view("admin::designations.edit", compact('data', 'TableData', 'editable'));
+ }
+
+
+ public function update(Request $request, $id)
+ {
+ $validator = Validator::make($request->all(), [
+ //ADD VALIDATION FOR REQIRED FIELDS
+ ]);
+
+ if ($validator->fails()) {
+ return response()->json([
+ 'error' => $validator->errors(),
+ ], 500);
+ }
+ $requestData = $request->all();
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL') . '/', '', $value);
+ });
+ array_walk_recursive($requestData, function (&$value) {
+ $value = str_replace(env('APP_URL'), '', $value);
+ });
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $request->input('designation_id'));
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DesignationsController::class, 'update', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ if ($request->ajax()) {
+ return response()->json(['status' => true, 'message' => 'The Designations updated Successfully.'], 200);
+ }
+ // return redirect()->route('designations.index')->with('success','The Designations updated Successfully.');
+ return redirect()->back()->with('success', 'The Designations updated successfully.');
+ }
+
+ public function destroy(Request $request, $id)
+ {
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->destroy($OperationNumber, $OperationNumber, $id);
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DesignationsController::class, 'destroy', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ return response()->json(['status' => true, 'message' => 'The Designations Deleted Successfully.'], 200);
+ }
+ public function toggle(Request $request, $id)
+ {
+ $data = Designations::findOrFail($id);
+ $requestData = ['status' => ($data->status == 1) ? 0 : 1];
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DesignationsController::class, 'destroy', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ return response()->json(['status' => true, 'message' => 'The Designations Deleted Successfully.'], 200);
+ }
+ public function clone(Request $request, $id)
+ {
+ $data = Designations::findOrFail($id);
+ unset($data['updatedby']);
+ unset($data['createdby']);
+ $requestData = $data->toArray();
+ DB::beginTransaction();
+ try {
+ $OperationNumber = getOperationNumber();
+ $this->modelService->create($OperationNumber, $OperationNumber, null, $requestData);
+ } catch (Exception $e) {
+ DB::rollBack();
+ Log::info($e->getMessage());
+ createErrorLog(DesignationsController::class, 'clone', $e->getMessage());
+ return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
+ }
+ DB::commit();
+ return response()->json(['status' => true, 'message' => 'The Designations Clonned Successfully.'], 200);
+ }
+
+
+
+}
diff --git a/Modules/Admin/app/Http/Controllers/EventController.php b/Modules/Admin/app/Http/Controllers/EventController.php
new file mode 100644
index 0000000..32f3d86
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/EventController.php
@@ -0,0 +1,109 @@
+eventRepository = $eventRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Event Lists';
+ $data['eventLists'] = $this->eventRepository->findAll();
+ return view('admin::events.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Event';
+ $data['editable'] = false;
+ return view('admin::events.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->eventRepository->create($request->all());
+ toastr()->success('Event Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('event.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::events.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Event';
+ $data['editable'] = true;
+ $data['event'] = $this->eventRepository->getEventById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::events.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->eventRepository->update($id, $request->all());
+ toastr()->success('Event Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('event.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->eventRepository->delete($id);
+ toastr()->success('Event Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('event.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/HolidayController.php b/Modules/Admin/app/Http/Controllers/HolidayController.php
new file mode 100644
index 0000000..1b5b694
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/HolidayController.php
@@ -0,0 +1,109 @@
+holidayRepository = $holidayRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Holiday Lists';
+ $data['holidayLists'] = $this->holidayRepository->findAll();
+ return view('admin::holidays.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Holiday';
+ $data['editable'] = false;
+ return view('admin::holidays.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->holidayRepository->create($request->all());
+ toastr()->success('Holiday Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('holiday.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::holidays.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Holiday';
+ $data['editable'] = true;
+ $data['holiday'] = $this->holidayRepository->getHolidayById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::holidays.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->holidayRepository->update($id, $request->all());
+ toastr()->success('Holiday Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('holiday.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->holidayRepository->delete($id);
+ toastr()->success('Holiday Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('holiday.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/PromotionDemotionController.php b/Modules/Admin/app/Http/Controllers/PromotionDemotionController.php
new file mode 100644
index 0000000..cd9686c
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/PromotionDemotionController.php
@@ -0,0 +1,87 @@
+promotionDemotionRepository = $promotionDemotionRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+
+ public function index()
+ {
+ $data['title'] = "Promotion/ Demotion Lists";
+ $data['promotionDemotionLists'] = $this->promotionDemotionRepository->findAll();
+ return view('admin::promotiondemotions.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['editable'] = false;
+ $data['title'] = "Create Promotion/ Demotion";
+ return view('admin::promotiondemotions.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ $this->promotionDemotionRepository->create($request->all());
+ toastr()->success('Promotion/ Demotion Created Successfully');
+ return redirect()->route('promotionDemotion.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::promotiondemotions.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ $data['editable'] = false;
+ $data['title'] = "Edit Promotion/ Demotion";
+ $data['promotionDemotion'] = $this->promotionDemotionRepository->getPromotionDemotionById($id);
+ return view('admin::promotiondemotions.edit', $data);
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ $this->promotionDemotionRepository->update($id, $request->all());
+ toastr()->success('Promotion/ Demotion Updated Successfully');
+ return redirect()->route('promotionDemotion.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ $this->promotionDemotionRepository->delete($id);
+ toastr()->success('Promotion/ Demotion Deleted Successfully');
+ return redirect()->route('promotionDemotion.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/ResignationController.php b/Modules/Admin/app/Http/Controllers/ResignationController.php
new file mode 100644
index 0000000..ced589b
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/ResignationController.php
@@ -0,0 +1,83 @@
+resignationRepository = $resignationRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Resignation List';
+ $data['resignationLists'] = $this->resignationRepository->findAll();
+ return view('admin::resignations.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Resignation';
+ $data['editable'] = false;
+ return view('admin::resignations.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ $this->resignationRepository->create($request->all());
+ return redirect()->route('resignation.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::resignations.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ $data['title'] = 'Edit Resignation';
+ $data['editable'] = true;
+ $data['resignation'] = $this->resignationRepository->getResignationById($id);
+ return view('admin::resignations.edit', $data);
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ $this->resignationRepository->update($id, $request->all());
+ return redirect()->route('resignation.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ //
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/TransferController.php b/Modules/Admin/app/Http/Controllers/TransferController.php
new file mode 100644
index 0000000..59c746f
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/TransferController.php
@@ -0,0 +1,109 @@
+transferRepository = $transferRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Transfer Lists';
+ $data['transferLists'] = $this->transferRepository->findAll();
+ return view('admin::transfers.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Transfer';
+ $data['editable'] = false;
+ return view('admin::transfers.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->transferRepository->create($request->all());
+ toastr()->success('Transfer Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('transfer.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::transfers.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Transfer';
+ $data['editable'] = true;
+ $data['transfer'] = $this->transferRepository->getTransferById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::transfers.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->transferRepository->update($id, $request->all());
+ toastr()->success('Transfer Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('transfer.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->transferRepository->delete($id);
+ toastr()->success('Transfer Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('transfer.index');
+ }
+}
diff --git a/Modules/Admin/app/Http/Controllers/WarningController.php b/Modules/Admin/app/Http/Controllers/WarningController.php
new file mode 100644
index 0000000..12b68ac
--- /dev/null
+++ b/Modules/Admin/app/Http/Controllers/WarningController.php
@@ -0,0 +1,109 @@
+warningRepository = $warningRepository;
+ }
+ /**
+ * Display a listing of the resource.
+ */
+ public function index()
+ {
+ $data['title'] = 'Warning Lists';
+ $data['warningLists'] = $this->warningRepository->findAll();
+ return view('admin::warnings.index', $data);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ */
+ public function create()
+ {
+ $data['title'] = 'Create Warning';
+ $data['editable'] = false;
+ return view('admin::warnings.create', $data);
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request): RedirectResponse
+ {
+ try {
+ $this->warningRepository->create($request->all());
+ toastr()->success('Warning Created Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('warning.index');
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('admin::warnings.show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ try {
+ $data['title'] = 'Edit Warning';
+ $data['editable'] = true;
+ $data['warning'] = $this->warningRepository->getWarningById($id);
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+
+ return view('admin::warnings.edit', $data);
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, $id): RedirectResponse
+ {
+ try {
+
+ $this->warningRepository->update($id, $request->all());
+ toastr()->success('Warning Updated Successfully');
+
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('warning.index');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $this->warningRepository->delete($id);
+ toastr()->success('Warning Deleted Successfully');
+ } catch (\Throwable $th) {
+ toastr()->error($th->getMessage());
+ }
+ return redirect()->route('warning.index');
+ }
+}
diff --git a/Modules/Admin/app/Models/Appreciation.php b/Modules/Admin/app/Models/Appreciation.php
new file mode 100644
index 0000000..23d2fae
--- /dev/null
+++ b/Modules/Admin/app/Models/Appreciation.php
@@ -0,0 +1,30 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/CompanyInterface.php b/Modules/Admin/app/Repositories/CompanyInterface.php
new file mode 100644
index 0000000..d28a86a
--- /dev/null
+++ b/Modules/Admin/app/Repositories/CompanyInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/CompanyTypeInterface.php b/Modules/Admin/app/Repositories/CompanyTypeInterface.php
new file mode 100644
index 0000000..8b96f2c
--- /dev/null
+++ b/Modules/Admin/app/Repositories/CompanyTypeInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/ComplaintInterface.php b/Modules/Admin/app/Repositories/ComplaintInterface.php
new file mode 100644
index 0000000..8b3c8ac
--- /dev/null
+++ b/Modules/Admin/app/Repositories/ComplaintInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/EventInterface.php b/Modules/Admin/app/Repositories/EventInterface.php
new file mode 100644
index 0000000..c1af2e6
--- /dev/null
+++ b/Modules/Admin/app/Repositories/EventInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/HolidayInterface.php b/Modules/Admin/app/Repositories/HolidayInterface.php
new file mode 100644
index 0000000..c41dd21
--- /dev/null
+++ b/Modules/Admin/app/Repositories/HolidayInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/PromotionDemotionInterface.php b/Modules/Admin/app/Repositories/PromotionDemotionInterface.php
new file mode 100644
index 0000000..ffa7bc8
--- /dev/null
+++ b/Modules/Admin/app/Repositories/PromotionDemotionInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/ResignationInterface.php b/Modules/Admin/app/Repositories/ResignationInterface.php
new file mode 100644
index 0000000..0403595
--- /dev/null
+++ b/Modules/Admin/app/Repositories/ResignationInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/TransferInterface.php b/Modules/Admin/app/Repositories/TransferInterface.php
new file mode 100644
index 0000000..b662d16
--- /dev/null
+++ b/Modules/Admin/app/Repositories/TransferInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Repositories/WarningInterface.php b/Modules/Admin/app/Repositories/WarningInterface.php
new file mode 100644
index 0000000..ba78fab
--- /dev/null
+++ b/Modules/Admin/app/Repositories/WarningInterface.php
@@ -0,0 +1,12 @@
+update($newDetails);
+ }
+
+}
diff --git a/Modules/Admin/app/Services/AdminService.php b/Modules/Admin/app/Services/AdminService.php
index 880ab33..bd3c3a4 100644
--- a/Modules/Admin/app/Services/AdminService.php
+++ b/Modules/Admin/app/Services/AdminService.php
@@ -3,7 +3,10 @@ namespace Modules\Admin\Services;
use Modules\Admin\Models\Castes;
use Modules\Admin\Models\Cities;
+use Modules\Admin\Models\CompanyType;
use Modules\Admin\Models\Country;
+use Modules\Admin\Models\Departments;
+use Modules\Admin\Models\Designations;
use Modules\Admin\Models\Districts;
use Modules\Admin\Models\Genders;
use Modules\Admin\Models\Nationalities;
@@ -16,6 +19,11 @@ final class AdminService
return Country::pluck('title', 'country_id');
}
+ function pluckCompanyTypes()
+ {
+ return CompanyType::pluck('title', 'company_type_id');
+ }
+
function pluckProvinces()
{
return Province::pluck('title', 'province_id');
@@ -47,5 +55,14 @@ final class AdminService
return Nationalities::pluck('title', 'nationality_id');
}
+ function pluckDepartments()
+ {
+ return Departments::pluck('title', 'department_id');
+ }
+
+ function pluckDesignations()
+ {
+ return Designations::pluck('title', 'designation_id');
+ }
}
diff --git a/Modules/Admin/database/migrations/2024_04_14_080050_create_promotion_demotions_table.php b/Modules/Admin/database/migrations/2024_04_14_080050_create_promotion_demotions_table.php
new file mode 100644
index 0000000..06cf576
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_14_080050_create_promotion_demotions_table.php
@@ -0,0 +1,38 @@
+tinyInteger('promotion_demotion_id')->unsigned()->autoIncrement();
+ $table->string('title')->nullable();
+ $table->string('alias')->nullable();
+ $table->unsignedBigInteger('employee_id')->nullable();
+ $table->unsignedBigInteger('old_designation_id')->nullable();
+ $table->unsignedBigInteger('new_designation_id')->nullable();
+ $table->unsignedBigInteger('type')->nullable();
+ $table->date('date')->nullable();
+ $table->integer('status')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_promotion_demotions');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_14_105508_create_appreciations_table.php b/Modules/Admin/database/migrations/2024_04_14_105508_create_appreciations_table.php
new file mode 100644
index 0000000..d526eab
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_14_105508_create_appreciations_table.php
@@ -0,0 +1,37 @@
+tinyInteger('appreciation_id')->unsigned()->autoIncrement();
+ $table->string('title')->nullable();
+ $table->string('alias')->nullable();
+ $table->string('type')->nullable();
+ $table->unsignedBigInteger('employee_id')->nullable();
+ $table->unsignedBigInteger('appreciated_by')->nullable();
+ $table->date('appreciated_date')->nullable();
+ $table->integer('status')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_appreciations');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_14_115955_create_resignations_table.php b/Modules/Admin/database/migrations/2024_04_14_115955_create_resignations_table.php
new file mode 100644
index 0000000..0a3e1ac
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_14_115955_create_resignations_table.php
@@ -0,0 +1,35 @@
+tinyInteger('resignation_id')->unsigned()->autoIncrement();
+ $table->unsignedBigInteger('employee_id')->nullable();
+ $table->date('resignation_date')->nullable();
+ $table->date('approved_date')->nullable();
+ $table->unsignedBigInteger('approved_by')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->integer('status')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_resignations');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_054639_create_complaints_table.php b/Modules/Admin/database/migrations/2024_04_15_054639_create_complaints_table.php
new file mode 100644
index 0000000..cd35016
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_054639_create_complaints_table.php
@@ -0,0 +1,34 @@
+tinyInteger('complaint_id')->unsigned()->autoIncrement();
+ $table->unsignedBigInteger('employee_id')->nullable();
+ $table->date('complaint_date')->nullable();
+ $table->unsignedBigInteger('complaint_by')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->integer('status')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_complaints');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_061721_create_transfers_table.php b/Modules/Admin/database/migrations/2024_04_15_061721_create_transfers_table.php
new file mode 100644
index 0000000..e385d42
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_061721_create_transfers_table.php
@@ -0,0 +1,35 @@
+tinyInteger('transfer_id')->unsigned()->autoIncrement();
+ $table->unsignedBigInteger('employee_id')->nullable();
+ $table->unsignedBigInteger('old_department_id')->nullable();
+ $table->unsignedBigInteger('new_department_id')->nullable();
+ $table->integer('status')->nullable();
+ $table->date('transfer_date')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_transfers');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_065950_create_warnings_table.php b/Modules/Admin/database/migrations/2024_04_15_065950_create_warnings_table.php
new file mode 100644
index 0000000..64ff573
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_065950_create_warnings_table.php
@@ -0,0 +1,35 @@
+tinyInteger('warning_id')->unsigned()->autoIncrement();
+ $table->unsignedBigInteger('employee_id')->nullable();
+ $table->mediumText('subject')->nullable();
+ $table->string('type')->nullable();
+ $table->date('warning_date')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->integer('status')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_warnings');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_073007_create_companies_table.php b/Modules/Admin/database/migrations/2024_04_15_073007_create_companies_table.php
new file mode 100644
index 0000000..12dcf05
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_073007_create_companies_table.php
@@ -0,0 +1,37 @@
+tinyInteger('company_id')->unsigned()->autoIncrement();
+ $table->string('title')->nullable();
+ $table->string('alias')->nullable();
+ $table->unsignedBigInteger('company_type_id')->nullable();
+ $table->integer('status')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->string('bank_name')->nullable();
+ $table->string('bank_acc_no')->nullable();
+ $table->string('bank_acc_branch')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_companies');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_073442_create_company_types_table.php b/Modules/Admin/database/migrations/2024_04_15_073442_create_company_types_table.php
new file mode 100644
index 0000000..c9a8d93
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_073442_create_company_types_table.php
@@ -0,0 +1,34 @@
+tinyInteger('company_type_id')->unsigned()->autoIncrement();
+ $table->string('title')->nullable();
+ $table->string('alias')->nullable();
+ $table->integer('status')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_company_types');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_080927_create_events_table.php b/Modules/Admin/database/migrations/2024_04_15_080927_create_events_table.php
new file mode 100644
index 0000000..7d8041c
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_080927_create_events_table.php
@@ -0,0 +1,38 @@
+unsignedTinyInteger('event_id')->autoIncrement();
+ $table->string('title')->nullable();
+ $table->string('alias')->nullable();
+ $table->string('type')->nullable();
+ $table->string('date')->nullable();
+ $table->time('start_time')->nullable();
+ $table->time('end_time')->nullable();
+ $table->integer('status')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->string('location')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_events');
+ }
+};
diff --git a/Modules/Admin/database/migrations/2024_04_15_080945_create_holidays_table.php b/Modules/Admin/database/migrations/2024_04_15_080945_create_holidays_table.php
new file mode 100644
index 0000000..bb45ff9
--- /dev/null
+++ b/Modules/Admin/database/migrations/2024_04_15_080945_create_holidays_table.php
@@ -0,0 +1,34 @@
+unsignedTinyInteger('holiday_id')->autoIncrement();
+ $table->string('title')->nullable();
+ $table->string('alias')->nullable();
+ $table->string('date')->nullable();
+ $table->integer('status')->nullable();
+ $table->mediumText('description')->nullable();
+ $table->mediumText('remarks')->nullable();
+ $table->unsignedBigInteger('createdBy')->nullable();
+ $table->unsignedBigInteger('updatedBy')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('tbl_holidays');
+ }
+};
diff --git a/Modules/Admin/resources/views/appreciations/create.blade.php b/Modules/Admin/resources/views/appreciations/create.blade.php
new file mode 100644
index 0000000..d4fea08
--- /dev/null
+++ b/Modules/Admin/resources/views/appreciations/create.blade.php
@@ -0,0 +1,23 @@
+@extends('layouts.app')
+@section('content')
+
+
+
+
+ @include('layouts.partials.breadcrumb', ['title' => $title])
+
+
+
+
+
+
+ {{ html()->form('POST')->route('appreciation.store')->class(['needs-validation'])->attributes(['novalidate'])->open() }}
+
+ @include('admin::partials.appreciations.action')
+
+ {{ html()->form()->close() }}
+
+
+
+
+ @endsection
diff --git a/Modules/Admin/resources/views/appreciations/edit.blade.php b/Modules/Admin/resources/views/appreciations/edit.blade.php
new file mode 100644
index 0000000..e46e4eb
--- /dev/null
+++ b/Modules/Admin/resources/views/appreciations/edit.blade.php
@@ -0,0 +1,23 @@
+@extends('layouts.app')
+@section('content')
+
+
+
+
+ @include('layouts.partials.breadcrumb', ['title' => $title])
+
+
+
+
+
+
+ {{ html()->modelForm($appreciation, 'PUT')->route('appreciation.update', $appreciation->appreciation_id)->class(['needs-validation'])->attributes(['novalidate'])->open() }}
+
+ @include('admin::partials.appreciations.action')
+
+ {{ html()->form()->close() }}
+
+
+
+
+ @endsection
diff --git a/Modules/Admin/resources/views/appreciations/index.blade.php b/Modules/Admin/resources/views/appreciations/index.blade.php
new file mode 100644
index 0000000..dcb04d1
--- /dev/null
+++ b/Modules/Admin/resources/views/appreciations/index.blade.php
@@ -0,0 +1,75 @@
+@extends('layouts.app')
+@section('content')
+
+
+
+
+ @include('layouts.partials.breadcrumb', ['title' => $title])
+
+
+
+
+
+
+@endsection
diff --git a/Modules/Admin/resources/views/appreciations/show.blade.php b/Modules/Admin/resources/views/appreciations/show.blade.php
new file mode 100644
index 0000000..9ed0171
--- /dev/null
+++ b/Modules/Admin/resources/views/appreciations/show.blade.php
@@ -0,0 +1,48 @@
+@extends('layouts.app')
+@section('content')
+
+
+
+
+ @include('layouts.partials.breadcrumb', ['title' => $title])
+
+
+
+
+
+
+
+
Title : {{ $data->title }}
+
Alias : {{ $data->alias }}
+
Status : {{ $data->status == 1 ? 'Active' : 'Inactive' }}
+
+
Remarks : {{ $data->remarks }}
+
Display Order : {{ $data->display_order }}
+
Createdby : {{ $data->createdby }}
+
Updatedby : {{ $data->updatedby }}
+
Job Description : {{ $data->job_description }}
+
Departments Id : {{ $data->departments_id }}
+
+
+
Created On : {{ $data->created_at }}
+
Created By : {{ $data->createdBy }}
+
+
+
Updated On : {{ $data->updated_at }}
+
Updated By : {{ $data->updatedBy }}
+
+
+
+
+
+
+
+
+@endSection
diff --git a/Modules/Admin/resources/views/calendars/index.blade.php b/Modules/Admin/resources/views/calendars/index.blade.php
new file mode 100644
index 0000000..7a12fc4
--- /dev/null
+++ b/Modules/Admin/resources/views/calendars/index.blade.php
@@ -0,0 +1,1305 @@
+@extends('layouts.app')
+@section('content')
+
+
+
+
+ @include('layouts.partials.breadcrumb', ['title' => $title])
+
+
+
+
+
+
+
+
+
+
Create New
+ Event
+
+
+
+
Drag and drop your event or click in the calendar
+
+ New Event Planning
+
+
+ Meeting
+
+
+ Generating Reports
+
+
+ Create New theme
+
+
+
+
+
+
+
Upcoming Events
+
Don't miss scheduled events
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Welcome to your Calendar!
+
Event that applications book will appear here. Click on an event to see
+ the details and manage applicants event.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@endsection
diff --git a/Modules/Admin/resources/views/cities/show.blade.php b/Modules/Admin/resources/views/cities/show.blade.php
index daa489e..180f50c 100644
--- a/Modules/Admin/resources/views/cities/show.blade.php
+++ b/Modules/Admin/resources/views/cities/show.blade.php
@@ -1,15 +1,14 @@
@extends('layouts.app')
@section('content')
-