Subversion Repositories DevTools

Rev

Rev 5958 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5355 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|			          AdminProjectStates 		 	 |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
Response.Expires = 0
12
%>
13
<!--#include file="common/globals.asp"-->
14
<!--#include file="common/config.asp"-->
15
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/_admin_projects_common.asp"-->
17
<%
18
'------------ ACCESS CONTROL ------------------
19
%>
20
<!--#include file="_access_control_general.asp"-->
21
<!--#include file="_access_control_admin_pages.asp"-->
22
<%
23
'------------ VARIABLE DEFINITION -------------
24
Dim rsQry
25
Dim i
26
Dim LastRow
27
Dim aStateCollector
28
Dim parAction
29
Dim parState_id
30
Dim creatorAllocatedCount
31
 
32
'------------ CONSTANTS DECLARATION -----------
33
'------------ VARIABLE INIT -------------------
34
parAction = Request("action")
35
parState_id = Request("state_id")
36
'------------ CONDITIONS ----------------------
37
'----------------------------------------------
38
%>
39
<%
40
'--------------------------------------------------------------------------------------------------------------------------------
41
Sub GetStates ( aStateCollector, nProj_id )
42
	Dim rsQry
43
 
44
	OraDatabase.Parameters.Add "PROJ_ID", nProj_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
45
 
46
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("StateList.sql"), ORADYN_DEFAULT )
47
 
48
	If rsQry.RecordCount > 0 Then
49
		aStateCollector = rsQry.GetRows()
50
	Else
51
		aStateCollector = NULL
52
	End If
53
 
54
	rsQry.Close
55
	Set rsQry = Nothing
56
	OraDatabase.Parameters.Remove "PROJ_ID"
57
End Sub
58
'--------------------------------------------------------------------------------------------------------------------------------
59
Sub RenderStateTypesCombo( nStateType ) 
60
	Dim aStateTypes, i, Selected, xx
61
 
62
	'--- Get State Types from collector
63
	aStateTypes = oEnumStateTypeNames.Keys
64
 
65
	Response.write "<select name='state_type_enum' class='form_iname' >"
66
 
67
	For i = 0 To UBound( aStateTypes )
68
 
69
        ' Select the currently selected entry
70
        ' Disable the "BOM CREATORS" if it has already been selected
71
        Selected = ""
72
        If aStateTypes(i) = nStateType Then 
73
            Selected = " selected"
74
        ElseIf creatorAllocatedCount > 0  AND CInt(aStateTypes(i)) = enumDB_STATE_TYPE_BOM_CREATOR Then
75
            Selected = " disabled"
76
        End If
77
 
78
        Response.write "<option value='"& aStateTypes(i) &"'" & Selected & ">"&_
79
                            oEnumStateTypeNames.Item ( aStateTypes(i) )  &_
80
                       "</option>"
81
    Next
82
 
83
    Response.write "</select>"
84
 
85
End Sub
86
'--------------------------------------------------------------------------------------------------------------------------------
87
Sub RenderStateSeqCombo( nProj_id, nState_seq ) 
88
	Dim rsQry, Selected
89
 
90
	OraDatabase.Parameters.Add "PROJ_ID", nProj_id,	ORAPARM_INPUT, ORATYPE_NUMBER
91
 
92
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("StateList.sql"), ORADYN_DEFAULT )
93
 
94
 
95
	Response.write "<select name='state_seq' class='form_iname'>"
96
 
97
 
98
	While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
99
		Selected = ""
100
		If CInt(nState_seq) = CInt(rsQry("state_seq")) Then Selected = "selected"
101
 
102
		Response.write "<option value='"& rsQry("state_seq") &"' "& Selected &">"& rsQry("state_seq") &"</option>"
103
 
104
		rsQry.MoveNext
105
	WEnd
106
 
107
 
108
	Response.write "</select>"
109
 
110
 
111
 
112
	rsQry.Close
113
	Set rsQry = Nothing
114
 
115
	OraDatabase.Parameters.Remove "PROJ_ID"
116
End Sub
117
'--------------------------------------------------------------------------------------------------------------------------------
118
Sub AddState ()
119
	On Error Resume Next
120
 
121
	OraDatabase.Parameters.Add "STATE_NAME", 	  Request("state_name"),	    ORAPARM_INPUT, ORATYPE_VARCHAR2
122
	OraDatabase.Parameters.Add "PROJ_ID", 		  Request("proj_id"), 		    ORAPARM_INPUT, ORATYPE_NUMBER 
123
	OraDatabase.Parameters.Add "STATE_TYPE_ENUM", Request("state_type_enum"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
124
 
125
 
126
	objEH.TryORA ( OraSession )
127
 
128
	OraDatabase.ExecuteSQL _
129
	"BEGIN   pk_State.Add_State ( :STATE_NAME, :STATE_TYPE_ENUM, :PROJ_ID );   END;"
130
 
131
	objEH.CatchORA ( OraSession )
132
 
133
 
134
	OraDatabase.Parameters.Remove "STATE_NAME"
135
	OraDatabase.Parameters.Remove "PROJ_ID"
136
	OraDatabase.Parameters.Remove "STATE_TYPE_ENUM"
137
 
138
End Sub
139
'--------------------------------------------------------------------------------------------------------------------------------
140
Sub EditState ()
141
	On Error Resume Next
142
 
143
	OraDatabase.Parameters.Add "STATE_ID", 			Request("state_id"), 		ORAPARM_INPUT, ORATYPE_NUMBER 
144
	OraDatabase.Parameters.Add "STATE_NAME", 		Request("state_name"),		ORAPARM_INPUT, ORATYPE_VARCHAR2
145
	OraDatabase.Parameters.Add "STATE_SEQ", 		Request("state_seq"), 		ORAPARM_INPUT, ORATYPE_NUMBER 
146
	OraDatabase.Parameters.Add "STATE_TYPE_ENUM", 	Request("state_type_enum"), ORAPARM_INPUT, ORATYPE_NUMBER 
147
 
148
 
149
 
150
	objEH.TryORA ( OraSession )
151
 
152
	OraDatabase.ExecuteSQL _
153
	"BEGIN   pk_State.Update_State ( :STATE_ID, :STATE_NAME, :STATE_SEQ, :STATE_TYPE_ENUM );   END;"
154
 
155
	objEH.CatchORA ( OraSession )
156
 
157
 
158
	OraDatabase.Parameters.Remove "STATE_ID"
159
	OraDatabase.Parameters.Remove "STATE_NAME"
160
	OraDatabase.Parameters.Remove "STATE_SEQ"
161
	OraDatabase.Parameters.Remove "STATE_TYPE_ENUM"
162
 
163
End Sub
164
'--------------------------------------------------------------------------------------------------------------------------------
165
%>
166
<%
167
'------------ RUN BEFORE PAGE RENDER ----------
168
' --- Get Form details from DB ---
169
 
170
' --- Load Validation Rules ---
171
Call objForm.LoadValidationRules ( Array("state_name"), OraDatabase )		' Load Validation Rules
172
 
173
' --- Enter Form Validation Rule Changes here... ----
174
'----------------------------------------------------
175
 
176
' --- RUN onPostBack ---
177
If Request("doit") <> "" Then
178
	If objForm.IsValidOnPostBack Then
179
		' --- Form is Valid ---
180
 
181
		Select Case Request("action")
182
			Case "new"
183
				Call AddState()
184
			Case "edit"
185
				Call EditState()
186
 
187
		End Select
188
 
189
 
190
		If objEH.Finally Then
191
			Call OpenInWindow ( SCRIPT_NAME &"?"& objPMod.ComposeURL() )
192
		End If
193
 
194
	End If
195
 
196
 
197
 
198
End If
199
 
200
'----------------------------------------------
201
%>
202
<html>
203
<head>
204
<title>Deployment Manager</title>
205
<link rel="shortcut icon" href="<%=FavIcon%>"/>
206
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
207
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6663 dpurdie 208
<link href="scripts/deployment_manager.css?ver=<%=VixVerNum%>" rel="stylesheet" type="text/css">
209
<script language="JavaScript" src="scripts/common.js?ver=<%=VixVerNum%>"></script>
5355 dpurdie 210
</head>
211
 
212
<body leftmargin="0" topmargin="0" <%If parAction <> "" Then%>onLoad="FormName.state_name.focus();"<%End If%>>
213
<!-- HEADER ++++++++++++++++ -->
214
<!--#include file="_header.asp"-->
215
<!-- +++++++++++++++++++++++ -->
216
<!-- MAIN MENU  ++++++++++++++++++++++++++ -->
217
<!--#include file="_main_menu_admin.asp"-->
218
<!-- +++++++++++++++++++++++++++++++++++++ -->
219
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
220
  <tr>
221
    <td width="1%" valign="top" background="images/bg_bage_0.gif">
222
	<!-- ADMIN BROWSER ++++++++++++++++++++++ -->
223
	<!--#include file="_admin_project_browser.asp"-->
224
    <!-- END OF ADMIN BROWSER +++++++++++++++ -->
225
	</td>
226
    <td width="1" background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="600"></td>
227
    <td width="100%" valign="top" bgcolor="#FFFFFF">
228
	<table width="100%"  border="0" cellspacing="0" cellpadding="0">
229
      <tr>
230
        <td width="1%" valign="top" background="images/bg_darkbage.gif"></td>
231
        <td width="100%" valign="bottom" background="images/bg_darkbage.gif">
232
		<!-- TAB CONTROLS ++++++++++++++++++++++ -->
233
		<!--#include file="_tabs_definition.asp"-->
234
		<%
235
		Set objTabControl = New TabControl
236
		objTabControl.TemplateDoc = ReadFile( Server.MapPath("controls/ERGTabStyleWinXP/tab_style.html") ) ' Supply tab style definition
237
		objTabControl.TabStyle = "StyleWinXP"
238
		objTabControl.AddTabDefnition ( arrAdminProjectsTabDef )
239
		objTabControl.SelectByName ("States")
240
		objTabControl.Render ()
241
		%>
242
		<!-- END OF TAB CONTROLS +++++++++++++++ -->
243
		</td>
244
        <td width="1%" background="images/bg_darkbage.gif"><img src="images/img_spanner.gif" width="190" height="55"></td>
245
        </tr>
246
      <tr>
247
        <td background="images/bg_bage_0.gif"><img src="images/spacer.gif" width="30" height="10"></td>
248
        <td background="images/bg_bage_0.gif">
249
		<!-- BUTTONS CONTROL +++++++++++++++++++ -->
250
		<%
251
		'-- Define Action buttons on this tab
252
		'aTabBtnsDef = Array("abtnAddBranch")
253
 
254
		'Call LoadTabActionButtons ( aTabBtnsDef, objBtnControl )
255
 
256
		'objBtnControl.Render( aTabBtnsDef )
257
		%>
258
		<!-- +++++++++++++++++++++++++++++++++++ -->
259
		</td>
260
        <td background="images/bg_darkbage.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
261
          <tr>
262
            <td width="100%" background="images/bg_bage_0.gif">&nbsp;</td>
263
            <td width="1"><img src="images/p_bar_corrner.gif" width="17" height="42"></td>
264
          </tr>
265
        </table></td>
266
        </tr>
267
      <tr>
268
        <td>&nbsp;</td>
269
        <td><br><br>
270
        <!-- Page Warnings --------------------------------------------------------------------- -->
271
        <%
272
		  Call GetStates ( aStateCollector, parProj_id )
273
        '--- Need to ensure that we have ( and only one ) "BOM CREATORS"
274
        '    Scan all states and determine if it has been allocated
275
        creatorAllocatedCount = 0
276
        If NOT isNULL(aStateCollector) Then
277
            Dim xx
278
            For xx = LBound(aStateCollector,2) to UBound(aStateCollector,2)
279
                If CInt(aStateCollector(3,xx)) = enumDB_STATE_TYPE_BOM_CREATOR Then
280
                    creatorAllocatedCount = creatorAllocatedCount + 1 
281
                End If
282
            Next
283
        End If
284
 
285
        If creatorAllocatedCount = 0 Then
286
            %><p class="msg_warning">Warning: At least one state must have a 'type' of BOM CREATOR to allow the creation of new BOMs</p><%
287
        ElseIf creatorAllocatedCount > 1 Then
288
            %><p class="msg_warning">Warning: Multiple states with 'type' of BOM CREATOR</p><%
289
        End If
290
 
291
        %>
292
		  <!-- PAGE DETAILS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
293
          <table width="100%"  border="0" cellspacing="0" cellpadding="0">
294
		  <form name="FormName" method="post" action="<%=SCRIPT_NAME%>" onSubmit="ShowProgress();">
295
            <tr>
296
              <td background="images/bg_bage_0a.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
297
                <tr>
298
                  <td width="1" background="images/bg_bage_0.gif"></td>
299
                  <td width="1%" background="images/bg_bage_0.gif" class="body_col" nowrap>Release Sequence</td>
300
                  <td width="20%" background="images/bg_bage_0.gif" class="body_col" nowrap>State Name</td>
301
				  <td width="80%" background="images/bg_bage_0.gif" class="body_col" nowrap>State Type</td>
302
                  <td background="images/bg_bage_0.gif">&nbsp;</td>
303
                </tr>
304
				<%
305
				If NOT IsNull(aStateCollector) Then
306
					LastRow = Ubound( aStateCollector, 2 )
307
					For i = 0 To LastRow
308
					%>
309
					<%If parAction = "" Then%>
310
					<!-- NORMAL ROW +++++++++++++++++++ -->
311
	                <tr>
312
	                  <td background="images/bg_bage_0.gif" align="center"></td>
313
	                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(2, i)%></td>
314
	                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(1, i)%></td>
315
					  <td bgcolor="#FFFFFF" class="body_row"><%=oEnumStateTypeNames.Item( aStateCollector(3, i) )%></td>
316
	                  <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>
317
	                </tr>
318
					<!-- +++++++++++++++++++++++++++++++++ -->
319
 
320
					<%Else%>
321
 
322
						<%If CStr(aStateCollector(0, i)) <> parState_id Then%>
323
						<!-- JUST DATA ROW +++++++++++++++++++ -->
324
						<tr>
325
		                  <td background="images/bg_bage_0.gif" align="center"></td>
326
		                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(2, i)%></td>
327
		                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(1, i)%></td>
328
						  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=oEnumStateTypeNames.Item( aStateCollector(3, i) )%></td>
329
		                  <td align="center" nowrap background="images/bg_bage_0.gif">&nbsp;</td>
330
		                </tr>
331
						<!-- +++++++++++++++++++++++++++++++++ -->
332
						<%Else%>
333
						<!-- EDIT ROW ++++++++++++++++++++++++ -->
334
						<input type="hidden" name="action" value="edit">
335
						<tr>
336
		                  <td background="images/bg_bage_0.gif" align="center" valign="top"><%=LIMG_POINTER%></td>
337
						  <td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateSeqCombo( parProj_id, aStateCollector(2, i) ) %></td>
338
		                  <td background="images/bg_note.gif" class="body_row" valign="top">
339
						  <input type="text" name="state_name" class='form_iname' value="<%=objForm.GetValue( "state_name", aStateCollector(1, i) )%>">
340
						  <%=objForm.Validate ("state_name")%>
341
						  </td>
342
		                  <td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateTypesCombo( aStateCollector(3, i) )%></td>
343
		                  <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>
344
		                </tr>
345
						<!-- +++++++++++++++++++++++++++++++++ -->
346
						<%End If%>
347
					<%End If%>
348
 
349
 
350
				<%
351
					Next
352
 
353
				End If
354
				%>
355
 
356
 
357
				<!-- NEW ENTRY ROW FORM ++++++++++++++ -->
358
				<%If parAction = "new" Then%>
359
 
360
				<input type="hidden" name="action" value="new">
361
				<tr>
362
                  <td background="images/bg_bage_0.gif" align="center" valign="top"><%=LIMG_POINTER%></td>
363
				  <td background="images/bg_note.gif" class="body_row" valign="top"></td>
364
                  <td background="images/bg_note.gif" class="body_row" valign="top">
365
				  <input type="text" name="state_name" class='form_iname' value="<%=Request("state_name")%>">
366
				  <%=objForm.Validate ("state_name")%>
367
				  </td>
368
                  <td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateTypesCombo( NULL )%></td>
369
                  <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>
370
                </tr>
371
				<%End If%>
372
				<!-- +++++++++++++++++++++++++++++++++ -->
373
 
374
 
375
				<!-- NEW ENTRY BUTTON ++++++++++++++++ -->
376
				<%If parAction = "" Then%>
377
				<tr>
378
                  <td background="images/bg_bage_0.gif" align="center"><a href="<%=SCRIPT_NAME%>?action=new&<%=objPMod.ComposeURL()%>"><%=LIMG_NEW_ENTRY%></a></td>
379
                  <td bgcolor="#FFFFFF" class="body_row">&nbsp;</td>
380
                  <td bgcolor="#FFFFFF" class="body_row">&nbsp;</td>
381
				  <td bgcolor="#FFFFFF" class="body_row">&nbsp;</td>
382
                  <td bgcolor="#FFFFFF">&nbsp;</td>
383
                </tr>
384
				<%End If%>
385
				<!-- +++++++++++++++++++++++++++++++++ -->
386
 
387
              </table></td>
388
            </tr>
389
		  <%=objPMod.ComposeHiddenTags()%>
390
		  <input type="hidden" name="state_id" value="<%=parState_id%>">
391
		  <input type="hidden" name="doit" value="true">
392
		  </form>
393
          </table>
394
          </td>
395
        <td valign="top"></td>
396
        </tr>
397
    </table>
398
	<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
399
	</td>
400
  </tr>
401
  <tr>
402
    <td background="images/bg_bage_0a.gif"><img src="images/spacer.gif" width="200" height="15"></td>
403
    <td background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="1"></td>
404
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
405
  </tr>
406
  <tr>
407
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="20"></td>
408
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
409
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
410
  </tr>
411
</table>
412
<!-- FOOTER ++++++++++++++++ -->
413
<!--#include file="_footer.asp"-->
414
<!-- +++++++++++++++++++++++ -->
415
</body>
416
</html>