How to I call an interceptor from a UI Action

Community Alums
Not applicable

I have an interceptor that I want to call when someone clicks on a UI Action button.

How do I call that interceptor?  Could someone direct me to instructions or help with that?

3 REPLIES 3

Basheer
Mega Sage

Sample code

	var uri = action.getGlideURI();
	var path = uri.get('sysparm_collection_related_file') + '.do';
	uri.set('sys_id', '-1');
	uri.set('sysparm_link_collection', uri.get('sys_target'));
	uri.set('sysparm_record_list', null);
	path = checkWizard(uri, path);

	if (path) {
	   checkM2MNew(uri);
	   action.setRedirectURL(uri.toString(path));
	}
	action.setNoPop(true);

function checkWizard(uri, path) {
   var already = uri.get('WIZARD:action');
   if (already == 'follow')
   return null;
   
   var wizID = new GlideappWizardIntercept(path).get();
   if (!wizID)
      return path;
   
   uri.set('sysparm_parent', wizID);
   uri.deleteParmameter('sysparm_referring_url');
   uri.deleteMatchingParameter('sysparm_list_');
   uri.deleteMatchingParameter('sysparm_record_');
   uri.deleteParmameter('sys_is_list');
   uri.deleteParmameter('sys_is_related_list');
   uri.deleteParmameter('sys_submitted');
   uri.deleteParmameter('sysparm_checked_items');
   uri.deleteParmameter('sysparm_ref_list_query');
   uri.deleteParmameter('sysparm_current_row');
 
   uri.set('sysparm_referring_url', uri.toString());
   uri.deleteMatchingParameter('fancy.');
   uri.deleteMatchingParameter('sys_rownum');
   uri.deleteMatchingParameter('sysparm_encoded');
   uri.deleteMatchingParameter('sysparm_query_encoded');
   uri.deleteParmameter('sysparm_refer');

   return 'wizard_view.do';
}
Please hit like button if my suggestion has helped you in any way.
Please mark correct if my response has solved your query.

Cheers,
Mohammed Basheer Ahmed.

Community Alums
Not applicable

Where do I put my URI in this block of code, as it relates to the UI action?

Pratik Malviya
Tera Guru

Hi @Community Alums ,

 

You need to add redirection in UI Action to interceptor.

 

action.setRedirectURL('https://<instance_name>/wizard_view.do?sys_target=&sysparm_parent=<interceptor_sys_id>&sysparm_stack=_list.do&sysparm_wizardAction=sysverb_new');

 

 

 

 

 

Please mark the appropriate response as correct answer and helpful, This may help other community users to follow correct solution.
Thanks,
Pratik Malviya