middleware(function ($request, $next) { $this->user = Auth::guard('web')->user(); return $next($request); }); } /** * Display a listing of the Sub Directorats. * * @param \Modules\Cetaklabel\DataTables\SubDirectoratDataTable $dataTable * @param \Illuminate\Http\Request $request * * @return mixed|void */ public function index(SubDirectoratDataTable $dataTable, Request $request) { if (is_null($this->user) || !$this->user->can('masters.read')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } if (isset($request->directorat_id) && !empty($request->directorat_id)) { $this->show($request); return; } $directorat = Directorat::all(); return $dataTable->render('cetaklabel::masters.sub-directorat.index', compact('directorat')); } /** * Lists the specified Sub Directorat by Directorat ID. * * @param \Illuminate\Http\Request $request * * @return void */ public function show(Request $request) { $subdirectorats = SubDirectorat::where('directorat_id', $request->directorat_id)->get(); $data = []; foreach ($subdirectorats as $row) { $result = [ $row->id => $row->name, ]; $data[] = $result; } echo json_encode($data); } /** * Store a newly created Sub Directorat in storage. * * @param \Modules\Cetaklabel\Http\Requests\SubDirectorat\StoreSubDirectoratRequest $request * * @return void */ public function store(StoreSubDirectoratRequest $request) { if (is_null($this->user) || !$this->user->can('masters.create')) { abort(403, 'Sorry !! You are Unauthorized to create any master data !'); } // Validate the request... $validated = $request->validated(); // Store the SubDirectorat... if ($validated) { try { SubDirectorat::create($validated); echo json_encode(['status' => 'success', 'message' => 'Sub Directorat created successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'Sub Directorat created failed.']); } return; } echo json_encode(['status' => 'error', 'message' => 'Sub Directorat created failed.']); } /** * Show the form for creating a new Sub Directorat. */ public function create() { if (is_null($this->user) || !$this->user->can('masters.create')) { abort(403, 'Sorry !! You are Unauthorized to create any master data !'); } abort(404); } /** * Show the form for editing the specified Sub Directorat. * * @param $id * * @return void */ public function edit($id) { if (is_null($this->user) || !$this->user->can('masters.update')) { abort(403, 'Sorry !! You are Unauthorized to update any master data !'); } $subDirectorat = SubDirectorat::find($id); echo json_encode($subDirectorat); } /** * Update the specified Sub Directorat in storage. * * @param \Modules\Cetaklabel\Http\Requests\SubDirectorat\UpdateSubDirectoratRequest $request * @param \Modules\Cetaklabel\Entities\SubDirectorat $subDirectorat * * @return void */ public function update(UpdateSubDirectoratRequest $request, SubDirectorat $subDirectorat) { if (is_null($this->user) || !$this->user->can('masters.update')) { abort(403, 'Sorry !! You are Unauthorized to update any master data !'); } // Validate the request... $validated = $request->validated(); // Update the SubDirectorat... if ($validated) { try { $subDirectorat->update($validated); echo json_encode(['status' => 'success', 'message' => 'Sub Directorat updated successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'Sub Directorat updated failed.']); } return; } echo json_encode(['status' => 'error', 'message' => 'Sub Directorat updated failed.']); } /** * Remove the specified Sub Directorat from storage. * * @param \Modules\Cetaklabel\Entities\SubDirectorat $subDirectorat * * @return void */ public function destroy(SubDirectorat $subDirectorat) { if (is_null($this->user) || !$this->user->can('masters.delete')) { abort(403, 'Sorry !! You are Unauthorized to delete any master data !'); } $subDirectorat->delete(); echo json_encode(['status' => 'success', 'message' => 'Sub Directorat deleted successfully.']); } }