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$.
|
||||
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
|
||||
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
|
||||
@ -804,6 +805,28 @@ StatusClick:
|
||||
OldStatus = XLATE('PROD_SPEC', PSNo, PROD_SPEC_STATUS$ ,'X')
|
||||
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 NewStatus NE OldStatus then
|
||||
IF NewStatus = 'I' THEN
|
||||
@ -912,6 +935,7 @@ StatusClick:
|
||||
|
||||
//Activation Parameters Check JRO - 2-24-2021
|
||||
IF NewStatus = 'A' then
|
||||
If ActivationAllowed EQ TRUE$ then
|
||||
Error_Services('Clear')
|
||||
MsgStruct = ""
|
||||
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
|
||||
@ -925,6 +949,11 @@ StatusClick:
|
||||
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 else
|
||||
Set_Property(@WINDOW:'.STATUS','DEFPROP', OldStatus)
|
||||
@ -1418,6 +1447,8 @@ SignNextMode:
|
||||
|
||||
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
||||
|
||||
Qualified = FALSE$
|
||||
|
||||
BEGIN CASE
|
||||
CASE ModeArray<COL$MODE_SIG,4> NE '' ; NextSigPos = ''
|
||||
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>
|
||||
END CASE
|
||||
|
||||
SigInfo = XLATE('CONFIG','QUOTE_SIGS','','X')
|
||||
|
||||
BEGIN CASE
|
||||
CASE NextSigPos = 4 ; QualUsers = SigInfo<PSNProdSigs$>
|
||||
CASE NextSigPos = 3 ; QualUsers = SigInfo<PSNPreProdSigs$>
|
||||
CASE NextSigPos = 2 ; QualUsers = SigInfo<PSNQualSigs$>
|
||||
CASE NextSigPos = 1 ; QualUsers = SigInfo<PSNPreQualSigs$>
|
||||
CASE 1 ; QualUsers = ''
|
||||
CASE NextSigPos = 4 ; Qualified = (MemberOf(@USER4,'PSN_PROD'))
|
||||
CASE NextSigPos = 3 ; Qualified = (MemberOf(@USER4,'PSN_PRE_PROD'))
|
||||
CASE NextSigPos = 2 ; Qualified = (MemberOf(@USER4,'PSN_QUAL'))
|
||||
CASE NextSigPos = 1 ; Qualified = (MemberOf(@USER4,'PSN_PRE_QUAL'))
|
||||
CASE 1 ; Qualified = FALSE$
|
||||
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' ) )
|
||||
END ELSE
|
||||
ErrorMsg = 'Current user is not an authorized ':NextMode:' signer.'
|
||||
@ -1471,6 +1502,8 @@ UnsignCurrMode:
|
||||
|
||||
ModeArray = Get_Property(CtrlID,'DEFPROP')
|
||||
|
||||
Qualified = FALSE$
|
||||
|
||||
BEGIN CASE
|
||||
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>
|
||||
@ -1479,17 +1512,16 @@ UnsignCurrMode:
|
||||
CASE 1 ; UnsigPos = ''
|
||||
END CASE
|
||||
|
||||
SigInfo = XLATE('CONFIG','QUOTE_SIGS','','X')
|
||||
|
||||
BEGIN CASE
|
||||
CASE UnsigPos = 4 ; QualUsers = SigInfo<PSNProdSigs$>
|
||||
CASE UnsigPos = 3 ; QualUsers = SigInfo<PSNPreProdSigs$>
|
||||
CASE UnsigPos = 2 ; QualUsers = SigInfo<PSNQualSigs$>
|
||||
CASE UnsigPos = 1 ; QualUsers = SigInfo<PSNPreQualSigs$>
|
||||
CASE 1 ; QualUsers = ''
|
||||
CASE UnsigPos = 4 ; Qualified = (MemberOf(@USER4,'PSN_PROD'))
|
||||
CASE UnsigPos = 3 ; Qualified = (MemberOf(@USER4,'PSN_PRE_PROD'))
|
||||
CASE UnsigPos = 2 ; Qualified = (MemberOf(@USER4,'PSN_QUAL'))
|
||||
CASE UnsigPos = 1 ; Qualified = (MemberOf(@USER4,'PSN_PRE_QUAL'))
|
||||
CASE 1 ; Qualified = FALSE$
|
||||
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' ) )
|
||||
END ELSE
|
||||
ErrorMsg = 'Current user is not an authorized ':UnsignMode:' signer.'
|
||||
@ -1497,7 +1529,6 @@ UnsignCurrMode:
|
||||
RETURN
|
||||
END
|
||||
|
||||
Valid = Dialog_Box( 'QUOTE_SIG_PWD_ENTRY', @WINDOW, @USER4:@VM:XLATE( 'LSL_USERS', @USER4, LSL_USERS_PASSWORD$, 'X' ) )
|
||||
|
||||
IF Valid = 1 THEN
|
||||
CurrDate = OCONV(Date(),'D4/')
|
||||
|
Loading…
x
Reference in New Issue
Block a user