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.
This commit is contained in:
103
LSL2/STPROC/WEB_OI_WIZARD_EVENTS.txt
Normal file
103
LSL2/STPROC/WEB_OI_WIZARD_EVENTS.txt
Normal file
@ -0,0 +1,103 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user