Log message #4267230

# At Username Text
# Jul 7th 2021, 14:30 bato If missing `Locale`folder `bin/cake i18n extract` create new one with permissions `770` If web server isn't the creator or doesn't belong to the group, it can't access to that folder
# Jul 7th 2021, 14:24 bato solved... it was a permission issue on `Locale` folder
# 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!