Rev 6268 | Rev 6579 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| Edit/View Build Configuration |'| |'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/_form_window_common.asp"--><!--#include file="_action_buttons.asp"--><!--#include file="class/classActionButtonControl.asp"--><!--#include file="common/common_daemon.asp"--><% objPMod.PersistInQryString("proj_id") %><% '------------ ACCESS CONTROL ------------------ %><!--#include file="_access_control_login_optional.asp"--><!--#include file="_access_control_general.asp"--><!--#include file="_access_control_action_project.asp"--><%'------------ Variable Definition -------------Dim objSortHelperDim rsQryDim parRtagIdDim query_stringDim objBtnControlDim rcon_idDim masterCountDim toolsetWarning'------------ Constants Declaration -----------'------------ Variable Init -------------------parRtagId = Request("rtag_id")objPMod.PersistInQryString("rtag_id")Set objBtnControl = New ActionButtonControl'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------Sub GetFormDetails ( parRtagId, ByRef outobjDetails )Dim rsQry, queryOraDatabase.Parameters.Add "RTAG_ID", parRtagId, ORAPARM_INPUT, ORATYPE_NUMBERquery = _" SELECT * "&_" FROM RELEASE_TAGS rt"&_" WHERE rt.RTAG_ID = :RTAG_ID"Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )OraDatabase.Parameters.Remove "RTAG_ID"If rsQry.RecordCount > 0 ThenoutobjDetails.Item ("rtag_id") = rsQry("rtag_id")outobjDetails.Item ("rtag_name") = rsQry("rtag_name")ElseErr.Raise 8, "Sub GetFormDetails in "& ScriptName, "Empty record set returned. parRtagId="& parRtagIdEnd IfrsQry.CloseSet rsQry = NothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub DeleteDaemon(rcon_id_list)OraDatabase.Parameters.Add "RCON_ID_LIST", rcon_id_list, ORAPARM_INPUT, ORATYPE_VARCHAR2On Error Resume NextobjEH.TryORA()OraDatabase.ExecuteSQL "BEGIN PK_BUILDAPI.DELETE_DAEMON(:RCON_ID_LIST); END;"objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "RCON_ID_LIST"End Sub'--------------------------------------------------------------------------------------------------------------------------Sub RemoveDaemon(rcon_id_list)OraDatabase.Parameters.Add "RCON_ID_LIST", rcon_id_list, ORAPARM_INPUT, ORATYPE_VARCHAR2On Error Resume NextobjEH.TryORA()OraDatabase.ExecuteSQL "BEGIN PK_BUILDAPI.REMOVE_DAEMON(:RCON_ID_LIST); END;"objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "RCON_ID_LIST"End Sub'--------------------------------------------------------------------------------------------------------------------------Sub CheckMasterConfig()Dim rsQry, queryOraDatabase.Parameters.Add "RTAG_ID", parRtagId, ORAPARM_INPUT, ORATYPE_NUMBER'' Check that there is exacly one master in the build setquery = _"SELECT COUNT (rc.daemon_mode) as masterCount" &_" FROM release_manager.release_config rc, release_manager.run_level rl" &_" WHERE rc.rtag_id = :RTAG_ID" &_" AND rl.RCON_ID = rc.RCON_ID" &_" AND rc.bmcon_id is not NULL" &_" GROUP BY rc.daemon_mode" &_" HAVING rc.daemon_mode = 'M'"Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )If rsQry.RecordCount > 0 ThenmasterCount = rsQry("masterCount")End IfrsQry.CloseSet rsQry = NothingIf bGetApplication("CheckToolset", TRUE) Then'' Check that each GBE_MACHTYPE has exactly one instance where the BUILDFILTER contains' a TOOLSET builder. The test is a bit sloppyquery = _"SELECT * from ( " &_"SELECT GBE_ID, COUNT(hasToolset) as ToolsetCount " &_"FROM " &_" (SELECT bc.GBE_ID, " &_" CASE " &_" WHEN INSTR(rc.GBE_BUILDFILTER, 'TOOLSET') > 0 " &_" THEN 1 " &_" ELSE NULL " &_" END AS hasToolset " &_" FROM release_manager.release_config rc, " &_" BUILD_MACHINE_CONFIG bc " &_" WHERE rc.rtag_id = :RTAG_ID " &_" AND rc.bmcon_id IS NOT NULL " &_" AND bc.bmcon_id = rc.bmcon_id " &_" ) " &_"GROUP BY GBE_ID ) " &_"Where ToolsetCount != 1 "Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )toolsetWarning = rsQry.RecordCount > 0rsQry.CloseSet rsQry = NothingEnd IfOraDatabase.Parameters.Remove "RTAG_ID"End Sub%><%'------------ RUN BEFORE PAGE RENDER ----------' --- Get Form details from DB ---Call GetFormDetails ( Request("rtag_id"), objFormCollector )' --- Enter Form Validation Rule Changes here... ----'----------------------------------------------------' --- RUN onPostBack ---If Request("action") <> "" AND objAccessControl.UserLogedIn ThenIf objForm.IsValidOnPostBack ThenIf canActionControlInProject("BuildConfiguration") ThenIf Request("btn") = "Delete" ThenCall DeleteDaemon(Request("rcon_id_list"))ElseIf Request("btn") = "Unlink" ThenCall RemoveDaemon(Request("rcon_id_list"))End IfEnd IfIf objEH.Finally ThenCall OpenInWindow ( "release_config.asp?rtag_id="& parRtagId )End IfEnd IfEnd IfCall CheckMasterConfig()'----------------------------------------------%><html><head><title>Release Manager</title><link rel="shortcut icon" href="<%=FavIcon%>"/><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><!--#include file="_jquery_includes.asp"--><!-- DROPDOWN MENUS --><!--#include file="_menu_def.asp"--><script language="JavaScript1.2" src="images/popup_menu.js"></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0"><!-- HEADER --><!--#include file="_header.asp"--><!-- BODY ----><table width="100%" border="0" cellspacing="0" cellpadding="0"><%'-- FROM START ---------------------------------------------------------------------------------------------------------objFormComponent.FormName = "FormName"objFormComponent.Action = ScriptNameCall objFormComponent.FormStart()%><tr><td width="146px" class="panel_bg" valign="top"><%Call BuildMenuPane%></td><td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF"><table width="10" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%"></td><td width="100%"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td nowrap class="body_txt"></td></tr></table><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td nowrap class="form_ttl"><p> </p><p><%If canActionControlInProject("BuildConfiguration") Then%>ADMINISTER<%Else%>VIEW<%End If%>BUILD CONFIGURATION</p></td><td align="right" valign="bottom"></td></tr></table></td><td width="1%"></td></tr><tr><td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td><td background="images/lbox_bg_blue.gif" class="lbox_ttl_w"><img src="images/h_trsp_dot.gif" width="600" height="15"></td><td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td></tr><tr><td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td><td bgcolor="#FFFFFF" valign="top"><!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ --><!--#include file="messages/_msg_inline.asp"--><!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><br><!-- BUTTONS CONTROL +++++++++++++++++++ --><%If canActionControlInProject("BuildConfiguration") ThenCall Action_Buttons ( "Add Daemon" )End If' Load some action buttonsCall objBtnControl.LoadActionButtons ( Array("btnEditDaemon", "btnRemoveDaemon", "btnDeleteDaemon"), OraDatabase )objBtnControl.ButtonSpacer = 1%><!-- +++++++++++++++++++++++++++++++++++ --><table width="100%" border="0" cellspacing="2" cellpadding="0"></td><td width="9%" valign="top"></td></tr><tr><td valign="top" nowrap background="images/bg_table_col.gif" class="body_col"></td><td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">DAEMON HOST</td><td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">GBE_MACHTYPE</td><td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">DAEMON MODE</td><td valign="top" wrap background="images/bg_table_col.gif" class="body_col">GBE_BUILDFILTER</td><%If canActionControlInProject("BuildConfiguration") Then%><td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">ACTION</td><%End If%><td valign="top"></tr><%query_string = "select rcon_id, display_name, rc.bmcon_id, daemon_mode, gbe_value, gbe_buildfilter, NVL(active, 'U') as ACTIVE " &_" from release_manager.release_config rc," &_" release_manager.build_machine_config bm," &_" release_manager.gbe_machtype gbe" &_" where rc.rtag_id=" & parRtagId &_" and rc.bmcon_id=bm.bmcon_id(+)" &_" and rc.gbe_id=gbe.gbe_id" &_" order by daemon_mode, bm.display_name"Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )Dim daemon_mode, daemon, cbtype, bActive, bInactiveMachine, dClassbInactiveMachine = falsecbtype = "hidden"If canActionControlInProject("BuildConfiguration") Thencbtype = "checkbox"End If'--- Render rows ---Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)rcon_id = rsQry("rcon_id")daemon = rsQry("display_name")If IsNull(daemon) Thendaemon = ""End IfIf rsQry("daemon_mode") = "M" Thendaemon_mode = "MASTER"Elsedaemon_mode = "SLAVE"End IfbActive = rsQry("active")dClass = ""If bActive = "N" ThenbInactiveMachine = truedClass = " err_alert strike"End If%><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td valign="top" align="center"><input type=<%=cbtype%> name="rcon_id_list" value="<%=rsQry("rcon_id")%>"></td><td valign="top" nowrap class="body_rowg<%=dClass%>"><%=daemon%></td><td valign="top" nowrap class="body_rowg"><%=rsQry("gbe_value")%></td><td valign="top" nowrap class="body_rowg"><%=daemon_mode%></td><td valign="top" wrap class="body_rowg"><%=rsQry("gbe_buildfilter")%></td><%If canActionControlInProject("BuildConfiguration") Then%><td valign="top" nowrap class="body_rowg"><%Call objBtnControl.Render ( Array("btnEditDaemon", "btnRemoveDaemon", "btnDeleteDaemon"), objAccessControl )%></td><%End If%></tr><%rsQry.MoveNextLooprsQry.Close()Set rsQry = nothing%></table></td><td background="images/lbox_bgside_white.gif"> </td></tr><%If masterCount <> 1 OR toolsetWarning OR bInactiveMachine Then %><tr class="form_error form_btn"><td></td><td style="padding: 10px;"><table class="full_table form_error"><%If masterCount <> 1 Then %><tr><td nowrap class="err_alert">Error<td class="body_rowg"> The set of Build Machines must have exactly one Master.</tr><%End If%><%If bInactiveMachine Then %><tr><td nowrap class="err_alert">Error<td class="body_rowg">One or more of the Build Machines have been deprecated and no longer available for use.</tr><%End If%><%If toolsetWarning Then %><tr><td nowrap class="err_alert">Warning<td class="body_rowg">There should be one TOOLSET builder within each set of machines with the same GBE_MACHTYPE.</tr><%End If%></tr></table></td><td></td></tr><%End If%><tr><!-- ACTION BUTTONS ----------------------------------------------><td background="images/bg_action_norm.gif" ></td><td align="right" background="images/bg_action_norm.gif" ><%=objFormComponent.CancelButton ( "OK", "class='form_btn'", "build_status.asp?rtag_id="& parRtagId )%><%=objPMod.ComposeHiddenTags()%><%If canActionControlInProject("BuildConfiguration") Then%><input name="btn" type="submit" class="form_btn" value="Unlink"><input name="btn" type="submit" class="form_btn" value="Delete"><%End If%><input type="hidden" name="rcon_id_list" value="<%=Request("rcon_id_list")%>"><input type="hidden" name="action" value="true"></td><td background="images/bg_action_norm.gif" ><img src="images/h_trsp_dot.gif" width="5" height="30"></td><!-- ACTION BUTTONS END ------------------------------------------></td></tr><tr><td background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td><td background="images/lbox_bg_blue.gif"></td><td background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td></tr></table><td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td></tr><tr><td valign="bottom" align="center" background="images/bg_home_orange.gif"><img src="images/img_gear.gif" width="86" height="99" vspace="20" hspace="30"></td><td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td></tr><%Call objFormComponent.FormEnd()'-- FROM END ----------------------------------------------------------------------------------------------------------------%></table><!-- FOOTER --><!--#include file="_footer.asp"--></body></html>