Rkile
08-17-2022Cloud Apps
Filter by loginID
I am curious about the options in locking a filter by a userID login? If a user logs in, is there a way to limit a dashboard to only showing metrics pertaining to that user via the filters without the user being able to update these filters?
Hi Rkile ,
Below dashboard script will set email ID of logged-in user as a filter and lock the filter:
dashboard.on('initialized', function (se, ev) { filter = se.filters.$$items.find(el=>el.jaql.title == 'User Email')//Update the name of filter defaultValue = prism.user.email filter.jaql.filter = { "explicit": true, "multiSelection": false, "members": [ defaultValue ] } filter.locked = true var filterOptions = { save: true, refresh: true, } se.filters.update(filter, filterOptions) });
-Hari
Here is the updated script. Add emails of admin users to excludeList array.
dashboard.on('initialized', function (se, ev) { filter = se.filters.$$items.find(el=>el.jaql.title == 'User Email')//Filter Name excludeList = ['email1', 'email2'] if(excludeList.includes(prism.user.email)) { filter.jaql.filter = { "explicit": true, "multiSelection": false, "all":true } filter.locked = false } else { filter.jaql.filter = { "explicit": true, "multiSelection": false, "members": [ prism.user.email ] } filter.locked = true } var filterOptions = { save: true, refresh: true, } se.filters.update(filter, filterOptions) });
-Hari