%@LANGUAGE="VBSCRIPT"%>
<%
Option explicit
Response.Expires = 0 ' always load the page, dont store
%>
<%
'=====================================================
' _wform_change_in_manifest.asp
'=====================================================
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ Variable Definition -------------
Dim parPv_id
Dim sMessage, sMessageType
Dim bCanEdit, submitDisabled
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
Set pkgInfoHash = CreateObject("Scripting.Dictionary")
parPv_id = QStrPar("pv_id")
sMessage = NULL
sMessageType = 3
submitDisabled = ""
bCanEdit = canActionControlInProject("ConfigureRelease") OR canActionControlInProject("EditNonCriticalInfoForLockedPackage") OR canActionControlInProject ("EditInManifest") OR canActionControl("MSMaintainer")
'----------------------------------------------
%>
<%
'------------------------------------------------------------------------------------------------------------------------------------------
'
' Add a line of text to the System Message
' eLevel - 1 == Critical, 2==Warning, 3==Note
Sub sMessageAdd(eLevel, text)
If NOT isNull(sMessage) Then
sMessage = sMessage & "
"
End If
sMessage = sMessage & text
If eLevel < sMessageType Then
sMessageType = eLevel
End If
End Sub
Sub Get_Pkg_Info_With_Data ( NNpv_id )
Dim rsTemp, Query_String
Query_String = _
" SELECT pkg.pkg_name, pv.pkg_version, NVL(rc.IN_MANIFEST, 'N') as inManifest"&_
" FROM packages pkg, package_versions pv, Release_Content rc"&_
" WHERE pkg.pkg_id = pv.pkg_id"&_
" AND pv.pv_id = "& NNpv_id &_
" AND rc.pv_id(+) = pv.pv_id" &_
" AND rtag_id = " & DB_RTAG_ID
Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name"))
pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version"))
pkgInfoHash.Add "inManifest", (rsTemp.Fields("inManifest"))
End If
rsTemp.Close
Set rsTemp = nothing
End Sub
Sub Update_Data ( NNpv_id, cState )
Dim rsTemp, Query_String, sComments
Dim bUpdated
'-- Update database to change the eRef
objEH.TryORA ( OraSession )
On Error Resume Next
Query_String = "Select IN_MANIFEST from Release_Content where rtag_id = " & DB_RTAG_ID & " AND pv_id = " & NNpv_id
Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
Dim Data: Data = rsTemp("IN_MANIFEST")
If IsNull(Data) Then Data = "N"
cState = Iif( cState = 1 ,"Y", "N")
Scomments = cState
bUpdated = ( UCase(cState) <> UCase( Data ) )
If bUpdated Then
rsTemp.Edit
rsTemp.Fields("IN_MANIFEST").Value = UCase(cState)
rsTemp.Update
' Indicate change to the build system
' May be overkill - perhaps a seperate field
OraDatabase.ExecuteSQL ("BEGIN PK_RELEASE.SET_RELEASE_MODIFIED("& DB_RTAG_ID & "); END; ")
End If
objEH.CatchORA ( OraSession )
On Error Goto 0
If bUpdated AND objEH.LastOraFailed = FALSE Then
'-- Log the change
sComments = "Set: "& sComments
call Log_Action ( NNpv_id, "inManifest", sComments )
End If
rsTemp.Close
Set rsTemp = nothing
End Sub
%>
<%
'Process submition
If CBool(QStrPar("action")) AND objAccessControl.UserLogedIn Then
Call Update_Data ( parPv_id, Request("inManifest") )
If isNULL(sMessage) AND NOT objEH.LastOraFailed Then
Call ReloadParentWindow
Call CloseWindow
End If
End If
%>
<%
Call Get_Pkg_Info_With_Data ( parPv_id )
If NOT bCanEdit Then
Call sMessageAdd(1, "User does not have permission to edit this field")
submitDisabled = " disabled"
End If
%>