From eb9cce24288063c02dedc13f5ca45870b38ff9e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C5=BEe=20Fortun?= Date: Mon, 18 Mar 2024 15:39:58 +0100 Subject: [PATCH] Add user object to all evaluatePrefilter variables --- .../web/compose/src/components/Chart/Report/ReportEdit.vue | 2 +- .../src/components/ModuleFields/Configurator/Record.vue | 2 +- .../compose/src/components/ModuleFields/Editor/Record.vue | 1 + .../web/compose/src/components/PageBlocks/CalendarBase.vue | 1 + client/web/compose/src/components/PageBlocks/ChartBase.vue | 1 + .../web/compose/src/components/PageBlocks/CommentBase.vue | 1 + .../src/components/PageBlocks/CommentConfigurator.vue | 2 +- .../web/compose/src/components/PageBlocks/Configurator.vue | 4 ++-- .../web/compose/src/components/PageBlocks/ContentBase.vue | 1 + .../src/components/PageBlocks/ContentConfigurator.vue | 2 +- .../web/compose/src/components/PageBlocks/GeometryBase.vue | 1 + client/web/compose/src/components/PageBlocks/IFrameBase.vue | 1 + .../src/components/PageBlocks/IFrameConfigurator.vue | 2 +- client/web/compose/src/components/PageBlocks/MetricBase.vue | 2 ++ .../src/components/PageBlocks/MetricConfigurator/index.vue | 4 ++-- .../web/compose/src/components/PageBlocks/ProgressBase.vue | 3 +++ .../src/components/PageBlocks/ProgressConfigurator.vue | 6 +++--- .../compose/src/components/PageBlocks/RecordListBase.vue | 1 + .../src/components/PageBlocks/RecordListConfigurator.vue | 2 +- .../src/components/PageBlocks/RecordOrganizerBase.vue | 1 + .../components/PageBlocks/RecordOrganizerConfigurator.vue | 2 +- .../src/components/PageBlocks/Shared/AutomationButtons.vue | 1 + .../PageBlocks/Shared/AutomationTabButtonEditor.vue | 2 +- client/web/compose/src/components/PageBlocks/TabsBase.vue | 2 ++ client/web/compose/src/components/PageBlocks/Wrap/base.vue | 2 ++ client/web/compose/src/lib/record-filter.js | 2 +- client/web/compose/src/views/Admin/Charts/Edit.vue | 1 + client/web/compose/src/views/Admin/Pages/Edit.vue | 2 +- client/web/compose/src/views/Public/Pages/Records/View.vue | 1 + 29 files changed, 38 insertions(+), 17 deletions(-) diff --git a/client/web/compose/src/components/Chart/Report/ReportEdit.vue b/client/web/compose/src/components/Chart/Report/ReportEdit.vue index aa931ee51..3b9c68165 100644 --- a/client/web/compose/src/components/Chart/Report/ReportEdit.vue +++ b/client/web/compose/src/components/Chart/Report/ReportEdit.vue @@ -70,7 +70,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/ModuleFields/Configurator/Record.vue b/client/web/compose/src/components/ModuleFields/Configurator/Record.vue index fc6c982b4..328fbb59b 100644 --- a/client/web/compose/src/components/ModuleFields/Configurator/Record.vue +++ b/client/web/compose/src/components/ModuleFields/Configurator/Record.vue @@ -80,7 +80,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/ModuleFields/Editor/Record.vue b/client/web/compose/src/components/ModuleFields/Editor/Record.vue index a6331c47f..94a5b51ce 100644 --- a/client/web/compose/src/components/ModuleFields/Editor/Record.vue +++ b/client/web/compose/src/components/ModuleFields/Editor/Record.vue @@ -377,6 +377,7 @@ export default { if (this.field.options.prefilter) { const pf = evaluatePrefilter(this.field.options.prefilter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/CalendarBase.vue b/client/web/compose/src/components/PageBlocks/CalendarBase.vue index 61928fa87..058366aed 100644 --- a/client/web/compose/src/components/PageBlocks/CalendarBase.vue +++ b/client/web/compose/src/components/PageBlocks/CalendarBase.vue @@ -324,6 +324,7 @@ export default { if (ff.options.prefilter) { ff.options.prefilter = evaluatePrefilter(ff.options.prefilter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/ChartBase.vue b/client/web/compose/src/components/PageBlocks/ChartBase.vue index dccbd113d..e1489770a 100644 --- a/client/web/compose/src/components/PageBlocks/ChartBase.vue +++ b/client/web/compose/src/components/PageBlocks/ChartBase.vue @@ -104,6 +104,7 @@ export default { filter = evaluatePrefilter(filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/CommentBase.vue b/client/web/compose/src/components/PageBlocks/CommentBase.vue index 30eccfdd9..3b2ad43e0 100644 --- a/client/web/compose/src/components/PageBlocks/CommentBase.vue +++ b/client/web/compose/src/components/PageBlocks/CommentBase.vue @@ -340,6 +340,7 @@ export default { if (this.options.filter) { return evaluatePrefilter(this.options.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue b/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue index c8ce9c3b9..d2bfe0530 100644 --- a/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/CommentConfigurator.vue @@ -59,7 +59,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/Configurator.vue b/client/web/compose/src/components/PageBlocks/Configurator.vue index 135b63c34..c00a4bc7c 100644 --- a/client/web/compose/src/components/PageBlocks/Configurator.vue +++ b/client/web/compose/src/components/PageBlocks/Configurator.vue @@ -44,7 +44,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} @@ -81,7 +81,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/ContentBase.vue b/client/web/compose/src/components/PageBlocks/ContentBase.vue index 01f432995..d5ff0b851 100644 --- a/client/web/compose/src/components/PageBlocks/ContentBase.vue +++ b/client/web/compose/src/components/PageBlocks/ContentBase.vue @@ -27,6 +27,7 @@ export default { return evaluatePrefilter(body, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue b/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue index 66ee921d3..91526b081 100644 --- a/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/ContentConfigurator.vue @@ -18,7 +18,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/GeometryBase.vue b/client/web/compose/src/components/PageBlocks/GeometryBase.vue index 0e19f4101..4861c24a9 100644 --- a/client/web/compose/src/components/PageBlocks/GeometryBase.vue +++ b/client/web/compose/src/components/PageBlocks/GeometryBase.vue @@ -178,6 +178,7 @@ export default { if (feed.options.prefilter) { feed.options.prefilter = evaluatePrefilter(feed.options.prefilter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/IFrameBase.vue b/client/web/compose/src/components/PageBlocks/IFrameBase.vue index 2bfd3508d..56be1af62 100644 --- a/client/web/compose/src/components/PageBlocks/IFrameBase.vue +++ b/client/web/compose/src/components/PageBlocks/IFrameBase.vue @@ -34,6 +34,7 @@ export default { const interpolatedURL = evaluatePrefilter(url, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue b/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue index 9190f340f..35d5db014 100644 --- a/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/IFrameConfigurator.vue @@ -30,7 +30,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/MetricBase.vue b/client/web/compose/src/components/PageBlocks/MetricBase.vue index da1d99f1a..8c82c2c3b 100644 --- a/client/web/compose/src/components/PageBlocks/MetricBase.vue +++ b/client/web/compose/src/components/PageBlocks/MetricBase.vue @@ -157,6 +157,7 @@ export default { if (auxM.filter) { auxM.filter = evaluatePrefilter(auxM.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, @@ -166,6 +167,7 @@ export default { if (auxM.transformFx) { auxM.transformFx = evaluatePrefilter(auxM.transformFx, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue b/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue index 737f9bf53..3fa984436 100644 --- a/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue +++ b/client/web/compose/src/components/PageBlocks/MetricConfigurator/index.vue @@ -161,7 +161,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} @@ -218,7 +218,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/ProgressBase.vue b/client/web/compose/src/components/PageBlocks/ProgressBase.vue index 38da8d232..ff4cda0da 100644 --- a/client/web/compose/src/components/PageBlocks/ProgressBase.vue +++ b/client/web/compose/src/components/PageBlocks/ProgressBase.vue @@ -99,6 +99,7 @@ export default { value: { filter: evaluatePrefilter(this.options.value.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, @@ -107,6 +108,7 @@ export default { minValue: { filter: evaluatePrefilter(this.options.minValue.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, @@ -115,6 +117,7 @@ export default { maxValue: { filter: evaluatePrefilter(this.options.maxValue.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue b/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue index 441431245..b4c17023a 100644 --- a/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/ProgressConfigurator.vue @@ -65,7 +65,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} @@ -176,7 +176,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} @@ -287,7 +287,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/RecordListBase.vue b/client/web/compose/src/components/PageBlocks/RecordListBase.vue index 55c229f44..7d07bcac8 100644 --- a/client/web/compose/src/components/PageBlocks/RecordListBase.vue +++ b/client/web/compose/src/components/PageBlocks/RecordListBase.vue @@ -1366,6 +1366,7 @@ export default { if (prefilter) { const pf = evaluatePrefilter(prefilter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue b/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue index e3cc2f83e..f88e06436 100644 --- a/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/RecordListConfigurator.vue @@ -271,7 +271,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/RecordOrganizerBase.vue b/client/web/compose/src/components/PageBlocks/RecordOrganizerBase.vue index f595c54f7..271659627 100644 --- a/client/web/compose/src/components/PageBlocks/RecordOrganizerBase.vue +++ b/client/web/compose/src/components/PageBlocks/RecordOrganizerBase.vue @@ -374,6 +374,7 @@ export default { // hence the /hanging/ record, recordID, ownerID and userID variables filter.push(`(${evaluatePrefilter(this.options.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue b/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue index 470c0aeaf..46cb38e3d 100644 --- a/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue +++ b/client/web/compose/src/components/PageBlocks/RecordOrganizerConfigurator.vue @@ -58,7 +58,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/Shared/AutomationButtons.vue b/client/web/compose/src/components/PageBlocks/Shared/AutomationButtons.vue index f169ead0d..5b94d3b58 100644 --- a/client/web/compose/src/components/PageBlocks/Shared/AutomationButtons.vue +++ b/client/web/compose/src/components/PageBlocks/Shared/AutomationButtons.vue @@ -186,6 +186,7 @@ export default { buttonLabel (label = '') { return evaluatePrefilter(label, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue b/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue index 5c03f1f85..f0e7aede1 100644 --- a/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue +++ b/client/web/compose/src/components/PageBlocks/Shared/AutomationTabButtonEditor.vue @@ -19,7 +19,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/components/PageBlocks/TabsBase.vue b/client/web/compose/src/components/PageBlocks/TabsBase.vue index 8eea9c3c3..23d7b81a4 100644 --- a/client/web/compose/src/components/PageBlocks/TabsBase.vue +++ b/client/web/compose/src/components/PageBlocks/TabsBase.vue @@ -239,6 +239,7 @@ export default { const { title: blockTitle, kind } = block const interpolatedTitle = evaluatePrefilter(blockTitle, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, @@ -246,6 +247,7 @@ export default { title = evaluatePrefilter(title, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/components/PageBlocks/Wrap/base.vue b/client/web/compose/src/components/PageBlocks/Wrap/base.vue index a610e3c81..f56d23805 100644 --- a/client/web/compose/src/components/PageBlocks/Wrap/base.vue +++ b/client/web/compose/src/components/PageBlocks/Wrap/base.vue @@ -90,6 +90,7 @@ export default { blockTitle () { return evaluatePrefilter(this.block.title, { record: this.$attrs.record, + user: this.$auth.user || {}, recordID: (this.$attrs.record || {}).recordID || NoID, ownerID: (this.$attrs.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, @@ -99,6 +100,7 @@ export default { blockDescription () { return evaluatePrefilter(this.block.description, { record: this.$attrs.record, + user: this.$auth.user || {}, recordID: (this.$attrs.record || {}).recordID || NoID, ownerID: (this.$attrs.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/lib/record-filter.js b/client/web/compose/src/lib/record-filter.js index ffca1ca17..d13843179 100644 --- a/client/web/compose/src/lib/record-filter.js +++ b/client/web/compose/src/lib/record-filter.js @@ -194,7 +194,7 @@ export function queryToFilter (searchQuery = '', prefilter = '', fields = [], re // Evaluates the given prefilter. Allows JS template literal expressions // such as id = ${recordID} -export function evaluatePrefilter (prefilter, { record, recordID, ownerID, userID }) { +export function evaluatePrefilter (prefilter, { record, user, recordID, ownerID, userID }) { return (function (prefilter) { /* eslint-disable no-eval */ return eval('`' + prefilter + '`') diff --git a/client/web/compose/src/views/Admin/Charts/Edit.vue b/client/web/compose/src/views/Admin/Charts/Edit.vue index d9ad9db7e..02b39ecf2 100644 --- a/client/web/compose/src/views/Admin/Charts/Edit.vue +++ b/client/web/compose/src/views/Admin/Charts/Edit.vue @@ -747,6 +747,7 @@ export default { if (nr.filter) { nr.filter = evaluatePrefilter(nr.filter, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID, diff --git a/client/web/compose/src/views/Admin/Pages/Edit.vue b/client/web/compose/src/views/Admin/Pages/Edit.vue index 9b56377e9..249484c9a 100644 --- a/client/web/compose/src/views/Admin/Pages/Edit.vue +++ b/client/web/compose/src/views/Admin/Pages/Edit.vue @@ -466,7 +466,7 @@ ${record.values.fieldName} ${recordID} ${ownerID} - ${userID} + ${userID}, ${user.name} diff --git a/client/web/compose/src/views/Public/Pages/Records/View.vue b/client/web/compose/src/views/Public/Pages/Records/View.vue index 37eaf7886..7e9579b8e 100644 --- a/client/web/compose/src/views/Public/Pages/Records/View.vue +++ b/client/web/compose/src/views/Public/Pages/Records/View.vue @@ -277,6 +277,7 @@ export default { try { return evaluatePrefilter(meta.title, { record: this.record, + user: this.$auth.user || {}, recordID: (this.record || {}).recordID || NoID, ownerID: (this.record || {}).ownedBy || NoID, userID: (this.$auth.user || {}).userID || NoID,