Log message #4201545

# At Username Text
# Sep 4th 2019, 11:29 javier.villanueva @spriz thanks for response. Mysql 8 + Cake 3.8 does not require special changes?
# Sep 4th 2019, 11:23 spriz @javier.villanueva I'd use the most recent stable :+1:
# Sep 4th 2019, 11:11 javier.villanueva there are a recommended mysql version for cakephp 3.8?
# Sep 4th 2019, 11:01 conehead If no duration is set for the configuration, it is infinite?
# Sep 4th 2019, 10:39 spriz Yeah but this is cases where our support roles in our admin/root UI and it affects cutsomers
# Sep 4th 2019, 10:39 neon1024 You could update the permission and write back to the session if you wanted to
# Sep 4th 2019, 10:38 spriz although that is quite rare
# Sep 4th 2019, 10:38 spriz We stored it in session - only troubles are when they change they have to relog or wait until session expires
# Sep 4th 2019, 10:29 neon1024 Can’t really think of any disadvantages to session storage, except perhaps session hijacking or similar
# Sep 4th 2019, 10:23 conehead But caching could be a solution as well
# Sep 4th 2019, 10:22 conehead Would there be any disadvantages to put permissions into the session? Except that user would have to log out/in again when changes occur?
# Sep 4th 2019, 10:22 neon1024 To minimize links which got to a failed Authorize page
# Sep 4th 2019, 10:21 neon1024 Maybe set the cache as 3-5 minutes
# Sep 4th 2019, 10:21 neon1024 So if two users share the same permissions they can both get the same cached navigation
# Sep 4th 2019, 10:21 neon1024 Perhaps cache the generated navigation using a cache key of the composed permissions
# Sep 4th 2019, 10:20 conehead Was just wondering because I got like 20 menu items. And every time I load a page it is checked if the permission exists for each of these elements
# Sep 4th 2019, 10:20 neon1024 My Auth finder does load permissions into the session though
# Sep 4th 2019, 10:19 neon1024 At least then if someone changes someone’s access, my RoleAuthorize class checks the DB. Otherwise they’ll have permissions until they close the browser
# Sep 4th 2019, 10:18 neon1024 I do both
# Sep 4th 2019, 10:13 conehead Right now I still check from database. rbac
# Sep 4th 2019, 10:13 conehead Would you keep user permissions in sessions?
# Sep 4th 2019, 10:03 neon1024 Well any help we can give, do let us know :thumbsup:
# Sep 4th 2019, 10:02 felix.robaglia (just an intern, I have a lot to learn hehe)
# Sep 4th 2019, 10:02 felix.robaglia It is a tinyint indeed, didn't know I could use a boolean but that makes sense actually. Would make the code clearer, thanks :slightly_smiling_face:
# Sep 4th 2019, 10:00 neon1024 If it’s a `TINYINT(1)` you could use a boolean too :slightly_smiling_face:
# Sep 4th 2019, 10:00 felix.robaglia I'm not sure, prolly cause i'm dumb, just tested without quoting and it works :C
# Sep 4th 2019, 09:57 neon1024 Just curious @felix.robaglia why do you quote your `'1'` ?
# Sep 4th 2019, 09:56 conehead Challgren`s option is best if you would like to define your query further
# Sep 4th 2019, 09:56 challgren Better than too little!
# Sep 4th 2019, 09:56 felix.robaglia That's a lot of solutions, thanks a lot everyone ! :slightly_smiling_face:
# Sep 4th 2019, 09:55 conehead Too many options :)
# Sep 4th 2019, 09:54 slackebot <challgren>
# Sep 4th 2019, 09:54 neon1024 Or even `->contain('Contracts.Source')` :)
# Sep 4th 2019, 09:53 challgren of you could pass a callback with a Query as the parameter
# Sep 4th 2019, 09:53 conehead @felix.robaglia ```$clients = $clientsT ->find('all') ->contain([ 'Contracts' => [ 'Source', ], ]) ->where(['active' => '1']);```
# Sep 4th 2019, 09:52 felix.robaglia so I need to say that Contracts contain Source, but I'm not sure I can do that. Any idea ?
# Sep 4th 2019, 09:51 felix.robaglia It retrieves all `clients` and their `contracts`. But each `contract `is connected to a `source`, and I want to retrieve that `source` aswell
# Sep 4th 2019, 09:50 felix.robaglia Hello guys, I have a question about "nested" contains, I have this line of code : `$clients = $clientsT->find('all')->contain(['Contracts'])->where(['active' => '1']);`
# Sep 4th 2019, 09:42 val thanks
# Sep 4th 2019, 09:38 neon1024 Yeah, I’d agree with @dereuromark `beforeMarshal`
# Sep 4th 2019, 09:28 dereuromark Looking at either one, you should be able to retrieve beforeMarshal() as applicable.