
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2017 03:17 AM
Hi,
I have a new on change BR that will fire on change of a field.
Now I want all existing records (on sys_user_group) to run the BR once ... so the field X should be updated (by X again) ... .
When creating a job, that runs through all records and update the field with it's own value, no update will be done I assume ...
So how does the best practice would look like here to achieve the run of the BR?
Would be cool if you could provide some script I could modify.
THank you
Solved! Go to Solution.
- Labels:
-
Best Practices
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2017 07:23 AM
var roleID = "011ba5aa0a0a0b3001a439c580549134"; //role_delegator
var userGroup = new GlideRecord('sys_user_group');
userGroup.addNotNullQuery('manager');
userGroup.query();
while(userGroup.next()) {
// add role to new manager
var gr = new GlideRecord("sys_user_has_role");
gr.addQuery("user", userGroup.manager);
gr.addQuery("role", roleID);
gr.addQuery("granted_by", userGroup.sys_id);
gr.query();
if (gr.next())
gs.log(userGroup.manager.getDisplayValue() + " already has the role_delegator role for the " + userGroup.name + " group - not adding");
else {
gr.initialize();
gr.user = userGroup.manager;
gr.role = roleID;
gr.granted_by = userGroup.sys_id;
gr.inherited = false;
gr.insert();
gs.addInfoMessage(gs.getMessage("role_delegator role granted to") + " " +
userGroup.manager.getDisplayValue() + " " + gs.getMessage("in") + " " + userGroup.name + " " + gs.getMessage("group"));
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2017 07:23 AM
var roleID = "011ba5aa0a0a0b3001a439c580549134"; //role_delegator
var userGroup = new GlideRecord('sys_user_group');
userGroup.addNotNullQuery('manager');
userGroup.query();
while(userGroup.next()) {
// add role to new manager
var gr = new GlideRecord("sys_user_has_role");
gr.addQuery("user", userGroup.manager);
gr.addQuery("role", roleID);
gr.addQuery("granted_by", userGroup.sys_id);
gr.query();
if (gr.next())
gs.log(userGroup.manager.getDisplayValue() + " already has the role_delegator role for the " + userGroup.name + " group - not adding");
else {
gr.initialize();
gr.user = userGroup.manager;
gr.role = roleID;
gr.granted_by = userGroup.sys_id;
gr.inherited = false;
gr.insert();
gs.addInfoMessage(gs.getMessage("role_delegator role granted to") + " " +
userGroup.manager.getDisplayValue() + " " + gs.getMessage("in") + " " + userGroup.name + " " + gs.getMessage("group"));
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2017 07:43 AM
Thank you!!