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\CustomFieldResources;
|
||||||
use App\Enumerations\CustomFieldTypes;
|
use App\Enumerations\CustomFieldTypes;
|
||||||
|
use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent;
|
||||||
use App\Http\Requests\NewCustomFieldRequest;
|
use App\Http\Requests\NewCustomFieldRequest;
|
||||||
use App\Models\CustomField;
|
use App\Models\CustomField;
|
||||||
|
use Illuminate\Support\Facades\Event;
|
||||||
|
|
||||||
class CreateNewCustomField extends Controller
|
class CreateNewCustomField extends Controller
|
||||||
{
|
{
|
||||||
@@ -59,6 +61,9 @@ class CreateNewCustomField extends Controller
|
|||||||
|
|
||||||
$customField->save();
|
$customField->save();
|
||||||
|
|
||||||
|
// fire event about creating new custom field
|
||||||
|
Event::fire(new CreateNewCustomFieldEvent($customField));
|
||||||
|
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('customfields.new')
|
->route('customfields.new')
|
||||||
->with('success', trans('admin/customFields.successfullyCreated'));
|
->with('success', trans('admin/customFields.successfullyCreated'));
|
||||||
|
|||||||
@@ -4,10 +4,13 @@ namespace App\Http\Controllers\Admin;
|
|||||||
|
|
||||||
use App\Enumerations\CustomFieldResources;
|
use App\Enumerations\CustomFieldResources;
|
||||||
use App\Enumerations\CustomFieldTypes;
|
use App\Enumerations\CustomFieldTypes;
|
||||||
|
use App\Events\DeleteCustomField;
|
||||||
|
use App\Events\EditCustomField as EditCustomFieldEvent;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
use App\Http\Requests\EditCustomFieldRequest;
|
use App\Http\Requests\EditCustomFieldRequest;
|
||||||
use App\Models\CustomField;
|
use App\Models\CustomField;
|
||||||
|
use Illuminate\Support\Facades\Event;
|
||||||
|
|
||||||
class EditCustomField extends Controller
|
class EditCustomField extends Controller
|
||||||
{
|
{
|
||||||
@@ -60,6 +63,9 @@ class EditCustomField extends Controller
|
|||||||
// save changes into database
|
// save changes into database
|
||||||
$customField->save();
|
$customField->save();
|
||||||
|
|
||||||
|
// fire event about editing custom field
|
||||||
|
Event::fire(new EditCustomFieldEvent($customField));
|
||||||
|
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('customfields.edit', ['id' => $id])
|
->route('customfields.edit', ['id' => $id])
|
||||||
->with('success', trans('admin/customFields.successfullyEdited'));
|
->with('success', trans('admin/customFields.successfullyEdited'));
|
||||||
@@ -89,6 +95,9 @@ class EditCustomField extends Controller
|
|||||||
// delete item
|
// delete item
|
||||||
$field->delete();
|
$field->delete();
|
||||||
|
|
||||||
|
// fire event about editing custom field
|
||||||
|
Event::fire(new DeleteCustomField($field));
|
||||||
|
|
||||||
// redirect back to overview
|
// redirect back to overview
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('customfields.overview')
|
->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\Events\EditUser' => [
|
||||||
'App\Listeners\LogEditUser',
|
'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...
|
// internal Laravel events - should work as auth.login and auth.logout, however it doesn't...
|
||||||
'Illuminate\Auth\Events\Login' => [
|
'Illuminate\Auth\Events\Login' => [
|
||||||
'App\Listeners\LogLogin'
|
'App\Listeners\LogLogin'
|
||||||
|
|||||||
Reference in New Issue
Block a user