Added in notifications to desired steps. Made a change to OI Wizard Authentication methods to use a server rather than a calculated column.
This commit is contained in:
committed by
Ouellette Jonathan (CSC FI SPS MESLEO)
parent
a269f2f6cf
commit
585f54f547
@ -6,7 +6,7 @@ $insert OI_WIZARD_TRANSACTIONS_EQUATES
|
||||
$Insert REACT_MODE_NG_EQUATES
|
||||
|
||||
Declare function RTI_CreateGUID, Database_Services, Error_Services, SRP_Json, MemberOf
|
||||
Declare function OI_Wizard_Services, Reactor_Services, Reactor_Modes_Services
|
||||
Declare function OI_Wizard_Services, Reactor_Services, Reactor_Modes_Services, Datetime
|
||||
Declare subroutine Database_Services, Error_Services, SRP_Json, Service_Services
|
||||
|
||||
GoToService
|
||||
@ -186,17 +186,30 @@ end service
|
||||
Service ValidateSession(OIWizardID)
|
||||
ErrorMsg = ''
|
||||
If OIWizardID NE '' then
|
||||
OIWizardRec = Database_Services('ReadDataRow', 'OI_WIZARD', OIWizardID)
|
||||
OIWizardRec = Database_Services('ReadDataRow', 'OI_WIZARD', OIWizardID, True$, 0, False$)
|
||||
If Error_Services('NoError') then
|
||||
ValidSession = Xlate('OI_WIZARD', OIWizardID, 'VALID', 'X')
|
||||
If ValidSession then
|
||||
// Set session updated time and date to extend session life.
|
||||
OIWizardRec<OI_WIZARD.UPDATED_DATES$, -1> = Date()
|
||||
OIWizardRec<OI_WIZARD.UPDATED_TIMES$, -1> = Time()
|
||||
Database_Services('WriteDataRow', 'OI_WIZARD', OIWizardID, OIWizardRec)
|
||||
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
||||
SessionTerminated = OIWizardRec<OI_WIZARD.TERMINATED$>
|
||||
if Not(SessionTerminated) then
|
||||
LastDate = OIWizardRec<OI_WIZARD.UPDATED_DATES$>[-1, 'B' : @VM]
|
||||
LastTime = OIWizardRec<OI_WIZARD.UPDATED_TIMES$>[-1, 'B' : @VM]
|
||||
If LastDate EQ '' then
|
||||
// No updates have occured so use the Create Date/Time.
|
||||
LastDate = OIWizardRec<OI_WIZARD.CREATED_DATE$>
|
||||
LastTime = OIWizardRec<OI_WIZARD.CREATED_TIME$>
|
||||
end
|
||||
lastDateTime = Iconv(Oconv(LastDate, 'D4/') : ' ' : Oconv(LastTime, 'MTS'), 'DTS')
|
||||
SessionAge = (Datetime() - lastDateTime) * 86400
|
||||
// 600 seconds = 10 minutes
|
||||
If SessionAge LT 600 then
|
||||
OIWizardRec<OI_WIZARD.UPDATED_DATES$, -1> = Date()
|
||||
OIWizardRec<OI_WIZARD.UPDATED_TIMES$, -1> = Time()
|
||||
Database_Services('WriteDataRow', 'OI_WIZARD', OIWizardID, OIWizardRec)
|
||||
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
||||
end else
|
||||
ErrorMsg = 'Session has expired'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Expired session.'
|
||||
ErrorMsg = 'Session has been previously terminated.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
@ -211,18 +224,37 @@ Service ValidateSession(OIWizardID)
|
||||
Error_Services('Add', ErrorMsg)
|
||||
Response = False$
|
||||
end
|
||||
|
||||
end service
|
||||
/*
|
||||
This routine validates a users session without extending it. Used for OI Wizard sessions that are awaiting input.
|
||||
*/
|
||||
Service ValidateSessionIdle(OIWizardID)
|
||||
|
||||
ErrorMsg = ''
|
||||
If OIWizardID NE '' then
|
||||
Valid = Xlate('OI_WIZARD', OIWizardID, 'VALID', 'X')
|
||||
If Not(Valid) then
|
||||
ErrorMsg = 'Invalid or expired session'
|
||||
OIWizardRec = Database_Services('ReadDataRow', 'OI_WIZARD', OIWizardID, True$, 0, False$)
|
||||
If Error_Services('NoError') then
|
||||
SessionTerminated = OIWizardRec<OI_WIZARD.TERMINATED$>
|
||||
if Not(SessionTerminated) then
|
||||
LastDate = OIWizardRec<OI_WIZARD.UPDATED_DATES$>[-1, 'B' : @VM]
|
||||
LastTime = OIWizardRec<OI_WIZARD.UPDATED_TIMES$>[-1, 'B' : @VM]
|
||||
If LastDate EQ '' then
|
||||
// No updates have occured so use the Create Date/Time.
|
||||
LastDate = OIWizardRec<OI_WIZARD.CREATED_DATE$>
|
||||
LastTime = OIWizardRec<OI_WIZARD.CREATED_TIME$>
|
||||
end
|
||||
lastDateTime = Iconv(Oconv(LastDate, 'D4/') : ' ' : Oconv(LastTime, 'MTS'), 'DTS')
|
||||
SessionAge = (Datetime() - lastDateTime) * 86400
|
||||
// 600 seconds = 10 minutes
|
||||
If SessionAge GE 600 then
|
||||
ErrorMsg = 'Session has expired'
|
||||
end else
|
||||
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Session has been previously terminated.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null OIWizardID passed in.'
|
||||
@ -231,7 +263,6 @@ Service ValidateSessionIdle(OIWizardID)
|
||||
If ErrorMsg EQ '' then
|
||||
Response = True$
|
||||
end else
|
||||
debug
|
||||
Error_Services('Add', ErrorMsg)
|
||||
Response = False$
|
||||
end
|
||||
|
Reference in New Issue
Block a user