Rev 177 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%Option explicitResponse.Expires = 0 ' always load the page, dont store'To enable the script timeout to 10 minsServer.ScriptTimeout=600%><%'=====================================================' New Patch'=====================================================%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/common_dbedit.asp"--><!--#include file="common/_popup_window_common.asp"--><%'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_login.asp"--><!--#include file="_access_control_general.asp"--><!--#include file="_access_control_project.asp"--><%'------------ Variable Definition -------------Dim parPv_idDim pkg_nameDim view_idDim patch_versionDim rsQryDim patch_numberDim posDim newPatch_versionDim fs, f, iDim objNetwork, strDriveLetter, strRemotePath, strUser, strPassword, strProfile, CheckDriveDim skip, AlreadyConnectedDim newPatchId'------------ Constants Declaration -----------'------------ Variable Init -------------------parPv_id = QStrPar("pv_id")strDriveLetter = "R:"strUser = "releasem"strPassword = "releasem"strProfile = "False" ' means do not store in profile leave as false.AlreadyConnected = False'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------Function SearchAndReplace(s, Str1, Str2)Dim poss = s & "" 'Fix Nullpos = InStr(s, Str1)If pos > 0 Thens = Mid(s, 1, pos - 1) & Str2 & Mid(s, pos + Len(Str1))End IfSearchAndReplace = sEnd Function'--------------------------------------------------------------------------------------------------Sub Auto_Add_Patch (NNpv_id, patchId, sspatchversion, newPatchId)On Error Resume NextOraDatabase.Parameters.Add "PATCH_VERSION", SSpatchversion, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PATCH_ID_LIST", patchId, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", Request("rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "VIEW_ID", view_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RET_PATCH_ID", 0, ORAPARM_OUTPUT, ORATYPE_NUMBERobjEH.TryORA ( OraSession )OraDatabase.ExecuteSQL _"BEGIN "&_" PK_PACKAGE.NEW_PATCH( :PATCH_VERSION, :PV_ID, :PATCH_ID_LIST, :USER_ID, :RET_PATCH_ID ); "&_"END; "'" PK_ENVIRONMENT.ADD_PACKAGE ( :RET_PATCH_ID, :VIEW_ID, :RTAG_ID, :USER_ID ); "&_objEH.CatchORA ( OraSession )newPatchId = OraDatabase.Parameters("RET_PATCH_ID").ValueOraDatabase.Parameters.Remove "PATCH_VERSION"OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "PATCH_ID_LIST"OraDatabase.Parameters.Remove "USER_ID"OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "VIEW_ID"OraDatabase.Parameters.Remove "RET_PATCH_ID"End Sub'--------------------------------------------------------------------------------------------------Sub AutoWrite_Reason (patchId, newPatchId)On Error Resume NextDim rsTemp, filename, textdata, pos1, pos2, rsQrySet rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PACKAGES PKG WHERE PKG.PKG_ID = PV.PKG_ID AND PV.PV_ID ="&patchId, ORADYN_DEFAULT)Set fs=Server.CreateObject("Scripting.FileSystemObject")'Rupesh Testing StartSet objNetwork = CreateObject("WScript.Network")Set CheckDrive = objNetwork.EnumNetworkDrives()For i = 0 To CheckDrive.Count - 1 Step 2If CheckDrive.Item(i) = strDriveLetter Then AlreadyConnected = TrueNextIf AlreadyConnected = True thenobjNetwork.RemoveNetworkDrive strDriveLetterEnd IfobjNetwork.MapNetworkDrive strDriveLetter, strRemotePath, strProfile, strUser, strPasswordfilename = Mid(rsTemp("v_ext"), 2, len(rsTemp("v_ext"))) + "."filename = filename + rsTemp("pkg_name") + "."filename = filename + Mid(rsTemp("pkg_version"), 1, len(rsTemp("pkg_version")) - 4)filename = filename + ".sh"Set f=fs.OpenTextFile(""&strDriveLetter&"\"&rsTemp("pkg_name")&"\"&rsTemp("pkg_version")&"\scripts\"&filename&"", 1)textdata = f.ReadAllpos1 = Instr(textdata, "PATCH_ENV1=")pos2 = Instr(textdata, "PATCH_DATE")rsTemp.Close()Set rsTemp = nothingSet rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS WHERE PV_ID ="&newPatchId, ORADYN_DEFAULT )rsTemp.EditrsTemp.Fields("COMMENTS").Value = "Schema Patch - "&Mid(textdata, pos1+11, pos2-(pos1+11))rsTemp.Fields("PV_OVERVIEW").Value = rsTemp.Fields("PV_DESCRIPTION").ValuersTemp.Fields("IS_BUILD_ENV_REQUIRED").Value = "N"Set rsQry = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGES WHERE PKG_ID ="&rsTemp("pkg_id"), ORADYN_DEFAULT )rsTemp.Fields("PKG_LABEL").Value = UCase( Replace(rsTemp("V_EXT"), ".", "") ) &"_"& UCase(rsQry("pkg_name")) &"_R_"& Format_Version( rsTemp("pkg_version"), rsTemp("V_EXT") )rsTemp.Updatef.Close()objNetwork.RemoveNetworkDrive strDriveLetterSet f = NothingSet fs = NothingSet objNetwork= NothingrsTemp.Close()Set rsTemp = NothingrsQry.Close()Set rsQry = NothingEnd Sub'--------------------------------------------------------------------------------------------------Sub Add_Patch ( NNpv_id, SSpatchversion )On Error Resume NextOraDatabase.Parameters.Add "PATCH_VERSION", SSpatchversion, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PATCH_ID_LIST", Request("patch_id_list"),ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", Request("rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "VIEW_ID", view_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RET_PATCH_ID", 0, ORAPARM_OUTPUT,ORATYPE_NUMBERobjEH.TryORA ( OraSession )OraDatabase.ExecuteSQL _"BEGIN "&_" PK_PACKAGE.NEW_PATCH( :PATCH_VERSION, :PV_ID, :PATCH_ID_LIST, :USER_ID, :RET_PATCH_ID ); "&_"END; "'" PK_ENVIRONMENT.ADD_PACKAGE ( :RET_PATCH_ID, :VIEW_ID, :RTAG_ID, :USER_ID ); "&_objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "PATCH_VERSION"OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "PATCH_ID_LIST"OraDatabase.Parameters.Remove "USER_ID"OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "VIEW_ID"OraDatabase.Parameters.Remove "RET_PATCH_ID"End Sub'-----------------------------------------------------------------------------------------Sub Auto_Patch (NNpv_id, SSpatchversions)On Error Resume NextDim posComma, posUnderscore, patchId, sspatchversion, valueIf IsNull(SSpatchversions) OR SSpatchversions = "" ThenCall RaiseMsg(enum_WMSG_ERROR, "Must select at least one Auto Package to perform AutoFill")Elsevalue = SSpatchversionsposComma = InStr(SSpatchversions, ",")While posComma <> 0value = Mid(SSpatchversions, 1, posComma-1)posUnderscore = Instr(value, "_")If (posUnderscore > 1) ThenpatchId = Mid(value, 1, posUnderscore - 1)sspatchversion = Mid(value, posUnderscore + 1, posComma-1)Call Auto_Add_Patch (NNpv_id, patchId, sspatchversion, newPatchId)Call AutoWrite_Reason (patchId, newPatchId)Call Insert_NOT_DONE_Unit_Test (newPatchId)End IfSSpatchversions = Mid(SSpatchversions, posComma + 1, Len(SSpatchversions))posComma = InStr(SSpatchversions, ",")WendIf posComma = 0 ThenposUnderscore = Instr(SSpatchversions, "_")If posUnderscore > 1 ThenpatchId = Mid(SSpatchversions, 1, posUnderscore - 1)sspatchversion = Mid(SSpatchversions, posUnderscore + 1)Call Auto_Add_Patch (NNpv_id, patchId, sspatchversion, newPatchId)Call AutoWrite_Reason(patchId, newPatchId)Call Insert_NOT_DONE_Unit_Test (newPatchId)End IfEnd ifEnd ifEnd Sub'-----------------------------------------------------------------------------------------Sub Get_Parent_Details ( NNpv_id, nRtagId, outPkg_name, outDefPatchVersion, outViewId )Dim rsTemp, Query_String, tempVersion, V_EXTOraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", nRtagId, ORAPARM_INPUT, ORATYPE_NUMBERQuery_String = _" SELECT pkg.pkg_name, pv.pkg_version, pv.V_EXT, rc.BASE_VIEW_ID"&_" FROM package_versions pv, "&_" packages pkg,"&_" RELEASE_CONTENT rc"&_" WHERE pv.pkg_id = pkg.pkg_id "&_" AND pv.pv_id = :PV_ID"&_" AND rc.RTAG_ID = :RTAG_ID"&_" AND rc.PV_ID = pv.PV_ID"Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "RTAG_ID"'update fieldsIf ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) ThenoutPkg_name = rsTemp("pkg_name")tempVersion = rsTemp("pkg_version")outViewId = rsTemp("base_view_id")V_EXT = rsTemp("V_EXT")End IfrsTemp.Close()Set rsTemp = nothingIf IsNull(V_EXT) Then V_EXT = ""outDefPatchVersion = Replace( tempVersion, V_EXT, "" ) &".pXXX"& V_EXTEnd Sub'------------------------------------------------------------------------------------------------Sub Insert_NOT_DONE_Unit_Test (nPv_id)' IN PARAMETERSOraDatabase.Parameters.Add "PV_ID", nPv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "TEST_TYPE_ID", enumTEST_TYPE_NOT_DONE, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "TEST_SUMMARY", NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "NUMOF_TEST", NULL, ORAPARM_INPUT, ORATYPE_CHAROraDatabase.Parameters.Add "DPKG_PATH", NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "RESULTS", NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "COMPLETION_DATE", EuroDate ( Date ), ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "COMPLETED_BY", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "enumTEST_TYPE_AUTOMATIC", NULL, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "enumTEST_TYPE_NOT_DONE", NULL, ORAPARM_INPUT, ORATYPE_NUMBER' OUT PARAMETERSOraDatabase.Parameters.Add "FILENAME", NULL, ORAPARM_OUTPUT, ORATYPE_VARCHAR2objEH.TryORA ( OraSession )On Error Resume NextOraDatabase.ExecuteSQL _"BEGIN New_Unit_Test ( :PV_ID,"&_" :TEST_TYPE_ID,"&_" :TEST_SUMMARY,"&_" :NUMOF_TEST,"&_" :DPKG_PATH,"&_" :RESULTS,"&_" :COMPLETION_DATE,"&_" :COMPLETED_BY,"&_" :enumTEST_TYPE_AUTOMATIC, "&_" :enumTEST_TYPE_NOT_DONE, "&_" :FILENAME "&_" ); END;"objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "TEST_TYPE_ID"OraDatabase.Parameters.Remove "TEST_SUMMARY"OraDatabase.Parameters.Remove "NUMOF_TEST"OraDatabase.Parameters.Remove "DPKG_PATH"OraDatabase.Parameters.Remove "RESULTS"OraDatabase.Parameters.Remove "COMPLETION_DATE"OraDatabase.Parameters.Remove "COMPLETED_BY"OraDatabase.Parameters.Remove "enumTEST_TYPE_AUTOMATIC"OraDatabase.Parameters.Remove "enumTEST_TYPE_NOT_DONE"OraDatabase.Parameters.Remove "FILENAME"End Sub'------------------------------------------------------------------------------------------------%><%'Process submitionDim sarchive_server: sarchive_server = Get_Archive_Server()strRemotePath = "\\" & sarchive_server & "\dpkg_archive"Call Get_Parent_Details ( Request("pv_id"), Request("rtag_id"), pkg_name, patch_version, view_id )If CBool(QStrPar("action")) AND objAccessControl.UserLogedIn ThenIf Request("btn") = "AutoFill" ThenCall Auto_Patch (parPv_id, Request("auto_patch_id_list") )ElseCall Add_Patch ( parPv_id, Request("FRversion") )End IfIf objEH.Finally ThenCall OpenInParentWindow ( "patches.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id )Call CloseWindowEnd IfEnd If%><html><head><script language="javascript">function checkAllManual(){var args = arguments;start_point:for (var i=0;i<document.forms[0].elements.length;i++){found = false;var e=document.forms[0].elements[i];if ((e.name != 'checkallmanual') && (e.type=='checkbox')){for (var j = 0; j < args.length; j++)if (args[j] == e.name)continue start_point;e.checked=document.forms[0].checkallmanual.checked;}}}function checkAllAuto(){var args = arguments;start_point:for (var i=0;i<document.forms[0].elements.length;i++){found = false;var e=document.forms[0].elements[i];if ((e.name != 'checkallauto') && (e.type=='checkbox')){for (var j = 0; j < args.length; j++)if (args[j] == e.name)continue start_point;e.checked=document.forms[0].checkallauto.checked;}}}</script><title>Release Manager</title><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="images/release_manager_style.css" type="text/css"><link rel="stylesheet" href="images/navigation.css" type="text/css"><script language="JavaScript" src="images/common.js"></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="self.focus();document.ptch.FRversion.focus();"><form name="ptch" method="post" action="<%=scriptName%>" onSubmit="MM_validateForm('FRversion','Patch Version','RisPatchVersionStr');return document.MM_returnValue;"><table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%"><%OraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("UnusedPatches.sql"), cint(0))%><tr><td background="images/lbox_bg_orange.gif" width="1%" height="1%"><img src="images/i_new_pkg_off.gif" width="21" height="23" hspace="5" border="0"></td><td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl"> New Patch</td><td background="images/lbox_bg_blue.gif" align="right" width="50%"><%If rsQry.RecordCount > 0 Then%><input type="submit" name="btn" value="AutoFill" class="form_btn_comp"><%End If%><input type="submit" name="btn" value="Submit" class="form_btn_comp"><input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="self.close()"></td><td background="images/lbox_bg_blue.gif" align="right" width="1%%" nowrap><img src="images/h_trsp_dot.gif" width="5" height="22"></td></tr><tr><td height="100%" width="1%"> </td><td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif"><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td width="1%" nowrap background="images/bg_form_lightbluedark.gif" class="form_field" colspan="2">Package</td><td width="100%" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=pkg_name%></td></tr><tr><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field" colspan="2">Patch Version</td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><input name="FRversion" type="text" class="form_item" size="30" maxlength="50" value="<%=patch_version%>"></td></tr><!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ --><%If NOT objEH.Finally Then%><tr><td class="form_iname" colspan="2"> </td><td><%objEH.DisplayMessage()%></td></tr><%End If%><!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><!-- INCLUDE DEPENDENCY PATCHES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%If rsQry.RecordCount > 0 Then%><tr><td nowrap class="body_colb" colspan="3"><br><br>Include Dependency Patches</td></tr><tr><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Manual</td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Package</td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Patch Version</td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Auto</td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Package</td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Patch Version</td></tr><tr><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field"><INPUT type=checkbox name="checkallmanual" value="Check All"onClick="checkAllManual('auto_patch_id_list', 'checkallauto');"></td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field"></td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field"></td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field"><INPUT type=checkbox name="checkallauto" value="Check All"onClick="checkAllAuto('patch_id_list', 'checkallmanual');"></td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field"></td><td nowrap background="images/bg_form_lightbluedark.gif" class="form_field"></td></tr><%End If%><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))newPatch_version = patch_versionpos = InStr(rsQry("pkg_version"), "p")patch_number = Mid(rsQry("pkg_version"), pos+1, 3)newPatch_version = SearchAndReplace(newPatch_version, "XXX", patch_number)%><tr><td><input type="checkbox" name="patch_id_list" value="<%=rsQry("patch_id")%>"></td><td nowrap class="form_txt"><%=rsQry("pkg_name")%></td><td nowrap class="form_txt"><%=rsQry("pkg_version")%></td><td><input type="checkbox" name="auto_patch_id_list" value="<%=rsQry("patch_id")%>_<%=newPatch_version%>"></td><td nowrap class="form_txt"><font color="#808080"><b><%=pkg_name%></b></font></td><td nowrap class="form_txt"><font color="#808080"><b><%=newPatch_version%></b></font></td></tr><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = nothing%><!-- INCLUDE PACKAGES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("UnusedPackages.sql"), cint(0))%><%If rsQry.RecordCount > 0 Then%><tr><td nowrap class="body_colb" colspan="3"><br><br>Include Latest Packages</td></tr><tr><td width="1%" background="images/bg_form_lightbluedark.gif"> </td><td width="1%" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Package</td><td width="100%" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Patch Version</td></tr><%End If%><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><tr><td><input type="checkbox" name="patch_id_list" value="<%=rsQry("latest_pv_id")%>"></td><td nowrap class="form_txt"><%=rsQry("pkg_name")%></td><td nowrap class="form_txt"><%=rsQry("pkg_version")%></td></tr><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = nothing%><%OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "RTAG_ID"%></table></td></tr><tr><td height="1%" width="1%"><img src="images/h_trsp_dot.gif" width="5" height="5"></td><td valign="top" nowrap colspan="3" class="wform_ttl" background="images/lbox_bg_blue.gif"></td></tr></table><input type="hidden" name="pv_id" value="<%=parPv_id%>"><input type="hidden" name="rtag_id" value="<%=parRtag_id%>"><input type="hidden" name="action" value="true"></form></body></html><!-- DESTRUCTOR -------><!--#include file="common/destructor.asp"-->