Pop-up window on login for a user once in lifetime in ServiceNow Portal

alkagupta
Tera Contributor

We have a requirement to display a pop-up message in Portal to each user only once after login. For this, we have created widget and it is working correctly to display the pop-up for each user session. All the same, I am looking for help to make it to display only once rather than for each session. Any help would be appreciated. Thanks!

 

Widget Server script:

 

(function()

{ var session = gs.getSession();

if(input){ session.putClientData('popup_triggered', input.popup_triggered);

}

})();

 

Widget Client controller script:

function(spModal, glideUserSession) {

/* widget controller */

var c = this;

glideUserSession.loadCurrentUser().then(function(currentUser) {

if(!currentUser.getClientData('popup_triggered')){

spModal.open({

title: 'New feature!',

message:'Click ABC to learn more',

buttons: [ {label: 'OK',primary: true} ]

})

var checkExist = setInterval

(function() {

if (top.document.getElementsByClassName('close pull-right')[0]) {

clearInterval(checkExist);

var x = top.document.getElementsByClassName('close pull-right')[0];

x.style.display = "none";

} }, 100);

c.data.popuup_triggered = true;

c.server.update();

} });

}

0 REPLIES 0