Subversion Repositories DevTools

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                                wEditOs                                                |
'|                                                   |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<!--#include file="common/globals.asp"-->
<!--#include file="common/config.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/_popup_window_common.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ VARIABLE DEFINITION -------------
Dim parBos_id
Dim parOs_id_list
Dim rsQry
Dim objFormCollector
Dim objBomCollector
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------

Call GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
parNode_id = dbPARnode_id

parBos_id = Request("bos_id")
parOs_id_list = Request("os_id_list")
Set objFormCollector = CreateObject("Scripting.Dictionary")
Set objBomCollector = CreateObject("Scripting.Dictionary")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( ByRef outobjDetails )
        Dim rsQry, query
        
        If parOs_id_list <> "" Then
                
                OraDatabase.Parameters.Add "OS_ID",  parOs_id_list, ORAPARM_INPUT, ORATYPE_NUMBER 
                
                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("OsDetails.sql"), ORADYN_DEFAULT )
                
                If rsQry.RecordCount > 0 Then
                        outobjDetails.Item ("os_id")   = rsQry("os_id")
                        outobjDetails.Item ("os_name") = rsQry("os_name")
                        outobjDetails.Item ("os_comments") = rsQry("os_comments")
                        outobjDetails.Item ("node_spec_file") = rsQry("node_spec_file")
                        outobjDetails.Item ("base_env_id") = rsQry("base_env_id")
                        outobjDetails.Item ("base_env_name") = rsQry("base_env_name")
                        outobjDetails.Item ("not_xml") = rsQry("not_xml")
                        
                Else
                        Err.Raise 8, "Sub GetFormDetails", "Empty record set returned. nOs_id="& nOs_id
                        
                End If
                
                OraDatabase.Parameters.Remove "OS_ID"
                
                rsQry.Close
                Set rsQry = Nothing
                
        End If
        
        If Request("bos_id") <> "" Then
                
                OraDatabase.Parameters.Add "BOS_ID", Request("bos_id"), ORAPARM_INPUT, ORATYPE_NUMBER 
                
                query = _
                " SELECT bt.BOS_TYPE"&_
                "  FROM BOS_TYPES bt"&_
                " WHERE bt.BOS_ID = :BOS_ID"
                
                Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
                
                If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
                        outobjDetails.Item ("base_env_name")   = rsQry("bos_type") &" Base Configuration"
                        
                End If
                OraDatabase.Parameters.Remove "BOS_ID"
                
                rsQry.Close
                Set rsQry = Nothing
        End If
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Function GetBaseEnv ( nBaseEnvName, nBom_id )
        Dim rsQry, query
        OraDatabase.Parameters.Add "BOM_ID",            nBom_id,                ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "BASE_ENV_NAME",     nBaseEnvName,                   ORAPARM_INPUT, ORATYPE_VARCHAR2
        
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomBaseEnvCombo.sql"), ORADYN_DEFAULT )
        
        If rsQry.RecordCount > 0 Then
                GetBaseEnv = rsQry.GetRows()
                
        Else
                GetBaseEnv = NULL
                
        End If
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "BASE_ENV_NAME"
        
        rsQry.Close
        Set rsQry = Nothing
End Function
'--------------------------------------------------------------------------------------------------------------------------
Sub AddOs ()
        On Error Resume Next
        
        OraDatabase.Parameters.Add "OS_NAME",           Request("os_name"),             ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "BASE_ENV_NAME", Request("base_env_name"),   ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "OS_COMMENTS",       Request("os_comments"),         ORAPARM_INPUT, ORATYPE_VARCHAR2
        OraDatabase.Parameters.Add "NODE_SPEC_FILE",    Request("node_spec_file"),      ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "NOT_XML",   Request("not_xml"),     ORAPARM_INPUT, ORATYPE_VARCHAR2         
        OraDatabase.Parameters.Add "NODE_ID",           Request("node_id"),             ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "BOS_ID",            Request("bos_id"),                      ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "USER_ID",           objAccessControl.UserId,        ORAPARM_INPUT, ORATYPE_NUMBER 
        
        objEH.TryORA ( OraSession )
        
        OraDatabase.ExecuteSQL _
        "BEGIN   pk_Operating_System.Add_Os ( :OS_NAME, :OS_COMMENTS, :NODE_SPEC_FILE, :NOT_XML, :NODE_ID, :BASE_ENV_NAME, :BOS_ID, :USER_ID );   END;"
        
        objEH.CatchORA ( OraSession )
        
        
        OraDatabase.Parameters.Remove "OS_NAME"
        OraDatabase.Parameters.Remove "BASE_ENV_NAME"
        OraDatabase.Parameters.Remove "OS_COMMENTS"
        OraDatabase.Parameters.Remove "NODE_SPEC_FILE"
        OraDatabase.Parameters.Remove "NOT_XML" 
        OraDatabase.Parameters.Remove "NODE_ID"
        OraDatabase.Parameters.Remove "BOS_ID"
        OraDatabase.Parameters.Remove "USER_ID"
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub UpdateOs ()
        On Error Resume Next
        
        OraDatabase.Parameters.Add "OS_ID",             Request("os_id_list"),          ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "OS_NAME",           Request("os_name"),             ORAPARM_INPUT, ORATYPE_VARCHAR2
        OraDatabase.Parameters.Add "BASE_ENV_NAME", Request("base_env_name"),   ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "OS_COMMENTS",       Request("os_comments"),         ORAPARM_INPUT, ORATYPE_VARCHAR2
        OraDatabase.Parameters.Add "NODE_SPEC_FILE",    Request("node_spec_file"),      ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "NOT_XML",   Request("not_xml"),     ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "USER_ID",           objAccessControl.UserId,        ORAPARM_INPUT, ORATYPE_NUMBER 
        
        objEH.TryORA ( OraSession )
        
        OraDatabase.ExecuteSQL _
        "BEGIN   pk_Operating_System.Update_Os ( :OS_ID, :OS_NAME, :OS_COMMENTS, :BASE_ENV_NAME, :NODE_SPEC_FILE, :NOT_XML, :USER_ID );   END;"
        
        objEH.CatchORA ( OraSession )
        
        
        OraDatabase.Parameters.Remove "OS_ID"
        OraDatabase.Parameters.Remove "OS_NAME"
        OraDatabase.Parameters.Remove "BASE_ENV_NAME"
        OraDatabase.Parameters.Remove "OS_COMMENTS"
        OraDatabase.Parameters.Remove "NODE_SPEC_FILE"
        OraDatabase.Parameters.Remove "NOT_XML"
        OraDatabase.Parameters.Remove "USER_ID" 
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
Call GetBomDetails ( Request("bom_id"), objBomCollector )

' --- Get Form details from DB ---
Call GetFormDetails ( objFormCollector )

' --- Load Validation Rules ---
Call objForm.LoadValidationRules ( Array("os_name","os_comments","base_env_name"), OraDatabase )                ' Load Validation Rules

' --- Enter Form Validation Rule Changes here... ----
Call objForm.UpdateRules ( "id='base_env_name' IsRequired='N'" )        ' base_env_name is not required in this instance
'----------------------------------------------------

' --- RUN onPostBack ---
If Request("action") <> "" Then
        If objForm.IsValidOnPostBack Then
                ' --- Form is Valid ---
                If parOs_id_list <> "" Then
                        Call UpdateOs()
                Else
                        Call AddOs()
                End If
                
                
                If objEH.Finally Then
                        Call OpenInParentWindow ( Request("rfile") &"?DONE=OK"& objPMod.ComposeURLWithout("rfile") )
                        Call CloseWindow()
                End If
                
        End If
End If

'----------------------------------------------
%>
<html>
<head>
<title>Deployment Manager</title>
<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" rel="stylesheet" type="text/css">
<script language="JavaScript" src="scripts/common.js"></script>
</head>

<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();FormName.os_name.focus();">
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
  <tr>
    <td bgcolor="#FFFFFF" class="body_txt"><span class="body_h1"><img src="icons/i_linkarrow_black.gif" width="11" height="11" align="absmiddle">&nbsp;Operating System</span> <br>
    Enter OS name and optional comments. 
      </td>
  </tr>
  <%
  '-- FROM START ---------------------------------------------------------------------------------------------------------
  objFormComponent.FormName = "FormName"
  objFormComponent.Action = SCRIPT_NAME
  objFormComponent.OnSubmit = "ShowProgress();"
  Call objFormComponent.FormStart()
  %>   
  <tr>
    <td background="images/bg_login.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><%=ProgressBar()%></td>
        <td align="right"><input name="btn" type="submit" class="form_btn" value="Submit">
          <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();"></td>
      </tr>
    </table></td>
  </tr>
  
  <tr>
    <td>
        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->    
        <!--#include file="messages/_msg_inline.asp"-->
    <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
        <table width="100%"  border="0" cellspacing="2" cellpadding="0">
          <tr>
        <td nowrap class="form_iname" valign="top">OS Name </td>
        <td valign="top"><%=objFormComponent.TextBox ( "os_name", objForm.GetValue( "os_name", objFormCollector.Item("os_name") ), "size='60' class='form_ivalue'" )%></td>
        <td valign="top"><%=objForm.Validate ("os_name")%> </td>
      </tr>
          <tr>
        <td nowrap class="form_iname" valign="top">Node Spec FileName </td>
        <td valign="top"><%=objFormComponent.TextBox ( "node_spec_file", objForm.GetValue( "node_spec_file", objFormCollector.Item("node_spec_file") ), "size='60' class='form_ivalue'" )%></td>
      </tr>      
          <tr>
        <td nowrap class="form_iname" valign="top">Checked If Not Required In XML</td>
                <%If IsNull(objFormCollector.Item("not_xml")) Then%>
        <td valign="top"><input type="checkbox" name="not_xml"></td>
                <%Else%>
        <td valign="top"><input type="checkbox" name="not_xml" checked></td>
                <%End If%>
                <td valign="top"></td>
      </tr>      
      <tr>
        <td valign="top" nowrap class="form_iname">Base Configuration </td>
        <td valign="top" class="body_txt">
                <%Response.write _
                objFormComponent.ComboWithText ( _
                        "base_env_name", _
                        objForm.GetValue( "base_env_name", objFormCollector.Item("base_env_name") ), _
                        GetBaseEnv( objForm.GetValue( "base_env_name", objFormCollector.Item("base_env_name") ), _
                        Request("bom_id")  ), "size='50' class='form_ivalue'" _
                )%></td>
                <td valign="top"><%=objForm.Validate ("base_env_name")%></td>
      </tr>
      <tr>
        <td valign="top" nowrap class="form_iname">Comments</td>
        <td valign="top"><%=objFormComponent.TextArea ( "os_comments", objForm.GetValue( "os_comments", objFormCollector.Item("os_comments") ), 10, 60, "class='form_ivalue'" )%></td>
                <td valign="top">
                <%=objForm.Validate ("os_comments")%>
                </td>
      </tr>
      <tr>
        <td width="10%" class="form_iname">&nbsp;</td>
        <td width="1%">&nbsp;</td>
                <td width="90%" class="val_err"></td>
      </tr>
    </table></td>
  </tr>
  <%=objPMod.ComposeHiddenTagsWithout("node_id")%>
  <input type="hidden" name="node_id" value="<%=parNode_id%>">
  <input type="hidden" name="os_id_list" value="<%=parOs_id_list%>">
  <input type="hidden" name="bos_id" value="<%=parBos_id%>">
  <input type="hidden" name="action" value="true">
  <%
  Call objFormComponent.FormEnd()
  '-- FROM END ----------------------------------------------------------------------------------------------------------------
  %>
</table>
</body>
</html>
<%
'------------ RUN AFTER PAGE RENDER -----------
Set objFormCollector = Nothing
'----------------------------------------------
%><!--#include file="common/globals_destructor.asp"-->