make it so the approver of an request has read access to the RITM

Brian Lancaster
Tera Sage

How can I setup and ACL on the RITM table so that the approver has Read only access?

1 ACCEPTED SOLUTION

I finally got a response from Hi.   I have made the Original ACL inactive and crated a new one with the following code.   So far it seems to be working in my dev instance.



isHisApproval();




function isHisApproval(){


  if(current.isNewRecord() || current.opened_by == gs.getUserID() || current.request.requested_for == gs.getUserID() ||


      gs.hasRole('itil')){


  return true;


  }


  var lv_app_obj = new GlideRecord('sysapproval_approver');


  lv_app_obj.addQuery('approver', gs.getUserID());


  lv_app_obj.addQuery('sysapproval', current.sys_id);


  lv_app_obj.query();


  if(lv_app_obj.next()){


  return true;


  }


  return false;


}


View solution in original post

16 REPLIES 16

I have a HI ticket opened as well.


I got a response from my HI Incident says they found a problem record.   They then went on to explain that "g_approval_form_request" is defined in the UI Macro "approval_summarizer_default" and is not related to RITM related approvals.   It is for CHG,INT ect but not RITM record.   They then went on to say instead use UI Macro "approval_summarizer_sc_req_item" for RITM related approvals.   I then asked if I just need to update the code the ACL.   Their response to that was "I will check if there is anyway you can achieve this and will update you the details."



So basically they told me that I have to use this other UI macro but they are not sure how to make that work.   I will let you know when I have an update.


picard-facepalm.jpg


I finally got a response from Hi.   I have made the Original ACL inactive and crated a new one with the following code.   So far it seems to be working in my dev instance.



isHisApproval();




function isHisApproval(){


  if(current.isNewRecord() || current.opened_by == gs.getUserID() || current.request.requested_for == gs.getUserID() ||


      gs.hasRole('itil')){


  return true;


  }


  var lv_app_obj = new GlideRecord('sysapproval_approver');


  lv_app_obj.addQuery('approver', gs.getUserID());


  lv_app_obj.addQuery('sysapproval', current.sys_id);


  lv_app_obj.query();


  if(lv_app_obj.next()){


  return true;


  }


  return false;


}


I know that this is two year old thread but currently on Madrid this problem still there for RITM.