User Tools

Site Tools


script_includes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

script_includes [12/30/2024 06:48] – created johnsonjohnscript_includes [12/31/2025 05:41] (current) – removed johnsonjohn
Line 1: Line 1:
-=====Script Includes===== 
----- 
  
-====SP Entry Page ====  
-<code> 
-/**  
- * 
-  Service Portal sample script include to indicate  
-  1. which login page should be used 
-  2. the starting page after the user is authenticated  
-  
-  Script is configured using system properties 
-  
-  PROPERTY                        VALUE 
-  glide.entry.page.script         new SPEntryPage().getLoginURL();  
-  glide.entry.first.page.script   new SPEntryPage().getFirstPageURL(); 
-  
- * functions can return a path or null if no overrides are necessary 
-  
- **/ 
-var SPEntryPage = Class.create(); 
- 
-SPEntryPage.prototype = { 
-  
- initialize: function() { 
- this.logVariables = false;  // for debugging  
- this.portal = "/sp/";      // The URL suffix specified in the sp_portal record 
- }, 
- 
- /*** 
- * 
- * Referred to by property: glide.entry.page.script 
- 
- **/ 
- getLoginURL: function() { 
- // When requesting a page directly (eg: /problem_list.do) 
- // The platform session_timeout.do sets the login page to welcome.do 
- // Since we are handling the login, clear that value 
- var session = gs.getSession(); 
- var nt = session.getProperty("nav_to"); 
- var sPage = session.getProperty("starting_page"); 
- if (nt == "welcome.do") 
- session.clearProperty("nav_to"); 
-  
- if (!sPage && !nt) 
- session.putProperty("starting_page", gs.getProperty("glide.login.home")); 
-  
- // Send the user to the portal's login page 
- var portalGR = new GlideRecord("sp_portal"); 
- portalGR.addQuery("url_suffix", this.portal.replace(/\//g, "")); 
- portalGR.addNotNullQuery("login_page"); 
- portalGR.query(); 
- if (portalGR.next()) 
- return this.portal + "?id=" + portalGR.login_page.id; 
- 
- // Send to the a default login page 
- return this.portal + "?id=login"; 
- }, 
-  
- /*** 
- * 
- * Referred to by property: glide.entry.first.page.script 
- 
- **/ 
- getFirstPageURL: function() { 
- var session = gs.getSession(); 
- this.logProperties('before', session); 
- 
- // has roles and is not a Service Portal page - go to UI16 
- var nt = session.getProperty("nav_to"); 
- var isServicePortalURL = new GlideSPScriptable().isServicePortalURL(nt); 
- var redirectURL = session.getProperty("login_redirect"); 
- 
- //if (user.hasRoles() && !redirectURL && !isServicePortalURL) 
- //Greg modified on 10/3/19 
-        //if (user.hasRole("itil") && !redirectURL && !isServicePortalURL) 
-        //Greg modified this again on 6/16/20 
-        if ((user.hasRole("itil") || user.hasRole("sn_incident_read") || user.hasRole("sn_change_read")) && !redirectURL && !isServicePortalURL) 
- return; 
- 
- // user may have logged in from a frame, the /login_redirect.do page will bust out of it 
- if (!redirectURL) { 
- // redirectURL is nav_to  
- // if nav_to == "welcome.do" then use starting_page 
- var sPage = session.getProperty("starting_page"); 
- if (sPage && nt == "welcome.do") 
- nt = sPage; 
-  
- // Avoid a redirect loop to the home page 
- var ep = gs.getProperty("glide.login.home"); 
- if (nt) { 
- if (ep == nt) 
- nt = null; 
- } 
- // PRB726860: if page is still welcome.do, go to glide.login.home preserving frameset 
- if (nt == "welcome.do") { 
- session.putProperty("nav_to", ep); 
- return; 
- } 
-  
- session.putProperty("login_redirect", nt || "true"); 
- return "/login_redirect.do?sysparm_stack=no"; 
- } 
- 
- session.clearProperty("login_redirect"); 
- var returnUrl = this.portal; 
- if (redirectURL && redirectURL != "true") { 
- var spUrl = new GlideSPScriptable().mapUrlToSPUrl(redirectURL); 
- returnUrl = spUrl ? this.portal + "?" + spUrl : redirectURL; 
- } 
- 
- this.logProperties('after', session); 
- if (!this.logVariables) { 
- gs.log('redirectURL: ' + redirectURL); 
- gs.log('User: ' + user.getName()); 
- gs.log('is internal: ' + (!user.hasRoles())); 
- gs.log('returnUrl: ' + returnUrl); 
- } 
- 
- return returnUrl; 
- }, 
- 
- logProperties: function(beforeOrAfter, session) { 
- if (!this.logVariables) 
- return;  
-  
- gs.log('SPEntryPage: Redirect ------------------------------- ' + beforeOrAfter); 
- gs.log('session.starting_page: ' + session.getProperty("starting_page")); 
- gs.log('session.nav_to: ' + session.getProperty("nav_to")); 
- gs.log('session.login_redirect: ' + session.getProperty("login_redirect")); 
- gs.log('gs.fURI: ' + session.getURI()); 
- }, 
-  
- type: 'SPEntryPage' 
-}; 
-</code> 
----- 
- 
-====ThedaCare Utils Prod ====  
-<code> 
-var thedaCareUtils = Class.create(); 
-thedaCareUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, { 
- 
-    /*Function to get all the members of 'SNOW-Supervisors-IS' group */ 
- 
-    getMembers: function() { 
-        var gr = new GlideRecord('sys_user_grmember'); 
-        gr.addQuery('group', "e619b5c187519250fdd876a6cebb351f"); 
-        gr.query(); 
-        var userArr = []; 
-        while (gr.next()) { 
-            userArr.push(gr.getValue("user")); 
-        } 
- return 'sys_idIN' + userArr.toString(); 
-    }, 
-    type: 'thedaCareUtils' 
-}); 
-</code> 
----- 
script_includes.1735570123.txt.gz · Last modified: by johnsonjohn

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki