FEATURE #1400: add logging for custom fields
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use App\Events\Event;
|
||||
use App\Models\CustomField;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
|
||||
class CreateNewCustomField extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
/**
|
||||
* @var CustomField
|
||||
*/
|
||||
public $customField;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param CustomField $customField
|
||||
*/
|
||||
public function __construct(CustomField $customField)
|
||||
{
|
||||
$this->customField = $customField;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use App\Events\Event;
|
||||
use App\Models\CustomField;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
|
||||
class DeleteCustomField extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
/**
|
||||
* @var CustomField
|
||||
*/
|
||||
public $customField;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param CustomField $customField
|
||||
*/
|
||||
public function __construct(CustomField $customField)
|
||||
{
|
||||
$this->customField = $customField;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use App\Events\Event;
|
||||
use App\Models\CustomField;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
|
||||
class EditCustomField extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
/**
|
||||
* @var CustomField
|
||||
*/
|
||||
public $customField;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param CustomField $customField
|
||||
*/
|
||||
public function __construct(CustomField $customField)
|
||||
{
|
||||
$this->customField = $customField;
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,10 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Enumerations\CustomFieldResources;
|
||||
use App\Enumerations\CustomFieldTypes;
|
||||
use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent;
|
||||
use App\Http\Requests\NewCustomFieldRequest;
|
||||
use App\Models\CustomField;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
|
||||
class CreateNewCustomField extends Controller
|
||||
{
|
||||
@@ -59,6 +61,9 @@ class CreateNewCustomField extends Controller
|
||||
|
||||
$customField->save();
|
||||
|
||||
// fire event about creating new custom field
|
||||
Event::fire(new CreateNewCustomFieldEvent($customField));
|
||||
|
||||
return redirect()
|
||||
->route('customfields.new')
|
||||
->with('success', trans('admin/customFields.successfullyCreated'));
|
||||
|
||||
@@ -4,10 +4,13 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Enumerations\CustomFieldResources;
|
||||
use App\Enumerations\CustomFieldTypes;
|
||||
use App\Events\DeleteCustomField;
|
||||
use App\Events\EditCustomField as EditCustomFieldEvent;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests;
|
||||
use App\Http\Requests\EditCustomFieldRequest;
|
||||
use App\Models\CustomField;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
|
||||
class EditCustomField extends Controller
|
||||
{
|
||||
@@ -60,6 +63,9 @@ class EditCustomField extends Controller
|
||||
// save changes into database
|
||||
$customField->save();
|
||||
|
||||
// fire event about editing custom field
|
||||
Event::fire(new EditCustomFieldEvent($customField));
|
||||
|
||||
return redirect()
|
||||
->route('customfields.edit', ['id' => $id])
|
||||
->with('success', trans('admin/customFields.successfullyEdited'));
|
||||
@@ -89,6 +95,9 @@ class EditCustomField extends Controller
|
||||
// delete item
|
||||
$field->delete();
|
||||
|
||||
// fire event about editing custom field
|
||||
Event::fire(new DeleteCustomField($field));
|
||||
|
||||
// redirect back to overview
|
||||
return redirect()
|
||||
->route('customfields.overview')
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners;
|
||||
|
||||
use App\Events\CreateNewCustomField;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
class LogCreateCustomField extends Logger
|
||||
{
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param CreateNewCustomField $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle(CreateNewCustomField $event)
|
||||
{
|
||||
$parameters = [
|
||||
'id' => $event->customField->id,
|
||||
'name' => $event->customField->name
|
||||
];
|
||||
|
||||
$this->saveLog($parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for action name. Used only internally
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getName()
|
||||
{
|
||||
return 'newCustomField';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners;
|
||||
|
||||
use App\Events\DeleteCustomField;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
class LogDeleteField extends Logger
|
||||
{
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param DeleteCustomField $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle(DeleteCustomField $event)
|
||||
{
|
||||
$parameters = [
|
||||
'id' => $event->customField->id,
|
||||
'name' => $event->customField->name
|
||||
];
|
||||
|
||||
$this->saveLog($parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for action name. Used only internally
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getName()
|
||||
{
|
||||
return 'deleteCustomField';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners;
|
||||
|
||||
use App\Events\EditCustomField;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
class LogEditCustomField extends Logger
|
||||
{
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param EditCustomField $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle(EditCustomField $event)
|
||||
{
|
||||
$parameters = [
|
||||
'id' => $event->customField->id,
|
||||
'name' => $event->customField->name
|
||||
];
|
||||
|
||||
$this->saveLog($parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for action name. Used only internally
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getName()
|
||||
{
|
||||
return 'editCustomField';
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,15 @@ class EventServiceProvider extends ServiceProvider
|
||||
'App\Events\EditUser' => [
|
||||
'App\Listeners\LogEditUser',
|
||||
],
|
||||
'App\Events\CreateNewCustomField' => [
|
||||
'App\Listeners\LogCreateCustomField',
|
||||
],
|
||||
'App\Events\EditCustomField' => [
|
||||
'App\Listeners\LogEditCustomField',
|
||||
],
|
||||
'App\Events\DeleteCustomField' => [
|
||||
'App\Listeners\LogDeleteField',
|
||||
],
|
||||
// internal Laravel events - should work as auth.login and auth.logout, however it doesn't...
|
||||
'Illuminate\Auth\Events\Login' => [
|
||||
'App\Listeners\LogLogin'
|
||||
|
||||
Reference in New Issue
Block a user