user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } if (request()->ajax()) { $business_id = request()->session()->get('user.business_id'); $tables = ResTable::where('res_tables.business_id', $business_id) ->join('business_locations AS BL', 'res_tables.location_id', '=', 'BL.id') ->select(['res_tables.name as name', 'BL.name as location', 'res_tables.description', 'res_tables.id', ]); return Datatables::of($tables) ->addColumn( 'action', '@role("Admin#'.$business_id.'")   @endrole @role("Admin#'.$business_id.'") @endrole' ) ->removeColumn('id') ->escapeColumns(['action']) ->make(true); } return view('restaurant.table.index'); } /** * Show the form for creating a new resource. * * @return Response */ public function create() { if (! auth()->user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } $business_id = request()->session()->get('user.business_id'); $business_locations = BusinessLocation::forDropdown($business_id); return view('restaurant.table.create') ->with(compact('business_locations')); } /** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { if (! auth()->user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } try { $input = $request->only(['name', 'description', 'location_id']); $business_id = $request->session()->get('user.business_id'); $input['business_id'] = $business_id; $input['created_by'] = $request->session()->get('user.id'); $table = ResTable::create($input); $output = ['success' => true, 'data' => $table, 'msg' => __('lang_v1.added_success'), ]; } catch (\Exception $e) { \Log::emergency('File:'.$e->getFile().'Line:'.$e->getLine().'Message:'.$e->getMessage()); $output = ['success' => false, 'msg' => __('messages.something_went_wrong'), ]; } return $output; } /** * Show the specified resource. * * @return Response */ public function show() { if (! auth()->user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } return view('restaurant.table.show'); } /** * Show the form for editing the specified resource. * * @return Response */ public function edit($id) { if (! auth()->user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } if (request()->ajax()) { $business_id = request()->session()->get('user.business_id'); $table = ResTable::where('business_id', $business_id)->find($id); return view('restaurant.table.edit') ->with(compact('table')); } } /** * Update the specified resource in storage. * * @param Request $request * @return Response */ public function update(Request $request, $id) { if (! auth()->user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } if (request()->ajax()) { try { $input = $request->only(['name', 'description']); $business_id = $request->session()->get('user.business_id'); $table = ResTable::where('business_id', $business_id)->findOrFail($id); $table->name = $input['name']; $table->description = $input['description']; $table->save(); $output = ['success' => true, 'msg' => __('lang_v1.updated_success'), ]; } catch (\Exception $e) { \Log::emergency('File:'.$e->getFile().'Line:'.$e->getLine().'Message:'.$e->getMessage()); $output = ['success' => false, 'msg' => __('messages.something_went_wrong'), ]; } return $output; } } /** * Remove the specified resource from storage. * * @return Response */ public function destroy($id) { if (! auth()->user()->can('access_tables')) { abort(403, 'Unauthorized action.'); } if (request()->ajax()) { try { $business_id = request()->user()->business_id; $table = ResTable::where('business_id', $business_id)->findOrFail($id); $table->delete(); $output = ['success' => true, 'msg' => __('lang_v1.deleted_success'), ]; } catch (\Exception $e) { \Log::emergency('File:'.$e->getFile().'Line:'.$e->getLine().'Message:'.$e->getMessage()); $output = ['success' => false, 'msg' => __('messages.something_went_wrong'), ]; } return $output; } } }