v2 first commit
This commit is contained in:
152
app/Http/Controllers/Common/Widgets.php
Normal file
152
app/Http/Controllers/Common/Widgets.php
Normal file
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Common;
|
||||
|
||||
use App\Abstracts\Http\Controller;
|
||||
|
||||
use App\Models\Common\DashboardWidget as Model;
|
||||
use App\Models\Common\Widget;
|
||||
use App\Http\Requests\Common\Widget as Request;
|
||||
|
||||
class Widgets extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$dashboard_widgets = Widget::enabled()->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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user