d3yii2/ d3audittrail
显示审计跟踪数据
dev-master
2024-06-22 03:27 UTC
Requires
This package is auto-updated.
Last update: 2024-09-22 04:05:08 UTC
README
添加到composer require
"d3yii2/d3audittrail": "dev-master"
显示审计跟踪数据
添加迁移路径
'controllerMap' => [ 'migrate' => [ 'class' => 'yii\console\controllers\MigrateController', 'migrationPath' => [ '@vendor/d3yii2/d3audittrail/migrations', ], ], ],
在控制台和Web中定义模块
'modules' => [ 'd3audittrail' => [ 'class' => 'd3yii2\d3audittrail\Module', ], ]
在参数表中定义表名
'params' => [ 'audittrail.table' => 'tbl_audit_trail' ]
添加到模型行为
public function behaviors(): array { return ArrayHelper::merge( parent::behaviors(), [ 'sammaye\audittrail\LoggableBehavior' ] ); }
定义模型标签
class Model extends extends \yii\db\ActiveRecord /** * model label */ public function tableLabel(): string { return 'Data Record'; } public static function audittrailHiddedFields() { return [ 'password' ]; } public static function audittrailSqlFields() { return [ 'client_id' => 'select name from client where id=:id' ]; } public static function audittrailRefModels() { return [ [ 'model' => TblAuditTrail::class, 'ref_field' => 'my_id', 'hidded_fields' => ['a','b'], 'field_sql' => [ 'field1' => 'select name from user where id=:id' ] ] ]; } }
添加到审计跟踪控制器(不安全)的视图按钮
$this->addPageButtons(AuditTrailButton::widget([ 'modelName' => coalmar\delivery\models\CmdDelivery::className(), 'modelId' => $model->id ]));
添加到实际控制器(安全)的视图按钮
$this->addPageButtons(ThButton::widget([ 'label' => 'Auditpieraksti', 'link' => [ 'audit-trail', 'id' => $model->id, 'audittrail-ru' => ReturnUrl::getToken('Partija') ] ]));
添加到控制器动作
public function behaviors(): array
{
return [
'access' => [
'class' => AccessControl::class,
'rules' => [
[
'allow' => true,
'actions' => [
'audit-trail'
],
'roles' => [
'@'
],
],
],
],
'clearFilterState' => ClearFilterStateBehavior::class,
];
}
public function actions() { return [ 'audit-trail' => [ 'class' => AudittrailListAction::class, 'modelName' => CwbrProduct::class, ] ]; }
在kartik网格动作列中添加历史按钮
$returnUrlToken = ReturnUrl::getToken(); $columns[] = [ 'class' => ActionColumn::class, 'template' => '{update}{delete}{audit-trail}', 'noWrap' => true, 'urlCreator' => static function ($action, $model, $key) use ($returnUrlToken) { return Url::toRoute([ '/d3persons/d3p-person-contact/' . $action, 'id' => (string)$key, 'ru' => $returnUrlToken ]); }, 'buttons'=>[ 'audit-trail' => static function ($url, $model) { return Html::a( '<span class="glyphicon glyphicon-time"></span>', $url, [ 'title' => Yii::t('d3audittrail', 'Audit trail'), ]); } ] ]