# |
May 21st 2021, 11:00 |
paolo.bragagni |
in application I add //Authentication use Authentication\AuthenticationService; use Authentication\AuthenticationServiceInterface; use Authentication\AuthenticationServiceProviderInterface; use Authentication\Identifier\IdentifierInterface; use Authentication\Middleware\AuthenticationMiddleware; |
# |
May 21st 2021, 10:59 |
paolo.bragagni |
I simply follow the guide for Authorization and Authentication |
# |
May 21st 2021, 10:58 |
ndm |
Depends on what exactly you change in `Application` and `AppController` I guess. |
# |
May 21st 2021, 10:47 |
paolo.bragagni |
(sorry for my english) |
# |
May 21st 2021, 10:47 |
paolo.bragagni |
but how to keep 'src' as clean as possible and put all 'my' changes in my plugin? |
# |
May 21st 2021, 10:46 |
paolo.bragagni |
right now I build my authenticator componentI put it in src/authenticator etc.. then I follow the guide and change something in Application.php and AppController.php |
# |
May 21st 2021, 10:44 |
paolo.bragagni |
that have the skeleton of my app with authentication and authorization etc |
# |
May 21st 2021, 10:43 |
paolo.bragagni |
the idea is to bake the new application, install 'my' plugin |
# |
May 21st 2021, 10:42 |
paolo.bragagni |
I'fd like to use m plugin as 'base' for authentication and authorization to keep the APP as clean as possible |
# |
May 21st 2021, 09:59 |
ndm |
The former would also avoid problems with your modifier, as only the ORM query builder will nest complex count queries. |
# |
May 21st 2021, 09:58 |
ndm |
If you don't need to use any ORM features for your count query, then your best bet might be to use the lower level database query builder instead of the ORM one. Another workaround could be to dynamically load the table with a different alias, and unload the behavior on that alias. |
# |
May 21st 2021, 09:47 |
ndm |
There probably is no overly straightforward way, as it applies for all queries of table, and joins and formatters for translations are being added in the `Model.beforeFind` event. |
# |
May 21st 2021, 09:44 |
thomas465 |
oh, neat, what about a clean way of disabling translations where they are not needed ? |
# |
May 21st 2021, 09:43 |
ndm |
@thomas465 You can use the query builder's `counter()` method to define a custom count query. https://book.cakephp.org/4/en/orm/query-builder.html#returning-the-total-count-of-records |
# |
May 21st 2021, 09:40 |
paolo.bragagni |
it works!! great! |
# |
May 21st 2021, 09:40 |
ndm |
I don't think so, IIRC that's only required on application level. |
# |
May 21st 2021, 09:38 |
paolo.bragagni |
no 'authorization' path somewhere in my plugin template? |
# |
May 21st 2021, 09:38 |
thomas465 |
sorry, fails with ` Syntax error or access violation: 1234 Incorrect usage/placement of ‘SQL_NO_CACHE’` |
# |
May 21st 2021, 09:38 |
slackebot |
(SELECT sql_no_cache `Products`.`id` AS `Produ``` |
# |
May 21st 2021, 09:38 |
thomas465 |
Regarding pagination, i have a rather large query that i need paginated, the problem is that the count method in the Paginator uses the complete query, including translation tables. It always fails when giving the query a modifier like ```$query = $query->where(['Products.is_active' => true])->select([ 'id', 'name', 'children_count'], false)->modifier('sql_no_cache');``` fails with ```SELECT (COUNT(*)) AS `count` FROM |
# |
May 21st 2021, 09:34 |
ndm |
See also https://book.cakephp.org/bake/2/en/development.html#creating-a-bake-theme |
# |
May 21st 2021, 09:33 |
ndm |
Given the paths in the authorization plugin, the path inside your theme plugin should be `templates/bake/policy.twig` and `templates/bake/element/entity_methods.twig`. |
# |
May 21st 2021, 09:31 |
paolo.bragagni |
(and I'd like to insert the modified twig policy template in a plugin) |
# |
May 21st 2021, 09:30 |
paolo.bragagni |
I'd like to insert something in before method and add all my standard actions |
# |
May 21st 2021, 09:29 |
paolo.bragagni |
I have to modify the template |
# |
May 21st 2021, 09:21 |
ndm |
@paolo.bragagni Do you plan to modify the templates? If not, then you don't need to touch them. |
# |
May 21st 2021, 08:43 |
paolo.bragagni |
and I'd like to put the policy.twig and entity_methods.twig inside a plugin |
# |
May 21st 2021, 08:43 |
paolo.bragagni |
found this https://github.com/cakephp/authorization/issues/138 but doesnt work in cakephp 4 |
# |
May 21st 2021, 07:14 |
paolo.bragagni |
Hi there is a way to bake a authorization policy taking the template from a plugin? |
# |
May 20th 2021, 23:56 |
khalil |
And I can't find one that works with 4.2 |
# |
May 20th 2021, 23:55 |
khalil |
There are a couple that work with 3.x |
# |
May 20th 2021, 23:55 |
khalil |
Guys is there any datatables plugin that works with cake 4.2 ? |
# |
May 20th 2021, 23:10 |
ndm |
no problem |
# |
May 20th 2021, 23:02 |
khalil |
Sorry for wasting your time! |
# |
May 20th 2021, 23:02 |
khalil |
Naming convention of has and belongs to many always confuses me with which should plural and which not |
# |
May 20th 2021, 23:01 |
khalil |
And I was working on the wrong file |
# |
May 20th 2021, 23:01 |
khalil |
I guess one was auto generated |
# |
May 20th 2021, 23:01 |
khalil |
for some reason, I have ProductSize and ProductsSize Entities |
# |
May 20th 2021, 23:01 |
khalil |
'_joinData' => object(App\Model\Entity\ProductsSize) |
# |
May 20th 2021, 23:00 |
khalil |
Here's what was wrong |
# |
May 20th 2021, 23:00 |
khalil |
Ok it worked now |