2012-05-03 13 views
0

私のアプリケーション内のオブジェクトの変更を、processForm関数内で、そのオブジェクトの保存前後の差異を確認することによって変更します。私は自分のデータベースのログテーブルにそれを保持します。Symfony - sfGuardUser - グループまたは権限の変更を記録する方法は?

sfGuardUserバックエンドでは、 の埋め込みグループまたは権限に対する変更を自動的に保存する、生成されたadmin を使用します。

これらの変更をログに記録したいのですが、どこにログプロセスを追加できますか?

+0

doctrineまたはpropelを使用していますか? – j0k

+0

Propfelとsymfony 1.4 –

+0

ok私は自分の答えを更新しました – j0k

答えて

1

このような変更を処理する最も良い場所は、processFormの代わりにモデル内にあると思います。これは行動の完璧な仕事です。

あり振る舞いはあなたがやったまさに何をどのversionableと呼ばれる:モデルのhistorize各変更とあなたは自分のschema.ymlの中でそれを定義する必要があります。

BlogPost: 
    _propel_behaviors: 
    versionable: 
     log_created_at: true 
     log_created_by: true 
     log_comment: true 
    columns: 
    title: string(255) 
    body: clob 

ので、多分あなたからインスピレーションを得ることができますthis behaviorあなた自身を作成し​​てください。

sfGuardGroupPermission: 
    _attributes: { phpName: sfGuardGroupPermission } 
    _propel_behaviors: 
    versionable: { log_created_at: true, log_created_by: true, log_comment: true } 

編集:そして、あなたは同じように、sfGuardのschema.ymlを変更する を推進するためにスイッチ。

関連する問題