Thank you!
--
Stefano Zoffoli
Resp. Sviluppo Software
347 8180258
Librasoft Snc
www.LibrasoftSnc.it
www.ProgettoKuma.it
0543 424612
Resp. Sviluppo Software
347 8180258
Librasoft Snc
www.LibrasoftSnc.it
www.ProgettoKuma.it
0543 424612


2014-07-23 18:18 GMT+02:00 José Lorenzo <jose.zap@gmail.com>:
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
www.ProgettoKuma.it
0543 424612![]()
2014-07-23 13:55 GMT+02:00 José Lorenzo <jose.zap@gmail.com>: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
www.ProgettoKuma.it
0543 424612![]()
2014-07-23 12:40 GMT+02:00 José Lorenzo <jose.zap@gmail.com>: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
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 cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
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 cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
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 cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
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 cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment