Merge branch 'widgets' into dev

This commit is contained in:
Michal Kváček
2016-02-15 14:30:33 +01:00
21 changed files with 276 additions and 203 deletions
+15 -15
View File
@@ -2,31 +2,31 @@
namespace App\Events;
use App\Events\Event;
use App\Models\Widget;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class AssignWidget extends Event
{
use SerializesModels;
/**
* @var Widget
*/
public $widget;
/**
* @var WidgetArea
*/
public $widgetArea;
/**
* Create a new event instance.
*
* @return void
* @param Widget $widget
* @param WidgetArea $widgetArea
*/
public function __construct()
public function __construct(Widget $widget, WidgetArea $widgetArea)
{
//
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
$this->widget = $widget;
$this->widgetArea = $widgetArea;
}
}
+8 -14
View File
@@ -2,31 +2,25 @@
namespace App\Events;
use App\Events\Event;
use App\Models\Widget;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class CreateNewWidget extends Event
{
use SerializesModels;
/**
* @var Widget
*/
public $widget;
/**
* Create a new event instance.
*
* @return void
* @param Widget $widget
*/
public function __construct()
public function __construct(Widget $widget)
{
//
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
$this->widget = $widget;
}
}
+8 -15
View File
@@ -2,31 +2,24 @@
namespace App\Events;
use App\Events\Event;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class CreateNewWidgetArea extends Event
{
use SerializesModels;
/**
* @var WidgetArea
*/
public $widgetArea;
/**
* Create a new event instance.
*
* @return void
* @param WidgetArea $widgetArea
*/
public function __construct()
public function __construct(WidgetArea $widgetArea)
{
//
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
$this->widgetArea = $widgetArea;
}
}
+8 -14
View File
@@ -2,31 +2,25 @@
namespace App\Events;
use App\Events\Event;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class DeleteWidgetArea extends Event
{
use SerializesModels;
/**
* @var WidgetArea
*/
public $widgetArea;
/**
* Create a new event instance.
*
* @return void
* @param WidgetArea $widgetArea
*/
public function __construct()
public function __construct(WidgetArea $widgetArea)
{
//
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
$this->widgetArea = $widgetArea;
}
}
+8 -15
View File
@@ -2,31 +2,24 @@
namespace App\Events;
use App\Events\Event;
use App\Models\Widget;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class EditWidget extends Event
{
use SerializesModels;
/**
* @var Widget
*/
public $widget;
/**
* Create a new event instance.
*
* @return void
* @param Widget $widget
*/
public function __construct()
public function __construct(Widget $widget)
{
//
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
$this->widget = $widget;
}
}
+8 -3
View File
@@ -3,21 +3,26 @@
namespace App\Events;
use App\Events\Event;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class EditWidgetArea extends Event
{
use SerializesModels;
/**
* @var WidgetArea
*/
public $widgetArea;
/**
* Create a new event instance.
*
* @return void
* @param WidgetArea $widgetArea
*/
public function __construct()
public function __construct(WidgetArea $widgetArea)
{
//
$this->widgetArea = $widgetArea;
}
/**
+15 -15
View File
@@ -2,31 +2,31 @@
namespace App\Events;
use App\Events\Event;
use App\Models\Widget;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class RemoveWidgetFromArea extends Event
{
use SerializesModels;
/**
* @var Widget
*/
public $widget;
/**
* @var WidgetArea
*/
public $widgetArea;
/**
* Create a new event instance.
*
* @return void
* @param Widget $widget
* @param WidgetArea $widgetArea
*/
public function __construct()
public function __construct(Widget $widget, WidgetArea $widgetArea)
{
//
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
$this->widget = $widget;
$this->widgetArea = $widgetArea;
}
}
@@ -2,12 +2,15 @@
namespace App\Http\Controllers\Admin;
use App\Events\AssignWidget;
use App\Events\RemoveWidgetFromArea;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Models\Widget;
use App\Models\WidgetArea;
use App\Models\WidgetInWidgetArea;
use Illuminate\Database\QueryException;
use Illuminate\Support\Facades\Event;
class AssociateWidget extends Controller
{
@@ -26,6 +29,10 @@ class AssociateWidget extends Controller
public function makeAssociation($widgetId, $widgetAreaId)
{
// check if given values are valid
$widget = Widget::findOrFail($widgetId);
$widgetArea = WidgetArea::findOrFail($widgetAreaId);
try {
WidgetInWidgetArea::create(['widget_id' => $widgetId, 'widget_area_id' => $widgetAreaId]);
} catch (QueryException $e) {
@@ -34,6 +41,8 @@ class AssociateWidget extends Controller
->with('error', trans('admin/widgets.associationExists'));
}
Event::fire(new AssignWidget($widget, $widgetArea));
return redirect()
->route('widgets.associate', ['widgetArea' => $widgetAreaId])
->with('success', trans('admin/widgets.successfullyAssociated'));
@@ -41,6 +50,10 @@ class AssociateWidget extends Controller
public function deleteAssociation($widgetId, $widgetAreaId)
{
// check if given values are valid
$widget = Widget::findOrFail($widgetId);
$widgetArea = WidgetArea::findOrFail($widgetAreaId);
$widgetInArea = WidgetInWidgetArea::where('widget_id', $widgetId)
->where('widget_area_id', $widgetAreaId);
@@ -52,6 +65,8 @@ class AssociateWidget extends Controller
$widgetInArea->delete();
Event::fire(new RemoveWidgetFromArea($widget, $widgetArea));
return redirect()
->route('widgets.associate', ['widgetArea' => $widgetAreaId])
->with('success', trans('admin/widgets.successfullyDeassociated'));
@@ -9,6 +9,7 @@ use App\Models\Widget;
use App\Models\WidgetType;
use App\Widgets\Exceptions\MissingParameterException;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Event;
class CreateNewWidget extends Controller
{
@@ -65,6 +66,9 @@ class CreateNewWidget extends Controller
// save into database
$widget->save();
// fire event with newly created widget
Event::fire(new \App\Events\CreateNewWidget($widget));
// redirect with success notification
return redirect()
->route('widgets.new', ['type' => $type])
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\NewWidgetAreaRequest;
use App\Models\WidgetArea;
use Illuminate\Support\Facades\Event;
class CreateNewWidgetArea extends Controller
{
@@ -32,8 +33,10 @@ class CreateNewWidgetArea extends Controller
'description' => $request->description
];
WidgetArea::create($parameters);
$area = WidgetArea::create($parameters);
// fire event with new widget area
Event::fire(new \App\Events\CreateNewWidgetArea($area));
// redirect with success notification
return redirect()
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
use App\Http\Requests\EditWidgetRequest;
use App\Models\Widget;
use App\Widgets\Exceptions\MissingParameterException;
use Illuminate\Support\Facades\Event;
class EditWidget extends Controller
{
@@ -49,6 +50,9 @@ class EditWidget extends Controller
// save into database
$widget->save();
// fire event with editing widget
Event::fire(new \App\Events\EditWidget($widget));
// redirect with success notification
return redirect()
->route('widgets.overview')
@@ -7,6 +7,7 @@ use App\Http\Requests;
use App\Http\Requests\EditWidgetAreaRequest;
use App\Models\WidgetArea;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Facades\Event;
class EditWidgetArea extends Controller
{
@@ -30,6 +31,9 @@ class EditWidgetArea extends Controller
$area->save();
// fire event with new widget area
Event::fire(new \App\Events\EditWidgetArea($area));
return redirect()
->route('widgetareas.edit', ['id' => $id])
->with('success', trans('admin/widgetAreas.editSuccessfull'));
@@ -54,6 +58,9 @@ class EditWidgetArea extends Controller
// delete area
$area->delete();
// fire event with new widget area
Event::fire(new \App\Events\DeleteWidgetArea($area));
// redirect and inform user
return redirect()
->route('widgetareas.overview')
+20 -14
View File
@@ -3,29 +3,35 @@
namespace App\Listeners;
use App\Events\AssignWidget;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogAssignWidget
class LogAssignWidget extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param AssignWidget $event
*
* @return void
*/
public function handle(AssignWidget $event)
{
//
$parameters = [
'widgetName' => $event->widget->name,
'widgetId' => $event->widget->id,
'widgetAreaName' => $event->widgetArea->name,
'widgetAreaId' => $event->widgetArea->id,
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return 'assignWidget';
}
}
+17 -12
View File
@@ -6,18 +6,8 @@ use App\Events\DeleteWidgetArea;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogDeleteWidgetArea
class LogDeleteWidgetArea extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
@@ -26,6 +16,21 @@ class LogDeleteWidgetArea
*/
public function handle(DeleteWidgetArea $event)
{
//
$parameters = [
'name' => $event->widgetArea->name,
'id' => $event->widgetArea->id
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return 'deleteWidgetArea';
}
}
+18 -14
View File
@@ -3,29 +3,33 @@
namespace App\Listeners;
use App\Events\EditWidget;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogEditWidget
class LogEditWidget extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param EditWidget $event
*
* @return void
*/
public function handle(EditWidget $event)
{
//
$parameters = [
'name' => $event->widget->name,
'id' => $event->widget->id
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return 'editWidget';
}
}
+18 -12
View File
@@ -6,18 +6,8 @@ use App\Events\EditWidgetArea;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogEditWidgetArea
class LogEditWidgetArea extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
@@ -26,6 +16,22 @@ class LogEditWidgetArea
*/
public function handle(EditWidgetArea $event)
{
//
$parameters = [
'id' => $event->widgetArea->id,
'name' => $event->widgetArea->name,
'description' => $event->widgetArea->description
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return "editWidgetArea";
}
}
+20 -14
View File
@@ -3,29 +3,35 @@
namespace App\Listeners;
use App\Events\CreateNewWidget;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogNewWidget
class LogNewWidget extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param CreateNewWidget $event
*
* @return void
*/
public function handle(CreateNewWidget $event)
{
//
$parameters = [
'name' => $event->widget->name,
'type' => $event->widget->widget_type_handler,
'description' => $event->widget->description,
'id' => $event->widget->id
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return 'newWidget';
}
}
+19 -14
View File
@@ -3,29 +3,34 @@
namespace App\Listeners;
use App\Events\CreateNewWidgetArea;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogNewWidgetArea
class LogNewWidgetArea extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param CreateNewWidgetArea $event
*
* @return void
*/
public function handle(CreateNewWidgetArea $event)
{
//
$parameters = [
'id' => $event->widgetArea->id,
'name' => $event->widgetArea->name,
'description' => $event->widgetArea->description
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return 'newWidgetArea';
}
}
+19 -11
View File
@@ -6,17 +6,8 @@ use App\Events\RemoveWidgetFromArea;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogRemoveWidgetFromArea
class LogRemoveWidgetFromArea extends Logger
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
@@ -26,6 +17,23 @@ class LogRemoveWidgetFromArea
*/
public function handle(RemoveWidgetFromArea $event)
{
//
$parameters = [
'widgetName' => $event->widget->name,
'widgetId' => $event->widget->id,
'widgetAreaName' => $event->widgetArea->name,
'widgetAreaId' => $event->widgetArea->id,
];
$this->saveLog($parameters);
}
/**
* Getter for action name. Used only internally
*
* @return mixed
*/
protected function getName()
{
return 'removeWidgetFromArea';
}
}
+8 -1
View File
@@ -19,7 +19,14 @@ class SeedActionLogTypes extends Seeder
'newCustomField',
'editCustomField',
'deleteCustomField',
'changeSettings'
'changeSettings',
'assignWidget',
'deleteWidgetArea',
'newWidgetArea',
'newWidget',
'removeWidgetFromArea',
'editWidget',
'editWidgetArea',
];
foreach ($types as $type) {
+14
View File
@@ -8,6 +8,13 @@ return [
'editCustomField' => 'Edited custom field with ID #:id and name ":name"',
'deleteCustomField' => 'Deleted custom field ID #:id and name ":name"',
'changeSettings' => 'Changes settings',
'assignWidget' => 'Assigned widget :widgetName (#:widgetId) into widget area :widgetAreaName (#:widgetAreaId)',
'deleteWidgetArea' => 'Deleted widget area :name',
'newWidgetArea' => 'Created new widget area :name (#:id) with description ":description"',
'newWidget' => 'Created new widget of type :type with :name (#:id) and description ":description".',
'removeWidgetFromArea' => 'Removed widget :widgetName (#:widgetId) from widget area :widgetAreaName (#:widgetAreaId)',
'editWidget' => 'Edited widget :name (#:id)',
'editWidgetArea' => 'Edited widget area :name (#:id) with description ":description"',
// list of names
'nameLogin' => 'Login',
'nameLogout' => 'Log out',
@@ -16,4 +23,11 @@ return [
'nameEditCustomField' => 'Edit custom field',
'nameDeleteCustomField' => 'Delete custom field',
'nameChangeSettings' => 'Change settings',
'nameAssignWidget' => 'Assign widget',
'nameDeleteWidgetArea' => 'Delete widget area',
'nameNewWidgetArea' => 'Create widget area',
'nameNewWidget' => 'New widget',
'nameRemoveWidgetFromArea' => 'Remove widget from area',
'nameEditWidget' => 'Edit widget',
'nameEditWidgetArea' => 'Edit widget area',
];