PSN group changes and activation now requires both
Qual and PreQual signatures.
This commit is contained in:
parent
10fcd17e4b
commit
d90a685b44
@ -10,6 +10,7 @@ COMPILE FUNCTION Comm_Prod_Spec(Instruction, Parm1,Parm2)
|
|||||||
equate statement PRS_PROP_UNITS_ORG$.
|
equate statement PRS_PROP_UNITS_ORG$.
|
||||||
07/27/2020 - JRO - Updated COL$ Equate for the LS table due to adding new cols.
|
07/27/2020 - JRO - Updated COL$ Equate for the LS table due to adding new cols.
|
||||||
02/23/2020 - JRO - Added in methods for Parameter checks
|
02/23/2020 - JRO - Added in methods for Parameter checks
|
||||||
|
10/10/2024 - DJM - Changed QUOTE_SIGS to Security groups to be tied into AD groups.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, Center_Window, Post_Event, obj_Tables
|
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, Center_Window, Post_Event, obj_Tables
|
||||||
@ -804,6 +805,28 @@ StatusClick:
|
|||||||
OldStatus = XLATE('PROD_SPEC', PSNo, PROD_SPEC_STATUS$ ,'X')
|
OldStatus = XLATE('PROD_SPEC', PSNo, PROD_SPEC_STATUS$ ,'X')
|
||||||
NewStatus = Get_Property(@WINDOW:'.STATUS','DEFPROP')
|
NewStatus = Get_Property(@WINDOW:'.STATUS','DEFPROP')
|
||||||
|
|
||||||
|
CtrlID = @WINDOW:'.MODE_CODE'
|
||||||
|
|
||||||
|
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
||||||
|
|
||||||
|
ActivationAllowed = FALSE$
|
||||||
|
|
||||||
|
BEGIN CASE
|
||||||
|
CASE ModeArray<COL$MODE_SIG,4> NE ''
|
||||||
|
ActivationAllowed = TRUE$
|
||||||
|
CASE ModeArray<COL$MODE_SIG,3> NE ''
|
||||||
|
ActivationAllowed = TRUE$
|
||||||
|
CASE ModeArray<COL$MODE_SIG,2> NE ''
|
||||||
|
ActivationAllowed = TRUE$
|
||||||
|
CASE ModeArray<COL$MODE_SIG,1> NE ''
|
||||||
|
ActivationAllowed = FALSE$
|
||||||
|
Error_Services('Add', 'Both the Pre Qual and the Qual signatures must be signed in order for the PSN to be activated.')
|
||||||
|
CASE 1
|
||||||
|
ActivationAllowed = FALSE$
|
||||||
|
Error_Services('Add', 'Both the Pre Qual and the Qual signatures must be signed in order for the PSN to be activated.')
|
||||||
|
END CASE
|
||||||
|
|
||||||
|
|
||||||
IF PSNo = '' THEN RETURN
|
IF PSNo = '' THEN RETURN
|
||||||
If NewStatus NE OldStatus then
|
If NewStatus NE OldStatus then
|
||||||
IF NewStatus = 'I' THEN
|
IF NewStatus = 'I' THEN
|
||||||
@ -912,18 +935,24 @@ StatusClick:
|
|||||||
|
|
||||||
//Activation Parameters Check JRO - 2-24-2021
|
//Activation Parameters Check JRO - 2-24-2021
|
||||||
IF NewStatus = 'A' then
|
IF NewStatus = 'A' then
|
||||||
Error_Services('Clear')
|
If ActivationAllowed EQ TRUE$ then
|
||||||
MsgStruct = ""
|
Error_Services('Clear')
|
||||||
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
|
MsgStruct = ""
|
||||||
GoSub ReactorVerification
|
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
|
||||||
If Error_Services('NoError') then
|
GoSub ReactorVerification
|
||||||
GoSub SpecVerification
|
If Error_Services('NoError') then
|
||||||
end
|
GoSub SpecVerification
|
||||||
If Error_Services('NoError') then
|
end
|
||||||
GoSub ProdVerVerification
|
If Error_Services('NoError') then
|
||||||
end
|
GoSub ProdVerVerification
|
||||||
If Error_Services('NoError') then
|
end
|
||||||
GoSub StageVerification
|
If Error_Services('NoError') then
|
||||||
|
GoSub StageVerification
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
Set_Property(@WINDOW:'.STATUS','DEFPROP', OldStatus)
|
||||||
|
Error = Error_Services('GetMessage')
|
||||||
|
ErrMsg(Error)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
@ -1418,6 +1447,8 @@ SignNextMode:
|
|||||||
|
|
||||||
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
||||||
|
|
||||||
|
Qualified = FALSE$
|
||||||
|
|
||||||
BEGIN CASE
|
BEGIN CASE
|
||||||
CASE ModeArray<COL$MODE_SIG,4> NE '' ; NextSigPos = ''
|
CASE ModeArray<COL$MODE_SIG,4> NE '' ; NextSigPos = ''
|
||||||
CASE ModeArray<COL$MODE_SIG,3> NE '' ; NextSigPos = 4 ; NextMode = ModeArray<COL$MODE_CODE,4>
|
CASE ModeArray<COL$MODE_SIG,3> NE '' ; NextSigPos = 4 ; NextMode = ModeArray<COL$MODE_CODE,4>
|
||||||
@ -1426,17 +1457,17 @@ SignNextMode:
|
|||||||
CASE 1 ; NextSigPos = 1 ; NextMode = ModeArray<COL$MODE_CODE,1>
|
CASE 1 ; NextSigPos = 1 ; NextMode = ModeArray<COL$MODE_CODE,1>
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
SigInfo = XLATE('CONFIG','QUOTE_SIGS','','X')
|
|
||||||
|
|
||||||
BEGIN CASE
|
BEGIN CASE
|
||||||
CASE NextSigPos = 4 ; QualUsers = SigInfo<PSNProdSigs$>
|
CASE NextSigPos = 4 ; Qualified = (MemberOf(@USER4,'PSN_PROD'))
|
||||||
CASE NextSigPos = 3 ; QualUsers = SigInfo<PSNPreProdSigs$>
|
CASE NextSigPos = 3 ; Qualified = (MemberOf(@USER4,'PSN_PRE_PROD'))
|
||||||
CASE NextSigPos = 2 ; QualUsers = SigInfo<PSNQualSigs$>
|
CASE NextSigPos = 2 ; Qualified = (MemberOf(@USER4,'PSN_QUAL'))
|
||||||
CASE NextSigPos = 1 ; QualUsers = SigInfo<PSNPreQualSigs$>
|
CASE NextSigPos = 1 ; Qualified = (MemberOf(@USER4,'PSN_PRE_QUAL'))
|
||||||
CASE 1 ; QualUsers = ''
|
CASE 1 ; Qualified = FALSE$
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
LOCATE @USER4 IN QualUsers USING @VM SETTING Pos THEN
|
|
||||||
|
If Qualified EQ TRUE$ THEN
|
||||||
Valid = Dialog_Box( 'QUOTE_SIG_PWD_ENTRY', @WINDOW, @USER4:@VM:XLATE( 'LSL_USERS', @USER4, LSL_USERS_PASSWORD$, 'X' ) )
|
Valid = Dialog_Box( 'QUOTE_SIG_PWD_ENTRY', @WINDOW, @USER4:@VM:XLATE( 'LSL_USERS', @USER4, LSL_USERS_PASSWORD$, 'X' ) )
|
||||||
END ELSE
|
END ELSE
|
||||||
ErrorMsg = 'Current user is not an authorized ':NextMode:' signer.'
|
ErrorMsg = 'Current user is not an authorized ':NextMode:' signer.'
|
||||||
@ -1471,6 +1502,8 @@ UnsignCurrMode:
|
|||||||
|
|
||||||
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
||||||
|
|
||||||
|
Qualified = FALSE$
|
||||||
|
|
||||||
BEGIN CASE
|
BEGIN CASE
|
||||||
CASE ModeArray<COL$MODE_SIG,4> NE '' ; UnsigPos = 4 ; UnsignMode = ModeArray<COL$MODE_CODE,4>
|
CASE ModeArray<COL$MODE_SIG,4> NE '' ; UnsigPos = 4 ; UnsignMode = ModeArray<COL$MODE_CODE,4>
|
||||||
CASE ModeArray<COL$MODE_SIG,3> NE '' ; UnsigPos = 3 ; UnsignMode = ModeArray<COL$MODE_CODE,3>
|
CASE ModeArray<COL$MODE_SIG,3> NE '' ; UnsigPos = 3 ; UnsignMode = ModeArray<COL$MODE_CODE,3>
|
||||||
@ -1479,17 +1512,16 @@ UnsignCurrMode:
|
|||||||
CASE 1 ; UnsigPos = ''
|
CASE 1 ; UnsigPos = ''
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
SigInfo = XLATE('CONFIG','QUOTE_SIGS','','X')
|
|
||||||
|
|
||||||
BEGIN CASE
|
BEGIN CASE
|
||||||
CASE UnsigPos = 4 ; QualUsers = SigInfo<PSNProdSigs$>
|
CASE UnsigPos = 4 ; Qualified = (MemberOf(@USER4,'PSN_PROD'))
|
||||||
CASE UnsigPos = 3 ; QualUsers = SigInfo<PSNPreProdSigs$>
|
CASE UnsigPos = 3 ; Qualified = (MemberOf(@USER4,'PSN_PRE_PROD'))
|
||||||
CASE UnsigPos = 2 ; QualUsers = SigInfo<PSNQualSigs$>
|
CASE UnsigPos = 2 ; Qualified = (MemberOf(@USER4,'PSN_QUAL'))
|
||||||
CASE UnsigPos = 1 ; QualUsers = SigInfo<PSNPreQualSigs$>
|
CASE UnsigPos = 1 ; Qualified = (MemberOf(@USER4,'PSN_PRE_QUAL'))
|
||||||
CASE 1 ; QualUsers = ''
|
CASE 1 ; Qualified = FALSE$
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
LOCATE @USER4 IN QualUsers USING @VM SETTING Pos THEN
|
If Qualified EQ TRUE$ THEN
|
||||||
Valid = Dialog_Box( 'QUOTE_SIG_PWD_ENTRY', @WINDOW, @USER4:@VM:XLATE( 'LSL_USERS', @USER4, LSL_USERS_PASSWORD$, 'X' ) )
|
Valid = Dialog_Box( 'QUOTE_SIG_PWD_ENTRY', @WINDOW, @USER4:@VM:XLATE( 'LSL_USERS', @USER4, LSL_USERS_PASSWORD$, 'X' ) )
|
||||||
END ELSE
|
END ELSE
|
||||||
ErrorMsg = 'Current user is not an authorized ':UnsignMode:' signer.'
|
ErrorMsg = 'Current user is not an authorized ':UnsignMode:' signer.'
|
||||||
@ -1497,7 +1529,6 @@ UnsignCurrMode:
|
|||||||
RETURN
|
RETURN
|
||||||
END
|
END
|
||||||
|
|
||||||
Valid = Dialog_Box( 'QUOTE_SIG_PWD_ENTRY', @WINDOW, @USER4:@VM:XLATE( 'LSL_USERS', @USER4, LSL_USERS_PASSWORD$, 'X' ) )
|
|
||||||
|
|
||||||
IF Valid = 1 THEN
|
IF Valid = 1 THEN
|
||||||
CurrDate = OCONV(Date(),'D4/')
|
CurrDate = OCONV(Date(),'D4/')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user