Rev 6480 | Rev 6508 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'====================================================='| |'| RELEASE NOTES |'| |'=====================================================%><!-- Required to support jiraIssues.vbs --><SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="class/classaspJSON.vbs"></SCRIPT><SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="common/base64encode.vbs"></SCRIPT><SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="common/jiraIssues.vbs"></SCRIPT><%'------------ Variable Definition -------------Dim rsCQDim rsDepIssDim SQLstrDim fixedIssDictDim notesIssDictDim issArr()Dim depIssDictDim sDocTitleDim rsQry, rsTempDim iss_db_id, G1_template, G1_style, currG1Dim retValDim baseURLDim rsProjIdDim rsPkgMetricsDim rsCodeReviewURLDim vcsInfoCollector'------------ Constants Declaration -----------Const enumLoc_iss_db = 0Const enumLoc_iss_id = 1Const enumLoc_iss_num = 2Const enumLoc_summary = 3Const enumLoc_status = 4Const enumLoc_priority = 5Const enumLoc_issue_type = 6'------------ Variable Init -------------------Set fixedIssDict = CreateObject("Scripting.Dictionary")Set notesIssDict = CreateObject("Scripting.Dictionary")Set depIssDict = CreateObject("Scripting.Dictionary")Set vcsInfoCollector = CreateObject("Scripting.Dictionary")'----------------------------------------------%><!-- Local Java Script --><script language="JavaScript">// Local TipsformTips.tips.following = stdTip(200, 'Following', 'The user may \'follow\' a package in one or more Projects.<p>When the package is released the user will be notified by email.' );formTips.tips.ripple_stop = stdTip(200, 'Ripple Stop', 'When set, will prevent the package being rippled. May be cleared to allow the ripple to continue.<p>If marked as \'Persistent\', then each new version will be marked to prevent rippling.' );formTips.tips.PreviousVcsTag = newTip(-150, 20, 200, 10, 'PREVIOUS VCS TAG','This is the vcs tag of the immediate ancestor version to the current package version.'+'<br><br>NOTE:<br>Derivation of this has no sensitivity to the selected release.');formTips.tips.PreviousSignificantVcsTag= newTip(-150, 20, 200, 10, 'PREVIOUS SIGNIFICANT VCS TAG','This is the vcs tag of the ancestor version immediately preceding a significant (non-ripple) change that led to the current package version.'+'<br><br>NOTE:<br>Derivation of this has no sensitivity to the selected release.');formTips.tips.PreviousNonRippleVcsTag= newTip(-150, 20, 200, 10, 'PREVIOUS NON RIPPLE VCS TAG','This is the vcs tag of the preceding significant (non-ripple) change that led to the current package version.'+'<br><br>NOTE:<br>Derivation of this has no sensitivity to the selected release.');formTips.tips.CreationHints= newTip(-150, 20, 200, 10, 'HINTS FOR PACKAGE CREATION','These are not correct commands. They are command hints to assist in creating a new package.');</script><%'----------------------------------------------------------------------------------------------------------------------------------------Function asDepIss ( SSiss_db_id, SScolumn )If NOT depIssDict.Exists (SSiss_db_id) Then Exit FunctionasDepIss = issArr ( SScolumn, CInt( depIssDict.Item (SSiss_db_id) ) )End Function'----------------------------------------------------------------------------------------------------------------------------------------Function FixedIssues ( parPv_id )Dim sqlstr, rsTempsqlstr = "SELECT pv_id FROM cq_issues WHERE pv_id = "& parPv_id &" AND iss_state = "& enumISSUES_STATE_FIXEDSet rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) ThenFixedIssues = TRUEElseFixedIssues = FALSEEnd IfrsTemp.Close()Set rsTemp = nothingEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function SQL_Package_Information ( nPv_id )SQL_Package_Information = _" SELECT *"&_" FROM PACKAGE_VERSIONS pv"&_" WHERE pv.pv_id = "& nPv_idEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function SQL_Dependency_Issues ( NNpv_id )SQL_Dependency_Issues = _" SELECT pkg.pkg_name, pv.pkg_version, pv.pv_id, cqi.iss_db, cqi.iss_id, cqi.iss_state, pv.comments AS reasons"&_" FROM cq_issues cqi,"&_" package_dependencies dep,"&_" packages pkg,"&_" package_versions pv"&_" WHERE dep.pv_id = "& NNpv_id &_" AND dep.dpv_id = cqi.pv_id(+)"&_" AND dep.dpv_id = pv.pv_id(+)"&_" AND pv.pkg_id = pkg.pkg_id"&_" ORDER BY UPPER(pkg.pkg_name) ASC, cqi.iss_state DESC"End Function'----------------------------------------------------------------------------------------------------------------------------------------Function SQL_Additional_Notes ( nPv_id )SQL_Additional_Notes = ReadFile( rootPath & "queries\additional_notes.sql" )SQL_Additional_Notes = Replace( SQL_Additional_Notes, ":PV_ID", nPv_id )End Function'----------------------------------------------------------------------------------------------------------------------------------------Function SQL_Unit_Tests ( nPv_id )SQL_Unit_Tests = ReadFile( rootPath & "queries\unit_tests.sql" )SQL_Unit_Tests = Replace( SQL_Unit_Tests, ":PV_ID", nPv_id )End Function'----------------------------------------------------------------------------------------------------------------------------------------' Function returns the number of imported clearquest issues' and builds a string suitable for querying the clearquest issues databaseFunction Get_Package_Issues ( NNpv_id, SSsql, DDfixedIss, DDnotesIssDict, nIssState )Dim rsTemp, sqlstr, DEVIiss, retValIf IsObject(DDfixedIss) Then' Find this package issuessqlstr = "SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& NNpv_id &" AND iss_state = "& nIssStateElse' Find dependency issuessqlstr = "SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id IN ( "&_" SELECT dpv_id FROM package_dependencies WHERE pv_id = "& NNpv_id &_" )"End IfSet rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))retVal = rsTemp.RecordCountDEVIiss = "-1"While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CInt(rsTemp("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) ThenDEVIiss = DEVIiss &","& rsTemp("iss_id")End IfIf IsObject(DDfixedIss) Then' Store only Fixed IssuesIf CInt(rsTemp("iss_state")) = CInt(enumISSUES_STATE_FIXED) AND _DDfixedIss.Exists(Cstr(rsTemp("iss_db") &"."& rsTemp("iss_id"))) = false Then DDfixedIss.Add Cstr(rsTemp("iss_db") &"."& rsTemp("iss_id")), ""End IfIf IsObject(DDnotesIssDict) Then' Store NotesIf Not IsNull(rsTemp("notes")) AND (rsTemp("notes") <> "") AND _DDnotesIssDict.Exists(Cstr(rsTemp("iss_db") &"."& rsTemp("iss_id"))) = false Then DDnotesIssDict.Add Cstr(rsTemp("iss_db") &"."& rsTemp("iss_id")), Cstr(rsTemp("notes"))End IfrsTemp.MoveNextWEnd' Construct SQL statement for CQ databaseSSsql = ReadFile( rootPath & "queries\cq_issues.sql" )SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)rsTemp.Close()Set rsTemp = nothingGet_Package_Issues = retValEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Sub LastPvId (PvId)Dim sqlstrsqlstr = "SELECT pv_id, pkg_version, comments, last_pv_id FROM PACKAGE_VERSIONS WHERE PV_ID= "& PvIdSet rsQry = OraDatabase.DbCreateDynaset( sqlstr, cint(0) )End Sub'----------------------------------------------------------------------------------------------------------------------------------------Function Get_CQ_Issues ( SSsql, OOrsCQ )On Error Resume NextSet OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))Get_CQ_Issues = Err.NumberEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function Get_Dependency_CQ_Issues ( SSsql, OOrsCQ, DDdepIss, AAiss )Dim recCntOn Error Resume NextSet OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))' Exit with error if error occursGet_Dependency_CQ_Issues = Err.NumberIf Err.Number <> 0 Then Exit FunctionrecCnt = 1While ((NOT OOrsCQ.BOF) AND (NOT OOrsCQ.EOF))ReDim Preserve AAiss( 6, recCnt )'If NOT DDdepIss.Exists Cstr(rsTemp("iss_db") &"."& rsTemp("iss_id")) ThenDDdepIss.Add Cstr(OOrsCQ("iss_db") &"."& OOrsCQ("iss_id")), Cstr(recCnt)'End IfAAiss( enumLoc_iss_db, recCnt ) = OOrsCQ("iss_db")AAiss( enumLoc_iss_id, recCnt ) = OOrsCQ("iss_id")AAiss( enumLoc_iss_num, recCnt ) = OOrsCQ("iss_num")AAiss( enumLoc_summary, recCnt ) = OOrsCQ("summary")AAiss( enumLoc_status, recCnt ) = OOrsCQ("status")AAiss( enumLoc_priority, recCnt ) = OOrsCQ("priority")AAiss( enumLoc_issue_type, recCnt ) = OOrsCQ("issue_type")recCnt = recCnt + 1OOrsCQ.MoveNextWEndOOrsCQ.Close()End Function'----------------------------------------------------------------------------------------------------------------------------------------Sub Group_By ( rsG, styleG, currG )If rsG = currG Then Exit SubResponse.write styleG'currG = rsGEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------Sub CheckUnitTestsState ( nPv_id, outMSG, outMSG_ID, outNote, outTestsFound )Dim sqlstr, rsTempsqlstr = ReadFile( rootPath & "queries\unit_test_entries_check.sql" )sqlstr = Replace( sqlstr, ":PV_ID", nPv_id)sqlstr = Replace( sqlstr, ":enumTEST_TYPE_NOT_DONE", enumTEST_TYPE_NOT_DONE)Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) ThenoutMSG = rsTemp("msg")outMSG_ID = CInt(rsTemp("msg_id"))outNote = rsTemp("test_summary")outTestsFound = FALSEIf IsNull(rsTemp("msg")) Then outTestsFound = TRUEEnd IfrsTemp.Close()Set rsTemp = nothingEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------Function FormatAccepted ( sAccepted, nTest_id )Dim tempSTRIf IsNull(nTest_id) Then Exit FunctiontempSTR = ""If pageIsEditable ThentempSTR = "<select name='acc"& nTest_id &"' class='form_item'>"ElsetempSTR = "<select name='acc"& nTest_id &"' class='form_item' disabled>"End IfIf sAccepted = enumUNIT_TEST_ACCEPTED ThentempSTR = tempSTR &"<option></option>"&_"<option value='"& enumUNIT_TEST_ACCEPTED &"' SELECTED>Yes</option>"&_"<option value='"& enumUNIT_TEST_NOTACCEPTED &"'>No</option>"ElseIf sAccepted = enumUNIT_TEST_NOTACCEPTED ThentempSTR = tempSTR &"<option></option>"&_"<option value='"& enumUNIT_TEST_ACCEPTED &"'>Yes</option>"&_"<option value='"& enumUNIT_TEST_NOTACCEPTED &"' SELECTED>No</option>"ElsetempSTR = tempSTR &"<option SELECTED></option>"&_"<option value='"& enumUNIT_TEST_ACCEPTED &"'>Yes</option>"&_"<option value='"& enumUNIT_TEST_NOTACCEPTED &"'>No</option>"End IftempSTR = tempSTR & "</select>"FormatAccepted = tempSTREnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function SQL_CodeReview ( nPv_id )SQL_CodeReview = _" SELECT cr.date_of_review, cr.time_spent, cr.review_reason, cr.rteam_domain_expert,"&_" cr.rteam_language_expert, cr.rteam_peer_developer, cr.rteam_author,"&_" cr.files_reviewed, cr.review_results, cr.issues_raised,"&_" cr.review_comments, cr.fnc_s_meets_functionality,"&_" cr.fnc_c_meets_functionality"&_" FROM code_reviews cr"&_" WHERE cr.pv_id = "& nPv_idEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function SQL_Build_Env ( nPv_id )SQL_Build_Env = _" SELECT pv.*, bm.BM_ID,"&_" bm.BM_NAME,"&_" pkgbinfo.BSA_ID,"&_" bsa.BSA_NAME"&_" FROM PACKAGE_BUILD_INFO pkgbinfo,"&_" BUILD_MACHINES bm,"&_" PACKAGE_VERSIONS pv,"&_" BUILD_STANDARDS_ADDENDUM bsa"&_" WHERE pkgbinfo.BM_ID = bm.BM_ID"&_" AND pv.PV_ID = pkgbinfo.PV_ID"&_" AND pkgbinfo.PV_ID = "& nPv_id &_" AND pkgbinfo.BSA_ID = bsa.BSA_ID"&_" ORDER BY UPPER(bm.BM_NAME) "End Function'----------------------------------------------------------------------------------------------------------------------------------------Function DecodeOverallResult ( ByVal cCheck )If cCheck = "" OR IsNull(cCheck) Then cCheck = 0Select Case CInt( cCheck )Case enumCODE_REVIEW_ACCEPTEDDecodeOverallResult = "Accepted"Case enumCODE_REVIEW_MINOR_UPDATESDecodeOverallResult = "Minor updates required"Case enumCODE_REVIEW_MAJOR_REWORKDecodeOverallResult = "Major rework required"Case ElseDecodeOverallResult = ""End SelectEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function GetBuildType ( nBuildType, nBuildName )if (IsNull(nBuildType) OR (nBuildType = "")) ThenGetBuildType = "Build type not defined"ElseIf (IsNull(nBuildName) OR (nBuildName = "") ) ThenGetBuildType = "Build Name not defined"ElseGetBuildType = nBuildNameEnd If'' Wrap around bracketsGetBuildType = "("& GetBuildType &")"End Function'----------------------------------------------------------------------------------------------------------------------------------------Sub GetPackageMetrics (NNpv_id, rsTemp)OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageMetrics.sql"), cint(0))OraDatabase.Parameters.Remove "PV_ID"End Sub'----------------------------------------------------------------------------------------------------------------------------------------Sub GetCodeReviewURLs (NNpv_id, rsTemp)OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsTemp = OraDatabase.DbCreateDynaset( GetQuery("CodeReviewURLs.sql"), cint(0))OraDatabase.Parameters.Remove "PV_ID"End Sub'---------------------------------------------------------------Sub Query_Config_Spec (NNRtag_id, NNPv_id)OraDatabase.Parameters.Add "RTAG_ID", NNRtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PV_ID", NNPv_id, ORAPARM_INPUT, ORATYPE_NUMBERIf NNRtag_id <> "" ThenIf pkgInfoHash.Item ("dlocked") <> "Y" ThenSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("config_spec.sql"), cint(0))ElseSet rsQry = OraDatabase.DbCreateDynaset( Replace(GetQuery("config_spec.sql"), "PV.LAST_PV_ID", "PV.PV_ID"), cint(0))End IfElseIf pkgInfoHash.Item ("dlocked") <> "Y" ThenSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("config_spec_nortag.sql"), cint(0))ElseSet rsQry = OraDatabase.DbCreateDynaset( Replace(GetQuery("config_spec_nortag.sql"), "PV.LAST_PV_ID", "PV.PV_ID"), cint(0))End IfEnd IfOraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "PV_ID"End Sub'---------------------------------------------------------------' Returns the jats extraction commandsSub Jats_Extract_Command (ByRef sjats_cmds(), ByRef ajats_cmd_test, ByRef sjats_cmds_qh, ByRef sjats_extractable)Dim dlocked: dlocked = pkgInfoHash.Item("dlocked")Dim pkg_vcs_tag: pkg_vcs_tag = Get_Pkg_Vcs_Tag(Request("pv_id"))Dim ii: ii = -1Dim baseCmdsjats_extractable = falsesjats_cmds_qh = vcsInfoCollector.Item("vcs_tag")If ( sjats_cmds_qh = "CC" OR sjats_cmds_qh = "SVN" ) Thensjats_extractable = trueEnd If' if not released then use last package version vcs tag and branch else use current vcs tagIf dlocked <> "Y" Then' not released, so get last package version idDim last_version_validDim last_pv_id: last_pv_id = pkgInfoHash.Item("last_pv_id")Dim last_pkg_vcs_tagDim VcsTypelast_version_valid = TRUEIf IsNull(pkgInfoHash.Item ("previous_version")) Thenlast_version_valid = FALSEElseIf last_pv_id = pkgInfoHash.Item ("pv_id") Thenlast_version_valid = FALSEElseIf pkgInfoHash.Item ("pkg_count") = 1 Thenlast_version_valid = FALSEEnd IfIf last_version_valid Thenlast_pkg_vcs_tag = Get_Pkg_Vcs_Tag(last_pv_id)End IfIf (last_version_valid AND last_pkg_vcs_tag <> "") ThenVcsType = Mid(last_pkg_vcs_tag, 1, InStr(1, last_pkg_vcs_tag, "::") - 1 )sjats_cmds_qh = VcsTypebaseCmd = "jats vcsrelease -extract -label """ & last_pkg_vcs_tag & """"ii = ii+1 : sjats_cmds(ii) = baseCmd' ClearCase extraction may get a project specific branch appended' This will be used to automatically branch the files in the package'If (VcsType = "CC") ThenCall Query_Config_Spec (Request("rtag_id"), last_pv_id)Dim config_branch: config_branch = rsQry("config_spec_branch")If NOT IsNull(config_branch) AND (config_branch <> "") Thenii = ii+1 : sjats_cmds(ii) = baseCmd & " -branch " & config_branchEnd IfEnd IfIf (VcsType = "SVN") Thenii = ii+1 : sjats_cmds(ii) = baseCmd & " -devMode=Tag"ii = ii+1 : sjats_cmds(ii) = baseCmd & " -devMode=Tip"ii = ii+1 : sjats_cmds(ii) = baseCmd & " -devMode=Work"ii = ii+1 : sjats_cmds(ii) = baseCmd & " -devMode=Exact"End IfElse'ii = ii+1 : sjats_cmds(ii) = "No Previous version to extract"End IfbaseCmd = "jats vcsrelease -extract -label """ & pkg_vcs_tag & """"ii = ii+1 : sjats_cmds(ii) = baseCmdElse' releasedif sjats_extractable ThenbaseCmd = "jats vcsrelease -extract -label """ & pkg_vcs_tag & """"ii = ii+1 : sjats_cmds(ii) = baseCmdElsebaseCmd = "Cannot be extracted with JATS"ii = ii+1 : sjats_cmds(ii) = baseCmdEnd IfEnd If' Test Commandif sjats_extractable Thenajats_cmd_test = "jats vcsrelease -test -label """ & pkg_vcs_tag & """"Elseajats_cmd_test = "Cannot be extracted with JATS"End IfReDim Preserve sjats_cmds(ii)rsQry.Close()Set rsQry = nothingEnd Sub'---------------------------------------------------------------' Returns the VCS tag for the specified package version' Note: ORAPARM_OUTPUT default size is 127 bytes. This is too short for some'Function Get_Pkg_Vcs_Tag(apv_id)OraDatabase.Parameters.Add "PV_ID", apv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RETURN_CODE","xxxx", ORAPARM_OUTPUT, ORATYPE_VARCHAR2OraDatabase.Parameters("RETURN_CODE").MinimumSize = 200On Error Resume NextOraDatabase.ExecuteSQL ("BEGIN :RETURN_CODE := PK_RMAPI.RETURN_VCS_TAG( :PV_ID ); END;")Get_Pkg_Vcs_Tag = OraDatabase.Parameters("RETURN_CODE").ValueOn Error Goto 0OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "RETURN_CODE"End Function'-------------------------------------------------' Description: Return a string displaying if the user is following this package in theis Release'----------------------------------------------------------------------------------------------------------------------------------------Function GetFollowing ()Dim rsQryDim thisProject, otherProjects, someProjectsGetFollowing = "Not logged in"If objAccessControl.UserLogedIn() ThenOraDatabase.Parameters.Add "PKG_ID", pkgInfoHash.Item ("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PROJ_ID", pkgInfoHash.Item ("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId(), ORAPARM_INPUT, ORATYPE_NUMBERIf pkgInfoHash.Item ("proj_id") <> "" ThenSet rsQry = OraDatabase.DbCreateDynaset( "SELECT * FROM PACKAGE_INTEREST WHERE PKG_ID = :PKG_ID AND PROJ_ID = :PROJ_ID AND USER_ID = :USER_ID", cint(0))thisProject = rsQry.RecordCount > 0Set rsQry = OraDatabase.DbCreateDynaset( "SELECT * FROM PACKAGE_INTEREST WHERE PKG_ID = :PKG_ID AND PROJ_ID != :PROJ_ID AND USER_ID = :USER_ID", cint(0))otherProjects = rsQry.RecordCount > 0If thisProject ThenIf otherProjects ThenGetFollowing = "Yes. In this and " & rsQry.RecordCount & " other projects"ElseGetFollowing = "Yes. Only this project"End IfElseIf otherProjects ThenGetFollowing = "Yes. In " & rsQry.RecordCount & " other projects"ElseGetFollowing = "No"End IfEnd IfElseSet rsQry = OraDatabase.DbCreateDynaset( "SELECT * FROM PACKAGE_INTEREST WHERE PKG_ID = :PKG_ID AND USER_ID = :USER_ID", cint(0))someProjects = rsQry.RecordCount > 0If rsQry.RecordCount > 0 ThenGetFollowing = "Yes. In " & rsQry.RecordCount & " Projects"ElseGetFollowing = "No"End IfEnd IfOraDatabase.Parameters.Remove "USER_ID"OraDatabase.Parameters.Remove "PROJ_ID"OraDatabase.Parameters.Remove "PKG_ID"rsQry.Close()Set rsQry = nothingIf pageIsEditable ThenGetFollowing = GetFollowing & "<img class='image12 vixIframeDialog' href='_iframe_pkgs_followed.asp?proj_id=" & pkgInfoHash.Item ("proj_id") & "&pkg_id=" & pkgInfoHash.Item ("pkg_id") & "' title='Follow: " & pkgInfoHash.Item ("pkg_name") &"' src='images/i_follow.gif'>"End IfEnd IfEnd Function'---------------------------------------------------------------' Description: Return a string displaying licence information'---------------------------------------------------------------Function getLicenceDim rsQry, rsSql, lNameDim licenceListDim joiner : joiner = ""Dim otherVersions : otherVersions = ""Set licenceList=Server.CreateObject("Scripting.Dictionary")getLicence = ""' Determine license for this package-versionOraDatabase.Parameters.Add "PV_ID", pkgInfoHash.Item ("pv_id"), ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( _"SELECT l.NAME FROM LICENCES l, LICENCING ld" &_" WHERE l.LICENCE = ld.LICENCE " &_" and ld.PV_ID = :PV_ID" &_" ORDER by l.NAME" _, cint(0))While (NOT rsQry.BOF) AND (NOT rsQry.EOF)lName = rsQry("name")getLicence = getLicence & joiner & lNamelicenceList.Add lName, "Y"joiner = ", "rsQry.MoveNextWEndrsQry.Close()Set rsQry = nothing'' Indicate if other versions have licences - ignore those we already know about' The data is stored on a package-version basis'Set rsQry = OraDatabase.DbCreateDynaset( _"SELECT UNIQUE ld.NAME" &_" FROM licencing l,LICENCES ld" &_" WHERE l.pv_id IN" &_" (SELECT pv_id" &_" FROM package_versions" &_" WHERE pkg_id IN" &_" (SELECT pkg_id FROM package_versions WHERE pv_id=:PV_ID)" &_" AND pv_id != :PV_ID" &_" )" &_" AND l.LICENCE = ld.LICENCE" &_" ORDER by ld.NAME" _, cint(0))joiner = ""While (NOT rsQry.BOF) AND (NOT rsQry.EOF)lName = rsQry("name")If NOT licenceList.Exists(lName) ThenotherVersions = otherVersions & joiner & rsQry("name")joiner = ", "End IfrsQry.MoveNextWEndOraDatabase.Parameters.Remove "PV_ID"rsQry.Close()Set rsQry = nothingIf otherVersions <> "" ThengetLicence = getLicence & ". Other Versions: " & otherVersionsEnd IfEnd Function'-------------------------------------------------Function getLinkUrl(pvid)Dim joiner : joiner = "?"getLinkUrl = scriptNameIf parRtag_id <> "" ThengetLinkUrl = getLinkUrl + joiner + "rtag_id=" + parRtag_idjoiner = "&"End IfgetLinkUrl = getLinkUrl + joiner + "pv_id=" + pvidEnd Function'-------------------------------------------------' DisplayVersionRow - Display a row of vesrion information' pvid - pvid to process. Null -> "Initial Version"' title - row title' helpTag - Tag for help'Sub DisplayVersionRow( pvid, title, helpTag )Dim versionTextDim tagTextDim showLinkDim clipClassDim ExtractTextDim queryResultIf IsNull(pvid) ThenversionText = "Initial Version"tagText = NULLshowLink = FALSEElseSet queryResult = OraDatabase.DbCreateDynaset( "SELECT pkg_version from package_versions where pv_id =" & pvid , cint(0))If (NOT queryResult.BOF ) AND (NOT queryResult.EOF) ThenversionText = queryResult("pkg_version")tagText = Get_Pkg_Vcs_Tag(pvid)showLink = isDefined("showPrevVerLinks")ElseversionText = "Unknown"tagText = NULLshowLink = FALSEEnd IfqueryResult.Close()Set queryResult = nothingEnd IfIf sjats_extractable ThenclipClass = "clip"ExtractText = NewLine_To_BR ( To_HTML(tagText) )ElseclipClass = ""ExtractText = "Cannot be extracted with JATS"End If%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong><%=title%></strong><%=Quick_Help(helpTag)%></td><td bgcolor=#f5f5f5 class="sublbox_txt"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr class="sublbox_txt"><td width=15% colspan=2 nowrap class="sublbox_txt"><%=versionText%><%If showLink Then %><a href=<%=getLinkUrl(pvid)%>><img src="images/i_link.gif" hspace="2" border="0" align="absmiddle" title="Show this version"></a><%End If%></td><%If NOT IsNull(tagText) Then %><td colspan=2 nowrap class="sublbox_txt <%=clipClass%>"><%=ExtractText%></td><%End If%></tr></table></td></tr><%End Sub'-------------------------------------------------' DisplayCreationCommands' Display commands that may be useful in the creation of the package'Sub DisplayCreationCommandsDim tagTextDim VcsTypeDim title: title = "Package Creation Hints"Dim SvnUrlDim SvnLabeltagText = Get_Pkg_Vcs_Tag(pkgInfoHash.Item("pv_id"))VcsType = Mid(tagText, 1, InStr(1, tagText, "::") - 1 )If VcsType = "SVN" ThenIf pkgInfoHash.Item("src_path") <> "" ThenSvnUrl = pkgInfoHash.Item("src_path")Dim lastBit: lastBit = InStrRev(SvnUrl, "/" )If lastBit > 1 ThenSvnUrl = Left(SvnUrl, lastBit-1)End IfElseSvnUrl = "AUPERASVN0X/RepoName/" & pkgInfoHash.Item ("pkg_name")End IfIf pkgInfoHash.Item("pkg_label") <> "" ThenSvnLabel = pkgInfoHash.Item("pkg_label")ElseSvnLabel = "SomeLabel.WIP"End If%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt" valign="top"><strong><%=title%></strong><%=Quick_Help("CreationHints")%></td><td bgcolor=#f5f5f5 class="sublbox_txt"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td nowrap class="sublbox_txt clip"> jats svn create_package -new <%=SvnUrl%> </td></tr><tr><td nowrap class="sublbox_txt clip"> jats svn create_package -new <%=SvnUrl%> -import=<PkgDir> </td></tr><tr><td nowrap class="sublbox_txt clip"> jats svn create_package -new <%=SvnUrl%> -label=<%=SvnLabel%> -import=<PkgDir> </td></tr><tr><td nowrap class="sublbox_txt clip"> jats svn create_package -new <%=SvnUrl%> -label=<%=SvnLabel%> -import=<%=pkgInfoHash.Item ("pkg_name")%> </td></tr></table></td></tr><%End IfEnd Sub%><%'------------------ MAIN LINE --------------------'-------------------------------------------------If pkgInfoHash.Exists("pv_id") Then%><!-- PACKAGE INFORMATION ---------------------------------------------------------------------------------------------------------------><fieldset class="fset"><legend class="body_colb"><img src='images/s_info.gif' width='21' height='24' hspace='4' border='0' align='absmiddle'>Package Information</legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If pageIsEditable Then%><a href='javascript:;' onClick="MM_openVixIFrame('_wform_pkg_info.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Package Info')" class="txt_linked">Edit<img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></div><a name="PACKAGE_INFORMATION"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><%Set rsQry = OraDatabase.DbCreateDynaset( SQL_Package_Information ( parPv_id ), cint(0))Call get_vcs_info_for_package( rsQry("pkg_label"), rsQry("build_type"), rsQry("vcs_type_id"), rsQry("dlocked"), vcsInfoCollector )%><%' Status:Dim sstateDim bcan_unlockDim stitleDim bis_patchDim slockonclick: slockonclick=""Dim spkgTypebis_patch = not IsNull(pkgInfoHash.Item ("is_patch"))If bis_patch Then' the user can unlock a patch if they have permission' packages can be unlocked by the btnUnlockRelease buttonbcan_unlock = canActionControlInProject("UnlockPatch")spkgType = "Patch"Elsebcan_unlock = canActionControlInProject("EditCriticalInfoForLockedPackage")spkgType = "Package"End IfIf pkgInfoHash.Item("is_sdkpkg") Then bcan_unlock = FALSESelect Case pkgInfoHash.Item ("dlocked")Case "Y" sstate = "Released"Case "N" sstate = "Not Released"Case "P" sstate = "Not Released. Pending approval"Case "A" sstate = "Not Released. Approved for build"Case "R" sstate = "Not Released. Rejected"Case Else sstate = "Not Released. Invalid State"End SelectIf bcan_unlock ThenIf (pkgInfoHash.Item ("dlocked") = "Y") Then' Unlock patch/package.stitle="Unlock the " & spkgTypeshref="_s_unlock_package.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_idElseIf (pkgInfoHash.Item ("dlocked") = "N") Then' lock patch/package.stitle="Lock the "& spkgType &". Release requirements are not applied."shref="_s_lock_package.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_idElse' unlock patch/package.stitle="Unlock the " & spkgTypeshref="_s_unlock_package.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_idbcan_unlock = FALSEEnd IfEnd if%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><% If bcan_unlock ThenIf (slockonclick = "") Then%><a class='body_txt' title='<%=stitle%>' href='<%=shref%>' > <strong>Status:</strong><img src='images/i_edit.gif' width='12' height='12' border='0' ></a><% Else %><a href='<%=shref%>' onClick='<%=slockonclick%>' class='body_txt' title='<%=stitle%>'> <strong>Status:</strong> <img src='images/i_edit.gif' width='12' height='12' border='0' ></a><% End If %><% Else %><strong>Status:</strong><img src='images/i_edit_disable.gif' width='12' height='12' border='0' alt='Edit'><% End If %></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=sstate%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Deployable:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=iif(IsNull( rsQry("is_deployable") ), "No","Yes")%></td></tr><tr><td width="1%" nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Short Description:</b></td><td witdh="100%" bgcolor=#f5f5f5 class="sublbox_txt"><%If IsNull( rsQry("pv_description") ) Then%><span class='err_alert'>Required!</span><%Else%><%=NewLine_To_BR ( To_HTML( rsQry("pv_description") ) )%><%End If%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Package Overview:</b> </td><td bgcolor=#f5f5f5 class="sublbox_txt"><%If IsNull( rsQry("pv_overview") ) Then%><span class='err_alert'>Required!</span><%Else%><%=NewLine_To_BR ( To_HTML( rsQry("pv_overview") ) )%><%End If%></td></tr><!-- Package Licence information --><%Dim sonclicksonclick="MM_openVixIFrame('_wform_change_licence.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"','Change License')"%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><%If canActionControlInProject ("EditPackageLicence") OR canActionControl("MSMaintainer") Then%><a href='javascript:;' onClick="<%=sonclick%>" class='body_txt'><b>Package Licence:</b><img src='images/i_edit.gif' width='12' height='12' border='0'></a><%Else%><b>Package Licence:</b><img src='images/i_edit_disable.gif' width='12' height='12' border='0'><%End If%></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=getLicence()%></td></tr><%Dim shrefDim smail' Owner:sonclick="MM_openVixIFrame('_wform_change_owner.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"','Change Owner')"smail = pkgInfoHash.Item ("owner_email")shref = "mailto:"& smail%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><%If objAccessControl.UserLogedIn() AND NOT pkgInfoHash.Item("is_sdkpkg") Then%><a href='javascript:;' onClick="<%=sonclick%>" class='body_txt'><strong>Owner:</strong><img src='images/i_edit.gif' width='12' height='12' border='0' alt='Change owner'></a> <%Else%><strong>Owner:</strong><img src='images/i_edit_disable.gif' width='12' height='12' border='0' alt='Change owner'><%End If%></td><td bgcolor=#f5f5f5 class="sublbox_txt"><table width="100%" border="0" cellspacing="0" cellpadding="0" ID="Table1"><tr class="sublbox_txt"><td><%=pkgInfoHash.Item ("owner")%></td><td><a href=<%=shref%> class='txt_linked'><img src='images/bt_send_email.gif' width='36' height='13' hspace='3' border='0' align=right alt=<%=smail%>></a></td></tr></table></td></tr><%' Created:smail = pkgInfoHash.Item ("creator_email")shref = "mailto:"& smail%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Created:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><table width="100%" border="0" cellspacing="0" cellpadding="0" ID="Table3"><tr class="sublbox_txt"><td><%=DisplayDate(pkgInfoHash.Item ("created_stamp"))&" by "& pkgInfoHash.Item ("creator")%></td><td><a href=<%=shref%> class='txt_linked'><img src='images/bt_send_email.gif' width='36' height='13' hspace='3' border='0' align=right alt=<%=smail%>></a></td></tr></table></td></tr><%' Last Modified:smail = pkgInfoHash.Item ("modifier_email")shref = "mailto:"& smail%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Last Modified:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><table width="100%" border="0" cellspacing="0" cellpadding="0" ID="Table4"><tr class="sublbox_txt"><td><%=DisplayDateTimeSecs(pkgInfoHash.Item ("modified_stamp")) &" by "& pkgInfoHash.Item ("modifier")%></td><td><a href=<%=shref%> class='txt_linked'><img src='images/bt_send_email.gif' width='36' height='13' hspace='3' border='0' align=right alt=<%=smail%>></a></td></tr></table></td></tr><%' Added to Releasesmail = pkgInfoHash.Item ("insertor_email")shref = "mailto:"& smailIf IsNull(pkgInfoHash.Item ("is_patch")) AND (Request("rtag_id") <> "") AND (pkgInfoHash.Item ("insertor") <> "") Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Added to Release:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><table width="100%" border="0" cellspacing="0" cellpadding="0" ID="Table2"><tr class="sublbox_txt"><td><%=DisplayDate(pkgInfoHash.Item ("insert_stamp")) &" by "& pkgInfoHash.Item ("insertor")%></td><td><a href=<%=shref%> class='txt_linked'><img src='images/bt_send_email.gif' width='36' height='13' hspace='3' border='0' align=right alt=<%=smail%>></a></td></tr></table></td></tr><%End If%><%If (vcsInfoCollector.Item("vcs_tag") = enum_VCS_CLEARCASE_TAG) OR (vcsInfoCollector.Item("vcs_tag") = enum_VCS_CVS_TAG) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Version Control System:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( vcsInfoCollector.Item("vcs_name") ) )%><%If (vcsInfoCollector.Item("vcs_tag") = enum_VCS_CVS_TAG) AND pkgInfoHash.Item ("build_type") = "A" Then%><span class='err_alert'>[Requires Manual Build]</span><%End If%><td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Source Path:</b> </td><td bgcolor=#f5f5f5 class="sublbox_txt"><%If IsNull( rsQry("src_path") ) Then%><span class='err_alert'>Required!</span><%Else%><%=NewLine_To_BR ( To_HTML( rsQry("src_path") ) )%><%End If%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Label:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%If IsNull( rsQry("pkg_label") ) Then%><span class='err_alert'>Required!</span><%Else%><%=NewLine_To_BR ( To_HTML( rsQry("pkg_label") ) )%><%End If%></td></tr><%ElseIf vcsInfoCollector.Item("vcs_tag") = enum_VCS_SUBVERSION_TAG Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Version Control System:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( vcsInfoCollector.Item("vcs_name") ) )%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Source Path:</b> </td><td bgcolor=#f5f5f5 class="sublbox_txt clip"><%If IsNull( rsQry("src_path") ) Then%><span class='err_alert'>Required!</span><%Else%><%=NewLine_To_BR ( To_HTML( rsQry("src_path") ) )%><%End If%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Tag:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt clip"><%If IsNull( rsQry("pkg_label") ) Then%><span class='err_alert'>Required!</span><%Else%><%=NewLine_To_BR ( To_HTML( rsQry("pkg_label") ) )%><%End If%></td></tr><%ElseIf vcsInfoCollector.Item("vcs_tag") = enum_VCS_UNCONTROLLED_TAG Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Version Control System:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( vcsInfoCollector.Item("vcs_name") ) )%></td></tr><%Else%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Version Control System:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><span class='err_alert'>Required!</span></td></tr><%End If%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Base View:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt clip"><%=Get_Pkg_Base_View ( parPv_id, parRtag_id )%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Following:</b><%=Quick_Help("following")%></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=GetFollowing()%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Build Standard:</b></td><%If pkgInfoHash.Item ("bs_id") <> "" ThenIf pkgInfoHash.Item ("bs_id") = "1" ThenResponse.write "<td bgcolor=#f5f5f5 class='sublbox_txt'>JATS<br></td>"ElseIf pkgInfoHash.Item ("bs_id") = "2" ThenResponse.write "<td bgcolor=#f5f5f5 class='sublbox_txt'>ANT<br></td>"ElseIf pkgInfoHash.Item ("bs_id") = "3" ThenResponse.write "<td bgcolor=#f5f5f5 class='sublbox_txt'>NONE"If pkgInfoHash.Item("build_type") = "A" ThenResponse.write "<span class='err_alert'> [Must be specified for an automated build]</span>"End IfResponse.write "<br></td>"End IfElseIf vcsInfoCollector.Item("vcs_tag") <> enum_VCS_UNCONTROLLED_TAG ThenResponse.write "<td bgcolor=#f5f5f5 class='sublbox_txt'><span class='err_alert'>Required!</span><br></td>"ElseResponse.write "<td bgcolor=#f5f5f5 class='sublbox_txt'>Unspecified<br></td>"End IfEnd If%></tr><%If (NOT IsNull(pkgInfoHash.Item ("bs_id"))) AND (pkgInfoHash.Item ("bs_id") <> "3") Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>Build Environment:</b> </td><%'--- Get Build Env DetailsSet rsTemp = OraDatabase.DbCreateDynaset( SQL_Build_Env ( parPv_id ), cint(0))%><td bgcolor=#f5f5f5 class="sublbox_txt"><%If rsTemp.RecordCount = 0 Then%><%If rsQry("is_build_env_required") = enumDB_NO Then%>Not Required<%Else%><span class='err_alert'>Required!</span><%End If%><%Else%><%If (IsNull( rsQry("is_build_env_required") ) AND (rsQry("comments") <> "Rippled Build.")) Then%><span class='err_alert'>Required!</span><%ElseIf rsQry("is_build_env_required") = enumDB_NO Then%>Not Required.<%Else%><table width="40%" border="0" cellspacing="0" cellpadding="1"><%currG1 = 0While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)If currG1 <> CInt(rsTemp("bm_id")) Then%><tr><td colspan="2" nowrap class="sublbox_txt"><%=rsTemp("bm_name")%> <%=GetBuildType( rsTemp("bsa_id"),rsTemp("bsa_name") )%></td></tr><%currG1 = CInt(rsTemp("bm_id"))End IfrsTemp.MoveNextWEnd%></table><%End If%><%End If%></td></tr><%End If%><%' Get JATS extraction commandsDim sjats_cmd_test, sjats_cmds_qh, sjats_extractableReDim sjats_cmds(6)call Jats_Extract_Command(sjats_cmds, sjats_cmd_test, sjats_cmds_qh, sjats_extractable)Dim PrevVerTitle : PrevVerTitle = "Previous Version:"' Previous VersionsIf pkgInfoHash.Item ("pkg_count") = 1 ThenCall DisplayVersionRow(NULL, PrevVerTitle, "PreviousVcsTag")Call DisplayCreationCommands()ElseIf IsNull(pkgInfoHash.Item ("is_patch")) ThenIf canActionControlInProject("ChangePreviousVersion") AND NOT pkgInfoHash.Item("is_sdkpkg") Thensonclick="MM_openVixIFrame('_wform_change_previous_version.asp?rfile="& scriptName &"&pv_id="& parPv_id &"&rtag_id="& parRtag_id &"','Change Previous Version')"PrevVerTitle = "<a href='javascript:;' onClick=""" & sonclick & """ class='sublbox_txt'> " & PrevVerTitle & " <img src='images/i_edit.gif' width='12' height='12' border='0' alt='Edit'></a>"ElsePrevVerTitle = PrevVerTitle & "<img src='images/i_edit_disable.gif' width='12' height='12' border='0' alt='Edit'>"End IfCall DisplayVersionRow(pkgInfoHash.Item ("last_pv_id"), PrevVerTitle, "PreviousVcsTag")Dim iLastSignificantPVIDDim iRippleBasePVIDCall getLastSignificantVersions(pkgInfoHash.Item("pv_id"), iRippleBasePVID, iLastSignificantPVID)Call DisplayVersionRow(iRippleBasePVID, "Previous NonRipple Version:", "PreviousNonRippleVcsTag")Call DisplayVersionRow(iLastSignificantPVID, "Previous Significant Version:", "PreviousSignificantVcsTag")End If%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt" valign="top"><strong>JATS extraction commands:</strong><%=Quick_Help ( "JatsExtraction_" & sjats_cmds_qh )%></td><td style="padding: 0px;"><table class="full_table"><% Dim ii : For ii = 0 to UBound(sjats_cmds) %><tr><td bgcolor=#f5f5f5 class="sublbox_txt clip"><%=NewLine_To_BR ( To_HTML(sjats_cmds(ii)) )%></td><% Next %></td></tr></table></tr><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>JATS Test:</strong><%=Quick_Help ( "JatsTest" )%></td><td bgcolor=#f5f5f5 class="sublbox_txt clip"><%=NewLine_To_BR ( To_HTML(sjats_cmd_test) )%></td></tr><%' Beyond Compare difference commandDim prevVcsTagDim curVcsTagDim sBcCmd, sBcClassprevVcsTag = Get_Pkg_Vcs_Tag(iLastSignificantPVID)curVcsTag = Get_Pkg_Vcs_Tag(parPv_id)sBcCmd = ""sBcClass = ""If pkgInfoHash.Item ("pkg_count") = 1 ThensBcCmd = "No prior version compare against"ElseIf (IsNull(prevVcsTag) OR prevVcsTag = "" ) ThensBcCmd = "No prior label to compare against"ElseIf (IsNull(curVcsTag) OR curVcsTag = "" ) ThensBcCmd = "Current VCS tag not yet specified"ElseIf (not sjats_extractable) ThensBcCmd = "Cannot be extracted with JATS"ElsesBcCmd = "jats vcsdiff -old=" & prevVcsTag & " -new=" & curVcsTagsBcClass = "clip"End IfsBcCmd = NewLine_To_BR( To_HTML (sBcCmd) )' Codestriker commands - Only for ClearCaseDim sCsCmd, sCsClasssCsCmd = ""sCsClass = ""If vcsInfoCollector.Item("vcs_tag") = enum_VCS_CLEARCASE_TAG ThenDim oldLabelDim old_vcs_tagIf (pv_id_exists(iLastSignificantPVID) = TRUE) Thenold_vcs_tag = get_vcs_tag(iLastSignificantPVID)If (old_vcs_tag = enum_VCS_CLEARCASE_TAG) ThenoldLabel = get_Pkg_Label(iLastSignificantPVID)sCsCmd = NewLine_To_BR ( To_HTML( Codestriker_Command (oldLabel, pkgInfoHash.Item("pkg_label")) ) )sCsClass = "clip"End IfEnd IfEnd If%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>Codestriker command:</strong><%=Quick_Help ( "Codestriker" )%></td><td bgcolor=#f5f5f5 class="sublbox_txt <%=sCsClass%>"><%=sCsCmd%></td></tr><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>Beyond Compare command:</strong><%=Quick_Help ( "BeyondCompare" )%></td><td bgcolor=#f5f5f5 class="sublbox_txt <%=sBcClass%>"><%=sBcCmd%></td></tr><%If pkgInfoHash.Item("is_deployable") = "Y" ThenOraDatabase.Parameters.Add "PV_ID", pkgInfoHash.Item ("pv_id"), ORAPARM_INPUT, ORATYPE_NUMBERSet rsTemp = OraDatabase.DbCreateDynaset( GetQuery("DeploymentManagerReference.sql"), cint(0))If rsTemp.RecordCount = 0 Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>SBOM Information:</b></td><%If pkgInfoHash.Item("product_state") = 3 Then%><td bgcolor=#f5f5f5 class="err_alert"><b>Ready For Deployment!</b></td><%ElseIf pkgInfoHash.Item("product_state") = 2 Then%><td bgcolor=#f5f5f5 class="err_alert"><b>Ready For Testing!</b></td><%ElseIf pkgInfoHash.Item("product_state") = 1 Then%><td bgcolor=#f5f5f5 class="err_alert"><b>Ready For Integration!</b></td><%ElseIf pkgInfoHash.Item("product_state") = 5 Then%><td bgcolor=#f5f5f5 class="err_alert"><b>Ready For Integration and Deployment!</b></td><%ElseIf IsNull(pkgInfoHash.Item("product_state")) Then%><td bgcolor=#f5f5f5 class="err_alert"><b>Information Unavailable!</b></td><%End If%></tr><%Else%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top"><b>SBOM Added/Updated:</b></td><td bgcolor=#f5f5f5 class="sublbox_txt"><%=rsTemp("branch_name")%> - <%=rsTemp("bom_name")%><%=VBNewLine%><%=rsTemp("version")%></td></tr><%End IfrsTemp.Close()Set rsTemp = NothingOraDatabase.Parameters.Remove "PV_ID"End If%></table></fieldset><br><!-- PACKAGE METRICS --------------------------------------------------------------------------------------------------------------------><%Call GetPackageMetrics( parPv_id, rsPkgMetrics )%><fieldset class="fset" onclick="ToggleDisplay('divPkgMetrics','pkg_metrics_filler')"><%If IsNull(rsPkgMetrics("pkg_name")) Then %><legend class="body_colb"><img src="images/i_metrics.gif" width="20" height="24" hspace="4" border="0" align="absmiddle" >Package Metrics not available</legend><%Else%><legend class="body_colb"><img src="images/i_metrics.gif" width="20" height="24" hspace="4" border="0" align="absmiddle" >Package Metrics...</legend><div name="pkg_metrics_filler" id="pkg_metrics_filler" style="display:block;" class="div_filler"><a href="javascript:;" class="txt_linked">Show...</a></div><div name="divPkgMetrics" id="divPkgMetrics" style="display:none;"><a name="PACKAGE_METRICS"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt" width="20%"><b>Autobuilt:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%If rsPkgMetrics("is_autobuildable") = "Y" Then%>Yes<%Else%>No<%End If%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Unit Tested:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%If rsPkgMetrics("unit_tested") = "Y" Then%>Yes<%Else%>No<%End If%></td></tr><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Autotested:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%If rsPkgMetrics("autotested") = "Y" Then%>Yes<%Else%>No<%End If%></td></tr><%If NOT IsNull(rsPkgMetrics("code_lines")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Code Lines:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("code_lines")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("comment_lines")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Comment Lines:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("comment_lines")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("blank_lines")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Blank Lines:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("blank_lines")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("branches")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Number of Branches:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("branches")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("branch_list")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Branch List:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("branch_list")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("code_files")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Code Files:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("code_files")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("ignored_files")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Ignored Files:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("ignored_files")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("makefiles")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Makefiles:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("makefiles")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("total_files")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Total Files:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("total_files")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("directories")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Number of Directories:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("directories")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("directory_depth")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Directory Depth:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("directory_depth")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("created_stamp")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Metrics Collected:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("created_stamp")%></td></tr><%End If%><%If NOT IsNull(rsPkgMetrics("build_time")) Then%><tr><td nowrap bgcolor=#e4e9ec class="sublbox_txt"><b>Build Time:</b></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsPkgMetrics("build_time")%> Seconds</td></tr><%End If%></table></div><%End If%></fieldset><br><%rsPkgMetrics.Close()Set rsPkgMetrics = nothing%><!-- PRODUCTS AFFECTED BY CHANGE --------------------------------------------------------------------------------------------------------><!-- REASON FOR DEPRECATION/DEPENDANCY DEPRECATED -----------------------------------------------------------------------------------------------------------------><%If pkgInfoHash.Item("deprecated_state") = 6 Then %><fieldset class="fset"><legend class="body_colb"><img src='images/s_notes.gif' width='21' height='24' hspace='4' border='0' align='absmiddle'>Reason for deprecation</legend><a name="REASON_FOR_DEPRECATION"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><%Dim rsCommentSet rsComment = OraDatabase.DbCreateDynaset("SELECT * FROM DEPRECATED_PACKAGES WHERE RTAG_ID ="& Request("rtag_id") &" AND PKG_ID = "& pkgInfoHash.Item ("pkg_id") &"", cint(0))If rsComment("comments") <> "" ThenResponse.write "<table border='0' cellspacing='0' cellpadding='0'>"Response.write "<tr>"Response.write "<td class='sublbox_txt'>"& NewLine_To_BR(( rsComment("comments") ) ) &"<br></td>"Response.write "</tr>"Response.write "</table>"'Else' If FixedIssues ( parPv_id ) Then' Response.write "<span class='sublbox_txt'>Not specified.</span><br>"' Else' Response.write "<span class='err_alert'>Required!</span><br>"' End IfEnd IfrsComment.Close()Set rsComment = nothing%></td></tr></table></fieldset><br><%End If%><!-- SBOM PRIORITY/CRITICALITY ---------------------------------------------------------------------------------------------------------><%If NOT pageIsEditable AND pkgInfoHash.Item ("is_deployable") = "Y" Then%><fieldset class="fset"><legend class="body_colb"><img src='icons/i_prod_sbom_priority.gif' hspace='4' border='0' align='absmiddle'>SBOM Priority</legend><%If (pkgInfoHash.Item ("dlocked") = "Y") Then%><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><a href='javascript:;' onClick="MM_openVixIFrame('_wform_sbom_priority.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','SBOM Priority')" class="txt_linked">Edit<img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a></div><%End If%><a name="SBOM_PRIORITY"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><%If pkgInfoHash.Item ("sbom_priority") <> "" Then%><table border='0' cellspacing='0' cellpadding='0'><tr><td class='sublbox_txt'><%If pkgInfoHash.Item ("sbom_priority") = "C" ThenResponse.write "<b><font color='red'>Critical.</font></b>"ElseIf pkgInfoHash.Item ("sbom_priority") = "I" ThenResponse.write "<b>Important.</b>"ElseIf pkgInfoHash.Item ("sbom_priority") = "R" ThenResponse.write "Routine"ElseIf pkgInfoHash.Item ("sbom_priority") = "L" ThenResponse.write "Low"End If%></td></tr></table><%Else%><span class='err_alert'>Required!</span><br><%End If%></td></tr></table></fieldset><br><%End If%><!-- CHANGE TYPE -----------------------------------------------------------------------------------------------------------------------><fieldset class="fset"><a name="CHANGE_TYPE"></a><%If pkgInfoHash.Item ("build_type") = "A" Then%><legend class="body_colb"><img src='icons/i_pkg_change_type.gif' hspace='4' border='0' align='absmiddle'>Change Type</legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If (pkgInfoHash.Item ("dlocked") <> "A") AND (pkgInfoHash.Item ("dlocked") <> "Y") AND criticalSectionIsEditable Then%><a href='javascript:;' onClick="MM_openVixIFrame('_wform_rename_version.asp?renameMode=2&rfile=<%=ScriptName%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Change Ripple Type')" class="txt_linked">Edit<img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></div><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><%If pkgInfoHash.Item ("change_type") <> "" ThenResponse.write "<table border='0' cellspacing='0' cellpadding='0'>"Response.write "<tr>"If pkgInfoHash.Item ("change_type") = "M" ThenResponse.write "<td class='sublbox_txt'>Major Change.<br></td>"ElseIf pkgInfoHash.Item ("change_type") = "N" ThenResponse.write "<td class='sublbox_txt'>Minor Change.<br></td>"ElseIf pkgInfoHash.Item ("change_type") = "P" ThenResponse.write "<td class='sublbox_txt'>Patch Change.<br></td>"ElseIf pkgInfoHash.Item ("change_type") = "F" ThenResponse.write "<td class='sublbox_txt'>Version Specified by User.<br></td>"ElseResponse.write "<td><span class='err_alert'>Unknown Change Type: " & pkgInfoHash.Item ("change_type") & "</span></td>"End IfResponse.write "</tr>"Response.write "</table>"ElseResponse.write "<span class='err_alert'>Required!</span><br>"End If%></td></tr></table><%ElseIf pkgInfoHash.Item ("build_type") = "M" Then%><legend class="body_colb"><img src='icons/i_pkg_change_type.gif' hspace='4' border='0' align='absmiddle'>Build Type</legend><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><span class='sublbox_txt'>Manually Built Package.</span><%If pkgInfoHash.Item ("change_type") <> "F" Then%><span class='err_alert'>Unexpected Change Type: <%=pkgInfoHash.Item ("change_type")%></span><%End If%></td></tr></table><%ElseIf pkgInfoHash.Item ("build_type") = "U" Then%><legend class="body_colb"><img src='icons/i_pkg_change_type.gif' hspace='4' border='0' align='absmiddle'>Build Type</legend><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><span class='sublbox_txt'><span class='err_alert'>UnbuildablePackage.</span> This version has been created outside of the build system, possibly via Deployment Manager</span></td></tr></table><%ElseIf pkgInfoHash.Item ("build_type") = "Y" Then%><legend class="body_colb"><img src='icons/i_pkg_change_type.gif' hspace='4' border='0' align='absmiddle'>Build Type</legend><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><span class='sublbox_txt'>Ripple Built</span></td></tr></table><%Else%><legend class="body_colb"><img src='icons/i_pkg_change_type.gif' hspace='4' border='0' align='absmiddle'>Build Type</legend><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><span class='err_alert'>Unknown Build Type (<%=pkgInfoHash.Item ("build_type")%>) Change Type (<%=pkgInfoHash.Item ("change_type")%>)</span></td></tr></table><%End If%></fieldset><br><!-- RIPPLE PROPERTIES -----------------------------------------------------------------------------------------------------------------------><%If IsNull(pkgInfoHash.Item ("is_patch")) Then%><fieldset class="fset"><legend class="body_colb"><img src='icons/i_pkg_ripple_type.gif' hspace='4' border='0' align='absmiddle' height='25' width='25'>Ripple Properties</legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If (canShowControlInProject( "RipplePackage" ) AND pageIsEditable) OR criticalSectionIsEditable OR canShowControlInProject( "PegPackageVersions" ) Then%><a href='javascript:;' onClick="MM_openVixIFrame('_wform_ripple_properties.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Edit Ripple Type')" class="txt_linked">Edit<img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></div><a name="RIPPLE_PROPERTIES"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><%If Request("rtag_id") <> "" ThenIf pkgInfoHash.Item ("is_pegged") Then %><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>Is Pegged</strong><%=Quick_Help ( "pegged_version" )%></td><td bgcolor=#f5f5f5 class="sublbox_txt">Yes</td></tr><%End If%><%End If%><%If NOT pkgInfoHash.Item ("is_pegged") Then%><%If Request("rtag_id") <> "" Then%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>Build Inclusion</strong><%=Quick_Help ( "ripple_build" )%></td><%Dim rsQryRippleSet rsQryRipple = OraDatabase.DbCreateDynaset( "SELECT p.PKG_NAME, pv.PV_OVERVIEW, pv.PKG_ID,nvl(dnr.root_pv_id, -1) as root_pv_id, dnr.* FROM DO_NOT_RIPPLE dnr, PACKAGE_VERSIONS pv, PACKAGES p WHERE dnr.RTAG_ID ="& Request("rtag_id") &"AND dnr.PV_ID ="&Request("pv_id") &" AND pv.pv_id(+) = dnr.ROOT_PV_ID AND p.PKG_ID(+) = pv.PKG_ID", cint(0))If rsQryRipple.RecordCount <> 0 ThenDim CauseTextDim shref_baseDim rowDatashref_base = "http://" & archive_server & "/devl/abtlog/"If (IsNull(rsQryRipple("root_file")) AND IsNull(rsQryRipple("root_cause"))) ThenIf rsQryRipple("root_pv_id") < 0 ThenCauseText = "Directly Excluded"ElseCauseText = "Indirectly excluded by <a class=""txt_linked"" title='"&rsQryRipple("PV_OVERVIEW")&"' href=fixed_issues.asp?pv_id="& rsQryRipple("root_pv_id") & "&rtag_id="&rsQryRipple("rtag_id") & ">" & rsQryRipple("pkg_name") & "</a>"End IfElseIf IsNull(rsQryRipple("root_file")) ThenCauseText = rsQryRipple("root_cause")ElseCauseText = "<a class=""txt_linked"" title=""" & rsQryRipple("root_file") &_" Log file may have expired."" " &_"href=""" & shref_base & rsQryRipple("root_file") & """>" &_"Build Failure Log File</a>"End If%><td bgcolor=#f5f5f5 class="sublbox_txt">No. <%=CauseText%></td><%Else%><td bgcolor=#f5f5f5 class="sublbox_txt">Yes</td><%End If%><%rsQryRipple.Close()Set rsQryRipple = nothing%></tr><%End If%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>Ripple Type</strong><%=Quick_Help ( "ripple_type" )%></td><td width="80%" bgcolor=#f5f5f5><%Response.write "<table border='0' cellspacing='0' cellpadding='0'>"Response.write "<tr>"Response.write "<td class='sublbox_txt'>"Dim selectedRippleType, selectedRippleName, selectedRippleStateselectedRippleType = pkgInfoHash.Item ("ripple_field")selectedRippleName = rippleFieldName(selectedRippleType, selectedRippleState)If NOT selectedRippleState ThenResponse.write "<span class='err_alert'>Required!</span>"ElseResponse.write( selectedRippleName )End IfIf ( selectedRippleType = "L" ) ThenDim qrySet qry = OraDatabase.DbCreateDynaset( "SELECT major_limit, minor_limit, patch_limit, build_number_limit from package_versions where pv_id="& Request("pv_id"), cint(0))Response.write " "If isNull(qry("major_limit")) ThenResponse.write("0")ElseResponse.write( qry.Fields( "major_limit" ).Value )End IfResponse.write ", "If isNull(qry("minor_limit")) ThenResponse.write("0")ElseResponse.write( qry.Fields( "minor_limit" ).Value )End IfResponse.write ", "If isNull(qry("patch_limit")) ThenResponse.write("0")ElseResponse.write( qry.Fields( "patch_limit" ).Value )End IfResponse.write ", "If isNull(qry("build_number_limit")) ThenResponse.write("0")ElseResponse.write( qry.Fields( "build_number_limit" ).Value )End Ifqry.Close()Set qry = nothingEnd IfResponse.Write "</td>"Response.write "</tr>"Response.write "</table>"%></td></tr><%End If%><%If Request("rtag_id") <> "" AND pkgInfoHash.Item("dlocked") = "Y" ThenDim sClickStop, sStopText, dRippleStop, sButtonText, sPersistTextdRippleStop = pkgInfoHash.Item("ripple_stop")If dRippleStop = "" OR IsNull(dRippleStop) ThensClickStop="vixConfirm('Marked this package so as to prevent it from being built<br>when its dependencies change, until it is manually resumed.<p>Stop Ripple Builds',{title:'Stop Ripple', button:'Stop', url: '_s_ripple_stop.asp?mode=s&rfile="& scriptName &"&pv_id="& parPv_id &"&rtag_id="& parRtag_id &"'});"sStopText = "Normal"sButtonText = "Change"ElseIf dRippleStop = "s" ThensClickStop="vixConfirm('This package has been marked to prevented ripple builds.<p>Remove this marker',{title:'Remove Ripple', button:'Remove', url: '_s_ripple_stop.asp?mode=r&rfile="& scriptName &"&pv_id="& parPv_id &"&rtag_id="& parRtag_id &"'});"sStopText = "Ripples will stop at this package"sButtonText = "Remove"ElseIf dRippleStop = "w" ThensClickStop="vixConfirm('This package has been marked to prevented ripple builds<br>and a ripple is required.<p>Allow ripple to continue.',{title:'Continue Ripple', button:'Allow Ripple', url: '_s_ripple_stop.asp?mode=g&rfile="& scriptName &"&pv_id="& parPv_id &"&rtag_id="& parRtag_id &"'});"sStopText = "Ripple required and awaiting manual intervention"sButtonText = "Resume"ElseIf dRippleStop = "g" ThensStopText = "Ripple resumed. Awaiting build"ElsesStopText = "Ripple Stop: Unknown state:" & dRippleStopEnd IfsPersistText = ""If pkgInfoHash.Exists("persist_ripple_stop") ThenIf NOT IsNull(pkgInfoHash.Item("persist_ripple_stop")) ThensPersistText = " [Persistent Ripple Stop Enabled]"End IfEnd If%><tr><td width="20%" bgcolor=#e4e9ec class="sublbox_txt"><strong>Ripple Stop</strong><%=Quick_Help ( "ripple_stop" )%><td bgcolor=#f5f5f5 class='sublbox_txt'><%=sStopText%><%=sPersistText%><%If canActionInProject() AND sClickStop <> "" Then%><a href='javascript:;' onClick="<%=sClickStop%>" class="txt_linked"><%=sButtonText%><img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></tr><%End If%></table></fieldset><br><%End If%><!-- REASON FOR RELEASE -----------------------------------------------------------------------------------------------------------------><fieldset class="fset"><legend class="body_colb"><img src='images/s_notes.gif' width='21' height='24' hspace='4' border='0' align='absmiddle'>Reason for this version</legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If pageIsEditable Then%><a href='javascript:;' onClick="MM_openVixIFrame('_wform_reason_for_version.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Reason For Release')" class="txt_linked">Edit<img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></div><a name="REASON_FOR_THIS_RELEASE"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td align="right" valign="bottom"><%If pageIsEditable Then%><button class="form_btn" onClick="return vixConfirm('Current comments would be deleted.<br>Do you wish to continue?',{url :'_update_versions.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>' })">Update Dependencies</button><%End If%></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><%If pkgInfoHash.Item ("comments") <> "" Then%><table border='0' cellspacing='0' cellpadding='0'><tr><td class='sublbox_txt'> <%Response.Write( NewLine_To_BR(pkgInfoHash.Item("comments")) )%><br></td></tr></table><%ElseIf FixedIssues ( parPv_id ) Then%><span class='sublbox_txt'>Not specified.</span><br><%Else%><span class='err_alert'>Required!</span><br><%End If%></td></tr></table></fieldset><br><!-- REASON FOR NON_RIPPLE RELEASE -----------------------------------------------------------------------------------------------------------------><%If pkgInfoHash.Item ("comments") = "Rippled Build." Then%><fieldset class="fset"><legend class="body_colb"><img src='images/s_notes.gif' width='21' height='24' hspace='4' border='0' align='absmiddle'>Reason for last non-ripple build</legend><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><%'Dim rsQryCall LastPvId(pkgInfoHash.Item ("pv_id"))While rsQry("comments") = "Rippled Build."Call LastPvId(rsQry("last_pv_id"))WendIf pkgInfoHash.Item ("comments") <> "" ThenResponse.write "<table border='0' cellspacing='0' cellpadding='0'>"Response.write "<tr>"Response.write "<td class='sublbox_txt'><b>Package Version:</b> <b>"& NewLine_To_BR(( rsQry ("pkg_version") ) ) &"</b><br></td>"Response.write "</tr>"Response.write "<tr>"Response.write "<td class='sublbox_txt'>"& NewLine_To_BR(( rsQry ("comments") ) ) &"<br></td>"Response.write "</tr>"Response.write "</table>"%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td valign="top" class="sublbox_txt"><b>Fixed Issues For Last Non-Ripple Build</b></td><td align="right" valign="top"><%If pageIsEditable Then%><a href="javascript:;" onClick="MM_openVixIFrame('_wform_import_issues.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&skip_open=true','Import Fixed Issues')" class="txt_linked">Import Fixed Issues from ClearQuest<img src="images/i_download.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></td></tr></table><%Call Get_Package_Issues ( parPv_id, SQLstr, fixedIssDict, notesIssDict, enumISSUES_STATE_FIXED )If (retVal > 0) ThenretVal = Get_CQ_Issues ( SQLstr, rsCQ )If retVal = 0 Then%><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td bgcolor=#e4e9ec nowrap width="1" class="form_field" align="center">Fixed</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue Id </td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue DB </td><td bgcolor=#e4e9ec nowrap width="100%" class="form_field">Summary</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue Type </td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Priority</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Status</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Note</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field"> </td></tr><%If ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF)) Then%><%While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF))%><tr><td align="center" nowrap bgcolor=#e4e9ec><img src="images/i_tick_black.gif" width="7" height="7" vspace="2"></td><td bgcolor=#f5f5f5 nowrap class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issues_details.asp?iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Details')" class="txt_linked"><%=rsCQ("iss_num")%></a></td><td bgcolor=#f5f5f5 class="form_item"><%If Cint(rsCQ("iss_db")) = enumCLEARQUEST_DEVI_ID Then%>DEVI<%Else%>UNKNOWN<%End If%></td><td bgcolor=#f5f5f5 class="form_item"><%=NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("issue_type")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("priority")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("Status")%></td><%If sectionIsEditable Then%><%If notesIssDict.Exists (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id"))) Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issue_notes.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>&iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Notes')"><img src="images/i_note_on.gif" width="11" height="12" border="0" title="<%=notesIssDict.Item (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id")))%>"></a></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issue_notes.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>&iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Notes')"><img src="images/i_note_off.gif" width="11" height="12" border="0" title="Add Note"></a></td><%End If%><%Else%><%If notesIssDict.Exists (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id"))) Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_note_on.gif" width="11" height="12" border="0" title="<%=notesIssDict.Item (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id")))%>"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_note_off.gif" width="11" height="12" border="0"></td><%End If%><%End If%><%If NOT pageIsEditable Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_delete_disable.gif" width="13" height="12" hspace="2" border="0"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="_remove_issue.asp?iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onClick="return vixConfirmDelete('this issue from Release Manager');"><img src="images/i_delete.gif" width="13" height="12" hspace="2" border="0" alt="Delete this issue from the list"></a></td><%End If%></tr><%rsCQ.MoveNextWEndrsCQ.Close()%><%Else%><tr><td bgcolor=#e4e9ec nowrap> </td><td bgcolor=#f5f5f5 nowrap></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td align="center" bgcolor=#f5f5f5 class="form_item"></td></tr><%End If%></table><%End If%><%If retVal <> 0 Then Response.write enumMSSQL_ERROREnd IfElseIf FixedIssues ( parPv_id ) ThenResponse.write "<span class='sublbox_txt'>Not specified.</span><br>"ElseResponse.write "<span class='err_alert'>Required!</span><br>"End IfEnd IfrsQry.Close()Set rsQry = nothing%></td></tr></table></fieldset><br><%End If%><!-- FIXED ISSUES -----------------------------------------------------------------------------------------------------------------------><fieldset class="fset"><legend class="body_colb"><img src="images/s_bugs.gif" width="21" height="18" border="0" hspace="4" align="absmiddle">Issues</legend><a name="ISSUES"></a><p class="body_colb"><a name="ISSUES"></a></p><table width="100%" border="0" cellpadding="2" cellspacing="1"><tr><!-- Jira Issues --><td valign="top" class="body_colb">JIRA Issues</td><td align="right" valign="top"><%If pageIsEditable Then%><a href="javascript:;" onClick="MM_openVixIFrame('_wform_import_jira_issues.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&skip_open=true','Import Issues')" class="txt_linked">Import JIRA issues<img src="images/i_download.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></td><%Dim issueInfo, el, keySet issueInfo = CreateObject( "Scripting.Dictionary" )Call getJiraIssueDetails(parPv_id,issueInfo, 0)If issueInfo.Count > 0 Then%><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td bgcolor=#e4e9ec nowrap width="1" class="form_field" align="center">Fixed</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue Id </td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue DB </td><td bgcolor=#e4e9ec nowrap width="100%" class="form_field">Summary</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue Type </td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Priority</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Status</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Note</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field"> </td></tr><%For Each key In issueInfoSet el = issueInfo.item(key)%><tr><%If el.Exists("resolution") Then %><td align="center" nowrap bgcolor=#e4e9ec><img src="images/i_tick_black.gif" width="7" height="7" vspace="2"></td><%Else%><td align="center" nowrap bgcolor=#e4e9ec></td><%End If%><td bgcolor=#f5f5f5 nowrap class="form_item"><a href="<%=el.item("url")%>" target="_blank" class="txt_linked"><%=key%></a></td><td bgcolor=#f5f5f5 class="form_item"><%=el.item("type")%></td><td bgcolor=#f5f5f5 class="form_item"><%=NewLine_To_BR ( To_HTML ( el.item("summary") ) )%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=el.item("issuetype")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=el.item("priority")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=el.item("status")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"></td><%If NOT pageIsEditable Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_delete_disable.gif" width="13" height="12" hspace="2" border="0"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="_remove_jira_issue.asp?iss_link=<%=el.item("key")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onClick="return vixConfirmDelete('this issue from Release Manager');"><img src="images/i_delete.gif" width="13" height="12" hspace="2" border="0" alt="Delete this issue from the list"></a></td><%End If%></tr><%NextSet issueInfo = nothing%></table><%End If%><!-- Fixed ClearCase Issues --><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td valign="top" class="body_colb">Fixed Issues</td><td align="right" valign="top"><%If pageIsEditable Then%><a href="javascript:;" onClick="MM_openVixIFrame('_wform_import_issues.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&skip_open=true','Import Fixed Issues')" class="txt_linked">Import Fixed Issues from ClearQuest<img src="images/i_download.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></td></tr></table><%retVal = Get_Package_Issues ( parPv_id, SQLstr, fixedIssDict, notesIssDict, enumISSUES_STATE_FIXED )If (retVal > 0) ThenretVal = Get_CQ_Issues ( SQLstr, rsCQ )If retVal = 0 Then%><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td bgcolor=#e4e9ec nowrap width="1" class="form_field" align="center">Fixed</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue Id </td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue DB </td><td bgcolor=#e4e9ec nowrap width="100%" class="form_field">Summary</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Issue Type </td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Priority</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Status</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field">Note</td><td bgcolor=#e4e9ec nowrap width="1" class="form_field"> </td></tr><%If ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF)) Then%><%While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF))%><tr><td align="center" nowrap bgcolor=#e4e9ec><img src="images/i_tick_black.gif" width="7" height="7" vspace="2"></td><td bgcolor=#f5f5f5 nowrap class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issues_details.asp?iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Details')" class="txt_linked"><%=rsCQ("iss_num")%></a></td><td bgcolor=#f5f5f5 class="form_item"><%If CInt(rsCQ("iss_db")) = enumCLEARQUEST_DEVI_ID Then%>DEVI<%Else%>UNKNOWN<%End If%></td><td bgcolor=#f5f5f5 class="form_item"><%=NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("issue_type")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("priority")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("Status")%></td><%If sectionIsEditable AND pageIsEditable Then%><%If notesIssDict.Exists (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id"))) Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issue_notes.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>&iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Notes')"><img src="images/i_note_on.gif" width="11" height="12" border="0" title="<%=notesIssDict.Item (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id")))%>"></a></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issue_notes.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>&iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Notes')"><img src="images/i_note_off.gif" width="11" height="12" border="0" title="Add Note"></a></td><%End If%><%Else%><%If notesIssDict.Exists (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id"))) Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_note_on.gif" width="11" height="12" border="0" title="<%=notesIssDict.Item (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id")))%>"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_note_off.gif" width="11" height="12" border="0"></td><%End If%><%End If%><%If NOT pageIsEditable Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_delete_disable.gif" width="13" height="12" hspace="2" border="0"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="_remove_issue.asp?iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onClick="return vixConfirmDelete('this issue from Release Manager');"><img src="images/i_delete.gif" width="13" height="12" hspace="2" border="0" alt="Delete this issue from the list"></a></td><%End If%></tr><%rsCQ.MoveNextWEndrsCQ.Close()%><%Else%><tr><td bgcolor=#e4e9ec nowrap> </td><td bgcolor=#f5f5f5 nowrap></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td align="center" bgcolor=#f5f5f5 class="form_item"></td></tr><%End If%></table><%End If%><%If retVal <> 0 Then Response.write enumMSSQL_ERROR%><%End If%><!-- Outstanding ClearCase Issues --><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td valign="top" class="body_colb">Outstanding Issues</td><td align="right" valign="top"><%If pageIsEditable Then%><a href="javascript:;" onClick="MM_openVixIFrame('_wform_import_issues.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Import Issues')" class="txt_linked">Import Outstanding Issues from ClearQuest<img src="images/i_download.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%></td></tr></table><%retVal = Get_Package_Issues ( parPv_id, SQLstr, fixedIssDict, notesIssDict, enumISSUES_STATE_IMPORTED )If (retVal > 0) ThenretVal = Get_CQ_Issues ( SQLstr, rsCQ )If retVal = 0 Then%><table width="100%" border="0" cellspacing="1" cellpadding="2"><form name="fixedissues" method="get" action="_update_issues_state.asp"><tr><%If pageIsEditable Then%><td bgcolor=#e4e9ec nowrap width="1%" class="form_field" align="center">Fixed</td><%End If%><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Issue Id </td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Issue DB </td><td bgcolor=#e4e9ec nowrap width="100%" class="form_field">Summary</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Issue Type </td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Priority</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Status</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Note</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field"> </td></tr><%If ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF)) Then%><%While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF))%><tr><%If pageIsEditable Then%><td align="center" nowrap bgcolor=#e4e9ec><input type="checkbox" name="FRfixed" value="<%=rsCQ("iss_db") &"."& rsCQ("iss_id")%>"></td><%End If%><td bgcolor=#f5f5f5 nowrap class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issues_details.asp?iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Details')" class="txt_linked"><%=rsCQ("iss_num")%></a></td><td bgcolor=#f5f5f5 class="form_item"><%If CInt(rsCQ("iss_db")) = enumCLEARQUEST_DEVI_ID Then%>DEVI<%Else%>UNKNOWN<%End If%></td><td bgcolor=#f5f5f5 class="form_item"><%=NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("issue_type")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("priority")%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=rsCQ("Status")%></td><%If sectionIsEditable AND pageIsEditable Then%><%If notesIssDict.Exists (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id"))) Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issue_notes.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>&iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Notes')"><img src="images/i_note_on.gif" width="11" height="12" border="0" alt="<%=notesIssDict.Item (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id")))%>"></a></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issue_notes.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>&iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>','Issue Notes')"><img src="images/i_note_off.gif" width="11" height="12" border="0" alt="Add Note"></a></td><%End If%><%Else%><%If notesIssDict.Exists (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id"))) Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_note_on.gif" width="11" height="12" border="0" alt="<%=notesIssDict.Item (Cstr(rsCQ("iss_db") &"."& rsCQ("iss_id")))%>"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_note_off.gif" width="11" height="12" border="0"></td><%End If%><%End If%><%If NOT pageIsEditable Then%><td align="center" bgcolor=#f5f5f5 class="form_item"><img src="images/i_delete_disable.gif" width="13" height="12" hspace="2" border="0"></td><%Else%><td align="center" bgcolor=#f5f5f5 class="form_item"><a href="_remove_issue.asp?iss_db=<%=rsCQ("iss_db")%>&iss_id=<%=rsCQ("iss_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onClick="return vixConfirmDelete('this issue from Release Manager');"><img src="images/i_delete.gif" width="13" height="12" hspace="2" border="0" alt="Delete this issue from the list"></a></td><%End If%></tr><%rsCQ.MoveNextWEndrsCQ.Close()%><%If pageIsEditable Then%><tr><td align="center" nowrap bgcolor=#e4e9ec><input type="submit" name="Apply" value="Apply" class="form_btn"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><%End If%><%Else%><tr><%If pageIsEditable Then%><td bgcolor=#e4e9ec nowrap> </td><%End If%><td bgcolor=#f5f5f5 nowrap></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td align="center" bgcolor=#f5f5f5 class="form_item"></td></tr><%End If%><input name="pv_id" type="hidden" value="<%=parPv_id%>"><input name="rtag_id" type="hidden" value="<%=parRtag_id%>"></form></table><%End If%><%If retVal <> 0 Then Response.write enumMSSQL_ERROR%><%End If%><!-- DEVI-050133 Although it would seem to the human eye that the following row and table closing tags are needed, --><!-- they do in fact cause the page to be rendered incorrectly. Hence they are commented out for now --><!-- until the true cause of the mis-rendering can be ascertained. --><!-- </tr> --><!-- </table> --></fieldset><br><!-- DEPENDENCY ISSUES (NOT FOR PATCHES!) -------------------------------------------------------------------------------------------------------><%If IsNull(pkgInfoHash.Item ("is_patch")) Then%><fieldset class="fset"><legend class="body_colb"><img src="images/s_bugs.gif" width="21" height="18" border="0" hspace="4" align="absmiddle">Dependency Issues</legend><table width="100%" border="0" cellspacing="1" cellpadding="2"><%If Request("ShowIssues") <> "" ThenretVal = Get_Package_Issues ( parPv_id, SQLstr, NULL, NULL, NULL )ElseretVal = 0%><tr><td class="sublbox_txt"><a href="javascript:window.location.href=window.location.href+'&ShowIssues=1'">Show Issues of Dependent Packages</a></td></tr><%End IfIf (retVal > 0) ThenretVal = Get_Dependency_CQ_Issues ( SQLstr, rsCQ, depIssDict, issArr )If retVal = 0 Then%><%currG1 = 0G1_template = _"<tr>"&_" <td colspan='7'><img src='images/spacer.gif' width='2' height='2'></td>"&_"</tr>"&_"<tr>"&_" <td colspan='7' bgcolor=#e4e9ec class='form_item'>/*DEP_NAME_VERSION*//*REASONS*/</td>"&_"</tr>"Set rsDepIss = OraDatabase.DbCreateDynaset( SQL_Dependency_Issues( parPv_id ), cint(0))%><%If ((NOT rsDepIss.BOF) AND (NOT rsDepIss.EOF)) Then%><%While ((NOT rsDepIss.BOF) AND (NOT rsDepIss.EOF))%><%iss_db_id = Cstr(rsDepIss("iss_db") &"."& rsDepIss("iss_id"))G1_style = Replace(G1_template, "/*DEP_NAME_VERSION*/", "<SPAN class='envolPkg'><b>"& rsDepIss("pkg_name") &" "& rsDepIss("pkg_version") &"</b></SPAN>")If IsNull(rsDepIss("iss_id")) ThenIf IsNull(rsDepIss("reasons")) ThenG1_style = Replace(G1_style, "/*REASONS*/", "<br>Reason for this version is not specified.")ElseG1_style = Replace(G1_style, "/*REASONS*/", "<br>"& NewLine_To_BR ( To_HTML ( rsDepIss("reasons") ) ) )End IfElseIf IsNull(rsDepIss("reasons")) ThenG1_style = Replace(G1_style, "/*REASONS*/", "")ElseG1_style = Replace(G1_style, "/*REASONS*/", "<br>"& NewLine_To_BR ( To_HTML ( rsDepIss("reasons") ) ) )End IfEnd IfCall Group_By ( rsDepIss("pv_id"), G1_style, currG1 )If NOT IsNull(rsDepIss("iss_id")) ThenIf rsDepIss("pv_id") <> currG1 ThencurrG1 = rsDepIss("pv_id")%><tr><td bgcolor=#e4e9ec nowrap width="1%" class="form_field" align="center"></td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field" align="center">Fixed</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Issue Id </td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Issue DB </td><td bgcolor=#e4e9ec nowrap width="100%" class="form_field">Summary</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Issue Type </td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Priority</td></tr><%End If%><tr><td bgcolor=#e4e9ec></td><td align="center" nowrap bgcolor=#f5f5f5><%If CInt(rsDepIss("iss_state")) = enumISSUES_STATE_FIXED Then%><img src="images/i_tick_black.gif" width="7" height="7" vspace="2"><%Else%><img src="images/spacer.gif" width="7" height="7" vspace="2"><%End If%></td><td bgcolor=#f5f5f5 nowrap class="form_item"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issues_details.asp?iss_db=<%=asDepIss( iss_db_id, enumLoc_iss_db )%>&iss_id=<%=asDepIss( iss_db_id, enumLoc_iss_id )%>','Issue Details')" class="txt_linked"><%=asDepIss( iss_db_id, enumLoc_iss_num )%></a></td><td bgcolor=#f5f5f5 class="form_item"><%If CInt(asDepIss( iss_db_id, enumLoc_iss_db )) = enumCLEARQUEST_DEVI_ID Then%>DEVI<%Else%>UNKNOWN<%End If%></td><td bgcolor=#f5f5f5 class="form_item"><%=asDepIss( iss_db_id, enumLoc_summary)%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=asDepIss( iss_db_id, enumLoc_issue_type)%></td><td nowrap bgcolor=#f5f5f5 class="form_item"><%=asDepIss( iss_db_id, enumLoc_priority)%></td></tr><%End If%><%rsDepIss.MoveNextWEndrsDepIss.Close()Set rsDepIss = nothing%><%Else%><tr><td bgcolor=#e4e9ec nowrap> </td><td bgcolor=#f5f5f5></td><td bgcolor=#f5f5f5></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td></tr><%End If%><%End If%><%If retVal <> 0 Then Response.write enumMSSQL_ERROR%><%End If%></table></fieldset><br><%End If%><!-- UNIT TESTS ---------------------------------------------------------------------------------------------------------------------><%Dim testCheckMSG, testCheckMSG_ID, testCheckNote, testCheckTestsFoundCall CheckUnitTestsState ( parPv_id, testCheckMSG, testCheckMSG_ID, testCheckNote, testCheckTestsFound )Set rsQry = OraDatabase.DbCreateDynaset( SQL_Unit_Tests ( parPv_id ), cint(0))%><fieldset class="fset"><legend class="body_colb"><img src="images/i_unit_test.gif" width="18" height="25" hspace="4" border="0" align="absmiddle" alt="">Unit Tests<%If testCheckMSG_ID = 0 Then%> <%=testCheckMSG%><%End If%></legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If ( scriptName = "fixed_issues.asp" ) Then%><%If objAccessControl.UserLogedIn AND (pageIsEditable OR (pkgInfoHash.Item("dlocked") = "Y")) Then%><a href='javascript:;' onClick="MM_openVixIFrame('_wform_unit_test.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Add Unit Test')" class="txt_linked">New Test<img src="images/i_new.gif" width="13" height="13" hspace="2" border="0" align="absmiddle" alt="Add new test."></a><%End If%><%If (NOT testCheckTestsFound) AND (testCheckMSG_ID = 0) Then%><a href='_not_done_unit_test.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>¬done=Y' class='txt_linked'>Click here if Not Done!<img src="images/i_new.gif" width="13" height="13" hspace="2" border="0" align="absmiddle" alt="Add new test."></a><%End If%><%End If%></div><a name="UNIT_TESTS"></a><%If (NOT testCheckTestsFound) AND (testCheckMSG_ID = -1) Then%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5 class="form_item"><%Call DisplayInfo ( "UNIT_TEST_NOT_DONE", 300 )%><span class="rep_small">Last Modified: <%=testCheckMSG%></span><br><%=NewLine_To_BR( To_HTML ( testCheckNote ) )%></td></tr></table><%End If%><table width="100%" border="0" cellspacing="1" cellpadding="2"><form name="review" method="get" action="_update_unit_test_accepted_state.asp"><tr><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" valign="middle"> Test Type </td><td width="100%" nowrap bgcolor=#e4e9ec class="form_field" valign="middle"> Test Summary </td><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" align="center" valign="middle">Test<br>Completed</td><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" align="center" valign="middle"> Passed<br># / Total </td><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" align="center" valign="middle"> Results </td><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" align="center" valign="middle"> Accepted </td><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" align="center" valign="middle">Review<br>Completed</td><td width="1%" nowrap bgcolor=#e4e9ec class="form_field" valign="middle">Comments /<br>Issue#</td><td width="1%" bgcolor=#e4e9ec></td></tr><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF) )%><tr><%If NOT pageIsEditable Then%><%If NOT IsNull(rsQry("test_id")) AND ( scriptName = "fixed_issues.asp") Then%><td nowrap bgcolor=#f5f5f5 class="form_item" valign="top"><a href="javascript:;" onClick="MM_openVixIFrame('_wform_update_unit_test.asp?test_id=<%=rsQry("test_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Update Unit Test')" class="txt_linked"><img src="images/i_test.gif" width="16" height="16" hspace="3" align="absmiddle" border="0"><%=rsQry("test_type_name")%></a></td><%Else%><td nowrap bgcolor=#f5f5f5 class="form_item" valign="top"><img src="images/i_test.gif" width="16" height="16" hspace="3" align="absmiddle"><%=rsQry("test_type_name")%></td><%End If%><%Else%><td nowrap bgcolor=#f5f5f5 class="form_item" valign="top"><a href="javascript:;" onClick="MM_openVixIFrame('<%If Not IsNull(rsQry("test_id")) Then%>_wform_update_unit_test.asp<%Else%>_wform_unit_test.asp<%End If%>?test_id=<%=rsQry("test_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&test_type_id=<%=rsQry("test_type_id")%>','Update Unit Test')" class="txt_linked"><img src="images/i_test.gif" width="16" height="16" hspace="3" align="absmiddle" border="0"><%=rsQry("test_type_name")%></a></td><%End If%><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=NewLine_To_BR( To_HTML( rsQry("test_summary") ))%></td><td nowrap bgcolor=#f5f5f5 class="form_item" valign="top"><%If ( NOT IsNull(rsQry("tester")) ) Then%><%=DisplayDate ( rsQry("completion_date") )%><br>by <a href="mailto:<%=rsQry("tester_email")%>" class="txt_linked"><%=rsQry("tester")%></a><%End If%></td><td nowrap bgcolor=#f5f5f5 class="form_item" valign="top" align="center"><%=rsQry("numof_test")%></td><%If CInt(rsQry("test_type_id")) = enumTEST_TYPE_AUTOMATIC Then%><td bgcolor=#f5f5f5 class="form_item" align="center" valign="top"><%If NOT IsNull( rsQry("results_url") ) Then%><%If InStr( rsQry("results_url"), "http://" ) = 1 Then%><a href="<%=rsQry("results_url")%>" target="_blank"><img src="images/i_results.gif" width="15" height="16" border="0" alt="View test results"></a><%Else%><a href="<%=dpkg_archiveURL & pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") & rsQry("results_url")%>" target="_blank"><img src="images/i_results.gif" width="15" height="16" border="0" alt="View test results"></a><%End If%><%End If%></td><%Else%><td bgcolor=#f5f5f5 class="form_item" align="center" valign="top"><%If NOT IsNull( rsQry("results_attachment_name") ) Then%><a href="<%=TEMP_FOLDER &"/"& pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") &"/"& rsQry("results_attachment_name")%>" target="_blank"><img src="images/i_results.gif" width="15" height="16" border="0" alt="View test results"></a><%End If%></td><%End If%><td nowrap bgcolor=#e4e9ec class="sublbox_txt" valign="top" align="center"><%=FormatAccepted( rsQry("test_accepted"), rsQry("test_id") )%></td><td nowrap bgcolor=#f5f5f5 class="form_item" valign="top"><%If NOT IsNull(rsQry("reviewee")) Then%><%=DisplayDate ( rsQry("acceptance_date") )%><br>by <a href="mailto:<%=rsQry("reviewee_email")%>" class="txt_linked"><%=rsQry("reviewee")%></a><%End If%></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=NewLine_To_BR( To_HTML( rsQry("review_comments") ))%></td><%If ( ( pageIsEditable _AND (scriptName = "fixed_issues.asp") _AND (IsNull(rsQry("test_accepted")) OR (rsQry("test_accepted") = enumUNIT_TEST_NOTACCEPTED))) _OR _( objAccessControl.UserLogedIn _AND (scriptName = "fixed_issues.asp") _AND (pkgInfoHash.Item("dlocked") = "Y") _AND (IsNull(rsQry("test_accepted")) OR (rsQry("test_accepted") = enumUNIT_TEST_NOTACCEPTED)) _AND (rsQry("test_type_id") <> CStr(enumTEST_TYPE_AUTOBUILD_UTF))) ) Then%><td bgcolor=#f5f5f5 valign="top"><%If NOT IsNull(rsQry("test_id")) Then%><a href="_remove_unit_test.asp?test_id=<%=rsQry("test_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onClick="return vixConfirmDelete('this unit test');"><img src="images/i_delete.gif" alt="Remove this test." width="13" height="12" hspace="3" border="0"></a><%End If%></td><%Else%><td bgcolor=#f5f5f5 valign="top"></td><%End If%></tr><%rsQry.MoveNextWEnd%><tr><td class="form_field"></td><td class="form_field"></td><td class="form_field"></td><td class="form_field"></td><td class="form_field"></td><td class="form_field" align="center"><%If (testCheckTestsFound) AND (testCheckMSG_ID = 0) AND ( scriptName = "fixed_issues.asp" ) AND pageIsEditable Then%><input type="submit" name="Apply" value="Apply" class="form_btn"><%End If%></td><td class="form_field"></td><td class="form_field"></td><td class="form_field"></td></tr><input name="pv_id" type="hidden" value="<%=parPv_id%>"><input name="rtag_id" type="hidden" value="<%=parRtag_id%>"></form></table></fieldset><br><!-- CODE REVIEW -------------------------------------------------------------------------------------------------------------------><%Set rsQry = OraDatabase.DbCreateDynaset( SQL_CodeReview ( parPv_id ), cint(0))%><fieldset class="fset"><legend class="body_colb"><img src='images/s_code_review.gif' width='21' height='23' hspace='4' border='0' align='absmiddle'>Code Review</legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If ( scriptName = "fixed_issues.asp" ) Then%><%If objAccessControl.UserLogedIn AND (pageIsEditable OR (pkgInfoHash.Item("dlocked") = "Y")) Then%><a href='javascript:;' onClick="MM_openBrWindow('_wform_update_code_review.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','CodeReviewEdit','scrollbars=yes,status=yes,resizable=yes,width=950,height='+ ( screen.height - 100 ) +',top=0,left=0')" class="txt_linked">Edit<img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%><%If rsQry.RecordCount > 0 Then%><%If NOT IsNull(rsQry("date_of_review")) Then%> <a href='javascript:;' onClick="MM_openBrWindow('_wform_code_review.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','CodeReviewView','scrollbars=yes,status=yes,resizable=yes,width=950,height='+ ( screen.height - 100 ) +',top=0,left=0')" class="txt_linked">View<img src="images/i_open.gif" width="12" height="12" hspace="2" border="0" align="absmiddle"></a><%End If%><%End If%><%End If%></div><a name="CODE_REVIEW" id="CODE_REVIEW"></a><%If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then%><%If NOT IsNull(rsQry("date_of_review")) Then%><table width="100%" border="0" cellspacing="1" cellpadding="4"><tr><td width="1%" align="right" nowrap bgcolor=#e4e9ec class="form_field">Date of Review</td><td width="1%" nowrap bgcolor=#f5f5f5 class="form_item"><%=DisplayDate ( rsQry("date_of_review") )%> </td><td width="1%" align="right" nowrap bgcolor=#e4e9ec class="form_field"> Time Spent:</td><td width="100%" bgcolor=#f5f5f5 class="form_item"><%=rsQry("time_spent")%> hrs </td></tr><tr><td align="right" valign="top" nowrap bgcolor=#e4e9ec class="form_field">Reason for Review</td><td colspan="3" bgcolor=#f5f5f5 class="form_item"><%=NewLine_To_BR( To_HTML( rsQry("review_reason") ))%></td></tr><tr><td align="right" nowrap bgcolor=#e4e9ec class="form_field">Review Results </td><td colspan="3" bgcolor=#f5f5f5 class="form_item"><%=DecodeOverallResult( rsQry("review_results") )%></td></tr><tr><td align="right" nowrap bgcolor=#e4e9ec class="form_field">Issues Raised </td><td colspan="3" bgcolor=#f5f5f5 class="form_item"><%=NewLine_To_BR( To_HTML( rsQry("issues_raised") ))%></td></tr></table><%Else%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><span class='sublbox_txt'>No details found.</span></td></tr></table><%End If%><%Else%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td bgcolor=#f5f5f5><span class='sublbox_txt'>No details found.</span></td></tr></table><%End If%><!-- Code Review URL section for this version --><%Call GetCodeReviewURLs( parPv_id, rsCodeReviewURL )%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td align="left" valign="top" class="body_colb">Code Review URL for this version</td><td align="right" valign="top" <%If NOT IsNull(rsCodeReviewURL("url")) Then Response.Write("colspan='5'")%>><%If (scriptName = "fixed_issues.asp") AND objAccessControl.UserLogedIn AND (pageIsEditable OR (pkgInfoHash.Item("dlocked") = "Y")) Then%><a href="javascript:;" onclick="MM_openVixIFrame('_wform_edit_code_review_url.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Edit Code Review URL')" class="txt_linked">New<img src="images/i_new.gif" width="13" height="13" hspace="2" border="0" align="absmiddle"></a><%End If%></td></tr><%If IsNull(rsCodeReviewURL("full_url")) Then %><tr><td bgcolor=#f5f5f5 width="100%" class="form_item" colspan="2"><span class='sublbox_txt'>No details found.</span></td></tr><%Else%><tr><td bgcolor=#e4e9ec class="form_field">URL</td><td bgcolor=#e4e9ec width="25%" class="form_field">Reason for Review</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Date of Review</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Last Modified</td><td bgcolor=#e4e9ec nowrap width="18px" class="form_field"></td><td bgcolor=#e4e9ec nowrap width="18px" class="form_field"></td></tr><%If ((NOT rsCodeReviewURL.BOF) AND (NOT rsCodeReviewURL.EOF)) ThenWhile ((NOT rsCodeReviewURL.BOF) AND (NOT rsCodeReviewURL.EOF))%><tr><%If (Left(rsCodeReviewURL("url"),4) = "http") Then%><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="<%=rsCodeReviewURL("url")%>" target="_blank" class="txt_linked"><%=rsCodeReviewURL("url")%></a></td><%Else%><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="<%=rsCodeReviewURL("full_url")%>" target="_blank" class="txt_linked"><%=rsCodeReviewURL("full_url")%></a></td><%End If%><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=rsCodeReviewURL("reason")%></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=DisplayDate(rsCodeReviewURL("date_of_review"))%></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=DisplayDate(rsCodeReviewURL("last_modified"))%></td><%If (scriptName = "fixed_issues.asp") AND objAccessControl.UserLogedIn AND (pageIsEditable OR (pkgInfoHash.Item("dlocked") = "Y")) Then%><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="javascript:;" onclick="MM_openVixIFrame('_wform_edit_code_review_url.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&cr_id=<%=rsCodeReviewURL("cr_id")%>','Edit Code Review URL')" class="txt_linked"><img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle" alt="Edit this code review URL"></a></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="_remove_code_review_url.asp?cr_id=<%=rsCodeReviewURL("cr_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onclick="return vixConfirmDelete('this code review URL from Release Manager');"><img src="images/i_delete.gif" width="13" height="12" hspace="2" border="0" alt="Delete this code review URL"></a></td><%Else%><td bgcolor=#f5f5f5 class="form_item" valign="top"></td><td bgcolor=#f5f5f5 class="form_item" valign="top"></td><%End If%></tr><%rsCodeReviewURL.MoveNextWEndElse%><tr><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td></tr><%End IfEnd If%></table><!-- Code Review URL section for last non-ripple build --><%If pkgInfoHash.Item ("comments") = "Rippled Build." ThenCall LastPvId(pkgInfoHash.Item ("pv_id"))While rsQry("comments") = "Rippled Build."Call LastPvId(rsQry("last_pv_id"))WendDim sOldPkgVersionDim oldDlockedCall Get_Pkg_Short_Info ( rsQry("pv_id"), NULL, NULL, sOldPkgVersion, NULL, NULL, oldDlocked )Call GetCodeReviewURLs( rsQry("pv_id"), rsCodeReviewURL )%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td align="left" valign="top" class="body_colb" <%If NOT IsNull(rsCodeReviewURL("url")) Then Response.Write("colspan='6'")%>>Code Review URL for last non-ripple build (<a class="lbl_link" href="fixed_issues.asp?pv_id=<%=rsQry("pv_id")%>"><%=sOldPkgVersion%></a>)</td></tr><%If IsNull(rsCodeReviewURL("url")) Then%><tr><td bgcolor=#f5f5f5 width="100%" class="form_item" colspan="2"><span class='sublbox_txt'>No details found.</span></td></tr><%Else%><tr><td bgcolor=#e4e9ec class="form_field">URL</td><td bgcolor=#e4e9ec width="30%" class="form_field">Reason for Review</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Date of Review</td><td bgcolor=#e4e9ec nowrap width="1%" class="form_field">Last Modified</td><td bgcolor=#e4e9ec nowrap width="18px" class="form_field"></td><td bgcolor=#e4e9ec nowrap width="18px" class="form_field"></td></tr><%If ((NOT rsCodeReviewURL.BOF) AND (NOT rsCodeReviewURL.EOF)) ThenWhile ((NOT rsCodeReviewURL.BOF) AND (NOT rsCodeReviewURL.EOF))%><tr><%If (Left(rsCodeReviewURL("url"),4) = "http") Then%><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="<%=rsCodeReviewURL("url")%>" target="_blank" class="txt_linked"><%=rsCodeReviewURL("url")%></a></td><%Else%><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="<%=rsCodeReviewURL("full_url")%>" target="_blank" class="txt_linked"><%=rsCodeReviewURL("full_url")%></a></td><%End If%><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=rsCodeReviewURL("reason")%></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=rsCodeReviewURL("date_of_review")%></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><%=rsCodeReviewURL("last_modified")%></td><%If (scriptName = "fixed_issues.asp") AND objAccessControl.UserLogedIn AND (pageIsEditable OR (oldDlocked = "Y")) Then%><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="javascript:;" onclick="MM_openVixIFrame('_wform_edit_code_review_url.asp?pv_id=<%=rsCodeReviewURL("pv_id")%>&rtag_id=<%=parRtag_id%>&cr_id=<%=rsCodeReviewURL("cr_id")%>','Edit Code Review URL')" class="txt_linked"><img src="images/i_edit.gif" width="12" height="12" hspace="2" border="0" align="absmiddle" alt="Edit this code review URL"></a></td><td bgcolor=#f5f5f5 class="form_item" valign="top"><a href="_remove_code_review_url.asp?cr_id=<%=rsCodeReviewURL("cr_id")%>&pv_id=<%=rsCodeReviewURL("pv_id")%>&rtag_id=<%=parRtag_id%>" onclick="return vixConfirmDelete('this code review URL from Release Manager');"><img src="images/i_delete.gif" width="13" height="12" hspace="2" border="0" alt="Delete this code review URL"></a></td><%Else%><td bgcolor=#f5f5f5 class="form_item" valign="top"></td><td bgcolor=#f5f5f5 class="form_item" valign="top"></td><%End If%></tr><%rsCodeReviewURL.MoveNextWEndElse%><tr><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td><td bgcolor=#f5f5f5 class="form_item"></td></tr><%End IfEnd If%></table><%End If%></fieldset><br><!-- ADDITIONAL NOTES -------------------------------------------------------------------------------------------------------------------><fieldset class="fset"><legend class="body_colb"><img src="images/i_additional_notes.gif" width="26" height="20" hspace="4" border="0" align="absmiddle" alt="">Additional Notes</legend><div style="display: block;float: right;margin-top: -20px;background-color: #FFF;padding: 0 5px;"><%If pageIsEditable Then%><a href='javascript:;' onClick="MM_openVixIFrame('_wform_additional_note.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Additional Notes')" class="txt_linked">New Note<img src="images/i_new.gif" width="13" height="13" hspace="2" border="0" align="absmiddle" alt="Add new note."></a><%End If%></div><a name="ADDITIONAL_NOTES"></a><table width="100%" border="0" cellspacing="1" cellpadding="2"><%Set rsQry = OraDatabase.DbCreateDynaset( SQL_Additional_Notes ( parPv_id ), cint(0))%><%If rsQry.RecordCount < 1 Then%><tr><td class="form_field" width="100%" bgcolor=#f5f5f5> </td></tr><%End If%><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><tr><td width="100%" nowrap bgcolor=#e4e9ec class="body_col"><%If pageIsEditable Then%><a href="javascript:;" onClick="MM_openVixIFrame('_wform_update_additional_note.asp?note_id=<%=rsQry("note_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>','Update Note')" class="body_col"><img src="images/i_edit.gif" alt="Edit" width="12" height="12" hspace="3" vspace="3" border="0" align="absmiddle"><%=To_HTML (rsQry("note_title"))%></a><%Else%><%=To_HTML (rsQry("note_title"))%><%End If%></td><td width="1" bgcolor=#e4e9ec><%If pageIsEditable Then%><a href="_remove_additional_note.asp?note_id=<%=rsQry("note_id")%>&pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>" onClick="return vixConfirmDelete('this note');"><img src="images/i_delete.gif" alt="Remove this note." width="13" height="12" hspace="3" border="0"></a><%End If%></td></tr><tr><td colspan="2" bgcolor=#f5f5f5 class="sublbox_txt"><%=NewLine_To_BR( To_HTML ( rsQry("note_body") ) )%><br><span class="rep_small">Last Modified: <%=rsQry("lastmod")%></span></td></tr><tr><td colspan="2"><img src='images/spacer.gif' width='2' height='2'></td></tr><%rsQry.MoveNextWEnd%></table></fieldset><br><%End If%>