Rev 6623 | Rev 6827 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| RTREE |'| |'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/daemon_status.asp"--><!--#include file="class/classActionButtonControl.asp"--><%'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_login_optional.asp"--><!--#include file="_access_control_general.asp"--><%'------------ Variable Definition -------------Dim ViewTypeDim bIsaTreeViewDim rsQryStrDim rsQryDim parProjIdDim parShowFilterDim objBtnControlDim currLevel, lastLevelDim dListFilterDim objDmStsDim hoverTitle, createdBy, comment, lastModDim bCanMoveDim bCanDestroyDim bCanCloneDim bCanUnarchiveDim bCanCloseArchiveDim bCanOpenToCloseDim bCanRestrictiveToCloseDim bCanCloseToCloseDim bCanPreserveToCloseDim bCanArchiveToCloseDim bCanOpenToPreserveDim bCanRestrictiveToPreserveDim bCanCloseToPreserveDim bCanPreserveToPreserveDim bCanArchiveToPreserveDim bCanOpenToArchiveDim bCanRestrictiveToArchiveDim bCanCloseToArchiveDim bCanPreserveToArchiveDim bCanArchiveToArchive'------------ Constants Declaration -----------Const LIMG_TREE_I_HALF = "<img src='images/spacer.gif' width='20' height='1'>"Const LIMG_TREE_I_NONE = "<img src='images/spacer.gif' width='30' height='15'>"Const LIMG_TREE_I_FULL = "<img src='images/dot1h.gif' width='30' height='15'>"Const LIMG_TREE_T = "<img src='images/dot1.gif' width='30' height='15'>"Const LIMG_LIST_VIEW = "<img src='images/abtn_list_view.gif' border='0' align=absmiddle' name='imgviewtype' usemap='#mapviewtype' id='imgviewtype'>"Const LIMG_TREE_VIEW = "<img src='images/abtn_tree_view.gif' border='0' align=absmiddle' name='imgviewtype' usemap='#mapviewtype' id='imgviewtype'>"Const LCONST_LIST_VIEW = 1Const LCONST_TREE_VIEW = 2Const DEFAULT_SHOW_FILTER = "'N','R','C','O'"'------------ Variable Init -------------------' Need either proj_id or rtag_id, for which we will calculate a project idparProjId = Request("proj_id")If parProjId = "" Then parProjId = DB_PROJ_IDIf parProjId = "" OR parProjId < 0 ThenCall Destroy_All_ObjectsResponse.Redirect("index.asp")End IfCall objPMod.StoreParameter("proj_id", parProjId)' Get show_filter from query string or failing that, from the cookie.' Make sure that if neither supplies it, use the defaultparShowFilter = Request("show_filter")If NOT IsNull(parShowFilter) AND parShowFilter <> "" ThenResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilterElseparShowFilter = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter")If IsNull(parShowFilter) OR parShowFilter = "" ThenparShowFilter = DEFAULT_SHOW_FILTERResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilterEnd IfEnd IfSet dListFilter = CreateObject("Scripting.Dictionary")Set objBtnControl = New ActionButtonControl' Init access controlbCanMove = canActionControlInProject("ConfigureRelease")bCanDestroy = canActionControlInProject("DestroyRelease")bCanClone = canActionControlInProject("CreateNewRelease")bCanOpenToClose = ReleaseModeAccessCheck(enumDB_RELEASE_IN_OPEN_MODE,enumDB_RELEASE_IN_CLOSED_MODE)bCanRestrictiveToClose = ReleaseModeAccessCheck(enumDB_RELEASE_IN_RESTRICTIVE_MODE,enumDB_RELEASE_IN_CLOSED_MODE)bCanCloseToClose = FALSEbCanPreserveToClose = ReleaseModeAccessCheck(enumDB_RELEASE_IN_PRESERVE_MODE,enumDB_RELEASE_IN_CLOSED_MODE)bCanArchiveToClose = ReleaseModeAccessCheck(enumDB_RELEASE_IN_ARCHIVE_MODE,enumDB_RELEASE_IN_CLOSED_MODE)bCanOpenToPreserve = ReleaseModeAccessCheck(enumDB_RELEASE_IN_OPEN_MODE,enumDB_RELEASE_IN_PRESERVE_MODE)bCanRestrictiveToPreserve = ReleaseModeAccessCheck(enumDB_RELEASE_IN_RESTRICTIVE_MODE,enumDB_RELEASE_IN_PRESERVE_MODE)bCanCloseToPreserve = ReleaseModeAccessCheck(enumDB_RELEASE_IN_CLOSED_MODE,enumDB_RELEASE_IN_PRESERVE_MODE)bCanPreserveToPreserve = FALSEbCanArchiveToPreserve = ReleaseModeAccessCheck(enumDB_RELEASE_IN_ARCHIVE_MODE,enumDB_RELEASE_IN_PRESERVE_MODE)bCanOpenToArchive = ReleaseModeAccessCheck(enumDB_RELEASE_IN_OPEN_MODE,enumDB_RELEASE_IN_ARCHIVE_MODE)bCanRestrictiveToArchive = ReleaseModeAccessCheck(enumDB_RELEASE_IN_RESTRICTIVE_MODE,enumDB_RELEASE_IN_ARCHIVE_MODE)bCanCloseToArchive = ReleaseModeAccessCheck(enumDB_RELEASE_IN_CLOSED_MODE,enumDB_RELEASE_IN_ARCHIVE_MODE)bCanPreserveToArchive = ReleaseModeAccessCheck(enumDB_RELEASE_IN_PRESERVE_MODE,enumDB_RELEASE_IN_ARCHIVE_MODE)bCanArchiveToArchive = FALSE'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------' Determines if the specified filter is on/off and returns a string to use to check the associated checkbox accordinglyFunction GetIsListFilterChecked( nFilterId )GetIsListFilterChecked = ""If bIsaTreeView Then' Disable the control in Tree ViewGetIsListFilterChecked = GetIsListFilterChecked & " checked disabled"ElseIf dListFilter.Exists ( "'" & CStr(nFilterId) & "'" ) ThenGetIsListFilterChecked = "checked"End IfEnd IfEnd Function'--------------------------------------------------------------------------------------------------------------------------' Reads the cookie for the filter and creats a dictionary element for each item therein. the dictionary' is used by the GetIsListFilterChecked function to determine checkbox state in the filter optionsSub GetListFilterValues ( outDepFilter )Dim FilterVal, aFilterValuesIf parShowFilter <> "" ThenaFilterValues = Split( Replace( parShowFilter, " ", ""), ",")For Each FilterVal In aFilterValuesoutDepFilter.Item (CStr( FilterVal )) = ""NextEnd IfEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub RenderIndent ( nLastLevel, nCurrLevel )Dim iIf nCurrLevel <= 1 Then Exit Sub'-- Render half linesIf nCurrLevel > 2 ThenFor i = 1 To nCurrLevel - 2Response.write LIMG_TREE_I_NONENextEnd If'-- Render branch or lineIf nLastLevel < nCurrLevel ThenResponse.write LIMG_TREE_TElseResponse.write LIMG_TREE_I_FULLEnd IfEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Function GetViewType ()Dim CookieViewTypeCookieViewType = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW")If CookieViewType <> "" Then' Get current view type from cookieGetViewType = CInt(CookieViewType)Else' Set current view to list viewResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = LCONST_LIST_VIEWGetViewType = LCONST_LIST_VIEWEnd IfEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------Sub SetViewType ()If Request("viewtype") = "" Then Exit Sub ' Nothing to doResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = Request("viewtype")End Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub RenderDaemonStatusConfig(nRtagId)%><table class="embedded_table"><tr><td><%Response.Write("<img src=""icons/i_edit.gif"" border=0 vspace=0 hspace=0 title='Configure Daemons' onclick='location.href=""release_config.asp?rtag_id="&nRtagId&"""'>")Response.Write("<img src=""icons/ext_log.gif"" border=0 vspace=0 hspace=0 title='View Build Log'onclick='location.href=""build_release_log.asp?rtag_id="&nRtagId&"""'>")%></td><td><%Call objDmSts.RenderDaemonStatus(nRtagId,16)%></td></tr></table><%End Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub RenderLxrState()Response.Write RenderLxrStateString(rsQry("rtag_id"),rsQry("lxr"),rsQry("lxrserver"),rsQry("official"),"")End Sub'----------------------------------------------------------------------------------------------------------------------------------------------Function RenderActions(nRtagId, sOfficial, nCanDelete)Response.Write "<span title='Select operation from dropdown menu' " &_"class='select-operation ui-icon ui-icon-triangle-1-s' " &_"data-rtag-id='" & nRtagId &_"' data-official='"& sOfficial &_"' data-candelete='"& nCanDelete &_"' style='display:inline-block'>"&_"</span>"End Function'----------------------------------------------------------------------------------------------------------------------------------------------Function GetMassRefComments (nRtagId)Dim UsedByDim rsQryUseDim linkBDim joiner : joiner = ""Dim comment : comment = ""' If parProjId <> 2 Then' assocMASSREF = rsQry("assoc_mass_ref")' If assocMASSREF <> "" Then' Set rsQryAssoc = OraDatabase.DbCreateDynaset("SELECT RTAG_NAME, RTAG_ID FROM RELEASE_TAGS WHERE RTAG_ID="&assocMASSREF , ORADYN_DEFAULT)' assocMASSREFName = rsQryAssoc("RTAG_NAME")' link = rsQryAssoc("rtag_id")' rsQryAssoc.Close' Set rsQryAssoc = Nothing' Else' assocMASSREFName = "None."' End If' ElseUsedBy = nRtagIdIf UsedBy <> "" ThenSet rsQryUse = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_TAGS RT, PROJECTS P WHERE RT.ASSOC_MASS_REF=" & nRtagId & " AND RT.PROJ_ID=P.PROJ_ID", ORADYN_DEFAULT)While ((NOT rsQryUse.BOF) AND (NOT rsQryUse.EOF))If rsQryUse("assoc_mass_ref") = UsedBy ThenlinkB = "dependencies.asp?rtag_id="&rsQryUse("rtag_id")comment = joiner & rsQryUse("proj_name") & " -> <a href="&linkB&">"& rsQryUse("rtag_name") &"</a>"joiner = " <br> "rsQryUse.MoveNextEnd IfWEndrsQryUse.CloseSet rsQryUse = NothingEnd IfGetMassRefComments = commentEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------%><%'------------ RUN BEFORE PAGE RENDER ----------If (Request("action") <> "") ThenIf Request("btn") = "Update" Then' Store filter in cookieResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = Request("listFilter")parShowFilter = Request("listFilter")If IsNull(parShowFilter) OR parShowFilter = "" Then parShowFilter = DEFAULT_SHOW_FILTEREnd IfEnd If' Set view type if requiredCall SetViewType ()' Get current view typeViewType = GetViewType()bIsaTreeView = (ViewType = LCONST_TREE_VIEW)'----------------------------------------------%><html><head><%Set rsQry = OraDatabase.DbCreateDynaset( "SELECT PROJ_NAME FROM PROJECTS WHERE PROJ_ID="& parProjId, ORADYN_DEFAULT )%><title><%=rsQry("proj_name")%></title><link rel="shortcut icon" href="<%=FavIcon%>"/><%rsQry.CloseSet rsQry = Nothing%><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="images/release_manager_style.css?ver=<%=VixVerNum%>" type="text/css"><link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css"><script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script><!-- DROPDOWN MENUS --><!--#include file="_menu_def.asp"--><script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script><!-- Dropdown action menu scripts --><style>.ui-menu { position: absolute; }</style><!--#include file="_jquery_includes.asp"--><script>$(function() {// Global menu data structure// Persist between invocations of the menu// Used to mergeLeft rtagid// Used to store current menu info$.acData = {// DatabCanOpenToClose : <%=iif(bCanOpenToClose , "true", "false")%> ,bCanRestrictiveToClose : <%=iif(bCanRestrictiveToClose , "true", "false")%> ,bCanCloseToClose : <%=iif(bCanCloseToClose , "true", "false")%> ,bCanPreserveToClose : <%=iif(bCanPreserveToClose , "true", "false")%> ,bCanArchiveToClose : <%=iif(bCanArchiveToClose , "true", "false")%> ,bCanOpenToPreserve : <%=iif(bCanOpenToPreserve , "true", "false")%> ,bCanRestrictiveToPreserve : <%=iif(bCanRestrictiveToPreserve, "true", "false")%> ,bCanCloseToPreserve : <%=iif(bCanCloseToPreserve , "true", "false")%> ,bCanPreserveToPreserve : <%=iif(bCanPreserveToPreserve , "true", "false")%> ,bCanArchiveToPreserve : <%=iif(bCanArchiveToPreserve , "true", "false")%> ,bCanOpenToArchive : <%=iif(bCanOpenToArchive , "true", "false")%> ,bCanRestrictiveToArchive : <%=iif(bCanRestrictiveToArchive , "true", "false")%> ,bCanCloseToArchive : <%=iif(bCanCloseToArchive , "true", "false")%> ,bCanPreserveToArchive : <%=iif(bCanPreserveToArchive , "true", "false")%> ,bCanArchiveToArchive : <%=iif(bCanArchiveToArchive , "true", "false")%> ,};// Convert from Release Mode to [canClose, canPreserve, canArchive]$.mode2access = {N: [$.acData.bCanOpenToClose,$.acData.bCanOpenToPreserve,$.acData.bCanOpenToArchive],R: [$.acData.bCanRestrictiveToClose,$.acData.bCanRestrictiveToPreserve,$.acData.bCanRestrictiveToArchive],C: [$.acData.bCanRestrictiveToClose,$.acData.bCanRestrictiveToPreserve,$.acData.bCanRestrictiveToArchive],Y: [$.acData.bCanCloseToClose,$.acData.bCanCloseToPreserve,$.acData.bCanCloseToArchive],O: [$.acData.bCanCloseToClose,$.acData.bCanCloseToPreserve,$.acData.bCanCloseToArchive],P: [$.acData.bCanPreserveToClose,$.acData.bCanPreserveToPreserve,$.acData.bCanPreserveToArchive],A: [$.acData.bCanArchiveToClose,$.acData.bCanArchiveToPreserve,$.acData.bCanArchiveToArchive],canAccess : function(state, index) {if ( this.hasOwnProperty(state)) {return this[state][index];} else {return false;}},};$.miniMenu = {// Data// Menu operationsopen : function (data) {//console.log("Opening:", data.rtagid);this.gotoUrl("dependencies.asp", {rtag_id : data.rtagid});},edit : function (data) {//console.log("Editing:", data.rtagid);this.gotoUrl("form_edit_release.asp", {rtag_id : data.rtagid, rfile : "<%=ScriptName%>"});},mergeSelect : function (data) {//console.log("Merge from:", data.rtagid );$('#releaseTree .body_row_sel2').removeClass('body_row_sel2');if (data.mergeLeft != data.rtagid) {data.mergeLeft = data.rtagid;$.miniMenu.currentRow.addClass('body_row_sel2');} else {delete(data.mergeLeft);}},merge : function (data) {//console.log ("Merge:", data.mergeLeft, data.rtagid);this.gotoUrl("diff.asp", { rtagA : data.mergeLeft, rtagB : data.rtagid});},close : function (data) {//console.log("Closing:", data.rtagid);this.closeRelease('Close', data.rtagid , 3);},preserve : function (data) {//console.log("Preserving:", data.rtagid);this.closeRelease('Preserve', data.rtagid , 6);},archive : function (data) {//console.log("Archiving:", data.rtagid);this.closeRelease('Archive', data.rtagid , 5);},<%If objAccessControl.UserLogedIn Then%>delete : function (data) {//console.log("Delete:", data.rtagid);$.miniMenu.currentRow.addClass('body_row_sel_outline');var that = this;vixConfirm("This Release will be permanently destroyed.<p>Are you sure?", {deferred : true,title: 'Destroy Release',button : 'Destroy Release',icon : 'images/i_critical.gif' }).done(function(){that.gotoUrl("_destroy_release.asp", {rtag_id_list : data.rtagid, proj_id : <%=parProjId%>, rfile : "<%=ScriptName%>"});}).fail(function(){$('#releaseTree .body_row_sel_outline').removeClass('body_row_sel_outline');});},<%End If%><%If bCanMove Then%>move : function (data) {//console.log("Move:", data.rtagid);this.gotoUrl("form_move_release.asp", { rtag_id_list : data.rtagid, proj_id : <%=parProjId%> });},<%End If%><%If bCanClone Then%>clone : function(data) {//console.log("Clone:", data.rtagid);this.gotoUrl("new_release.asp", { rtag_id_list : data.rtagid, proj_id : <%=parProjId%>, branch : "Y" });},<%End If%>// Confirm Close/Preserve/ArchivecloseRelease : function (text, rtag_id, mode) {var that = this;$.miniMenu.currentRow.addClass('body_row_sel_outline');vixConfirm("Are you sure you want to '" + text + "' this Release", { deferred : true } ).done(function(){that.gotoUrl("_change_release_mode.asp", {rtag_id : rtag_id, mode_code : mode , rfile : "<%=ScriptName%>"});}).fail(function(){$('#releaseTree .body_row_sel_outline').removeClass('body_row_sel_outline');});},//// Internal functions// Goto url, or open in new tabgotoUrl: function (url, params){// Open in new tab - not as simple as it sounds// Need to create a form and submit itif(this.event.shiftKey){var form = $('<form>',{action : url,target : '_blank',//method : 'GET'});$.each(params,function(n,v){var item = $('<input>',{name : n,value : v});form.append(item);});form.appendTo(document.body);form.submit();form.remove();}else {if (params)url += '?' + jQuery.param(params)window.location.href = url;}},};// Create and Hide the Menu$( "#select-menu" ).hide().menu();// Register menuselect event handler$( "#select-menu" ).on( "menuselect", function( event, ui ) {var opr = ui.item.data('opr');// Invoke operation within the menu data structureif (typeof $.miniMenu[opr] == 'function' ) {$.miniMenu['event'] = event;$.miniMenu[opr]($.miniMenu);return;}//console.log ("Menu Operation:", opr, "Not found");});// Add menu to all require instances$( ".select-operation" ).click(function(event) {// When clicked - create and show the menu// Insert rtag-id// In order to have the menu positioing work correctly// Create a div that covers the visible screen area// Us it within the menu poistioning// Then delete it againvar positionDiv = $( "<div></div>" ).css({position: 'absolute',top : $(document).scrollTop(),left : $(document).scrollLeft(),width: '100vw',height: '100vh','z-index' : -1,});positionDiv.appendTo(document.body);// Create the menuvar menu = $("#select-menu").show().position({my: "left top",at: "center bottom",of: this,within : positionDiv,});// Cleanup the poistioning divpositionDiv.remove();// Setup global data$.miniMenu.rtagid = $(this).data('rtag-id');// Set initial menu state - merge target$('#select-menu-merge').toggleClass('ui-state-disabled',!('mergeLeft' in $.miniMenu ));// Set initial state close/archive//var official = $(this).data('official');$('#select-menu-close').toggleClass('ui-state-disabled',! $.mode2access.canAccess(official,0));$('#select-menu-preserve').toggleClass('ui-state-disabled',!$.mode2access.canAccess(official,1));$('#select-menu-archive').toggleClass('ui-state-disabled',! $.mode2access.canAccess(official,2));// Set initial state destroyvar canDestroy = $(this).data('candelete') || <%=iif(bCanDestroy,"1","0")%>$('#select-menu-destroy').toggleClass('ui-state-disabled',(canDestroy == 0));// Highlight the row selected$('#releaseTree .body_row_sel').removeClass('body_row_sel');$.miniMenu.currentRow = $(event.target).closest('tr').addClass('body_row_sel');// Allow click outside of the menu to close it$( document ).one( "click", function() {menu.hide();$('#releaseTree .body_row_sel').removeClass('body_row_sel');});// Prevent propagation of eventreturn false;});});</script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" ><!-- HEADER --><!--#include file="_header.asp"--><!-- BODY ----><%Call GetListFilterValues ( dListFilter )%><form name="FormName" method="post" action="<%=ScriptName%>"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1" background="images/bg_home_orange.gif" valign="top"><!-- ICON STATUS and FILTER --------------------------------------><table width="118" border="0" align="left" style="margin-top: 38px;"><tr><td bgcolor="#E4E9EC" width="26"><span class="body_txt">Icon</span></td><td bgcolor="#E4E9EC" width="82"><span class="body_txt">Release State </span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_open_mode.gif" width="15" height="13"></td><td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_OPEN_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_OPEN_MODE)%>>Open Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_restrictive_mode.gif" width="15" height="15"></td><td nowrap bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_RESTRICTIVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_RESTRICTIVE_MODE)%>>Restrictive Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_ccb_mode.gif" width="15" height="15"></td><td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CCB_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CCB_MODE)%>>CCB Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode.gif" width="15" height="14"></td><td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CLOSED_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CLOSED_MODE)%>>Closed Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode_warn.gif" width="15" height="14"></td><td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CLOSED_WARN%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CLOSED_WARN)%>>Closed Aged</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_preserve_mode.gif" width="15" height="14"></td><td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_PRESERVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_PRESERVE_MODE)%>>Preserve Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_archive_mode.gif" width="15" height="14"></td><td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_ARCHIVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_ARCHIVE_MODE)%>>Archive Mode</span></td></tr><%If NOT bIsaTreeView Then%><tr><td> </td><td><input name="btn" type="submit" class="form_btn" value="Update"></td></tr><%End If%></table></td><td rowspan="2" valign="top" width="100%"><!-- ACTION BUTTONS ----------------------------------------------><table width="100%" border="0" cellspacing="0" cellpadding="7" style="background-color:#DAD7C8"><tr><td width="1"><%If bIsaTreeView ThenResponse.write LIMG_TREE_VIEWElseResponse.write LIMG_LIST_VIEWEnd If%></td><td width="100%"><%Dim aBtnsDef' Define action buttonsaBtnsDef = Array("btnNewRelease", "width=5", "btnMergeManager", "width=5", "btnAdminView", "width=5", "btnNotificationView")' Load action buttons from databaseCall objBtnControl.LoadActionButtons ( aBtnsDef, OraDatabase )' Set spacing to minimum between buttonsobjBtnControl.ButtonSpacer = 0objBtnControl.ImageHspace = 2' Access ControlIf NOT canActionControlInProject("CreateNewRelease") Then Call objBtnControl.Active ( "btnNewRelease", "N" )If NOT canActionControlInProject("ConfigureRelease") Then Call objBtnControl.Active ( "btnMoveRelease", "N" )' -- Render ButtonsCall objBtnControl.Render ( aBtnsDef, objAccessControl )%></td></tr></table><!-- ACTION BUTTONS END ------------------------------------------><!-- RELEASE INFORMATION -----------------------------------------><table id=releaseTree width="100%" border="0" cellspacing="10" cellpadding="0"><tr><td><!-- TREE VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%If bIsaTreeView Then%><table width="100%" border="0" cellspacing="1" cellpadding="1"><tr class='form_field_bg' style="height:21px"><td width="25%" class="body_txt">Release Name </td><%If parProjId <> 2 Then %><td width="15%" class="body_txt">Created</td><td width="47%" class="body_txt">Comments</td><%Else%><td width="15%" class="body_txt">Created</td><td width="25%" class="body_txt">Used By </td><td width="22%" class="body_txt">Comments</td><%End If%><td width="1%" nowrap class="body_txt">Lxr</td><td width="3%" nowrap class="body_txt">Daemon Status</td></tr><%OraDatabase.Parameters.Add "PROJ_ID", parProjId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseVersionTree.sql") , ORADYN_DEFAULT )lastLevel = 0OraDatabase.Parameters.Remove "USER_ID"OraDatabase.Parameters.Remove "PROJ_ID"Dim lastRtagId, parentRtag_idIf rsQry.RecordCount > 0 ThenSet objDmSts = New DaemonStatusCall objDmSts.GetDaemonStatus(parProjId)While (NOT rsQry.BOF) AND (NOT rsQry.EOF)currLevel = CInt(rsQry("hierarchy"))createdBy = rsQry("created_stamp") & " by " & rsQry("creator")lastMod = rsQry("lastModified")hoverTitle = "State Last Change : "& rsQry("OFFICIAL_STAMP") & " by " & rsQry("modifier") & ". " & rsQry("OFFICIAL_STAMP_DAYS")& " Days ago" &_" Content Last Modified: " & lastMod & ". " & rsQry("LastModified_DAYS")& " Days ago"If rsQry("userCanDelete") = 1 ThencreatedBy = createdBy & "<br>Creator can delete"End If%><tr class="body_rowg2"><td nowrap><%Call RenderIndent( lastLevel, currLevel )%><%Call RenderActions(rsQry("rtag_id"),rsQry("official"),rsQry("userCanDelete"))%><a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" ><%=ReleaseIcon( rsQry("official") )%> <%=rsQry("rtag_name")%></a></td><td nowrap valign=top title="<%=hoverTitle%>"><img src="icons/s_note.gif" height="10" width="10" > </img><%=createdBy%><%If parProjId = 2 Thencomment = GetMassRefComments(rsQry("rtag_id"))If comment = "" Then comment = "None."%><td><%=comment%></td><%End If%><td><%=NewLine_To_BR(rsQry("description"))%></td><td nowrap valign="top"><%Call RenderLxrState() %></td><td valign="top"><%Call RenderDaemonStatusConfig(rsQry("rtag_id"))%></td></tr><%lastLevel = currLevelrsQry.MoveNextWEndSet objDmSts = NothingEnd IfrsQry.CloseSet rsQry = Nothing%></table><!-- LIST VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%Else%><table width="100%" border="0" cellspacing="1" cellpadding="1"><tr class='form_field_bg'><td width="1%"> </td><td width="20%" class="body_txt">Release Name </td><td width="10%" class="body_txt">Created</td><%If parProjId <> 2 Then %><td width="47%" class="body_txt">Comments</td><%Else%><td width="24%" class="body_txt">Used By </td><td width="22%" class="body_txt">Comments</td><%End If%><td width="1%" class="body_txt" title="LXR Support enabled">Lxr</td><td width="3%" class="body_txt">Daemon Status</td></tr><%OraDatabase.Parameters.Add "PROJ_ID", parProjId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBERrsQryStr = GetQuery ("ReleaseVersionList.sql")rsQryStr = Replace(rsQryStr, "/*SHOW_FILTER*/", parShowFilter)Set rsQry = OraDatabase.DbCreateDynaset( rsQryStr, ORADYN_DEFAULT )OraDatabase.Parameters.Remove "USER_ID"OraDatabase.Parameters.Remove "PROJ_ID"If rsQry.RecordCount > 0 ThenSet objDmSts = New DaemonStatusCall objDmSts.GetDaemonStatus(parProjId)While (NOT rsQry.BOF) AND (NOT rsQry.EOF)createdBy = rsQry("created_stamp") & " by " & rsQry("creator")lastMod = rsQry("LastModified")hoverTitle = "State Last Change : "& rsQry("OFFICIAL_STAMP") & " by " & rsQry("modifier") & ". " & rsQry("OFFICIAL_STAMP_DAYS")& " Days ago" &_" Content Last Modified: " & lastMod & ". " & rsQry("LastModified_DAYS")& " Days ago"If rsQry("userCanDelete") = 1 ThencreatedBy = createdBy & "<br>Creator can delete"End If%><tr class="body_rowg2"><td valign="top"><%Call RenderActions(rsQry("rtag_id"),rsQry("official"),rsQry("userCanDelete"))%></td><td nowrap valign="top"><a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" ><%=ReleaseIcon( rsQry("official"))%> <%=rsQry("rtag_name")%></a></td><td nowrap valign=top title="<%=hoverTitle%>"><img src="icons/s_note.gif" height="10" width="10" > </img><%=createdBy%><%If parProjId = 2 Thencomment = GetMassRefComments(rsQry("rtag_id"))If comment = "" Then comment = "None."%><td><%=comment%></td><%End If%><td><%=NewLine_To_BR( rsQry("description") )%></td><td nowrap valign="top"><%Call RenderLxrState() %></td><td valign="top"><%Call RenderDaemonStatusConfig(rsQry("rtag_id"))%></td></tr><%rsQry.MoveNextWEndSet objDmSts = NothingEnd IfrsQry.CloseSet rsQry = Nothing%></table><%End If%><!-- LIST VIEW END ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%=objPMod.ComposeHiddenTags()%><input type="hidden" name="action" value="true"></form><!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ --><!--#include file="messages/_msg_inline.asp"--><!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --></td></tr></table></td><td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td></tr><tr><td valign="bottom" align="center" background="images/bg_home_orange.gif"></td></tr></table><!-- Dropdown Menu --><div id=testdiv></div><div ><ul id="select-menu" style="display:none;"><li data-opr="open" title="Goto this Release">Open ...</li><li data-opr="edit" title="Edit the properties of the Release">Edit Properties</li><li <%=iif(bCanMove,"data-opr=move","class=ui-state-disabled")%> title="Change the order in which releases are displayed">Change display order</li><li>-</li><li data-opr="mergeSelect" title="Select as the source (left side) of a merge or comparison">Select for Merge/Diff</li><li id="select-menu-merge" data-opr="merge" title="Merge or Compare from selected release to this release">Merge/Diff from selected</li><li>-</li><li id="select-menu-close" data-opr="close">Close Release</li><li id="select-menu-preserve" data-opr="preserve" >Preserve Release</li><li id="select-menu-archive" data-opr="archive" >Archive Release</li><li>-</li><li <%=iif(bCanClone,"data-opr=clone","class=ui-state-disabled")%> title="Create a new Release based on selected Release">Clone Release</li><li>-</li><li id="select-menu-destroy" data-opr="delete", title="Delete the selected Release">Destroy Release</li><li>-</li><li>Close Menu</li></ul></div><map name="mapviewtype"><area shape="rect" coords="2,2,69,23" href="<%=ScriptName%>?viewtype=1&<%=objPMod.ComposeURL()%>" title="Switch to List View"><area shape="rect" coords="73,2,143,23" href="<%=ScriptName%>?viewtype=2&<%=objPMod.ComposeURL()%>" title="Switch to Tree View"></map><!-- FOOTER --><!--#include file="_footer.asp"--></body></html>