added the ability to add existing serv cats to reactor modes
This commit is contained in:
@ -1,15 +1,47 @@
|
||||
Compile function REACTOR_MODES_EVENTS(CtrlEntId, Event, @PARAMS)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
Declare function Get_Property, Database_Services, Dialog_Box, Memberof, Sec_Group_Services, Error_Services
|
||||
Declare subroutine Set_Property, rlist, Send_Event, Reactor_Modes_Services, errmsg, Error_Services, msg, Database_Services
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from Infineon.
|
||||
|
||||
$Insert REACTOR_MODES_EQUATES
|
||||
$Insert MSG_EQUATES
|
||||
$INSERT LOGICAL
|
||||
Name : REACTOR_MODES_EVENTS
|
||||
|
||||
Description : This function acts as a commuter module for all events related to this window.
|
||||
|
||||
Notes : Commuter Modules are automatically called from the Promoted_Events function which is called by the
|
||||
application-specific promoted event handler. This makes it possible to add QuickEvents that need to
|
||||
execute Basic+ logic without having use the Form Designer to make the association, although this is
|
||||
limited to the events which are currently promoted.
|
||||
|
||||
If the form needs to call the commuter module directly then the QuickEvent parameters should be
|
||||
formatted like this:
|
||||
|
||||
'@SELF','@EVENT',['@PARAM1','@PARAMx']
|
||||
|
||||
Parameters :
|
||||
CtrlEntId [in] -- The fully qualified name of the control calling the promoted event
|
||||
Event [in] -- The event being executed. See the Notes section regarding "PRE" events
|
||||
Param1-15 [in] -- Additional event parameter holders
|
||||
EventFlow [out] -- Set to 1 or 0 so the calling event knows whether or not to chain forward. See comments in
|
||||
EVENT_SETUP insert
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
11/13/2024 djs Added "Add Existing Category" button
|
||||
|
||||
***********************************************************************************************************************/
|
||||
#pragma precomp SRP_PreCompiler
|
||||
#window REACTOR_MODES_EVENTS
|
||||
|
||||
$INSERT EVENT_SETUP
|
||||
$INSERT LOGICAL
|
||||
$Insert REACTOR_MODES_EQUATES
|
||||
$Insert MSG_EQUATES
|
||||
$Insert RLIST_EQUATES
|
||||
|
||||
Declare function Get_Property, Database_Services, Dialog_Box, Memberof, Sec_Group_Services, Error_Services
|
||||
Declare function Popup
|
||||
Declare subroutine Set_Property, rlist, Send_Event, Reactor_Modes_Services, errmsg, Error_Services, msg
|
||||
Declare subroutine Reactor_Mode_Services, Database_Services, PlaceDialog
|
||||
|
||||
GoToEvent Event for CtrlEntId else
|
||||
// Event not implemented
|
||||
@ -22,14 +54,14 @@ Return EventFlow or 1
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Event WINDOW.CREATE(CreateParam)
|
||||
//Security Check
|
||||
|
||||
// Security Check
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
Set_Property(@WINDOW : '.BTN_NEW_PROB_CAT', 'ENABLED', 1)
|
||||
Set_Property(@WINDOW : '.BTN_DELETE_CAT', 'ENABLED', 1)
|
||||
end
|
||||
|
||||
EQU TARGET_ACTIVELIST$ to 5
|
||||
//Get List of Reactor Modes
|
||||
// Get List of Reactor Modes
|
||||
Statement = 'SELECT REACTOR_MODES BY DESCRIPTION'
|
||||
rlist(Statement, target_activelist$, '', '', '' )
|
||||
ModeList = ''
|
||||
@ -43,19 +75,23 @@ Event WINDOW.CREATE(CreateParam)
|
||||
ModeList<-1> = ReactorModeID
|
||||
Repeat
|
||||
end
|
||||
//Populate list of current modes
|
||||
// Populate list of current modes
|
||||
Set_Property(@Window : '.CMB_REACTOR_MODE', 'LIST', ModeList)
|
||||
//Populate Security Group options
|
||||
// Populate Security Group options
|
||||
GroupOptions = SEC_Group_Services('GetAllSecGroups')
|
||||
Set_Property(@Window : '.CMB_ENTER_OPTIONS', 'LIST', GroupOptions)
|
||||
Set_Property(@Window : '.CMB_EXIT_OPTIONS', 'LIST', GroupOptions)
|
||||
//Populate Notifcation Group Options
|
||||
// Populate Notifcation Group Options
|
||||
NotifGrpOpts = Database_Services('ReadDataRow', 'APP_INFO', 'USER_CLASSES')
|
||||
Set_Property(@Window : '.CMB_NOTIFY_OPTIONS', 'LIST', NotifGrpOpts)
|
||||
|
||||
PlaceDialog(-2, -2)
|
||||
|
||||
End Event
|
||||
|
||||
|
||||
Event CMB_REACTOR_MODE.CHANGED
|
||||
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
ReactorModeRec = Database_Services('ReadDataRow', 'REACTOR_MODES', ReactorModeRecKey)
|
||||
E10State = ReactorModeRec<REACTOR_MODES_E10_STATE$>
|
||||
@ -72,7 +108,6 @@ Event CMB_REACTOR_MODE.CHANGED
|
||||
NotificationClasses = ReactorModeRec<REACTOR_MODES_NOTIFY_CLASS$>
|
||||
swap @VM with @FM in NotificationClasses
|
||||
|
||||
|
||||
Icon = ReactorModeRec<REACTOR_MODES_ICON$> : '.bmp'
|
||||
|
||||
ServiceCategoryArr = ''
|
||||
@ -91,8 +126,10 @@ Event CMB_REACTOR_MODE.CHANGED
|
||||
Set_Property(@Window: '.CMB_ENTER_OPTIONS', 'TEXT' , '')
|
||||
Set_Property(@Window: '.CMB_EXIT_OPTIONS', 'TEXT' , '')
|
||||
Set_Property(@Window: '.CMB_NOTIFY_OPTIONS', 'TEXT' , '')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event BTN_NEW_PROB_CAT.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
@ -102,12 +139,38 @@ Event BTN_NEW_PROB_CAT.CLICK
|
||||
ErrMsg('You must be authorized to change reactor mode categories')
|
||||
Return
|
||||
end
|
||||
|
||||
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_ADD_EXISTING_CAT.CLICK()
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
SelCats = Popup(@Window, '', 'REACT_CAT_DESC')
|
||||
If SelCats NE '' then
|
||||
Done = False$
|
||||
For each SelCat in SelCats using @FM setting fPos
|
||||
SelCatId = SelCat<0, 1>
|
||||
Reactor_Modes_Services('AddExistingServiceCategory', ReactorModeRecKey, SelCatId)
|
||||
If Error_Services('HasError') then
|
||||
Error_Services('DisplayError')
|
||||
Done = True$
|
||||
end
|
||||
Until Done
|
||||
Next SelCat
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
end
|
||||
end else
|
||||
ErrMsg('You must be authorized to change reactor mode categories')
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event BTN_DELETE_CAT.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
CatArray = Get_Property(@Window:'.TBL_SERVICE_CATS', 'ARRAY')
|
||||
@ -120,9 +183,12 @@ Event BTN_DELETE_CAT.CLICK
|
||||
end
|
||||
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_ADD_ENTER.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
Selected = Get_Property(@Window: '.CMB_ENTER_OPTIONS', "TEXT")
|
||||
@ -135,9 +201,12 @@ Event PUB_ADD_ENTER.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_ADD_EXIT.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
Selected = Get_Property(@Window: '.CMB_EXIT_OPTIONS', "TEXT")
|
||||
@ -150,9 +219,12 @@ Event PUB_ADD_EXIT.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_REMOVE_ENTER.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
EnterArray = Get_Property(@Window:'.EDT_ENTER_PERMISSIONS', 'ARRAY')
|
||||
@ -167,9 +239,12 @@ Event PUB_REMOVE_ENTER.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_REMOVE_EXIT.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
ExitArray = Get_Property(@Window:'.EDT_EXIT_PERMISSIONS', 'ARRAY')
|
||||
@ -184,9 +259,12 @@ Event PUB_REMOVE_EXIT.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event CHK_NOTIFICATION_ACTIVE.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
newNotify = Get_Property(@Window: '.CHK_NOTIFICATION_ACTIVE', 'CHECK')
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
@ -197,9 +275,12 @@ Event CHK_NOTIFICATION_ACTIVE.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_ADD_NOTIFY.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
Selected = Get_Property(@Window: '.CMB_NOTIFY_OPTIONS', "TEXT")
|
||||
@ -212,9 +293,12 @@ Event PUB_ADD_NOTIFY.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_DELETE_NOTIFY.CLICK
|
||||
|
||||
If MemberOf(@USER4,'ENGINEERING') OR MemberOf(@USER4,'SUPERVISOR') OR MemberOf(@User4, 'OI_ADMIN') then
|
||||
ReactorModeRecKey = Get_Property(@WINDOW : '.CMB_REACTOR_MODE', 'DEFPROP')
|
||||
NotifArray = Get_Property(@Window:'.EDT_NOTIFICATION_CLASSES', 'ARRAY')
|
||||
@ -229,5 +313,6 @@ Event PUB_DELETE_NOTIFY.CLICK
|
||||
msg('', 'You must be authorized to change reactor mode records')
|
||||
end
|
||||
Send_Event(@Window : '.CMB_REACTOR_MODE', 'CHANGED')
|
||||
|
||||
end event
|
||||
|
||||
|
Reference in New Issue
Block a user