Widget jobs added and created_by column fixed..
This commit is contained in:
parent
fcf5407bbd
commit
ba70388861
@ -5,6 +5,9 @@ namespace App\Http\Controllers\Common;
|
|||||||
use App\Abstracts\Http\Controller;
|
use App\Abstracts\Http\Controller;
|
||||||
use App\Http\Requests\Common\Widget as Request;
|
use App\Http\Requests\Common\Widget as Request;
|
||||||
use App\Models\Common\Widget;
|
use App\Models\Common\Widget;
|
||||||
|
use App\Jobs\Common\CreateWidget;
|
||||||
|
use App\Jobs\Common\DeleteWidget;
|
||||||
|
use App\Jobs\Common\UpdateWidget;
|
||||||
use App\Utilities\Widgets as Utility;
|
use App\Utilities\Widgets as Utility;
|
||||||
|
|
||||||
class Widgets extends Controller
|
class Widgets extends Controller
|
||||||
@ -33,23 +36,34 @@ class Widgets extends Controller
|
|||||||
'width' => $request->get('width'),
|
'width' => $request->get('width'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$widget = Widget::create($request->input());
|
$response = $this->ajaxDispatch(new CreateWidget($request));
|
||||||
|
|
||||||
$settings = $widget->settings;
|
if ($response['success']) {
|
||||||
|
$response['redirect'] = route('dashboard');
|
||||||
|
|
||||||
return response()->json([
|
$widget = $response['data'];
|
||||||
'status' => 200,
|
|
||||||
'success' => true,
|
$settings = $widget->settings;
|
||||||
'error' => false,
|
|
||||||
'message' => trans('messages.success.added', ['type' => $widget->name]),
|
$response['data'] = [
|
||||||
'data' => [
|
|
||||||
'class' => $widget->class,
|
'class' => $widget->class,
|
||||||
'name' => $widget->name,
|
'name' => $widget->name,
|
||||||
'settings' => $settings,
|
'settings' => $settings,
|
||||||
'sort' => $widget->sort,
|
'sort' => $widget->sort,
|
||||||
],
|
];
|
||||||
'redirect' => route('dashboard'),
|
|
||||||
]);
|
$message = trans('messages.success.added', ['type' => $widget->name]);
|
||||||
|
|
||||||
|
flash($message)->success();
|
||||||
|
} else {
|
||||||
|
$response['redirect'] = route('dashboard');
|
||||||
|
|
||||||
|
$message = $response['message'];
|
||||||
|
|
||||||
|
flash($message)->error()->important();
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -84,23 +98,30 @@ class Widgets extends Controller
|
|||||||
'width' => $request->get('width'),
|
'width' => $request->get('width'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$widget->update($request->input());
|
$response = $this->ajaxDispatch(new UpdateWidget($widget, $request));
|
||||||
|
|
||||||
$settings = $widget->settings;
|
$response['redirect'] = route('dashboard');
|
||||||
|
|
||||||
return response()->json([
|
if ($response['success']) {
|
||||||
'status' => 200,
|
$settings = $response['data']->settings;
|
||||||
'success' => true,
|
|
||||||
'error' => false,
|
$response['data'] = [
|
||||||
'message' => trans('messages.success.added', ['type' => $widget->name]),
|
|
||||||
'data' => [
|
|
||||||
'class' => $widget->class,
|
'class' => $widget->class,
|
||||||
'name' => $widget->name,
|
'name' => $widget->name,
|
||||||
'settings' => $settings,
|
'settings' => $settings,
|
||||||
'sort' => $widget->sort,
|
'sort' => $widget->sort,
|
||||||
],
|
];
|
||||||
'redirect' => route('dashboard'),
|
|
||||||
]);
|
$message = trans('messages.success.updated', ['type' => $widget->name]);
|
||||||
|
|
||||||
|
flash($message)->success();
|
||||||
|
} else {
|
||||||
|
$message = $response['message'];
|
||||||
|
|
||||||
|
flash($message)->error()->important();
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -112,18 +133,21 @@ class Widgets extends Controller
|
|||||||
*/
|
*/
|
||||||
public function destroy(Widget $widget)
|
public function destroy(Widget $widget)
|
||||||
{
|
{
|
||||||
$message = trans('messages.success.deleted', ['type' => $widget->name]);
|
$response = $this->ajaxDispatch(new DeleteWidget($item));
|
||||||
|
|
||||||
$widget->delete();
|
$response['redirect'] = route('dashboard');
|
||||||
|
|
||||||
return response()->json([
|
if ($response['success']) {
|
||||||
'status' => 200,
|
$message = trans('messages.success.deleted', ['type' => $widget->name]);
|
||||||
'success' => true,
|
|
||||||
'error' => false,
|
flash($message)->success();
|
||||||
'message' => $message,
|
} else {
|
||||||
'data' => null,
|
$message = $response['message'];
|
||||||
'redirect' => route('dashboard'),
|
|
||||||
]);
|
flash($message)->error()->important();
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getData(Request $request)
|
public function getData(Request $request)
|
||||||
|
@ -136,6 +136,7 @@ class CreateDashboard extends Job
|
|||||||
'name' => $name,
|
'name' => $name,
|
||||||
'sort' => $sort,
|
'sort' => $sort,
|
||||||
'settings' => (new $class())->getDefaultSettings(),
|
'settings' => (new $class())->getDefaultSettings(),
|
||||||
|
'created_by' => user_id(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$sort++;
|
$sort++;
|
||||||
|
40
app/Jobs/Common/CreateWidget.php
Normal file
40
app/Jobs/Common/CreateWidget.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Jobs\Common;
|
||||||
|
|
||||||
|
use App\Abstracts\Job;
|
||||||
|
use App\Models\Common\Widget;
|
||||||
|
|
||||||
|
class CreateWidget extends Job
|
||||||
|
{
|
||||||
|
protected $widget;
|
||||||
|
|
||||||
|
protected $request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new job instance.
|
||||||
|
*
|
||||||
|
* @param $request
|
||||||
|
*/
|
||||||
|
public function __construct($request)
|
||||||
|
{
|
||||||
|
$this->request = $this->getRequestInstance($request);
|
||||||
|
$this->request->merge(['created_by' => user_id()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the job.
|
||||||
|
*
|
||||||
|
* @return Widget
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$this->request['enabled'] = $this->request['enabled'] ?? 1;
|
||||||
|
|
||||||
|
\DB::transaction(function () {
|
||||||
|
$this->widget = Widget::create($this->request->all());
|
||||||
|
});
|
||||||
|
|
||||||
|
return $this->widget;
|
||||||
|
}
|
||||||
|
}
|
62
app/Jobs/Common/DeleteWidget.php
Normal file
62
app/Jobs/Common/DeleteWidget.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Jobs\Common;
|
||||||
|
|
||||||
|
use App\Abstracts\Job;
|
||||||
|
|
||||||
|
class DeleteItem extends Job
|
||||||
|
{
|
||||||
|
protected $item;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new job instance.
|
||||||
|
*
|
||||||
|
* @param $item
|
||||||
|
*/
|
||||||
|
public function __construct($item)
|
||||||
|
{
|
||||||
|
$this->item = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the job.
|
||||||
|
*
|
||||||
|
* @return boolean|Exception
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$this->authorize();
|
||||||
|
|
||||||
|
\DB::transaction(function () {
|
||||||
|
$this->deleteRelationships($this->item, ['taxes']);
|
||||||
|
|
||||||
|
$this->item->delete();
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if this action is applicable.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
if ($relationships = $this->getRelationships()) {
|
||||||
|
$message = trans('messages.warning.deleted', ['name' => $this->item->name, 'text' => implode(', ', $relationships)]);
|
||||||
|
|
||||||
|
throw new \Exception($message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRelationships()
|
||||||
|
{
|
||||||
|
$rels = [
|
||||||
|
'invoice_items' => 'invoices',
|
||||||
|
'bill_items' => 'bills',
|
||||||
|
];
|
||||||
|
|
||||||
|
return $this->countRelationships($this->item, $rels);
|
||||||
|
}
|
||||||
|
}
|
39
app/Jobs/Common/UpdateWidget.php
Normal file
39
app/Jobs/Common/UpdateWidget.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Jobs\Common;
|
||||||
|
|
||||||
|
use App\Abstracts\Job;
|
||||||
|
use App\Models\Common\Widget;
|
||||||
|
|
||||||
|
class UpdateItem extends Job
|
||||||
|
{
|
||||||
|
protected $widget;
|
||||||
|
|
||||||
|
protected $request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new job instance.
|
||||||
|
*
|
||||||
|
* @param $widget
|
||||||
|
* @param $request
|
||||||
|
*/
|
||||||
|
public function __construct($widget, $request)
|
||||||
|
{
|
||||||
|
$this->widget = $widget;
|
||||||
|
$this->request = $this->getRequestInstance($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the job.
|
||||||
|
*
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
\DB::transaction(function () {
|
||||||
|
$this->widget->update($this->request->all());
|
||||||
|
});
|
||||||
|
|
||||||
|
return $this->widget;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user