The displayField you can get it from the table. That is 
$event->subject()->displayField();

You can also determine the prefix from the table in $event->subject() I 
guess

On Wednesday, July 23, 2014 4:50:10 PM UTC+2, Stefano Zoffoli wrote:
>
> Thank you, this is a very nice solution and it worked perfectly!
>
> How can I pass extra infos for Logs' description field? (i mean like a 
> custom prefix string and the entity displayfield's value?)
>
>
> --
>  Stefano Zoffoli
> *Resp. Sviluppo Software*
> 347 8180258
>
> *Librasoft Snc*
> www.LibrasoftSnc.it <http://www.librasoftsnc.it/>
> www.ProgettoKuma.it <http://www.progettokuma.it/>
> 0543 424612 
>   
>
> 2014-07-23 13:55 GMT+02:00 José Lorenzo <[email protected]>:
>
>> I see.... I would re-do that at the controller level:
>>
>> class AuditLogger implements \Cake\Event\EventListener {
>>
>>   public function construct(AuthComponent $auth) {
>>     $this->_auth = $auth;
>>   }
>>
>>   public function implementedEvents() {
>>     return ['Model.afterSave' => 'logSave'];
>>   }
>>
>>   public function logSave($event, $entity, $options) {
>>      $logs->save(new Entity(['user_id' => $this->auth->user('id'), ...]));
>>   }
>> }
>>
>> And in your Controller:
>>
>> public function beforeFilter() {
>>    ....
>>    $this->Customers->eventManager()->attach(new AuditLogger($this->Auth)
>> );
>> }
>>
>> This way you keep your separation of concerns and have smaller and more 
>> testable classes that you can reuse :)
>>
>> On Wednesday, July 23, 2014 12:56:51 PM UTC+2, Stefano Zoffoli wrote:
>>>
>>> Yes of course:
>>> I have a CustomersTable, a UsersTable and a LogsTable. The LogsTable has 
>>> basically 4 fields: id, user_id, description, created.
>>>
>>> When an authenticated user saves a customer, i'd like to log this user 
>>> action. So, in CustomersTable I added a callback method like this:
>>>
>>> public function afterSave(Event $event, Entity $entity, array $options) {
>>>   $logs = TableRegistry::get('Logs');
>>>   $log = $logs->newEntity([
>>> 'user_id' => AuthComponent::user('id'),
>>>   'description' => 'Saved customer',
>>>   ]);
>>>   $logs->save($log);
>>> }
>>>
>>> But AuthComponent::user() is not static and gave me fatal error.
>>>
>>>
>>> --
>>>  Stefano Zoffoli
>>> *Resp. Sviluppo Software*
>>> 347 8180258
>>>
>>> *Librasoft Snc*
>>> www.LibrasoftSnc.it <http://www.librasoftsnc.it/>
>>> www.ProgettoKuma.it <http://www.progettokuma.it/>
>>> 0543 424612 
>>>   
>>>
>>> 2014-07-23 12:40 GMT+02:00 José Lorenzo <[email protected]>:
>>>
>>>> That's not possible anymore. We are currently investigating clean ways 
>>>> of implementing this use case. May I ask why you need the session in the 
>>>> table?
>>>>
>>>>
>>>> On Wednesday, July 23, 2014 11:53:48 AM UTC+2, Stefano Zoffoli wrote:
>>>>>
>>>>> Hi,
>>>>> i'd like to read user auth infos in a Table Class (for example i want 
>>>>> to log which user has saved a given entity in a AfterSave callback 
>>>>> method).
>>>>>
>>>>> In cakephp 2 there was AuthComponent::user() static method, but in 
>>>>> cakephp 3 that method is not static anymore, and I can't find a simple 
>>>>> way 
>>>>> to access that information outside of Controllers.
>>>>>
>>>>> How can i do that?
>>>>> Thank you
>>>>>
>>>>> --
>>>>>  Stefano Zoffoli
>>>>> *Resp. Sviluppo Software*
>>>>> 347 8180258
>>>>>
>>>>> *Librasoft Snc*
>>>>> www.LibrasoftSnc.it <http://www.librasoftsnc.it/>
>>>>> www.ProgettoKuma.it <http://www.progettokuma.it/>
>>>>> 0543 424612 
>>>>>   
>>>>  -- 
>>>> Like Us on FaceBook https://www.facebook.com/CakePHP
>>>> Find us on Twitter http://twitter.com/CakePHP
>>>>
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "CakePHP" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/cake-php.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  -- 
>> Like Us on FaceBook https://www.facebook.com/CakePHP
>> Find us on Twitter http://twitter.com/CakePHP
>>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "CakePHP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/cake-php.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to