Name

global.CatalogTransactionBack

Description

Invoked when you hit back (the little green button top left) on a catalog item

Script

gs.include('PrototypeServer');
gs.include('AbstractTransaction');

var CatalogTransactionBack = Class.create();

CatalogTransactionBack.prototype = Object.extendsObject(AbstractTransaction, {

  execute: function() {
  	var urlStack = j2js(gs.getSession().getStack());
  	var urlStackSize = urlStack.size();
  	var guideParam = j2js(this.request.getParameter('sysparm_guide'));


  	if (urlStackSize === 0 && !JSUtil.nil(guideParam)) {

  		/****************************************************************************
  		 *Case - This is the first page in iFrame or direct hit from external URL
  		 *and session started from order guide so default to order guide describe
  		 *needs page
  		 ****************************************************************************/
  		return GlideappCatalogURLGenerator.getItemBaseURL(guideParam);

  	} else if (urlStackSize === 1) {

  		//Case - Session stack is as expected . Do not pop from stack if this is the last page.  
  		return urlStack.top();

  	} else {

  		//Case - Session stack is as expected . Pop to last page.
  		return urlStack.back();

  	}
  }
});

Sys ID

8e7ea851c0a80027007d6c82d1496f99

Offical Documentation

Official Docs: