added the ability to add existing serv cats to reactor modes

This commit is contained in:
Infineon\StieberD
2024-11-13 16:53:40 -07:00
parent 18f97077e1
commit f7d3ab6756
7 changed files with 4536 additions and 999 deletions

View File

@ -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