How to prevent from inserting into a record?

shalinikacham
Kilo Expert

I've written a business rule to prevent a user from inserting a record if priority is critical. Used setabortaction() for this. BUt it is also preventing user who perform updates and delete.

Using which method can i prevent only inserting to a record?

Business rule:

Table: incident

(function executeRule(current, previous /*null when async*/) {

if(!(gs.getUser().isMemberOf('HelpDesk') || gs.getUser().isMemberOf('Tier II Support SOI') || gs.getUser().isMemberOf('Tier II Support Passport') || gs.hasRole('admin'))){

  current.setAbortAction('true');

  gs.addErrorMessage("Users belonging to HelpDesk, Tier II Support SOI and Tier II Support Passport only can create a high priority ticket!");

}

})(current, previous);

Thanks.

1 ACCEPTED SOLUTION

Chuck Tomasi
Tera Patron

Check to make sure that the Insert checkbox is checked and the Update is NOT. Change the 'true' to true. It's a JavaScript keyword, not a string.



For readability I might suggest the following:



(function executeRule(current, previous /*null when async*/) {


var user = gs.getUser();


var isHelpDesk = user.isMemberOf('HelpDesk');


var isTier2SOI = user..isMemberOf('Tier II Support SOI');


var isTier2Passport = user.isMemberOf('Tier II Support Passport');


var isAdmin = gs.hasRole('admin');



if (!(isHelpDesk || isTier2SOI || !isTier2Passport || isAdmin)) {


  current.setAbortAction(true);


  gs.addErrorMessage("Users belonging to HelpDesk, Tier II Support SOI and Tier II Support Passport only can create a high priority ticket!");


}




})(current, previous);


View solution in original post

5 REPLIES 5

It was hiding. It wasn't until I started rewriting that it jumped out at me. Something to be said for making a few extra variables to make things more readable.



FWIW, I'm just as guilty. Today someone from AT&T support had to show me a checkbox on my phone that I've had for years, but never seen. It couldn't set up my voice because the wrong thing was checked. We all look at the world through our special filters.