Rev 5958 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| AdminProjectStates |'| |'=====================================================%><%Option explicitResponse.Expires = 0%><!--#include file="common/globals.asp"--><!--#include file="common/config.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/_admin_projects_common.asp"--><%'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_general.asp"--><!--#include file="_access_control_admin_pages.asp"--><%'------------ VARIABLE DEFINITION -------------Dim rsQryDim iDim LastRowDim aStateCollectorDim parActionDim parState_idDim creatorAllocatedCount'------------ CONSTANTS DECLARATION -----------'------------ VARIABLE INIT -------------------parAction = Request("action")parState_id = Request("state_id")'------------ CONDITIONS ----------------------'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------------Sub GetStates ( aStateCollector, nProj_id )Dim rsQryOraDatabase.Parameters.Add "PROJ_ID", nProj_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("StateList.sql"), ORADYN_DEFAULT )If rsQry.RecordCount > 0 ThenaStateCollector = rsQry.GetRows()ElseaStateCollector = NULLEnd IfrsQry.CloseSet rsQry = NothingOraDatabase.Parameters.Remove "PROJ_ID"End Sub'--------------------------------------------------------------------------------------------------------------------------------Sub RenderStateTypesCombo( nStateType )Dim aStateTypes, i, Selected, xx'--- Get State Types from collectoraStateTypes = oEnumStateTypeNames.KeysResponse.write "<select name='state_type_enum' class='form_iname' >"For i = 0 To UBound( aStateTypes )' Select the currently selected entry' Disable the "BOM CREATORS" if it has already been selectedSelected = ""If aStateTypes(i) = nStateType ThenSelected = " selected"ElseIf creatorAllocatedCount > 0 AND CInt(aStateTypes(i)) = enumDB_STATE_TYPE_BOM_CREATOR ThenSelected = " disabled"End IfResponse.write "<option value='"& aStateTypes(i) &"'" & Selected & ">"&_oEnumStateTypeNames.Item ( aStateTypes(i) ) &_"</option>"NextResponse.write "</select>"End Sub'--------------------------------------------------------------------------------------------------------------------------------Sub RenderStateSeqCombo( nProj_id, nState_seq )Dim rsQry, SelectedOraDatabase.Parameters.Add "PROJ_ID", nProj_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("StateList.sql"), ORADYN_DEFAULT )Response.write "<select name='state_seq' class='form_iname'>"While (NOT rsQry.BOF) AND (NOT rsQry.EOF)Selected = ""If CInt(nState_seq) = CInt(rsQry("state_seq")) Then Selected = "selected"Response.write "<option value='"& rsQry("state_seq") &"' "& Selected &">"& rsQry("state_seq") &"</option>"rsQry.MoveNextWEndResponse.write "</select>"rsQry.CloseSet rsQry = NothingOraDatabase.Parameters.Remove "PROJ_ID"End Sub'--------------------------------------------------------------------------------------------------------------------------------Sub AddState ()On Error Resume NextOraDatabase.Parameters.Add "STATE_NAME", Request("state_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "PROJ_ID", Request("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "STATE_TYPE_ENUM", Request("state_type_enum"), ORAPARM_INPUT, ORATYPE_NUMBERobjEH.TryORA ( OraSession )OraDatabase.ExecuteSQL _"BEGIN pk_State.Add_State ( :STATE_NAME, :STATE_TYPE_ENUM, :PROJ_ID ); END;"objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "STATE_NAME"OraDatabase.Parameters.Remove "PROJ_ID"OraDatabase.Parameters.Remove "STATE_TYPE_ENUM"End Sub'--------------------------------------------------------------------------------------------------------------------------------Sub EditState ()On Error Resume NextOraDatabase.Parameters.Add "STATE_ID", Request("state_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "STATE_NAME", Request("state_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "STATE_SEQ", Request("state_seq"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "STATE_TYPE_ENUM", Request("state_type_enum"), ORAPARM_INPUT, ORATYPE_NUMBERobjEH.TryORA ( OraSession )OraDatabase.ExecuteSQL _"BEGIN pk_State.Update_State ( :STATE_ID, :STATE_NAME, :STATE_SEQ, :STATE_TYPE_ENUM ); END;"objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "STATE_ID"OraDatabase.Parameters.Remove "STATE_NAME"OraDatabase.Parameters.Remove "STATE_SEQ"OraDatabase.Parameters.Remove "STATE_TYPE_ENUM"End Sub'--------------------------------------------------------------------------------------------------------------------------------%><%'------------ RUN BEFORE PAGE RENDER ----------' --- Get Form details from DB ---' --- Load Validation Rules ---Call objForm.LoadValidationRules ( Array("state_name"), OraDatabase ) ' Load Validation Rules' --- Enter Form Validation Rule Changes here... ----'----------------------------------------------------' --- RUN onPostBack ---If Request("doit") <> "" ThenIf objForm.IsValidOnPostBack Then' --- Form is Valid ---Select Case Request("action")Case "new"Call AddState()Case "edit"Call EditState()End SelectIf objEH.Finally ThenCall OpenInWindow ( SCRIPT_NAME &"?"& objPMod.ComposeURL() )End IfEnd IfEnd If'----------------------------------------------%><html><head><title>Deployment 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 href="scripts/deployment_manager.css?ver=<%=VixVerNum%>" rel="stylesheet" type="text/css"><script language="JavaScript" src="scripts/common.js?ver=<%=VixVerNum%>"></script></head><body leftmargin="0" topmargin="0" <%If parAction <> "" Then%>onLoad="FormName.state_name.focus();"<%End If%>><!-- HEADER ++++++++++++++++ --><!--#include file="_header.asp"--><!-- +++++++++++++++++++++++ --><!-- MAIN MENU ++++++++++++++++++++++++++ --><!--#include file="_main_menu_admin.asp"--><!-- +++++++++++++++++++++++++++++++++++++ --><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%" valign="top" background="images/bg_bage_0.gif"><!-- ADMIN BROWSER ++++++++++++++++++++++ --><!--#include file="_admin_project_browser.asp"--><!-- END OF ADMIN BROWSER +++++++++++++++ --></td><td width="1" background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="600"></td><td width="100%" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%" valign="top" background="images/bg_darkbage.gif"></td><td width="100%" valign="bottom" background="images/bg_darkbage.gif"><!-- TAB CONTROLS ++++++++++++++++++++++ --><!--#include file="_tabs_definition.asp"--><%Set objTabControl = New TabControlobjTabControl.TemplateDoc = ReadFile( Server.MapPath("controls/ERGTabStyleWinXP/tab_style.html") ) ' Supply tab style definitionobjTabControl.TabStyle = "StyleWinXP"objTabControl.AddTabDefnition ( arrAdminProjectsTabDef )objTabControl.SelectByName ("States")objTabControl.Render ()%><!-- END OF TAB CONTROLS +++++++++++++++ --></td><td width="1%" background="images/bg_darkbage.gif"><img src="images/img_spanner.gif" width="190" height="55"></td></tr><tr><td background="images/bg_bage_0.gif"><img src="images/spacer.gif" width="30" height="10"></td><td background="images/bg_bage_0.gif"><!-- BUTTONS CONTROL +++++++++++++++++++ --><%'-- Define Action buttons on this tab'aTabBtnsDef = Array("abtnAddBranch")'Call LoadTabActionButtons ( aTabBtnsDef, objBtnControl )'objBtnControl.Render( aTabBtnsDef )%><!-- +++++++++++++++++++++++++++++++++++ --></td><td background="images/bg_darkbage.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="100%" background="images/bg_bage_0.gif"> </td><td width="1"><img src="images/p_bar_corrner.gif" width="17" height="42"></td></tr></table></td></tr><tr><td> </td><td><br><br><!-- Page Warnings --------------------------------------------------------------------- --><%Call GetStates ( aStateCollector, parProj_id )'--- Need to ensure that we have ( and only one ) "BOM CREATORS"' Scan all states and determine if it has been allocatedcreatorAllocatedCount = 0If NOT isNULL(aStateCollector) ThenDim xxFor xx = LBound(aStateCollector,2) to UBound(aStateCollector,2)If CInt(aStateCollector(3,xx)) = enumDB_STATE_TYPE_BOM_CREATOR ThencreatorAllocatedCount = creatorAllocatedCount + 1End IfNextEnd IfIf creatorAllocatedCount = 0 Then%><p class="msg_warning">Warning: At least one state must have a 'type' of BOM CREATOR to allow the creation of new BOMs</p><%ElseIf creatorAllocatedCount > 1 Then%><p class="msg_warning">Warning: Multiple states with 'type' of BOM CREATOR</p><%End If%><!-- PAGE DETAILS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><table width="100%" border="0" cellspacing="0" cellpadding="0"><form name="FormName" method="post" action="<%=SCRIPT_NAME%>" onSubmit="ShowProgress();"><tr><td background="images/bg_bage_0a.gif"><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td width="1" background="images/bg_bage_0.gif"></td><td width="1%" background="images/bg_bage_0.gif" class="body_col" nowrap>Release Sequence</td><td width="20%" background="images/bg_bage_0.gif" class="body_col" nowrap>State Name</td><td width="80%" background="images/bg_bage_0.gif" class="body_col" nowrap>State Type</td><td background="images/bg_bage_0.gif"> </td></tr><%If NOT IsNull(aStateCollector) ThenLastRow = Ubound( aStateCollector, 2 )For i = 0 To LastRow%><%If parAction = "" Then%><!-- NORMAL ROW +++++++++++++++++++ --><tr><td background="images/bg_bage_0.gif" align="center"></td><td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(2, i)%></td><td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(1, i)%></td><td bgcolor="#FFFFFF" class="body_row"><%=oEnumStateTypeNames.Item( aStateCollector(3, i) )%></td><td align="center" nowrap background="images/bg_bage_0.gif"><a href="<%=SCRIPT_NAME%>?action=edit&state_id=<%=aStateCollector(0, i)%>&<%=objPMod.ComposeURL()%>"><%=LIMG_EDIT%></a><a href="_RemoveState.asp?rfile=<%=SCRIPT_NAME%>&state_id=<%=aStateCollector(0, i)%>&<%=objPMod.ComposeURL()%>" onClick="return confirmAction('Remove \'<%=aStateCollector(1, i)%>\' from this list?');"><%=LIMG_REMOVE%></a></td></tr><!-- +++++++++++++++++++++++++++++++++ --><%Else%><%If CStr(aStateCollector(0, i)) <> parState_id Then%><!-- JUST DATA ROW +++++++++++++++++++ --><tr><td background="images/bg_bage_0.gif" align="center"></td><td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(2, i)%></td><td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(1, i)%></td><td bgcolor="#FFFFFF" class="body_row" nowrap><%=oEnumStateTypeNames.Item( aStateCollector(3, i) )%></td><td align="center" nowrap background="images/bg_bage_0.gif"> </td></tr><!-- +++++++++++++++++++++++++++++++++ --><%Else%><!-- EDIT ROW ++++++++++++++++++++++++ --><input type="hidden" name="action" value="edit"><tr><td background="images/bg_bage_0.gif" align="center" valign="top"><%=LIMG_POINTER%></td><td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateSeqCombo( parProj_id, aStateCollector(2, i) ) %></td><td background="images/bg_note.gif" class="body_row" valign="top"><input type="text" name="state_name" class='form_iname' value="<%=objForm.GetValue( "state_name", aStateCollector(1, i) )%>"><%=objForm.Validate ("state_name")%></td><td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateTypesCombo( aStateCollector(3, i) )%></td><td background="images/bg_note.gif" align="center" valign="top" nowrap><%=LIMG_ROW_SUBMIT%><a href="<%=SCRIPT_NAME%>?<%=objPMod.ComposeURL()%>" ><%=LIMG_ROW_CANCEL%></a></td></tr><!-- +++++++++++++++++++++++++++++++++ --><%End If%><%End If%><%NextEnd If%><!-- NEW ENTRY ROW FORM ++++++++++++++ --><%If parAction = "new" Then%><input type="hidden" name="action" value="new"><tr><td background="images/bg_bage_0.gif" align="center" valign="top"><%=LIMG_POINTER%></td><td background="images/bg_note.gif" class="body_row" valign="top"></td><td background="images/bg_note.gif" class="body_row" valign="top"><input type="text" name="state_name" class='form_iname' value="<%=Request("state_name")%>"><%=objForm.Validate ("state_name")%></td><td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateTypesCombo( NULL )%></td><td background="images/bg_note.gif" align="center" nowrap valign="top"><%=LIMG_ROW_SUBMIT%><a href="<%=SCRIPT_NAME%>?<%=objPMod.ComposeURL()%>" ><%=LIMG_ROW_CANCEL%></a></td></tr><%End If%><!-- +++++++++++++++++++++++++++++++++ --><!-- NEW ENTRY BUTTON ++++++++++++++++ --><%If parAction = "" Then%><tr><td background="images/bg_bage_0.gif" align="center"><a href="<%=SCRIPT_NAME%>?action=new&<%=objPMod.ComposeURL()%>"><%=LIMG_NEW_ENTRY%></a></td><td bgcolor="#FFFFFF" class="body_row"> </td><td bgcolor="#FFFFFF" class="body_row"> </td><td bgcolor="#FFFFFF" class="body_row"> </td><td bgcolor="#FFFFFF"> </td></tr><%End If%><!-- +++++++++++++++++++++++++++++++++ --></table></td></tr><%=objPMod.ComposeHiddenTags()%><input type="hidden" name="state_id" value="<%=parState_id%>"><input type="hidden" name="doit" value="true"></form></table></td><td valign="top"></td></tr></table><!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --></td></tr><tr><td background="images/bg_bage_0a.gif"><img src="images/spacer.gif" width="200" height="15"></td><td background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="1"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="20"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- FOOTER ++++++++++++++++ --><!--#include file="_footer.asp"--><!-- +++++++++++++++++++++++ --></body></html>