added AD group support to notifications system

This commit is contained in:
Infineon\StieberD
2024-10-04 17:35:08 -07:00
parent 0b5ce72c39
commit 2a5abee93e
38 changed files with 9811 additions and 2732 deletions

View File

@ -7,7 +7,7 @@ COMPILE FUNCTION Note_Message(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, Center_Window, Post_Event, RList
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow, Notes_Services
DECLARE SUBROUTINE obj_Notes, Security_Err_Msg, End_Window, Forward_Event, Start_Window, Create_Note, obj_Notes_Sent
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.Ixvals, Admin_User, Printer_Select, obj_Notes
@ -41,9 +41,6 @@ BEGIN CASE
CASE Event = 'CLOSE' ; GOSUB Close
CASE Event = 'READ' ; GOSUB Read
CASE Event = 'WRITE' ; GOSUB Write
END CASE
CASE EntID = @WINDOW:'.YOUR_GROUPS' AND Event = 'CLICK' ; GOSUB YourGroupsClick
@ -70,24 +67,23 @@ END
RETURN Result
* * * * * * *
Create:
* * * * * * *
obj_Appwindow('Create',@WINDOW)
obj_Appwindow('Create',@WINDOW)
IF Parm1 NE '' THEN
AttachWindow = Parm1[1,@FM]
AttachKey = Parm1[COL2()+1,@FM]
IF AttachWindow NE '' THEN
Set_Property(@WINDOW,'@ATTACH_WINDOW',AttachWindow)
Set_Property(@WINDOW,'@ATTACH_KEY',AttachKey)
IF Parm1 NE '' THEN
AttachWindow = Parm1[1,@FM]
AttachKey = Parm1[COL2()+1,@FM]
IF AttachWindow NE '' THEN
Set_Property(@WINDOW,'@ATTACH_WINDOW',AttachWindow)
Set_Property(@WINDOW,'@ATTACH_KEY',AttachKey)
END
END
END
GOSUB Refresh
GOSUB Refresh
RETURN
@ -96,106 +92,105 @@ RETURN
Close:
* * * * * * *
End_Dialog(@WINDOW,'')
End_Dialog(@WINDOW,'')
RETURN
* * * * * * *
Refresh:
* * * * * * *
IF MemberOf(@USER4,'OI_ADMIN') THEN
Set_Property(@WINDOW:'.SEQ','VISIBLE',1)
END ELSE
Set_Property(@WINDOW:'.SEQ','VISIBLE',0)
END
IF MemberOf(@USER4,'OI_ADMIN') THEN
Set_Property(@WINDOW:'.SEQ','VISIBLE',1)
END ELSE
Set_Property(@WINDOW:'.SEQ','VISIBLE',0)
END
IF Get_Property(@WINDOW:'.ENTRY_ID','DEFPROP') = '' THEN
Set_Property(@WINDOW:'.ENTRY_ID','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ENTRY_ID','ENABLED',0)
END
IF Get_Property(@WINDOW:'.ENTRY_ID','DEFPROP') = '' THEN
Set_Property(@WINDOW:'.ENTRY_ID','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ENTRY_ID','ENABLED',0)
END
IF Get_Property(@WINDOW:'.ENTRY_DATE','DEFPROP') = '' THEN
Set_Property(@WINDOW:'.ENTRY_DATE','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ENTRY_DATE','ENABLED',0)
END
IF Get_Property(@WINDOW:'.ENTRY_DATE','DEFPROP') = '' THEN
Set_Property(@WINDOW:'.ENTRY_DATE','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ENTRY_DATE','ENABLED',0)
END
IF Get_Property(@WINDOW:'.ENTRY_TIME','DEFPROP') = '' THEN
Set_Property(@WINDOW:'.ENTRY_TIME','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ENTRY_TIME','ENABLED',0)
END
IF Get_Property(@WINDOW:'.ENTRY_TIME','DEFPROP') = '' THEN
Set_Property(@WINDOW:'.ENTRY_TIME','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ENTRY_TIME','ENABLED',0)
END
AttachWindow = Get_Property(@WINDOW:'.ATTACH_WINDOW','DEFPROP')
IF AttachWindow NE '' THEN
Set_Property(@WINDOW:'.ATTACH_GROUP','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ATTACH_GROUP','ENABLED',0)
END
AttachWindow = Get_Property(@WINDOW:'.ATTACH_WINDOW','DEFPROP')
IF AttachWindow NE '' THEN
Set_Property(@WINDOW:'.ATTACH_GROUP','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.ATTACH_GROUP','ENABLED',0)
END
* Turn edit table symbolic column backgrounds to green
* Turn edit table symbolic column backgrounds to green
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
ETCtrls = ETSymbolics<1>
ETCols = ETSymbolics<2>
ETCtrls = ETSymbolics<1>
ETCols = ETSymbolics<2>
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
ETCtrl = ETCtrls<1,I>
ETList = Get_Property(ETCtrl,'LIST')
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
IF ETList<Line,1> NE '' THEN
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
NEXT N
END
NEXT Line
NEXT I
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
ETCtrl = ETCtrls<1,I>
ETList = Get_Property(ETCtrl,'LIST')
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
IF ETList<Line,1> NE '' THEN
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
NEXT N
END
NEXT Line
NEXT I
RETURN
RETURN
* * * * * * *
Read:
* * * * * * *
EntryID = Get_Property(@WINDOW:'.ENTRY_ID','DEFPROP')
EntryID = Get_Property(@WINDOW:'.ENTRY_ID','DEFPROP')
IF EntryID = '' THEN
Set_Property(@WINDOW:'.ENTRY_ID','DEFPROP',@USER4)
Send_Event(@WINDOW:'.ENTRY_ID','LOSTFOCUS')
Set_Property(@WINDOW:'.ENTRY_DATE','DEFPROP',OCONV(Date(),'D4/'))
Set_Property(@WINDOW:'.ENTRY_TIME','DEFPROP',OCONV(Time(),'MTS'))
AttachWindow = Get_Property(@WINDOW,'@ATTACH_WINDOW')
AttachKey = Get_Property(@WINDOW,'@ATTACH_KEY')
IF AttachWindow NE '' THEN Set_Property(@WINDOW:'.ATTACH_WINDOW','DEFPROP',AttachWindow)
IF AttachKey NE '' THEN Set_Property(@WINDOW:'.ATTACH_KEY','DEFPROP',AttachKey)
Set_Property(@WINDOW:'.FROM','DEFPROP',@USER4)
Send_Event(@WINDOW:'.FROM','LOSTFOCUS')
Send_Event(@WINDOW:'.ENTRY_ID','LOSTFOCUS')
Set_Property('SYSTEM','FOCUS',@WINDOW:'.SUBJECT')
Set_Property(@WINDOW:'.REPLY','ENABLED',0)
Set_Property(@WINDOW:'.REPLY_ALL','ENABLED',0)
Set_Property(@WINDOW:'.FORWARD','ENABLED',0)
Set_Property(@WINDOW:'.MENU.FILE.SAVE_ROW','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.SEND','ENABLED',0)
END
IF EntryID = '' THEN
Set_Property(@WINDOW:'.ENTRY_ID','DEFPROP',@USER4)
Send_Event(@WINDOW:'.ENTRY_ID','LOSTFOCUS')
Set_Property(@WINDOW:'.ENTRY_DATE','DEFPROP',OCONV(Date(),'D4/'))
Set_Property(@WINDOW:'.ENTRY_TIME','DEFPROP',OCONV(Time(),'MTS'))
AttachWindow = Get_Property(@WINDOW,'@ATTACH_WINDOW')
AttachKey = Get_Property(@WINDOW,'@ATTACH_KEY')
IF AttachWindow NE '' THEN Set_Property(@WINDOW:'.ATTACH_WINDOW','DEFPROP',AttachWindow)
IF AttachKey NE '' THEN Set_Property(@WINDOW:'.ATTACH_KEY','DEFPROP',AttachKey)
Set_Property(@WINDOW:'.FROM','DEFPROP',@USER4)
Send_Event(@WINDOW:'.FROM','LOSTFOCUS')
Send_Event(@WINDOW:'.ENTRY_ID','LOSTFOCUS')
Set_Property('SYSTEM','FOCUS',@WINDOW:'.SUBJECT')
Set_Property(@WINDOW:'.REPLY','ENABLED',0)
Set_Property(@WINDOW:'.REPLY_ALL','ENABLED',0)
Set_Property(@WINDOW:'.FORWARD','ENABLED',0)
Set_Property(@WINDOW:'.MENU.FILE.SAVE_ROW','ENABLED',1)
END ELSE
Set_Property(@WINDOW:'.SEND','ENABLED',0)
END
GOSUB Refresh
GOSUB Refresh
RETURN
@ -204,88 +199,68 @@ RETURN
Write:
* * * * * * *
NoteID = Get_Property(@WINDOW:'.SEQ','DEFPROP')
NoteID = Get_Property(@WINDOW:'.SEQ','DEFPROP')
SendToArray = Get_Property(@WINDOW:'.SEND_TO','ARRAY')
SendToIDs = SendToArray<COL$ST_ID>
SendToArray = Get_Property(@WINDOW:'.SEND_TO','ARRAY')
SendToIDs = SendToArray<COL$ST_ID>
IF RowExists('NOTES',NoteID) THEN
IF RowExists('NOTES',NoteID) THEN
Send_Event(@WINDOW,'CLEAR',0,1,1)
Send_Event(@WINDOW,'CLOSE')
END ELSE
Send_Event(@WINDOW,'CLEAR',0,1,1)
Send_Event(@WINDOW,'CLOSE')
END ELSE
Forward_Event()
Notes_Services('AddToQueue', NoteId)
Forward_Event()
obj_Notes('PostEMail',NoteID) ;* Forwards to Outlook eMail if the users flag is set
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTHS')
Pos = 1
Flag = ""
LOOP
REMOVE SendToID FROM SendToIDs AT Pos SETTING FLAG
IF SendToID NE '' THEN
obj_Notes_Sent('Create',SendToID:@RM:NoteID:@RM:CurrDTM)
END
WHILE Flag
REPEAT
END
RETURN 0
* * * * * * *
YourGroupsClick:
* * * * * * *
SelectSent = 'SELECT MSG_GROUPS WITH ENTRY_ID = ':QUOTE(@USER4):' BY GROUP_NAME'
SelectSent = 'SELECT MSG_GROUPS WITH ENTRY_ID = ':QUOTE(@USER4):' BY GROUP_NAME'
RList(SelectSent,TARGET_ACTIVELIST$, '', '', '' )
RList(SelectSent,TARGET_ACTIVELIST$, '', '', '' )
IF @RECCOUNT THEN
GroupNames = Popup(@WINDOW,'','SHOW_GROUP_NAMES')
IF GroupNames NE '' THEN
LOCATE 'ALL_ACTIVE_USERS' IN GroupNames USING @VM SETTING Pos THEN
NewSendToIDs = obj_Notes('AllActiveUsers')
END ELSE
NewSendToIDs = XLATE('MSG_GROUPS',GroupNames,'USER_IDS','X')
END
IF @RECCOUNT THEN
GroupNames = Popup(@WINDOW,'','SHOW_GROUP_NAMES')
IF NewSendToIDs NE '' THEN
GOSUB AddSendToIDs
END
IF GroupNames NE '' THEN
LOCATE 'ALL_ACTIVE_USERS' IN GroupNames USING @VM SETTING Pos THEN
NewSendToIDs = obj_Notes('AllActiveUsers')
END ELSE
NewSendToIDs = XLATE('MSG_GROUPS',GroupNames,'USER_IDS','X')
END
IF NewSendToIDs NE '' THEN
GOSUB AddSendToIDs
END
END
END ELSE
ErrMsg('You do not have any group names...')
END
END
END ELSE
ErrMsg('You do not have any group names...')
END
RETURN
* * * * * * *
CopyYourSelfClick:
* * * * * * *
NewSendToIDs = ''
NewSendToIDs = ''
GOSUB AddSendToIDs
GOSUB AddSendToIDs
RETURN
@ -294,15 +269,15 @@ RETURN
AllActiveUsersClick:
* * * * * * *
Check = Msg(@WINDOW,'','CC_ALL_USERS')
Check = Msg(@WINDOW,'','CC_ALL_USERS')
IF Check = CHAR(27) THEN RETURN
IF Check = CHAR(27) THEN RETURN
NewSendToIDs = obj_Notes('AllActiveUsers')
NewSendToIDs = obj_Notes('AllActiveUsers')
Set_Property(@WINDOW:'.SEND_TO','ARRAY','')
Set_Property(@WINDOW:'.SEND_TO','ARRAY','')
GOSUB AddSendToIDs
GOSUB AddSendToIDs
RETURN
@ -311,12 +286,11 @@ RETURN
AllUsersClick:
* * * * * * *
NewSendToIDs = Popup(@WINDOW,'','USER_ID')
NewSendToIDs = Popup(@WINDOW,'','USER_ID')
IF NewSendToIDs = CHAR(27) THEN RETURN
IF NewSendToIDs = CHAR(27) THEN RETURN
GOSUB AddSendToIDs
GOSUB AddSendToIDs
RETURN
@ -325,44 +299,44 @@ RETURN
AddSendToIDs:
* * * * * * *
SendToArray = Get_Property(@WINDOW:'.SEND_TO','ARRAY')
RawSendToIDs = SendToArray<COL$ST_ID>
SendToArray = Get_Property(@WINDOW:'.SEND_TO','ARRAY')
RawSendToIDs = SendToArray<COL$ST_ID>
SendToCnt = 0
SendToIDs = ''
SendToCnt = 0
SendToIDs = ''
TestCnt = COUNT(RawSendToIDs,@VM) + (RawSendToIDs NE '')
FOR I = 1 TO TestCnt
IF RawSendToIDs<1,I> NE '' THEN
SendToIDs<1,-1> = RawSendToIDs<1,I>
SendToCnt += 1
TestCnt = COUNT(RawSendToIDs,@VM) + (RawSendToIDs NE '')
FOR I = 1 TO TestCnt
IF RawSendToIDs<1,I> NE '' THEN
SendToIDs<1,-1> = RawSendToIDs<1,I>
SendToCnt += 1
END
NEXT I
NewCnt = COUNT(NewSendToIDs,@VM) + (NewSendToIDs NE '')
FOR I = 1 TO NewCnt
NewSendToID = NewSendToIDs<1,I>
LOCATE NewSendToID IN SendToIDs BY 'AL' USING @VM SETTING Pos ELSE
SendToIDs = INSERT(SendToIDs,1,Pos,0,NewSendToID)
END
NEXT I
SendToYourself = Get_Property(@WINDOW:'.COPY_YOURSELF','CHECK')
Myself = @USER4
LOCATE Myself IN SendToIDs BY 'AL' USING @VM SETTING Pos THEN
IF SendToYourSelf = 0 THEN SendToIDs = DELETE(SendToIDS,1,Pos,0)
END ELSE
IF SendToYourSelf = 1 THEN SendToIDs = INSERT(SendToIDs,1,Pos,0,Myself)
END
NEXT I
NewCnt = COUNT(NewSendToIDs,@VM) + (NewSendToIDs NE '')
SendToIDs := @VM ;* BlankLine on end
FOR I = 1 TO NewCnt
NewSendToID = NewSendToIDs<1,I>
LOCATE NewSendToID IN SendToIDs BY 'AL' USING @VM SETTING Pos ELSE
SendToIDs = INSERT(SendToIDs,1,Pos,0,NewSendToID)
END
NEXT I
SendToYourself = Get_Property(@WINDOW:'.COPY_YOURSELF','CHECK')
Myself = @USER4
LOCATE Myself IN SendToIDs BY 'AL' USING @VM SETTING Pos THEN
IF SendToYourSelf = 0 THEN SendToIDs = DELETE(SendToIDS,1,Pos,0)
END ELSE
IF SendToYourSelf = 1 THEN SendToIDs = INSERT(SendToIDs,1,Pos,0,Myself)
END
SendToIDs := @VM ;* BlankLine on end
SendToArray<COL$ST_ID> = SendToIDs
Set_Property(@WINDOW:'.SEND_TO','DEFPROP',SendToArray)
Send_Event(@WINDOW:'.SEND_TO','CALCULATE',COL$ST_NAME)
SendToArray<COL$ST_ID> = SendToIDs
Set_Property(@WINDOW:'.SEND_TO','DEFPROP',SendToArray)
Send_Event(@WINDOW:'.SEND_TO','CALCULATE',COL$ST_NAME)
RETURN
@ -371,174 +345,171 @@ RETURN
Reply:
* * * * * *
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.FROM':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.SEND_TO':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP'
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.FROM':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.SEND_TO':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP'
Vals = Get_Property(Ctrls,Props)
Vals = Get_Property(Ctrls,Props)
Message = Vals[1,@RM]
Subject = Vals[COL2()+1,@RM]
FromID = Vals[COL2()+1,@RM]
SendTo = Vals[COL2()+1,@RM]
AttachWindow = Vals[COL2()+1,@RM]
AttachKey = Vals[COL2()+1,@RM]
EntryID = Vals[COL2()+1,@RM]
EntryDate = Vals[COL2()+1,@RM]
EntryTime = Vals[COL2()+1,@RM]
Message = Vals[1,@RM]
Subject = Vals[COL2()+1,@RM]
FromID = Vals[COL2()+1,@RM]
SendTo = Vals[COL2()+1,@RM]
AttachWindow = Vals[COL2()+1,@RM]
AttachKey = Vals[COL2()+1,@RM]
EntryID = Vals[COL2()+1,@RM]
EntryDate = Vals[COL2()+1,@RM]
EntryTime = Vals[COL2()+1,@RM]
EntryDate = OCONV(Date(),'D2/') ;* JCH 7/15/2010
EntryTime = OCONV(Time(),'MTH') ;* JCH 7/15/2010
EntryDate = OCONV(Date(),'D2/') ;* JCH 7/15/2010
EntryTime = OCONV(Time(),'MTH') ;* JCH 7/15/2010
SWAP @TM WITH @TM:'>' IN Message
SWAP @TM WITH @TM:'>' IN Message
Subject = 'RE: ':Subject
Message = CRLF$:CRLF$:'>':Message
Subject = 'RE: ':Subject
Message = CRLF$:CRLF$:'>':Message
Set_Property(@WINDOW,'SAVEWARN',0)
Send_Event(@WINDOW,'CLEAR',0,1,1)
Set_Property(@WINDOW,'SAVEWARN',0)
Send_Event(@WINDOW,'CLEAR',0,1,1)
IF EntID = 'NOTE_MESSAGE.REPLY_ALL' THEN
Set_Property('NOTE_MESSAGE.SEND_TO','DEFPROP',SendTo)
NewSendToIDs = FromID
GOSUB AddSendToIDs
Set_Property(@WINDOW:'.FROM','DEFPROP',@USER4)
END ELSE
Ctrls = @WINDOW:'.FROM':@RM ; Props = 'DEFPROP':@RM ; Vals = @USER4:@RM
Ctrls := @WINDOW:'.SEND_TO' ; Props := 'DEFPROP' ; Vals := FromID
Set_Property(Ctrls,Props,Vals)
END
SeqNo = NextKey('NOTES')
Set_Property(@WINDOW:'.SEQ','DEFPROP',SeqNo)
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM ; Vals = Message:@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM ; Vals := Subject:@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM ; Vals := Attachwindow:@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM ; Vals := AttachKey:@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryID:@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryDate:@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP' ; Vals := EntryTime
IF EntID = 'NOTE_MESSAGE.REPLY_ALL' THEN
Set_Property('NOTE_MESSAGE.SEND_TO','DEFPROP',SendTo)
NewSendToIDs = FromID
GOSUB AddSendToIDs
Set_Property(@WINDOW:'.FROM','DEFPROP',@USER4)
END ELSE
Ctrls = @WINDOW:'.FROM':@RM ; Props = 'DEFPROP':@RM ; Vals = @USER4:@RM
Ctrls := @WINDOW:'.SEND_TO' ; Props := 'DEFPROP' ; Vals := FromID
Set_Property(Ctrls,Props,Vals)
END
SeqNo = NextKey('NOTES')
Set_Property(@WINDOW:'.SEQ','DEFPROP',SeqNo)
Send_Event(@WINDOW:'.FROM_NAME','CALCULATE')
Send_Event(@WINDOW:'.ENTRY_ID_NAME','CALCULATE')
Send_Event(@WINDOW:'.SEND_TO','CALCULATE',COL$ST_NAME)
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM ; Vals = Message:@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM ; Vals := Subject:@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM ; Vals := Attachwindow:@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM ; Vals := AttachKey:@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryID:@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryDate:@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP' ; Vals := EntryTime
IOOptions = Get_Property( @WINDOW, 'IOOPTIONS' )
Set_Property(Ctrls,Props,Vals)
IOOptions<2> = 0 ;* do the lock creating a new reply another WTFO??????
Send_Event(@WINDOW:'.FROM_NAME','CALCULATE')
Send_Event(@WINDOW:'.ENTRY_ID_NAME','CALCULATE')
Send_Event(@WINDOW:'.SEND_TO','CALCULATE',COL$ST_NAME)
IOOptions = Get_Property( @WINDOW, 'IOOPTIONS' )
IOOptions<2> = 0 ;* do the lock creating a new reply another WTFO??????
Set_Property( @WINDOW, 'IOOPTIONS', IoOptions )
Set_Property( @WINDOW, 'IOOPTIONS', IoOptions )
Set_Property(@WINDOW:'.SEND','ENABLED',1)
Set_Property(@WINDOW:'.REPLY','ENABLED',0)
Set_Property(@WINDOW:'.REPLY_ALL','ENABLED',0)
Set_Property(@WINDOW:'.FORWARD','ENABLED',0)
Set_Property(@WINDOW:'.MENU.FILE.SAVE_ROW','ENABLED',1)
Set_Property(@WINDOW:'.MESSAGE', "FOCUS", 1)
Set_Property(@WINDOW:'.SEND','ENABLED',1)
Set_Property(@WINDOW:'.REPLY','ENABLED',0)
Set_Property(@WINDOW:'.REPLY_ALL','ENABLED',0)
Set_Property(@WINDOW:'.FORWARD','ENABLED',0)
Set_Property(@WINDOW:'.MENU.FILE.SAVE_ROW','ENABLED',1)
Set_Property(@WINDOW:'.MESSAGE', "FOCUS", 1)
RETURN
* * * * * * *
Forward:
* * * * * * *
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.FROM':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.SEND_TO':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP'
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.FROM':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.SEND_TO':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP'
Vals = Get_Property(Ctrls,Props)
Vals = Get_Property(Ctrls,Props)
OrgMessage = Vals[1,@RM]
Subject = Vals[COL2()+1,@RM]
FromID = Vals[COL2()+1,@RM]
SendTo = Vals[COL2()+1,@RM]
AttachWindow = Vals[COL2()+1,@RM]
AttachKey = Vals[COL2()+1,@RM]
EntryID = Vals[COL2()+1,@RM]
EntryDate = Vals[COL2()+1,@RM]
EntryTime = Vals[COL2()+1,@RM]
OrgMessage = Vals[1,@RM]
Subject = Vals[COL2()+1,@RM]
FromID = Vals[COL2()+1,@RM]
SendTo = Vals[COL2()+1,@RM]
AttachWindow = Vals[COL2()+1,@RM]
AttachKey = Vals[COL2()+1,@RM]
EntryID = Vals[COL2()+1,@RM]
EntryDate = Vals[COL2()+1,@RM]
EntryTime = Vals[COL2()+1,@RM]
SWAP @TM WITH @TM:'>' IN OrgMessage
SWAP @TM WITH @TM:'>' IN OrgMessage
SendToUserIDs = SendTo<COL$ST_ID>
SWAP @VM WITH ', ' IN SendToUserIDs
SendToUserIDs = SendTo<COL$ST_ID>
SWAP @VM WITH ', ' IN SendToUserIDs
Subject = '[FW: ':Subject:']'
Subject = '[FW: ':Subject:']'
Message = CRLF$:CRLF$
Message := '--------- Original Message ---------':CRLF$:CRLF$
Message := 'Subject: ':Subject:CRLF$
Message := ' Date: ':OCONV(EntryDate,'D4/'):' ':OCONV(EntryTime,'MTS'):CRLF$
Message := ' From: ':FromID:CRLF$
Message := ' To: ':SendToUserIDs:CRLF$
Message := CRLF$:CRLF$
Message = CRLF$:CRLF$
Message := '--------- Original Message ---------':CRLF$:CRLF$
Message := 'Subject: ':Subject:CRLF$
Message := ' Date: ':OCONV(EntryDate,'D4/'):' ':OCONV(EntryTime,'MTS'):CRLF$
Message := ' From: ':FromID:CRLF$
Message := ' To: ':SendToUserIDs:CRLF$
Message := CRLF$:CRLF$
Message := CRLF$:CRLF$:'>':OrgMessage
Message := CRLF$:CRLF$:'>':OrgMessage
Set_Property(@WINDOW,'SAVEWARN',0)
Send_Event(@WINDOW,'CLEAR',0,1,1)
Set_Property(@WINDOW,'SAVEWARN',0)
Send_Event(@WINDOW,'CLEAR',0,1,1)
IF EntID = 'NOTE_MESSAGE.REPLY_ALL' THEN
Set_Property('NOTE_MESSAGE.SEND_TO','DEFPROP',SendTo)
NewSendToIDs = FromID
GOSUB AddSendToIDs
Set_Property(@WINDOW:'.FROM','DEFPROP',@USER4)
END ELSE
Ctrls = @WINDOW:'.FROM':@RM ; Props = 'DEFPROP':@RM ; Vals = @USER4:@RM
Ctrls := @WINDOW:'.SEND_TO' ; Props := 'DEFPROP' ; Vals := ''
Set_Property(Ctrls,Props,Vals)
END
SeqNo = NextKey('NOTES')
Set_Property(@WINDOW:'.SEQ','DEFPROP',SeqNo)
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM ; Vals = Message:@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM ; Vals := Subject:@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM ; Vals := AttachWindow:@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM ; Vals := AttachKey:@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryID:@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryDate:@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP' ; Vals := EntryTime
IF EntID = 'NOTE_MESSAGE.REPLY_ALL' THEN
Set_Property('NOTE_MESSAGE.SEND_TO','DEFPROP',SendTo)
NewSendToIDs = FromID
GOSUB AddSendToIDs
Set_Property(@WINDOW:'.FROM','DEFPROP',@USER4)
END ELSE
Ctrls = @WINDOW:'.FROM':@RM ; Props = 'DEFPROP':@RM ; Vals = @USER4:@RM
Ctrls := @WINDOW:'.SEND_TO' ; Props := 'DEFPROP' ; Vals := ''
Set_Property(Ctrls,Props,Vals)
END
SeqNo = NextKey('NOTES')
Set_Property(@WINDOW:'.SEQ','DEFPROP',SeqNo)
Send_Event(@WINDOW:'.FROM_NAME','CALCULATE')
Send_Event(@WINDOW:'.ENTRY_ID_NAME','CALCULATE')
Send_Event(@WINDOW:'.SEND_TO','CALCULATE',COL$ST_NAME)
Ctrls = @WINDOW:'.MESSAGE':@RM ; Props = 'DEFPROP':@RM ; Vals = Message:@RM
Ctrls := @WINDOW:'.SUBJECT':@RM ; Props := 'DEFPROP':@RM ; Vals := Subject:@RM
Ctrls := @WINDOW:'.ATTACH_WINDOW':@RM ; Props := 'DEFPROP':@RM ; Vals := AttachWindow:@RM
Ctrls := @WINDOW:'.ATTACH_KEY':@RM ; Props := 'DEFPROP':@RM ; Vals := AttachKey:@RM
Ctrls := @WINDOW:'.ENTRY_ID':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryID:@RM
Ctrls := @WINDOW:'.ENTRY_DATE':@RM ; Props := 'DEFPROP':@RM ; Vals := EntryDate:@RM
Ctrls := @WINDOW:'.ENTRY_TIME' ; Props := 'DEFPROP' ; Vals := EntryTime
IOOptions = Get_Property( @WINDOW, 'IOOPTIONS' )
Set_Property(Ctrls,Props,Vals)
IOOptions<2> = 0 ;* do the lock creating a new reply another WTFO??????
Send_Event(@WINDOW:'.FROM_NAME','CALCULATE')
Send_Event(@WINDOW:'.ENTRY_ID_NAME','CALCULATE')
Send_Event(@WINDOW:'.SEND_TO','CALCULATE',COL$ST_NAME)
Set_Property( @WINDOW, 'IOOPTIONS', IoOptions )
IOOptions = Get_Property( @WINDOW, 'IOOPTIONS' )
IOOptions<2> = 0 ;* do the lock creating a new reply another WTFO??????
Set_Property( @WINDOW, 'IOOPTIONS', IoOptions )
Set_Property(@WINDOW:'.SEND','ENABLED',1)
Set_Property(@WINDOW:'.REPLY','ENABLED',0)
Set_Property(@WINDOW:'.REPLY_ALL','ENABLED',0)
Set_Property(@WINDOW:'.FORWARD','ENABLED',0)
Set_Property(@WINDOW:'.MENU.FILE.SAVE_ROW','ENABLED',1)
Set_Property(@WINDOW:'.MESSAGE', "FOCUS", 1)
Set_Property(@WINDOW:'.SEND','ENABLED',1)
Set_Property(@WINDOW:'.REPLY','ENABLED',0)
Set_Property(@WINDOW:'.REPLY_ALL','ENABLED',0)
Set_Property(@WINDOW:'.FORWARD','ENABLED',0)
Set_Property(@WINDOW:'.MENU.FILE.SAVE_ROW','ENABLED',1)
Set_Property(@WINDOW:'.MESSAGE', "FOCUS", 1)
RETURN
@ -547,12 +518,12 @@ RETURN
ViewAttachment:
* * * * * * *
AttachWindow = Get_Property(@WINDOW:'.ATTACH_WINDOW','DEFPROP')
AttachKey = Get_Property(@WINDOW:'.ATTACH_KEY','DEFPROP')
AttachWindow = Get_Property(@WINDOW:'.ATTACH_WINDOW','DEFPROP')
AttachKey = Get_Property(@WINDOW:'.ATTACH_KEY','DEFPROP')
IF AttachWindow NE '' AND AttachKey NE '' THEN
obj_Appwindow('ViewRelated',AttachWindow:@RM:AttachKey)
END
IF AttachWindow NE '' AND AttachKey NE '' THEN
obj_Appwindow('ViewRelated',AttachWindow:@RM:AttachKey)
END
RETURN
@ -561,93 +532,84 @@ RETURN
SendToPC:
* * * * * * *
NextColumn = Parm1
NextRow = Parm2
NextColumn = Parm1
NextRow = Parm2
Forward_Event(NextColumn,NextRow)
Forward_Event(NextColumn,NextRow)
CurrRow = Get_Property(@WINDOW:'.SEND_TO','ROWDATA')
CurrRow = Get_Property(@WINDOW:'.SEND_TO','ROWDATA')
CurrRow<COL$ST_NAME> = OCONV(CurrRow<1,COL$ST_ID>,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
CurrRow<COL$ST_NAME> = OCONV(CurrRow<1,COL$ST_ID>,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
Set_Property(@WINDOW:'.SEND_TO','ROWDATA',CurrRow)
Set_Property(@WINDOW:'.SEND_TO','ROWDATA',CurrRow)
GOSUB Refresh
GOSUB Refresh
RETURN
* * * * * * *
Print:
* * * * * * *
PrintPath = Printer_Select('',1) ;* Get default printer
PrintPath = Printer_Select('',1) ;* Get default printer
Stat = Set_Printer( 'INIT', '', '', 1.25:@FM:'':@FM:1.0:@FM:'', 0,'',PrintPath )
GOSUB CheckErr
Stat = Set_Printer( 'INIT', '', '', 1.25:@FM:'':@FM:1.0:@FM:'', 0,'',PrintPath )
GOSUB CheckErr
Font = "Courier New,12,L,1"
CONVERT ',' TO @FM IN Font
Hf = Font
Stat = Set_Printer( 'FONT', Font )
GOSUB CheckErr
Font = "Courier New,12,L,1"
CONVERT ',' TO @FM IN Font
Hf = Font
Stat = Set_Printer( 'FONT', Font )
GOSUB CheckErr
SendTo = Get_Property(@WINDOW:'.SEND_TO','ARRAY')
SendTo = Get_Property(@WINDOW:'.SEND_TO','ARRAY')
Void = Set_Printer( 'TEXT', 'TO:' )
Table = ''
Void = Set_Printer( 'TEXT', 'TO:' )
Table = ''
SendTo<1> = ex_vm_rem( SendTo<1> )
Rcnt = COUNT(SendTo<1>,@VM) + (SendTo NE '')
SendTo<1> = ex_vm_rem( SendTo<1> )
Rcnt = COUNT(SendTo<1>,@VM) + (SendTo NE '')
FOR I = 1 TO Rcnt
Tvar = SendTo<2,I>:@VM:SendTo<2,I+1>:@VM:SendTo<2,I+2>
Table<-1> = Tvar
I = I+2 ; *skip column 2 & 3 that just got appended
next i
Void = Set_Printer( 'ADDTABLE', '2880':@VM:'2880':@VM:'2880', '', Table, '','','', TB_ALL )
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', 'From: ':Get_Property(@WINDOW:'.FROM','DEFPROP'):' ':Get_Property(@WINDOW:'.FROM_NAME','DEFPROP'))
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', 'Date: ':Get_Property(@WINDOW:'.ENTRY_DATE','DEFPROP'))
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', 'Subject: ':Get_Property(@WINDOW:'.SUBJECT'))
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', ' M E S S A G E' )
Void = Set_Printer( 'TEXT', '' )
MessageText = Get_Property(@WINDOW:'.MESSAGE','DEFPROP')
FOR I = 1 TO Rcnt
Tvar = SendTo<2,I>:@VM:SendTo<2,I+1>:@VM:SendTo<2,I+2>
Table<-1> = Tvar
I = I+2 ; *skip column 2 & 3 that just got appended
next i
Void = Set_Printer( 'ADDTABLE', '2880':@VM:'2880':@VM:'2880', '', Table, '','','', TB_ALL )
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', 'From: ':Get_Property(@WINDOW:'.FROM','DEFPROP'):' ':Get_Property(@WINDOW:'.FROM_NAME','DEFPROP'))
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', 'Date: ':Get_Property(@WINDOW:'.ENTRY_DATE','DEFPROP'))
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', 'Subject: ':Get_Property(@WINDOW:'.SUBJECT'))
Void = Set_Printer( 'TEXT', '' )
Void = Set_Printer( 'TEXT', ' M E S S A G E' )
Void = Set_Printer( 'TEXT', '' )
MessageText = Get_Property(@WINDOW:'.MESSAGE','DEFPROP')
SWAP @TM WITH CRLF$ IN MessageText
SWAP @TM WITH CRLF$ IN MessageText
TableColInfo = '9360'
x = Set_Printer("ADDTABLE", TableColInfo, '', MessageText, '', '', 1, TB_NONE)
TableColInfo = '9360'
x = Set_Printer("ADDTABLE", TableColInfo, '', MessageText, '', '', 1, TB_NONE)
Stat = Set_Printer( 'TERM' )
Stat = Set_Printer( 'TERM' )
GOSUB CheckErr
GOSUB CheckErr
RETURN
* * * * * * *
CheckErr:
* * * * * * *
IF Stat < 0 THEN
Void = msg( '', Stat )
Stat = Set_Printer( 'TERM' )
END
IF Stat < 0 THEN
Void = msg( '', Stat )
Stat = Set_Printer( 'TERM' )
END
RETURN