%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| Edit Release |
'| |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0 ' always load the page, dont store
%>
<%
' Set rfile parameter. This is a return page after Login
Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ Variable Definition -------------
Dim rsQry
Dim ctrlDisabled, bCanEdit
Dim returnUrl
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
If canActionControlInProject("CreateNewRelease") or canActionControlInProject("ConfigureRelease") Then
ctrlDisabled = ""
bCanEdit = TRUE
Else
ctrlDisabled = "disabled"
bCanEdit = FALSE
End If
' Maintain the page to goto after we process this one
' Go back from whence we came
' Grab the referre on the first call so that postback does not confuse us
returnUrl = Request("returnUrl")
If returnUrl = "" Then
returnUrl = Request.ServerVariables ("HTTP_REFERER")
' It MUST have an rtag id
If InStr(returnUrl,"rtag_id") = 0 Then
Dim joiner : joiner = "?"
If InStr(returnUrl,"?") <> 0 Then joiner = "&"
returnUrl = returnUrl & joiner & "rtag_id=" & Request("rtag_id")
End If
End If
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
' Clean up a check box value to True or False
Function CheckBoxValue( val )
If IsNull(val) Then
CheckBoxValue = FALSE
ElseIf Ucase(val) = "Y" Then
CheckBoxValue = TRUE
ElseIf Ucase(val) = "ON" Then
CheckBoxValue = TRUE
Else
CheckBoxValue = FALSE
End If
End Function
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( nRtagId, ByRef outobjDetails )
Dim rsQry, query
OraDatabase.Parameters.Add "RTAG_ID", nRtagId, ORAPARM_INPUT, ORATYPE_NUMBER
query = _
" SELECT rt.* "&_
" FROM RELEASE_TAGS rt"&_
" WHERE rt.RTAG_ID = :RTAG_ID"
Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
OraDatabase.Parameters.Remove "RTAG_ID"
If rsQry.RecordCount > 0 Then
outobjDetails.Item ("rtag_id") = rsQry("rtag_id")
outobjDetails.Item ("proj_id") = rsQry("proj_id")
outobjDetails.Item ("rtag_name") = rsQry("rtag_name")
outobjDetails.Item ("description") = rsQry("description")
outobjDetails.Item ("parent_rtag_id") = rsQry("parent_rtag_id")
outobjDetails.Item ("config_spec_branch") = rsQry("config_spec_branch")
outobjDetails.Item ("owner_email") = rsQry("owner_email")
outobjDetails.Item ("product_state_used") = rsQry("product_state_used")
outobjDetails.Item ("build_age") = rsQry("build_age")
outobjDetails.Item ("lxr") = rsQry("lxr")
outobjDetails.Item ("s3manifest") = rsQry("s3manifest")
If rsQry("assoc_mass_ref") <> "" Then
outobjDetails.Item ("massref_rtag_id") = rsQry("assoc_mass_ref")
End If
Else
Err.Raise 8, "Sub GetFormDetails in "& ScriptName, "Empty record set returned. nRtagId="& nRtagId
End If
rsQry.Close
Set rsQry = Nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub UpdateReleaseDetails ()
Dim State : State = Iif(CheckBoxValue(request("product_state_used")),"Y",NULL)
Dim lxrState : lxrState = Iif(CheckBoxValue(request("lxr")),"Y","N")
Dim s3manifest : s3manifest = Iif(CheckBoxValue(request("s3manifest")),"Y","N")
Dim bAge : bAge = Request("build_age")
If NiceInt(bAge,0) = 0 Then bAge = NULL
OraDatabase.Parameters.Add "RTAG_ID", Request("rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RTAG_NAME", Trim(Request("rtag_name")), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "RTAG_DESCRIPTION", Trim(Request("rtag_description")), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "CONFIG_SPEC_BRANCH", Trim(Request("config_spec_branch")), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "OWNER_EMAIL", Trim(Request("owner_email")), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "PARENT_RTAG_ID", Request("parent_rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "MASSREF_RTAG_ID", Request("massref_rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "STATE", State, ORAPARM_INPUT, ORATYPE_VARCHAR
OraDatabase.Parameters.Add "BUILD_AGE", bAge, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "LXR", lxrState, ORAPARM_INPUT, ORATYPE_CHAR
OraDatabase.Parameters.Add "S3MANIFEST", s3manifest, ORAPARM_INPUT, ORATYPE_CHAR
objEH.ErrorRedirect = FALSE
On Error Resume Next
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN PK_RELEASE.UPDATE_RELEASE ( " &_
" :RTAG_ID, " &_
" :RTAG_NAME," &_
" :RTAG_DESCRIPTION," &_
" :PARENT_RTAG_ID," &_
" :MASSREF_RTAG_ID," &_
" :CONFIG_SPEC_BRANCH," &_
" :OWNER_EMAIL," &_
" :USER_ID," &_
" :STATE," &_
" :BUILD_AGE," &_
" :LXR," &_
" :S3MANIFEST" &_
"); END;"
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "RTAG_ID"
OraDatabase.Parameters.Remove "RTAG_NAME"
OraDatabase.Parameters.Remove "RTAG_DESCRIPTION"
OraDatabase.Parameters.Remove "CONFIG_SPEC_BRANCH"
OraDatabase.Parameters.Remove "OWNER_EMAIL"
OraDatabase.Parameters.Remove "USER_ID"
OraDatabase.Parameters.Remove "PARENT_RTAG_ID"
OraDatabase.Parameters.Remove "MASSREF_RTAG_ID"
OraDatabase.Parameters.Remove "STATE"
OraDatabase.Parameters.Remove "BUILD_AGE"
OraDatabase.Parameters.Remove "LXR"
OraDatabase.Parameters.Remove "S3MANIFEST"
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
' --- Get Form details from DB ---
Call GetFormDetails ( Request("rtag_id"), objFormCollector )
' --- Load Validation Rules ---
objForm.UpdateRules ("id='rtag_name' IsRequired='Y' IsName='Y' MinStringLength='2' MaxStringLength='150'")
objForm.UpdateRules ("id='rtag_description' IsRequired='Y' MaxStringLength='4000' MinStringLength='10'")
objForm.UpdateRules ("id='config_spec_branch' IsRequired='N' IsName='Y' MaxStringLength='4000' MinStringLength='10'")
objForm.UpdateRules ("id='build_age' IsRequired='N' IsNumeric='Y' MinNumericValue='0' MaxNumericValue='365'")
' --- Enter Form Validation Rule Changes here... ----
'----------------------------------------------------
' --- RUN onPostBack ---
If Request("action") <> "" Then
If objForm.IsValidOnPostBack Then
' --- Form is Valid ---
If bCanEdit Then
Call UpdateReleaseDetails()
If objEH.Finally Then
Call OpenInWindow ( returnUrl )
End If
Else
Call OpenInWindow ( returnUrl )
End If
End If
End If
'----------------------------------------------
%>
Release Manager
<%
'-- FROM START ---------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = ScriptName
If NOT bCanEdit Then
objFormComponent.IsReadonlyAction = enumDB_YES
End If
Call objFormComponent.FormStart()
%>
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>