added AD group support to notifications system
This commit is contained in:
@ -42,8 +42,8 @@ BEGIN CASE
|
||||
CASE Instruction = 'WriteNote' ; GOSUB WriteNote
|
||||
CASE Instruction = 'MsgGroups' ; GOSUB MsgGroups
|
||||
CASE Instruction = 'Delete' ; GOSUB Delete
|
||||
|
||||
|
||||
|
||||
|
||||
CASE 1
|
||||
ErrorMsg = 'Unknown Instruction passed to routine'
|
||||
END CASE
|
||||
@ -59,20 +59,21 @@ RETURN Result
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
obj_Appwindow('Create',@WINDOW)
|
||||
Gosub Refresh
|
||||
Set_Property( @WINDOW: '.NOTE_DATA', 'SELPOS', 0)
|
||||
Set_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS', 0)
|
||||
Set_Property( @WINDOW: '.NOTE_DATA', 'PREVSELPOS', 0)
|
||||
Set_Property( @WINDOW: '.NOTE_DATA2', 'PREVSELPOS', 0)
|
||||
|
||||
|
||||
obj_Appwindow('Create',@WINDOW)
|
||||
Gosub Refresh
|
||||
Set_Property( @WINDOW: '.NOTE_DATA', 'SELPOS', 0)
|
||||
Set_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS', 0)
|
||||
Set_Property( @WINDOW: '.NOTE_DATA', 'PREVSELPOS', 0)
|
||||
Set_Property( @WINDOW: '.NOTE_DATA2', 'PREVSELPOS', 0)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
PrevInbox = Get_Property( @WINDOW: '.NOTE_DATA', 'SELPOS')<2>
|
||||
PrevArchive = Get_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS')<2>
|
||||
|
||||
@ -89,174 +90,165 @@ Refresh:
|
||||
Set_Property( @WINDOW:'.NOTE_DATA2', 'ARRAY', ArchiveList)
|
||||
If PrevArchive NE 0 then Set_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS', PrevArchive)
|
||||
end
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Rebuild:
|
||||
* * * * * * *
|
||||
|
||||
NoteID = Get_Property(@WINDOW,'ID')
|
||||
|
||||
Verify = Msg(@window,'','NOTE_PTRS_REBUILD')
|
||||
|
||||
IF NOT(Verify) THEN RETURN
|
||||
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
|
||||
|
||||
Def = ""
|
||||
Def<MTEXT$> = "Rebuilding Messages for Last 90 Days..."
|
||||
Def<MTYPE$> = "U"
|
||||
|
||||
MsgUp = Msg(@window, Def)
|
||||
|
||||
obj_Notes('Rebuild',NoteID)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
Msg(@window, MsgUp)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
|
||||
NoteID = Get_Property(@WINDOW,'ID')
|
||||
|
||||
Verify = Msg(@window,'','NOTE_PTRS_REBUILD')
|
||||
|
||||
IF NOT(Verify) THEN RETURN
|
||||
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
|
||||
|
||||
Def = ""
|
||||
Def<MTEXT$> = "Rebuilding Messages for Last 90 Days..."
|
||||
Def<MTYPE$> = "U"
|
||||
|
||||
MsgUp = Msg(@window, Def)
|
||||
|
||||
obj_Notes('Rebuild',NoteID)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
Msg(@window, MsgUp)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ReadNote:
|
||||
* * * * * * *
|
||||
|
||||
PageNo = Get_Property(@WINDOW, 'VPOSITION')
|
||||
If PageNo<1> = 1 then
|
||||
NoteRow = Get_Property(@WINDOW:'.NOTE_DATA','ROWDATA')
|
||||
end else
|
||||
NoteRow = Get_Property(@WINDOW:'.NOTE_DATA2','ROWDATA')
|
||||
end
|
||||
|
||||
NoteId = NoteRow<COL$NOTE_ID>
|
||||
|
||||
IF NoteID NE '' THEN
|
||||
obj_AppWindow('ViewRelated','NOTE_MESSAGE':@RM:NoteID:@RM)
|
||||
|
||||
END ELSE
|
||||
ErrMsg('Read Note called without a Note ID.')
|
||||
END
|
||||
|
||||
npParms = 'NOTE_PTRS':@RM:@USER4
|
||||
UserRec = Database_Services('ReadDataRow', 'NOTE_PTRS', @USER4)
|
||||
|
||||
IF Error_Services('HasError') THEN
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
RETURN
|
||||
END
|
||||
|
||||
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
|
||||
UserRec<NOTE_PTRS_NEW$,Fpos> = 'No'
|
||||
PageNo = Get_Property(@WINDOW, 'VPOSITION')
|
||||
If PageNo<1> = 1 then
|
||||
NoteRow = Get_Property(@WINDOW:'.NOTE_DATA','ROWDATA')
|
||||
end else
|
||||
NoteRow = Get_Property(@WINDOW:'.NOTE_DATA2','ROWDATA')
|
||||
end
|
||||
|
||||
NoteId = NoteRow<COL$NOTE_ID>
|
||||
|
||||
IF NoteID NE '' THEN
|
||||
obj_AppWindow('ViewRelated','NOTE_MESSAGE':@RM:NoteID:@RM)
|
||||
|
||||
END ELSE
|
||||
ErrMsg('Read Note called without a Note ID.')
|
||||
END
|
||||
|
||||
npParms = 'NOTE_PTRS':@RM:@USER4
|
||||
UserRec = Database_Services('ReadDataRow', 'NOTE_PTRS', @USER4)
|
||||
|
||||
IF Error_Services('HasError') THEN
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
RETURN
|
||||
END
|
||||
|
||||
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
|
||||
UserRec<NOTE_PTRS_NEW$,Fpos> = 'No'
|
||||
|
||||
//npParms = FIELDSTORE(npParms,@RM,4,0,UserRec)
|
||||
//obj_Tables('WriteRec',npParms)
|
||||
Database_Services('WriteDataRow', 'NOTE_PTRS', @USER4, UserRec, True$, False$, True$)
|
||||
END
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
//npParms = FIELDSTORE(npParms,@RM,4,0,UserRec)
|
||||
//obj_Tables('WriteRec',npParms)
|
||||
Database_Services('WriteDataRow', 'NOTE_PTRS', @USER4, UserRec, True$, False$, True$)
|
||||
END
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * *
|
||||
WriteNote:
|
||||
* * * * * *
|
||||
|
||||
NoteID = NextKey('NOTES')
|
||||
obj_AppWindow('ViewRelated','NOTE_MESSAGE':@RM:NoteID)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
|
||||
NoteID = NextKey('NOTES')
|
||||
obj_AppWindow('ViewRelated','NOTE_MESSAGE':@RM:NoteID)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
MsgGroups:
|
||||
* * * * * * *
|
||||
|
||||
If Get_Property('NDW_MAIN', 'VISIBLE') then
|
||||
AppMain = 'NDW_MAIN'
|
||||
end else
|
||||
AppMain = 'LSL_MAIN2'
|
||||
end
|
||||
Start_Window('MSG_GROUPS',@WINDOW,'*CENTER',AppMain)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
|
||||
If Get_Property('NDW_MAIN', 'VISIBLE') then
|
||||
AppMain = 'NDW_MAIN'
|
||||
end else
|
||||
AppMain = 'LSL_MAIN2'
|
||||
end
|
||||
Start_Window('MSG_GROUPS',@WINDOW,'*CENTER',AppMain)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * *
|
||||
Delete:
|
||||
* * * * * *
|
||||
|
||||
PageNo = Get_Property(@WINDOW, 'VPOSITION')
|
||||
If PageNo<1> = 1 then
|
||||
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA','LIST')
|
||||
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA','SELPOS')<2>
|
||||
end else
|
||||
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA2','LIST')
|
||||
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA2','SELPOS')<2>
|
||||
end
|
||||
|
||||
CONVERT @VM TO @SVM IN NoteDataList
|
||||
CONVERT @FM TO @VM IN NoteDataList
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PDISPLAY$> = NoteDataList
|
||||
TypeOver<PINITSELECT$> = CurrRow
|
||||
|
||||
NoteIDs = Popup(@WINDOW,TypeOver,'NOTE_PTRS')
|
||||
|
||||
|
||||
IF NoteIDS = '' THEN RETURN
|
||||
|
||||
npParms = 'NOTE_PTRS':@RM:@USER4
|
||||
UserRec = obj_Tables('ReadRec',npParms)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
FOR I = 1 TO COUNT(NoteIDs,@VM) + (NoteIDs NE '')
|
||||
NoteID = NoteIDs<1,I>
|
||||
PageNo = Get_Property(@WINDOW, 'VPOSITION')
|
||||
If PageNo<1> = 1 then
|
||||
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA','LIST')
|
||||
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA','SELPOS')<2>
|
||||
end else
|
||||
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA2','LIST')
|
||||
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA2','SELPOS')<2>
|
||||
end
|
||||
|
||||
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
|
||||
CONVERT @VM TO @SVM IN NoteDataList
|
||||
CONVERT @FM TO @VM IN NoteDataList
|
||||
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_SUBJECT$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_FROM$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_DATE$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_TIME$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_NEW$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_ATTACHMENT$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_NOTE_IDS$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_ARCHIVED$, Fpos, 0 )
|
||||
TypeOver = ''
|
||||
TypeOver<PDISPLAY$> = NoteDataList
|
||||
TypeOver<PINITSELECT$> = CurrRow
|
||||
|
||||
NoteIDs = Popup(@WINDOW,TypeOver,'NOTE_PTRS')
|
||||
|
||||
|
||||
IF NoteIDS = '' THEN RETURN
|
||||
|
||||
npParms = 'NOTE_PTRS':@RM:@USER4
|
||||
UserRec = obj_Tables('ReadRec',npParms)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
RETURN
|
||||
END
|
||||
NEXT I
|
||||
|
||||
npParms = FIELDSTORE(npParms,@RM,4,0,UserRec)
|
||||
obj_Tables('WriteRec',npParms)
|
||||
FOR I = 1 TO COUNT(NoteIDs,@VM) + (NoteIDs NE '')
|
||||
NoteID = NoteIDs<1,I>
|
||||
|
||||
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
|
||||
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_SUBJECT$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_FROM$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_DATE$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_TIME$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_NEW$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_ATTACHMENT$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_NOTE_IDS$, Fpos, 0 )
|
||||
UserRec = DELETE( UserRec, NOTE_PTRS_ARCHIVED$, Fpos, 0 )
|
||||
END
|
||||
NEXT I
|
||||
|
||||
npParms = FIELDSTORE(npParms,@RM,4,0,UserRec)
|
||||
obj_Tables('WriteRec',npParms)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user