<% '===================================================== ' _environment.asp ' Build Environment ' Generate the left-hand panel for pages that show Release Content '===================================================== %> <% '------------ Variable Definition ------------- Dim parOLshow ' show/hide outer-latest Dim parBshow ' expand/collapse base views Dim parPshow ' expand/collapse personal views Dim parPview ' enable/disable all personal views Dim parDview ' enable/disable deployment view. Dim hasPview ' Has Personal View Dim IMG_locked Dim rsEnvQry Dim pvIdInList Dim checked Dim disabled Dim pkgType Dim SCRIPT_NAME 'Use this here only as the previous one ScriptName is Already Defined '------------ Constants Declaration ----------- Const imgMaximise = "Show view contents." Const imgMinimise = "Hide view contents." Const imgForced = "" Const imgLocked = "" Const hlColor = "#DDDDDD" Const imgAdded = "" Const imgRemoved = "" '------------ Variable Init ------------------- parOLshow = QStrPar("OLshow") parBshow = QStrPar("Bshow") parPshow = QStrPar("Pshow") parPview = QStrPar("Pview") parDview = QStrPar("Dview") hasPview = hasPersonalViews() If NOT hasPview Then parPview = "disable" '---------------------------------------------- %> <% '------------------------------------------------------------------------------------------------------------------------------------------------ Function GetEnvTab ( sEnvTab ) ' rmDebug = rmDebug & "Cookie[" & Request.Cookies(COOKIE_RELEASEMANAGER_MEMORY) &"] " ' rmDebug = rmDebug & ", Arg[" & sEnvTab & "] " If sEnvTab <> "" Then GetEnvTab = sEnvTab Response.Cookies(COOKIE_RELEASEMANAGER_MEMORY)("envtab") = sEnvTab Else If Request.Cookies(COOKIE_RELEASEMANAGER_MEMORY)("envtab") <> "" Then GetEnvTab = Request.Cookies(COOKIE_RELEASEMANAGER_MEMORY)("envtab") Else GetEnvTab = enumENVTAB_WORK_IN_PROGRESS Response.Cookies(COOKIE_RELEASEMANAGER_MEMORY)("envtab") = enumENVTAB_WORK_IN_PROGRESS End If End If ' rmDebug = rmDebug & ", GetEnvTab:" & GetEnvTab End Function '------------------------------------------------------------------------------------------------------------------------------------------------ Sub Display_Env_BaseView ( NNbase_view_id, SSbase_view, BBviewCollapsed, SScontents ) %>
  class="body_scol_thin"<%Else%>class="body_txt"<%End If%>> <%=SSbase_view%>  
style="display:none;"<%Else%>style="display:block;"<%End If%>> <%If NOT BBviewCollapsed Then %> <%=SScontents%> <%Else%> <%=enumLOADING%> <%End If%>

<% End Sub '------------------------------------------------------------------------------------------------------------------------------------------------ ' Name: Print_View ' Desc: Generate the Grouped Package list Sub Print_View( NNEnvTab, SSviewtype, NNrtag_id, SSshowviews, NNuser_id ) Dim rsView, Query_String 'Dim btn1 Dim tmpURL Dim SSscript Dim qstrPar Dim nViewType Dim nTrueRecordCount Dim nOperation Dim relContentsSTR, viewCollapsed, curr_view_id, view_name Dim canBeEmpty If isDefined("allowNoPackage") Then SSscript = "dependencies.asp" Else SSscript = scriptName End If If SSviewtype = "guest" Then nViewType = 1 qstrPar = "Bshow" ElseIf SSviewtype = "personal" Then nViewType = 2 qstrPar = "Pshow" End If canBeEmpty = false 'rmDebug = rmDebug & " ,NNEnvTab[" & NNEnvTab & "," & CInt(NNEnvTab) & "]" OraDatabase.Parameters.Add "VIEW_TYPE", nViewType, ORAPARM_INPUT, ORATYPE_NUMBER 'OraDatabase.Parameters.Add "VIEW_ID_SHOW_LIST", ShowView( Pipes2Commas( SSshowviews ), SSviewtype ), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "VIEW_ID_SHOW_LIST", GetShowViewList(), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "USER_ID", NNuser_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "TRUE_RECORD_COUNT", NULL, ORAPARM_OUTPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "RECORD_SET", NULL, ORAPARM_OUTPUT, ORATYPE_CURSOR 'If it's a Deployment View If parDview = "enable" Then ' Decide which environment list is to be displayed to the Integrators/Testers Select Case CInt( NNEnvTab ) Case enumENVTAB_PRODRELEASE OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_PRODRELEASE_ITEMS ( :RTAG_ID, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" Case enumENVTAB_INTEGRATE OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_INTEGRATION_ITEMS ( :RTAG_ID, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" Case enumENVTAB_TEST OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_TEST_ITEMS ( :RTAG_ID, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" Case enumENVTAB_DEPLOY OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_DEPLOY_ITEMS ( :RTAG_ID, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" Case enumENVTAB_REJECT OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_REJECT_ITEMS ( :RTAG_ID, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" End Select Else ' Decide which environment list is to be displayed Select Case CInt( NNEnvTab ) Case enumENVTAB_WORK_IN_PROGRESS OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_WORK_IN_PROGRESS_ITEMS ( :VIEW_TYPE, :USER_ID, :RTAG_ID, :VIEW_ID_SHOW_LIST, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" canBeEmpty = true Case enumENVTAB_PLANNED OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_PENDING_ITEMS ( :VIEW_TYPE, :USER_ID, :RTAG_ID, :VIEW_ID_SHOW_LIST, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" canBeEmpty = true Case enumENVTAB_RELEASED OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_RELEASED_ITEMS ( :VIEW_TYPE, :USER_ID, :RTAG_ID, :VIEW_ID_SHOW_LIST, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" Case Else OraDatabase.ExecuteSQL "BEGIN PK_ENVIRONMENT.GET_ENVIRONMENT_ITEMS ( :VIEW_TYPE, :USER_ID, :RTAG_ID, :VIEW_ID_SHOW_LIST, :TRUE_RECORD_COUNT, :RECORD_SET ); END;" End Select End If ' Get Record set from database Set rsView = OraDatabase.Parameters("RECORD_SET").Value nTrueRecordCount = OraDatabase.Parameters("TRUE_RECORD_COUNT").Value OraDatabase.Parameters.Remove "RTAG_ID" OraDatabase.Parameters.Remove "USER_ID" OraDatabase.Parameters.Remove "VIEW_TYPE" OraDatabase.Parameters.Remove "VIEW_ID_SHOW_LIST" OraDatabase.Parameters.Remove "RECORD_SET" OraDatabase.Parameters.Remove "TRUE_RECORD_COUNT" ' Initialise variables If ((NOT rsView.BOF) AND (NOT rsView.EOF)) Then relContentsSTR = "" viewCollapsed = FALSE curr_view_id = rsView("view_id") ' Set current view view_name = rsView("view_name") End If While ((NOT rsView.BOF) AND (NOT rsView.EOF)) '==== Get View Contents ==== If NOT IsNull(rsView.Fields("pv_id")) Then tmpURL = SSscript &"?pv_id="& rsView.Fields("pv_id") &"&rtag_id="& parRtag_id IMG_locked = "" If rsView.Fields("dlocked") = "Y" Then IMG_locked = imgLocked ' DEVI-45275 - Normally, dlocked=Y items are denoted with a padlock icon on the web page. Since we can now merge ' into the pending tab, the dlocked=Y items that end up there would not give any visual indication to the user ' as to why they are present. So, instead of the padlock icon, display the added or removed icon to indicate ' what the intended action is to be, once the pending item is approved. ' Obviously, this functionality does not apply if we are in the deployment view, and only applies if viewing ' the PENDING or ALL environment tabs. ' With regard to the operation value, A = Added, S = Subtracted nOperation = " " If parDview <> "enable" AND (CInt( NNEnvTab ) = enumENVTAB_PLANNED OR CInt( NNEnvTab ) = enumENVTAB_ALL) Then nOperation = rsView.Fields("operation") ' NB. this field is only availble if earlier query was GET_PENDING_ITEMS or GET_ENVIRONMENT_ITEMS If nOperation = "A" Then IMG_locked = imgAdded ElseIf nOperation = "S" Then IMG_locked = imgRemoved End If End If relContentsSTR = relContentsSTR & "" & VBNewLine If rsView("pkg_state") = 0 And rsView.Fields("deprecated_state") <> "" Then relContentsSTR = relContentsSTR & " "& DefineStateIcon ( rsView.Fields("deprecated_state"), rsView("dlocked"), NULL, NULL, pkgInfoHash.Item("build_type"), TRUE ) &""& VBNewLine Else If (parDview <> "enable") AND ( ( CInt(NNEnvTab) = enumENVTAB_PLANNED ) OR ( Request("envtab") = enumENVTAB_PLANNED ) ) Then ' if package version is unlocked, rejected, or pending approval, or is to be added/subtracted to/from the release (DEVI-45275), then If (rsView("dlocked") = "N") OR (rsView("dlocked") = "R") OR (rsView("dlocked") = "P") OR (nOperation = "A") OR (nOperation = "S") Then checked = NULL disabled = NULL ' disable check box if not logged in, or if not in open mode and user has no permission to approve pending If objAccessControl.UserLogedIn Then If ( ReleaseMode <> enumDB_RELEASE_IN_OPEN_MODE ) Then If NOT canActionControlInProject("ApproveForAutoBuild") Then disabled = "disabled" End If End If Else disabled = "disabled" End If relContentsSTR = relContentsSTR & " "& VBNewLine Else ' always check and disable the checkbox checked = "checked" disabled = "disabled" relContentsSTR = relContentsSTR & " " & DefineStateIcon ( rsView("pkg_state"), rsView("dlocked"), NULL, NULL, pkgInfoHash.Item("build_type"), TRUE ) &""& VBNewLine End If Else relContentsSTR = relContentsSTR & " " & DefineStateIcon ( rsView("pkg_state"), rsView("dlocked"), NULL, NULL, pkgInfoHash.Item("build_type"), TRUE ) &""& VBNewLine End If End If relContentsSTR = relContentsSTR & " "& rsView.Fields("pkg_name") &"" & VBNewLine relContentsSTR = relContentsSTR & " "& rsView.Fields("pkg_version") &"" & VBNewLine relContentsSTR = relContentsSTR & " "& IMG_locked & "" relContentsSTR = relContentsSTR & "" & VBNewLine Else 'relContentsSTR = relContentsSTR & "" ' Collapsed view displays dots viewCollapsed = TRUE End If rsView.MoveNext If ((NOT rsView.BOF) AND (NOT rsView.EOF)) Then ' NOT end of the record set If curr_view_id <> rsView("view_id") Then '====== Draw buttons ================================= 'If InStrPipes( SSshowviews, curr_view_id ) Then ' btn1 = ""& imgMinimise &"" 'Else ' btn1 = ""& imgMaximise &"" 'End If '====== Print contents =============================== relContentsSTR = "" & relContentsSTR & "
" Call Display_Env_BaseView ( curr_view_id, view_name, viewCollapsed, relContentsSTR ) curr_view_id = rsView("view_id") view_name = rsView("view_name") relContentsSTR = "" ' Empty the contents string viewCollapsed = FALSE End If Else ' End of the record set '====== Draw buttons ================================= 'If InStrPipes( SSshowviews, curr_view_id ) Then ' btn1 = ""& imgMinimise &"" 'Else ' btn1 = ""& imgMaximise &"" 'End If '====== Print contents =============================== relContentsSTR = "" & relContentsSTR & "
" Call Display_Env_BaseView ( curr_view_id, view_name, viewCollapsed, relContentsSTR ) End If WEnd If relContentsSTR <> "" Then Response.write "Icon Legend...
" End If If nTrueRecordCount > 0 Then If rsView.RecordCount < 1 Then 'If qstrPar = "Bshow" Then ' 'Release is empty. Draw default box for Base view ' Call DisplayInfo ( "EMPTY_RELEASE_CONTENTS", "100%" ) ' 'End If If qstrPar = "Pshow" AND hasPview AND NOT canBeEmpty Then 'Release is empty. Draw default box for Personal view Call DisplayInfo ( "PERSONAL_VIEW_NOT_SETUP", "100%" ) End If End If End If ' Destroy rsView.Close Set rsView = nothing End Sub '------------------------------------------------------------------------------------------------------------------------------------------------ ' Detect the presence of a Personal View so that the controls can be disabled if the user does ' not have any. ' Function hasPersonalViews ( ) Dim rsTemp, Query_String hasPersonalViews = false If objAccessControl.UserLogedIn Then Query_String = "select count(*) from views where owner_id = " & objAccessControl.UserId Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0)) If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then If rsTemp.Fields(0) > 0 Then hasPersonalViews = true End If End If rsTemp.Close Set rsTemp = nothing End If End Function '------------------------------------------------------------------------------------------------------------------------------------------------ Function GetShowViewList () 'If SSparshow <> "" Then ' ' get list from query string ' ShowView = SSparshow 'ElseIf Request.Cookies("RELEASEMANAGER_VIEW_SHOW")( SSviewtype ) <> "" Then ' ' get list from cookie ' ShowView = Request.Cookies("RELEASEMANAGER_VIEW_SHOW")( SSviewtype ) 'Else ' ' no list i.e. collapse all views ' ShowView = -1 'End If 'If oShowView.Count = 0 Then ' GetShowViewList = -1 'Else ' GetShowViewList = Join( oShowView.Keys, "," ) 'End If If Request.Cookies(COOKIE_RELMGR_SHOW_VIEW) = "" Then GetShowViewList = -1 Else GetShowViewList = Request.Cookies(COOKIE_RELMGR_SHOW_VIEW) End If End Function '------------------------------------------------------------------------------------------------------------------------------------------------ ' This function forms a URL to use for refreshing the current dependencies.asp based page using the settings that are in effect at the time. ' Most importantly, it filters out the pv_id parameter if it is null (which otherwise would cause the page to be rendered incorreclty for an ' as yet, unknown reason). ' Function RefreshedURL(NNdview, NNpview, NNpv_id, NNrtag_id) Dim url url = scriptName & "?Dview=" & NNdview & "&Pview=" & NNpview If NNpv_id <> "" Then url = url & "&pv_id=" & NNpv_id End If url = url & "&rtag_id=" & NNrtag_id RefreshedURL = url End Function '------------------------------------------------------------------------------------------------------------------------------------------------ %> <% '------------------------- MAIN LINE --------------------------- %> <%If parRtag_Id <> "" Then%>
<% Dim canAdd: canAdd = objAccessControl.UserLogedIn AND ((((ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE)) AND canActionControlInProject("AddDeletePackageInRestrictiveMode")) OR (ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE )) Call BuildActionButton(canAdd,"","Add a Package to this Release", "src=images/abtn_add_pkg.gif width='25' height='25' hspace='1' border='0'", "form_search_pkgs.asp?rtag_id="& Request("rtag_id") &"&add_type="& enum_ADD_PACKAGES ) If (pkgInfoHash.Item("dlocked") <> "Y") AND (Request("pv_id") <> "") Then If (objAccessControl.UserLogedIn) AND ( (objAccessControl.UserName = pkgInfoHash.Item("creator")) OR (canActionControlInProject("DestroyPackageFromRelease")) ) Then Response.write "" Else Response.write "" End If End If ' Anybody can view properties Response.write "" Response.write "" If objAccessControl.UserLogedIn Then If hasPview Then If parPview = "disable" Then Dim ref : ref = RefreshedURL(parDview, "", Request("pv_id"), Request("rtag_id")) Response.write "" Else ref = RefreshedURL(parDview, "disable", Request("pv_id"), Request("rtag_id")) Response.write "" End If Else Response.write "" End If Else Response.write "" End If If parDview = "enable" Then Response.write "" Else Response.write "" End If Response.write "" Response.write "" Response.write "" Response.write "" If ( (parDview <> "enable") AND ( (CInt(nEnvTab) = enumENVTAB_PLANNED) OR (Request("envtab") = enumENVTAB_PLANNED) ) ) Then If objAccessControl.UserLogedIn Then If ( ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE ) OR _ canActionControlInProject("ApproveForAutoBuild") OR _ canActionControlInProject("ApproveForManualBuild") Then Response.write "" Response.write "" Response.write "" End If End If End If %>
" Response.Write "
>
 Release SDK
<%If (ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then%>   <%End If%>

<% OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER Set rsEnvQry = OraDatabase.DbCreateDynaset( GetQuery("ReleaseSdks.sql"), 0 ) OraDatabase.Parameters.Remove "RTAG_ID" %> <%If rsEnvQry.RecordCount = 0 Then%> <%End If%> <%While (NOT rsEnvQry.EOF) AND (NOT rsEnvQry.BOF)%> <%rsEnvQry.MoveNext() WEnd%>
No SDKs used.
"> "> <%=rsEnvQry("SDK_NAME")%>  >  "> <%=rsEnvQry("SDKTAG_NAME")%>




&rtag_id=<%=parRtag_id%>", onSubmit="makeBulkRelease();">
<% If parDview = "enable" Then Call Generate_Tab_Menu ( arrProductEnv, nEnvTab, "grey" ) '- Integration/Test/Deploy Else Call Generate_Tab_Menu ( arrEnv, nEnvTab , "grey" ) End If %>
<%Dim cb_selectall_display, cb_disabled If nEnvTab <> 1 Then cb_selectall_display = " style=display:none" If NOT objAccessControl.UserLogedIn Then cb_disabled = " disabled"%> <%=cb_disabled%> style="position: relative;left: 5px;float: left;"> <% Dim tempTimer tempTimer = Timer %> <%'Response.write "TOTAL TIME: "& Timer - tempTimer%> <% '--- Render Environment --- If objAccessControl.UserLogedIn AND (parPview <> "disable") Then 'Personal View Call Print_View( nEnvTab, "personal", parRtag_id, parPshow, objAccessControl.UserId ) Else ' Guest view Call Print_View( nEnvTab, "guest", parRtag_id, parBshow, empty ) End If %> <%'Response.write "TOTAL TIME: "& Timer - tempTimer%>
<%End If%>