Files
open-insight/LSL2/STPROC/WEB_OI_WIZARD_EVENTS.txt
Infineon\StieberD 261880fab8 Implemented ReceiveRelease_API.
Added OI Wizard Webview form to launch into OI Wizard from OI and
auto-login the user.

Added menu items to NDW_MAIN to launch the OI Wizard webview form and
navigated to the appropriate page.
2025-09-23 09:41:57 -07:00

104 lines
3.5 KiB
Plaintext

Compile function WEB_OI_WIZARD_EVENTS(CtrlEntId, Event, @PARAMS)
#pragma precomp SRP_PreCompiler
#window WEB_OI_WIZARD
$Insert EVENT_SETUP
$Insert APP_INSERTS
$Insert PS_WebView_Equates
EQU ONE_DAY_SECS$ to 84600
Declare function OI_Wizard_Services, Exec_Method, Environment_Services
Declare subroutine PlaceDialog
GoToEvent Event for CtrlEntId else
// Event not implemented
end
Return EventFlow or 1
//-----------------------------------------------------------------------------
// EVENT HANDLERS
//-----------------------------------------------------------------------------
Event WINDOW.CREATE(CreateParam)
OIWizardBaseUrl = Environment_Services('GetOIWizardBaseUrl')
Set_Property(@Window, '@BASE_URL', OIWizardBaseUrl)
InitNavPage = CreateParam
Set_Property(@Window, '@INIT_NAV_PAGE', InitNavPage)
Set_Property(@Window, '@FIRST_RENDER', True$)
PlaceDialog(-2, -2)
End Event
Event WEBVIEW_MAIN.WEBVIEWCREATED()
OIWizardURL = Get_Property(@Window, '@BASE_URL')
NavPage = Get_Property(@Window, '@INIT_NAV_PAGE')
NavTo = OIWizardURL:NavPage
SuccessFlag = Exec_Method( CtrlEntID, "NAVIGATE", NavTo)
If Not(SuccessFlag) then
Msg(@Window, '', 'OK', '', 'Application Error':@FM:'Error navigating to ':NavTo)
end
end event
Event WEBVIEW_MAIN.WEBNAVIGATED(NavID, URI, Redirected, UserInitiated, StatusInfo, FrameID)
FirstRender = Get_Property(@Window, '@FIRST_RENDER')
If FirstRender then
SuccessFlag = Exec_Method(CtrlEntID, "DELETECOOKIES", '*')
If SuccessFlag then
LSLUserId = @User4
OIWizardID = OI_Wizard_Services('CreateWizardID', LSLUserID)
If Error_Services('NoError') then
Expiry = Xlate('OI_WIZARD', OIWizardID, 'EXPIRY', 'X')
Domain = Get_Property(@Window, '@BASE_URL')
Swap 'http://' with '' in Domain
Swap 'https://' with '' in Domain
PortIndex = Index(Domain, ':', 1)
If PortIndex then Domain = Domain[1, PortIndex - 1]
Cookie = ""
Cookie<0, WBV_COOKIE_POS_NAME$> = "sessionID"
Cookie<0, WBV_COOKIE_POS_VALUE$> = OIWizardID
Cookie<0, WBV_COOKIE_POS_DOMAIN$> = Domain
Cookie<0, WBV_COOKIE_POS_EXPIRES$> = Expiry
SuccessFlag = Exec_Method( CtrlEntID, "SETCOOKIE", Cookie )
If SuccessFlag then
Cookies = Exec_Method( CtrlEntID, "GETCOOKIES")
Cookie<0, WBV_COOKIE_POS_NAME$> = "userID"
Cookie<0, WBV_COOKIE_POS_VALUE$> = LSLUserID
Cookie<0, WBV_COOKIE_POS_DOMAIN$> = Domain
Cookie<0, WBV_COOKIE_POS_EXPIRES$> = Expiry
SuccessFlag = Exec_Method( CtrlEntID, "SETCOOKIE", Cookie )
If SuccessFlag then
// Set a timer to execute our session service javascript hook once the page is ready
Set_Property(@Window, "TIMER", 0:@FM:1000)
Set_Property(@Window, '@FIRST_RENDER', False$)
end else
Msg(@Window, '', 'OK', '', 'Application Error':@FM:'Error setting userID cookie')
end
end else
Msg(@Window, '', 'OK', '', 'Application Error':@FM:'Error setting sessionID cookie')
end
end else
Msg(@Window, '', 'OK', '', 'Application Error':@FM:'Error creating OI Wizard session')
end
end else
Msg(@Window, '', 'OK', '', 'Application Error':@FM:'Error deleting cookies')
end
end
end event
Event WINDOW.TIMER()
Response = Exec_Method(@Window:'.WEBVIEW_MAIN', 'EXECUTESCRIPT', 'SessionServiceHelper.SetSessionFromCookies()')
end event