/home/techb158/ileadtechnology.com/SSM/app/Http/Controllers/academic
NameSizeModeActions
AcademicSessionController.php61870644editdlrm
BatchController.php56590644editdlrm
CertificateController.php54580644editdlrm
ClassTeacherController.php33510644editdlrm
ClassTimingController.php41740644editdlrm
CourseController.php49710644editdlrm
SubjectController.php51650644editdlrm
SubjectTeacherController.php35780644editdlrm
TimetableController.php74460644editdlrm
Edit: /home/techb158/ileadtechnology.com/SSM/app/Http/Controllers/academic/TimetableController.php (7446B)
request = $request; $this->repo = $repo; } /** * Used to get pre requisites * @get ("/api/timetable/pre-requisite") * @return Response */ public function preRequisite() { $this->authorize('preRequisite', Timetable::class); return $this->success($this->repo->getPreRequisite()); } /** * Used to get all Timetable * @get ("/api/academic/timetable") * @return Response */ public function index() { $this->authorize('list', Timetable::class); $timetables = $this->repo->paginate($this->request->all()); $filters = $this->repo->getFilters(); return $this->success(compact('timetables', 'filters')); } /** * Used to print all Timetables * @post ("/api/timetable/print") * @return Response */ public function print() { $this->authorize('list', Timetable::class); $timetables = $this->repo->print(request('filter')); return view('print.academic.timetable', compact('timetables'))->render(); } /** * Used to generate pdf all Timetables * @post ("/api/timetable/pdf") * @return Response */ public function pdf() { $this->authorize('list', Timetable::class); $timetables = $this->repo->print(request('filter')); $uuid = Str::uuid(); $pdf = \PDF::loadView('print.academic.timetable', compact('timetables'))->save('../storage/app/downloads/'.$uuid.'.pdf'); return $uuid; } /** * Used to print given Timetables * @post ("/api/timetable/print/batch") * @return Response */ public function printBatchTimetable() { $this->authorize('list', Timetable::class); $timetable = $this->repo->findByUuidOrFail(request('uuid')); $timetable->max_session = $this->repo->getMaxSessionOfTimetable($timetable); $filter = request('filter'); return view('print.academic.batch-timetable', compact('timetable', 'filter'))->render(); } /** * Used to print given Timetables * @post ("/academic/timetable/batch/{uuid}/batch") * @return Response */ public function printIndividualBatchTimetable($uuid) { $this->authorize('list', Timetable::class); $timetable = $this->repo->findByUuidOrFail($uuid); $timetable->max_session = $this->repo->getMaxSessionOfTimetable($timetable); return view('print.academic.batch-timetable', compact('timetable')); } /** * Used to generate pdf of given Timetables * @post ("/api/timetable/pdf/print") * @return Response */ public function pdfBatchTimetable() { $this->authorize('list', Timetable::class); $timetable = $this->repo->findByUuidOrFail(request('uuid')); $timetable->max_session = $this->repo->getMaxSessionOfTimetable($timetable); $filter = request('filter'); $uuid = Str::uuid(); $pdf = \PDF::loadView('print.academic.batch-timetable', compact('timetable', 'filter'))->save('../storage/app/downloads/'.$uuid.'.pdf'); return $uuid; } /** * Used to print selected batch Timetables * @post ("/api/timetable/print/selected") * @return Response */ public function printSelectedBatchTimetable() { $this->authorize('list', Timetable::class); $batches = $this->repo->getAllBatchesTimetable(request('filter')); $filter = request('filter'); return view('print.academic.selected-batch-timetable', compact('batches', 'filter'))->render(); } /** * Used to store Timetable * @post ("/api/timetable") * @param ({ * @Parameter("batch_id", type="integer", required="true", description="Batch of Timetable"), * @Parameter("date_effective", type="date", required="true", description="Effective date of Timetable"), * @Parameter("description", type="string", required="optional", description="Description of Timetable") * }) * @return Response */ public function store(TimetableRequest $request) { $this->authorize('create', Timetable::class); $timetable = $this->repo->create($this->request->all()); return $this->success(['message' => trans('academic.timetable_added')]); } /** * Used to show Timetable * @get ("/api/timetable/{uuid}") * @param ({ * @Parameter("uuid", type="string", required="true", description="Unique Id of Timetable") * }) * @return Response */ public function show($uuid) { $timetable = $this->repo->findByUuidOrFail($uuid); $subjects = $this->repo->getAllotmentPreRequisite($timetable); return $this->success(compact('timetable', 'subjects')); } /** * Used to allocation Timetable * @post ("/api/timetable/{uuid}/allocation") * @param ({ * @Parameter("uuid", type="string", required="true", description="Unique Id of Timetable") * }) * @return Response */ public function allocation($uuid) { $this->authorize('create', Timetable::class); $timetable = $this->repo->findByUuidOrFail($uuid); $this->repo->allocation($timetable, $this->request->all()); return $this->success(['message' => trans('academic.timetable_allocated')]); } /** * Used to update Timetable * @patch ("/api/timetable/{uuid}") * @param ({ * @Parameter("uuid", type="string", required="true", description="Unique Id of Timetable"), * @Parameter("batch_id", type="integer", required="true", description="Batch of Timetable"), * @Parameter("date_effective", type="date", required="true", description="Effective date of Timetable"), * @Parameter("description", type="string", required="optional", description="Description of Timetable") * }) * @return Response */ public function update($uuid, TimetableRequest $request) { $this->authorize('update', Timetable::class); $timetable = $this->repo->findByUuidOrFail($uuid); $timetable = $this->repo->update($timetable, $this->request->all()); return $this->success(['message' => trans('academic.timetable_updated')]); } /** * Used to delete Timetable * @delete ("/api/timetable/{uuid}") * @param ({ * @Parameter("uuid", type="integer", required="true", description="Unique Id of Timetable"), * }) * @return Response */ public function destroy($uuid) { $this->authorize('delete', Timetable::class); $timetable = $this->repo->deletable($uuid); $this->repo->delete($timetable); return $this->success(['message' => trans('academic.timetable_deleted')]); } }