Log message #4267228

# At Username Text
# Jul 7th 2021, 14:11 bmudda @alamnaryab you can try this plugin for populating created and modified by attributes: https://github.com/UseMuffin/Footprint
# Jul 7th 2021, 13:59 dereuromark I would debug the __d() function and what it looks up in the end, what language it tries to find etc
# Jul 7th 2021, 13:59 dereuromark cake generates the mo file, no need to do anything from normal po usage
# Jul 7th 2021, 13:57 kevin.pfeifer So you edit the `my_plugin.po` with something like PoEdit and generate a `my_plugin.mo` from it, right?
# Jul 7th 2021, 13:55 bato Uhm... so should it work automatically? No need to configure anything else in plugin?
# Jul 7th 2021, 13:51 dereuromark well, 2 should also be fine. https://github.com/cakephp/localized/tree/3.x/src/Locale
# Jul 7th 2021, 13:50 dereuromark I always used 3 letter iso codes in cake3 ( https://github.com/dereuromark/cakephp-tools/tree/cake3/src/Locale ), not sure if that makes a difference in the end.
# Jul 7th 2021, 13:36 slackebot2 forcing locale `I18n::setLocale('it')` but the strings aren't translated. Do I need to add/load a translator for the plugin?
# Jul 7th 2021, 13:36 bato Hi all, I need some help with localization in a plugin for CakePHP 3.9. I have a plugin named `MyPlugin` and I made translations using `__d()` and domain `my_plugin`. Then I have extracted transaltions with `./bin/cake I18n extract --plugin MyPlugin` generating `my_plugin.pot` file inside the plugin `src/Locale` directory. I have generated `src/Locale/it/my_plugin.po` file with `./bin/cake i18n init it -p MyPlugin` To test it I'm
# Jul 7th 2021, 13:14 dereuromark As only the controller should have access to request data.
# Jul 7th 2021, 13:13 dereuromark Usually you would pass in that data from the controller layer into the model layer and then the behavior can use that.
# Jul 7th 2021, 13:13 dereuromark I think Utils one contains one. Well, they are also cheating a bit using global auth forwarding :) But better than nothing. https://github.com/cakemanager/cakephp-utils/blob/master/src/Model/Behavior/WhoDidItBehavior.php
# Jul 7th 2021, 13:11 dereuromark At the very least a session class wrapper would be appropriate here.
# Jul 7th 2021, 13:11 alamnaryab no, how can I use the default one?
# Jul 7th 2021, 13:11 dereuromark See awesome list. The main problem with yours is that you directly access super global $_SESSION, which is very bad.
# Jul 7th 2021, 13:10 dereuromark Why? :) You do know that it already exists, right?
# Jul 7th 2021, 13:06 slackebot2 $entity->modified_by = $loggedin_user_id; }else{ $entity->modified_by = $loggedin_user_id; } } }``` How can I improve it?
# Jul 7th 2021, 13:06 alamnaryab I have created a `CreatedbyBehavior` to auto populate `created_by` and `modified_by` fields ```class CreatedbyBehavior extends Behavior { public function beforeSave(EventInterface $event, EntityInterface $entity, ArrayObject $options) { $loggedin_user_id = isset($_SESSION['Auth']->id)?$_SESSION['Auth']->id:-1; if($entity->isNew()){ $entity->created_by = $loggedin_user_id;
# Jul 7th 2021, 13:02 info315 @alamnaryab I think your Controller has to pass the current user id to the Table, which pass it to the Behavior
# Jul 7th 2021, 12:39 ndm You could use a result formatter on the query to modify the data that lands in the entity, or add a virtual field to the user entity that extracts the information on the fly.
# Jul 7th 2021, 12:07 alamnaryab Hi How can I get logged-in user id inside Behavior I used Authentication Plugin following cake4 cms tutorial
# Jul 7th 2021, 11:52 paolo.bragagni usingfoc bootstrap-ui but my require fields are not styled
# Jul 7th 2021, 08:37 dereuromark But are u also using it as in docs? :)
# Jul 7th 2021, 08:24 rudy1976s I am using @dereuromark Tags plugin, I configured it as described in the docs, but I cannot save: I always get the following error: `Cannot convert value of type array to string.` The stack is not helping: anyone got same issue ?
# Jul 7th 2021, 08:22 rudy1976s good morning !!!
# Jul 6th 2021, 22:17 itmpls makes sense, yeah
# Jul 6th 2021, 22:06 dereuromark blacklisting instead of whitelisting is usually considered a security risk. add any new method/controller without thinking about it and you exposed too much by accident.
# Jul 6th 2021, 21:14 itmpls Apparently my version doesn't support bypassAuth - by AppController logic did you mean just specifying a beforeFilter and conditioning off $this->name to specify $this->Auth->allow? That's what I just discovered
# Jul 6th 2021, 19:57 slackebot2 ] ); }``` It Returns `Roles` insde `UserRoles` object. while I want it as plain array of roles as property of `User` object so that I can make check easily for roles as below ```if(in_array('admin',$this->Authentication->getIdentityData('roles') ){ //show admin dashboard }else if(array_intersect( ['sa','owner'],$this->Authentication->getIdentityData('roles') ){ //show owner dashboard } ```
# Jul 6th 2021, 19:57 alamnaryab Respected @ndm I tried this, but there is still an issue I have 4 tables `Users` `Students` `Roles` and `UserRoles` I am expecting ```$this->Authentication->getIdentityData('roles') = array('sa','admin',....);``` ```public function findForAuthentication(\Cake\ORM\Query $query, array $options): \Cake\ORM\Query { return $query->contain( [ 'Students', 'UserRoles.Roles'
# Jul 6th 2021, 18:53 steinkel you can add some logic to AppController too
# Jul 6th 2021, 18:53 steinkel bypassAuth OR use `$this->Auth->allow(...)` to set the action as public in your controller
# Jul 6th 2021, 18:52 itmpls with 8.x. and I saw 'bypassAuth' was a thing but I don't think it's in that version?
# Jul 6th 2021, 18:51 itmpls you know how you do $this->Auth->allow([ ]); within each controller to bypass user permissions? is there a way to specify say, allow unregistered users to access all EXCEPT these in config/permissions?
# Jul 6th 2021, 18:47 steinkel @itmpls I don't get your use-case could you provide an example?
# Jul 6th 2021, 18:09 itmpls Is there a reverse to cakedc/users where I can allow all routes through permissions except some if the reverse is the default?
# Jul 6th 2021, 15:52 kiwi_13 cakephp-orm-json is exactly what I was looking for :) Thanks!
# Jul 6th 2021, 15:51 kiwi_13 Thanks a lot.
# Jul 6th 2021, 15:50 ewbarnard I see Authentication+Authorization training is offered this Thursday July 8. Are any "getting started with CakePHP 4" courses currently scheduled? I don't see anything on the web site. We have a new employee!
# Jul 6th 2021, 15:47 kevin.pfeifer I would guess you can start at https://github.com/liqueurdetoile/cakephp-orm-json
# Jul 6th 2021, 15:47 ndm Depends on what work you need to do. CakePHP ships JSON column support out of the box as far as type conversion is concerned (DB to PHP and vice versa), but that's about it.