Skip to content

vs0uz4/laravel-auditing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Revisionable

É sempre importante ter o histórico de alterações dos registros no sistema. O Auditing faz exatamente isso de forma simples e prática, bastando você extende-lo na model que gostaria de registrar o log de alterações.

Auditing é baseado no package revisionable

Instalação

Auditing é instalado via composer, os detalhes estão em packagist, aqui.

Execute o seguinte comando para obter a versão mais recente do pacote:

composer require owen-it/laravel-auditing

Em seu arquivo config/app.php adicione OwenIt\Auditing\AuditingServiceProvider::class no final da lista de providers:

'providers' => [
    ...
    OwenIt\Auditing\AuditingServiceProvider::class,
],

Não deixe de registrar o provider, pois ele é requisito para as proximas etapas.

Publique as configurações usando o comando a seguir:

php artisan vendor:publish

Agora vc precisa executar a migration para criar a tabela 'logs' na sua base de dados, é nesta tabela que serão registrados os logs.

php artisan migrate

Docs

Implementação

Implementação baseada em Trait

Para registrar o log de alterações, simplesmente adicione a trait OwnerIt\Auditing\AuditingTrait no model que deseja auditar, exemplo:

namespace MyApp\Models;

use OwenIt\Auditing\AuditingTrait;

class Pessoa extends Eloquent 
{
    use AuditingTrait;
    ...
}

Traits exigem PHP >= 5.4

Implementação baseada em Legacy class

Para manter o log das alterações do seu model usando Legacy class, você pode estender a class OwnerIt\Auditing\Auditing, exemplo:

namespace MyApp\Models;

use OwenIt\Auditing\Auditing;

class Pessoa extends Auditing 
{
    ...    
}

Observe que também trabalha com models namespaced.

Configurações

As configurações do comportamento do Auditing são realizadas com a declaração de atributos na model. Veja os exemplos abaixo:

  • Desativar o log após um numero "X": $historyLimit = 500
  • Desativar/ativar o log(Auditoria): $auditEnabled = false
  • Desativar o log para campos específicos: $dontKeep = ['campo1', 'campo2']
namespace MyApp\Models;

class Pessoa extends Eloquent 
{
    use OwenIt\Auditing\AuditingTrait;

    protected $auditEnabled  = false;      //Desativa o registro de log nesta model.
    protected $historyLimit = 500;         //Desativa o registro de log após 500 registros.
    protected $dontKeep = ['cpf', 'nome']; //Informe os campos que deseja NÃO registrar no log.
}

Consultando o Log

namespace App\Http\Controllers;

use App\Pessoa;

class MyAppController extends BaseController 
{

    public function index()
    {
        $pessoa = Pessoa::find(1);
        ...
    }

    ...
}

Localizando todos os logs

$pessoa->logs; 

Localiza o primeiro registro de log criado

$pessoa->logs->first(); 

Localiza o último registro de log criado

$pessoa->logs->last(); 

Selecionando registro de log

$pessoa->logs->find(2); 

Exibindo valores registrados

$log = $pessoa->logs->first();
$newValue = $log->new_value; ou $log->new;
$oldValue = $log->old_value; ou $log->old;

Localizando dono do log

use OwenIt\Auditing\Log;

$log = Log::find(1);
$owner = $log->owner;

Contribuindo

Contribuições são bem-vindas; para manter as coisas organizadas, todos os bugs e solicitações devem ser abertas na aba issues do github para o projeto principal, no owen-it/laravel-auditing/issues

Todos os pedidos de pull devem ser feitas para o branch develop, para que possam ser testados antes de serem incorporados pela branch master.

Tendo problemas?

Se você está tendo problemas com o uso deste pacote, existe probabilidade de alguém já ter enfrentado o mesmo problema. Você pode procurar respostas comuns para os seus problemas em:

About

Registre o log de alterações a partir de models no Laravel 5.*

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%