get(); return response()->json($dashboard_widgets); } /** * Store a newly created resource in storage. * * @param $request * @return Response */ public function store(Request $request) { $request['user_id'] = user()->id; $request['settings'] = [ 'width' => $request->get('width') ]; $widget = Model::create($request->input()); $settings = $widget->settings; unset($settings['widget']); return response()->json([ 'status' => 200, 'success' => true, 'error' => false, 'message' => trans('messages.success.added', ['type' => $widget->name]), 'data' => [ 'widget_id' => $widget->widget_id, 'name' => $widget->name, 'settings' => $settings, 'sort' => $widget->sort, ], 'redirect' => route('dashboard') ]); } /** * Show the form for editing the specified resource. * * @param Model $dashboard * * @return Response */ public function edit(Model $widget) { $settings = $widget->settings; unset($settings['widget']); return response()->json([ 'widget_id' => $widget->widget_id, 'name' => $widget->name, 'settings' => $settings, 'sort' => $widget->sort, ]); } /** * Update the specified resource in storage. * * @param Model $dashboard * @param $request * @return Response */ public function update(Model $widget, Request $request) { $request['user_id'] = user()->id; $request['settings'] = [ 'width' => $request->get('width') ]; $widget->update($request->input()); $settings = $widget->settings; unset($settings['widget']); return response()->json([ 'status' => 200, 'success' => true, 'error' => false, 'message' => trans('messages.success.added', ['type' => $widget->name]), 'data' => [ 'widget_id' => $widget->widget_id, 'name' => $widget->name, 'settings' => $settings, 'sort' => $widget->sort, ], 'redirect' => route('dashboard') ]); } /** * Remove the specified resource from storage. * * @param Model $dashboard * * @return Response */ public function destroy(Model $widget) { $message = trans('messages.success.deleted', ['type' => $widget->name]); $widget->delete(); return response()->json([ 'status' => 200, 'success' => true, 'error' => false, 'message' => $message, 'data' => null, 'redirect' => route('dashboard') ]); } public function getData(Request $request) { // Check is module $module = module($request->get('widget')); if ($module instanceof \Akaunting\Module\Module) { $widget = app('Modules\\' . $module->getStudlyName() . '\Widgets\\' . ucfirst($request->get('widget'))); } else { $widget = app('App\Widgets\\' . ucfirst($request->get('widget'))); } $response = $widget->{$request->get('method')}($request); return response()->json($response); } }