From 07affda59938e42f493b34d3d748cbe9963492ec Mon Sep 17 00:00:00 2001 From: Rene Jeglinsky Date: Mon, 12 May 2025 08:23:19 +0200 Subject: [PATCH 1/4] avoid using $not in dynamic expression --- advanced/fiori.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/advanced/fiori.md b/advanced/fiori.md index 2cc613ace..ddab8cca0 100644 --- a/advanced/fiori.md +++ b/advanced/fiori.md @@ -502,7 +502,7 @@ Then define an `on` handler for serving the request: ```js srv.on('READ', 'Configuration', async req => { req.reply({ - isAdmin: req.user.is('admin') //admin is the role, which for example is also used in @requires annotation + isAdmin: !req.user.is('admin') //admin is the role, which for example is also used in @requires annotation }); }); ``` @@ -511,8 +511,8 @@ Finally, refer to the singleton in the annotation by using a [dynamic expression ```cds annotate service.Books with @( - UI.CreateHidden : { $edmJson: {$Not: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} } }, - UI.UpdateHidden : { $edmJson: {$Not: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} } }, + UI.CreateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} }, + UI.UpdateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} } }, ); ``` From bd2f721e909a201a54084b15549d744a9304dc01 Mon Sep 17 00:00:00 2001 From: Rene Jeglinsky Date: Mon, 12 May 2025 08:27:16 +0200 Subject: [PATCH 2/4] adapt details snippet and small fix --- advanced/fiori.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/advanced/fiori.md b/advanced/fiori.md index ddab8cca0..1895e0505 100644 --- a/advanced/fiori.md +++ b/advanced/fiori.md @@ -511,8 +511,8 @@ Finally, refer to the singleton in the annotation by using a [dynamic expression ```cds annotate service.Books with @( - UI.CreateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} }, - UI.UpdateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} } }, + UI.CreateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} }, + UI.UpdateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} }, ); ``` @@ -521,8 +521,8 @@ The Entity Container is OData specific and refers to the `$metadata` of the ODat :::details SAP Fiori elements also allows to not include it in the path ```cds annotate service.Books with @( - UI.CreateHidden : { $edmJson: {$Not: { $Path: '/Configuration/isAdmin'} } }, - UI.UpdateHidden : { $edmJson: {$Not: { $Path: '/Configuration/isAdmin'} } }, + UI.CreateHidden : { $edmJson: { $Path: '/Configuration/isAdmin'} }, + UI.UpdateHidden : { $edmJson: { $Path: '/Configuration/isAdmin'} }, ); ``` ::: From 90e213c0d67c723841071de9318518db91c5b28b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jeglinsky?= Date: Mon, 12 May 2025 08:48:15 +0200 Subject: [PATCH 3/4] Update advanced/fiori.md --- advanced/fiori.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/advanced/fiori.md b/advanced/fiori.md index 1895e0505..98ec8d948 100644 --- a/advanced/fiori.md +++ b/advanced/fiori.md @@ -502,7 +502,7 @@ Then define an `on` handler for serving the request: ```js srv.on('READ', 'Configuration', async req => { req.reply({ - isAdmin: !req.user.is('admin') //admin is the role, which for example is also used in @requires annotation + isNotAdmin: !req.user.is('admin') //admin is the role, which for example is also used in @requires annotation }); }); ``` From a1110d45807a90679a91bbff95671283d720c5bc Mon Sep 17 00:00:00 2001 From: Rene Jeglinsky Date: Mon, 12 May 2025 09:04:00 +0200 Subject: [PATCH 4/4] fix --- advanced/fiori.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/advanced/fiori.md b/advanced/fiori.md index 98ec8d948..bcb4594aa 100644 --- a/advanced/fiori.md +++ b/advanced/fiori.md @@ -511,8 +511,8 @@ Finally, refer to the singleton in the annotation by using a [dynamic expression ```cds annotate service.Books with @( - UI.CreateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} }, - UI.UpdateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isAdmin'} }, + UI.CreateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isNotAdmin'} }, + UI.UpdateHidden : { $edmJson: { $Path: '/CatalogService.EntityContainer/Configuration/isNotAdmin'} }, ); ``` @@ -521,8 +521,8 @@ The Entity Container is OData specific and refers to the `$metadata` of the ODat :::details SAP Fiori elements also allows to not include it in the path ```cds annotate service.Books with @( - UI.CreateHidden : { $edmJson: { $Path: '/Configuration/isAdmin'} }, - UI.UpdateHidden : { $edmJson: { $Path: '/Configuration/isAdmin'} }, + UI.CreateHidden : { $edmJson: { $Path: '/Configuration/isNotAdmin'} }, + UI.UpdateHidden : { $edmJson: { $Path: '/Configuration/isNotAdmin'} }, ); ``` :::