middleware(function ($request, $next) { $this->user = Auth::guard('web')->user(); return $next($request); }); } /** * Display a listing of the Jobs. * * @param \Modules\Cetaklabel\DataTables\JobDataTable $dataTable * @param \Illuminate\Http\Request $request * * @return mixed|void */ public function index(JobDataTable $dataTable, Request $request) { if (isset($request->sub_directorat_id) && !empty($request->sub_directorat_id)) { $this->show($request); return; } if (is_null($this->user) || !$this->user->can('master.read')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } // Add Vendor addVendor('chained-select'); $directorat = Directorat::all(); return $dataTable->render('cetaklabel::masters.job.index', compact('directorat')); } /** * Lists the specified Job by Sub Directorat ID. * * @param \Illuminate\Http\Request $request * * @return void */ public function show(Request $request) { $jobs = Job::where('sub_directorat_id', $request->sub_directorat_id)->get(); $data = []; foreach ($jobs as $row) { $result = [ $row->id => $row->name, ]; $data[] = $result; } echo json_encode($data); } /** * Store a newly created Job in storage. * * @param \Modules\Cetaklabel\Http\Requests\Job\StoreJobRequest $request * * @return void */ public function store(StoreJobRequest $request) { if (is_null($this->user) || !$this->user->can('master.create')) { abort(403, 'Sorry !! You are Unauthorized to create any master data !'); } // Validate the request... $validated = $request->validated(); // Store the Job... if ($validated) { try { $approval = [ 'method' => 'create', 'menu' => 'Job', 'new_request' => json_encode($validated), 'description' => 'Create new Job', 'status' => '0', ]; Approval::create($approval); echo json_encode(['status' => 'success', 'message' => 'Job created successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'Job created failed.']); } return; } echo json_encode(['status' => 'error', 'message' => 'Job created failed.']); } /** * Show the form for creating a new Job. */ public function create() { if (is_null($this->user) || !$this->user->can('master.create')) { abort(403, 'Sorry !! You are Unauthorized to create any master data !'); } abort(404); } /** * Show the form for editing the specified Job. * * @param $id * * @return void */ public function edit($id) { if (is_null($this->user) || !$this->user->can('master.update')) { abort(403, 'Sorry !! You are Unauthorized to update any master data !'); } $job = Job::find($id); echo json_encode($job); } /** * Update the specified Job in storage. * * @param \Modules\Cetaklabel\Http\Requests\Job\UpdateJobRequest $request * @param \Modules\Cetaklabel\Entities\Job $job * * @return void */ public function update(UpdateJobRequest $request, Job $job) { if (is_null($this->user) || !$this->user->can('master.update')) { abort(403, 'Sorry !! You are Unauthorized to update any master data !'); } // Validate the request... $validated = $request->validated(); // Update the Job... if ($validated) { try { $approval = [ 'method' => 'update', 'menu' => 'Job', 'new_request' => json_encode($validated), 'old_request' => json_encode($job), 'description' => 'Update Job', 'status' => '0', ]; Approval::create($approval); echo json_encode(['status' => 'success', 'message' => 'Job updated successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'Job updated failed.']); } return; } echo json_encode(['status' => 'error', 'message' => 'Job updated failed.']); } /** * Remove the specified Job from storage. * * @param \Modules\Cetaklabel\Entities\Job $job * * @return void */ public function destroy(Job $job) { if (is_null($this->user) || !$this->user->can('master.delete')) { abort(403, 'Sorry !! You are Unauthorized to delete any master data !'); } $approval = [ 'method' => 'delete', 'menu' => 'Job', 'old_request' => json_encode($job), 'description' => 'Delete Job', 'status' => '0', ]; Approval::create($approval); echo json_encode(['status' => 'success', 'message' => 'Job deleted successfully.']); } }