Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 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
4534 dpurdie 30
Dim creatorAllocatedCount
31
 
13 rsolanki 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 ) 
4534 dpurdie 60
	Dim aStateTypes, i, Selected, xx
13 rsolanki 61
 
62
	'--- Get State Types from collector
63
	aStateTypes = oEnumStateTypeNames.Keys
4534 dpurdie 64
 
13 rsolanki 65
	Response.write "<select name='state_type_enum' class='form_iname' >"
4534 dpurdie 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
 
13 rsolanki 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
 
4534 dpurdie 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 
13 rsolanki 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 
4534 dpurdie 146
	OraDatabase.Parameters.Add "STATE_TYPE_ENUM", 	Request("state_type_enum"), ORAPARM_INPUT, ORATYPE_NUMBER 
13 rsolanki 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
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
206
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
207
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
208
<script language="JavaScript" src="scripts/common.js"></script>
209
</head>
210
 
211
<body leftmargin="0" topmargin="0" <%If parAction <> "" Then%>onLoad="FormName.state_name.focus();"<%End If%>>
212
<!-- HEADER ++++++++++++++++ -->
213
<!--#include file="_header.asp"-->
214
<!-- +++++++++++++++++++++++ -->
215
<!-- MAIN MENU  ++++++++++++++++++++++++++ -->
216
<!--#include file="_main_menu_admin.asp"-->
217
<!-- +++++++++++++++++++++++++++++++++++++ -->
218
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
219
  <tr>
220
    <td width="1%" valign="top" background="images/bg_bage_0.gif">
221
	<!-- ADMIN BROWSER ++++++++++++++++++++++ -->
222
	<!--#include file="_admin_project_browser.asp"-->
223
    <!-- END OF ADMIN BROWSER +++++++++++++++ -->
224
	</td>
225
    <td width="1" background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="600"></td>
226
    <td width="100%" valign="top" bgcolor="#FFFFFF">
227
	<table width="100%"  border="0" cellspacing="0" cellpadding="0">
228
      <tr>
229
        <td width="1%" valign="top" background="images/bg_darkbage.gif"></td>
230
        <td width="100%" valign="bottom" background="images/bg_darkbage.gif">
231
		<!-- TAB CONTROLS ++++++++++++++++++++++ -->
232
		<!--#include file="_tabs_definition.asp"-->
233
		<%
234
		Set objTabControl = New TabControl
235
		objTabControl.TemplateDoc = ReadFile( Server.MapPath("controls/ERGTabStyleWinXP/tab_style.html") ) ' Supply tab style definition
236
		objTabControl.TabStyle = "StyleWinXP"
237
		objTabControl.AddTabDefnition ( arrAdminProjectsTabDef )
238
		objTabControl.SelectByName ("States")
239
		objTabControl.Render ()
240
		%>
241
		<!-- END OF TAB CONTROLS +++++++++++++++ -->
242
		</td>
243
        <td width="1%" background="images/bg_darkbage.gif"><img src="images/img_spanner.gif" width="190" height="55"></td>
244
        </tr>
245
      <tr>
246
        <td background="images/bg_bage_0.gif"><img src="images/spacer.gif" width="30" height="10"></td>
247
        <td background="images/bg_bage_0.gif">
248
		<!-- BUTTONS CONTROL +++++++++++++++++++ -->
249
		<%
250
		'-- Define Action buttons on this tab
251
		'aTabBtnsDef = Array("abtnAddBranch")
252
 
253
		'Call LoadTabActionButtons ( aTabBtnsDef, objBtnControl )
254
 
255
		'objBtnControl.Render( aTabBtnsDef )
256
		%>
257
		<!-- +++++++++++++++++++++++++++++++++++ -->
258
		</td>
259
        <td background="images/bg_darkbage.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
260
          <tr>
261
            <td width="100%" background="images/bg_bage_0.gif">&nbsp;</td>
262
            <td width="1"><img src="images/p_bar_corrner.gif" width="17" height="42"></td>
263
          </tr>
264
        </table></td>
265
        </tr>
266
      <tr>
267
        <td>&nbsp;</td>
268
        <td><br><br>
4534 dpurdie 269
        <!-- Page Warnings --------------------------------------------------------------------- -->
270
        <%
271
		  Call GetStates ( aStateCollector, parProj_id )
272
        '--- Need to ensure that we have ( and only one ) "BOM CREATORS"
273
        '    Scan all states and determine if it has been allocated
274
        creatorAllocatedCount = 0
5337 dpurdie 275
        If NOT isNULL(aStateCollector) Then
276
            Dim xx
277
            For xx = LBound(aStateCollector,2) to UBound(aStateCollector,2)
278
                If CInt(aStateCollector(3,xx)) = enumDB_STATE_TYPE_BOM_CREATOR Then
279
                    creatorAllocatedCount = creatorAllocatedCount + 1 
280
                End If
281
            Next
282
        End If
4534 dpurdie 283
 
284
        If creatorAllocatedCount = 0 Then
285
            %><p class="msg_warning">Warning: At least one state must have a 'type' of BOM CREATOR to allow the creation of new BOMs</p><%
286
        ElseIf creatorAllocatedCount > 1 Then
287
            %><p class="msg_warning">Warning: Multiple states with 'type' of BOM CREATOR</p><%
288
        End If
289
 
290
        %>
13 rsolanki 291
		  <!-- PAGE DETAILS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
292
          <table width="100%"  border="0" cellspacing="0" cellpadding="0">
293
		  <form name="FormName" method="post" action="<%=SCRIPT_NAME%>" onSubmit="ShowProgress();">
294
            <tr>
295
              <td background="images/bg_bage_0a.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
296
                <tr>
297
                  <td width="1" background="images/bg_bage_0.gif"></td>
298
                  <td width="1%" background="images/bg_bage_0.gif" class="body_col" nowrap>Release Sequence</td>
299
                  <td width="20%" background="images/bg_bage_0.gif" class="body_col" nowrap>State Name</td>
300
				  <td width="80%" background="images/bg_bage_0.gif" class="body_col" nowrap>State Type</td>
301
                  <td background="images/bg_bage_0.gif">&nbsp;</td>
302
                </tr>
303
				<%
304
				If NOT IsNull(aStateCollector) Then
305
					LastRow = Ubound( aStateCollector, 2 )
306
					For i = 0 To LastRow
307
					%>
308
					<%If parAction = "" Then%>
309
					<!-- NORMAL ROW +++++++++++++++++++ -->
310
	                <tr>
311
	                  <td background="images/bg_bage_0.gif" align="center"></td>
312
	                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(2, i)%></td>
313
	                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(1, i)%></td>
314
					  <td bgcolor="#FFFFFF" class="body_row"><%=oEnumStateTypeNames.Item( aStateCollector(3, i) )%></td>
315
	                  <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>
316
	                </tr>
317
					<!-- +++++++++++++++++++++++++++++++++ -->
318
 
319
					<%Else%>
320
 
321
						<%If CStr(aStateCollector(0, i)) <> parState_id Then%>
322
						<!-- JUST DATA ROW +++++++++++++++++++ -->
323
						<tr>
324
		                  <td background="images/bg_bage_0.gif" align="center"></td>
325
		                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(2, i)%></td>
326
		                  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=aStateCollector(1, i)%></td>
327
						  <td bgcolor="#FFFFFF" class="body_row" nowrap><%=oEnumStateTypeNames.Item( aStateCollector(3, i) )%></td>
328
		                  <td align="center" nowrap background="images/bg_bage_0.gif">&nbsp;</td>
329
		                </tr>
330
						<!-- +++++++++++++++++++++++++++++++++ -->
331
						<%Else%>
332
						<!-- EDIT ROW ++++++++++++++++++++++++ -->
333
						<input type="hidden" name="action" value="edit">
334
						<tr>
335
		                  <td background="images/bg_bage_0.gif" align="center" valign="top"><%=LIMG_POINTER%></td>
336
						  <td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateSeqCombo( parProj_id, aStateCollector(2, i) ) %></td>
337
		                  <td background="images/bg_note.gif" class="body_row" valign="top">
338
						  <input type="text" name="state_name" class='form_iname' value="<%=objForm.GetValue( "state_name", aStateCollector(1, i) )%>">
339
						  <%=objForm.Validate ("state_name")%>
340
						  </td>
341
		                  <td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateTypesCombo( aStateCollector(3, i) )%></td>
342
		                  <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>
343
		                </tr>
344
						<!-- +++++++++++++++++++++++++++++++++ -->
345
						<%End If%>
346
					<%End If%>
347
 
348
 
349
				<%
350
					Next
351
 
352
				End If
353
				%>
354
 
355
 
356
				<!-- NEW ENTRY ROW FORM ++++++++++++++ -->
357
				<%If parAction = "new" Then%>
358
 
359
				<input type="hidden" name="action" value="new">
360
				<tr>
361
                  <td background="images/bg_bage_0.gif" align="center" valign="top"><%=LIMG_POINTER%></td>
362
				  <td background="images/bg_note.gif" class="body_row" valign="top"></td>
363
                  <td background="images/bg_note.gif" class="body_row" valign="top">
364
				  <input type="text" name="state_name" class='form_iname' value="<%=Request("state_name")%>">
365
				  <%=objForm.Validate ("state_name")%>
366
				  </td>
367
                  <td background="images/bg_note.gif" class="body_row" valign="top"><%Call RenderStateTypesCombo( NULL )%></td>
368
                  <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>
369
                </tr>
370
				<%End If%>
371
				<!-- +++++++++++++++++++++++++++++++++ -->
372
 
373
 
374
				<!-- NEW ENTRY BUTTON ++++++++++++++++ -->
375
				<%If parAction = "" Then%>
376
				<tr>
377
                  <td background="images/bg_bage_0.gif" align="center"><a href="<%=SCRIPT_NAME%>?action=new&<%=objPMod.ComposeURL()%>"><%=LIMG_NEW_ENTRY%></a></td>
378
                  <td bgcolor="#FFFFFF" class="body_row">&nbsp;</td>
379
                  <td bgcolor="#FFFFFF" class="body_row">&nbsp;</td>
380
				  <td bgcolor="#FFFFFF" class="body_row">&nbsp;</td>
381
                  <td bgcolor="#FFFFFF">&nbsp;</td>
382
                </tr>
383
				<%End If%>
384
				<!-- +++++++++++++++++++++++++++++++++ -->
385
 
386
              </table></td>
387
            </tr>
388
		  <%=objPMod.ComposeHiddenTags()%>
389
		  <input type="hidden" name="state_id" value="<%=parState_id%>">
390
		  <input type="hidden" name="doit" value="true">
391
		  </form>
392
          </table>
393
          </td>
394
        <td valign="top"></td>
395
        </tr>
396
    </table>
397
	<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
398
	</td>
399
  </tr>
400
  <tr>
401
    <td background="images/bg_bage_0a.gif"><img src="images/spacer.gif" width="200" height="15"></td>
402
    <td background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="1"></td>
403
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
404
  </tr>
405
  <tr>
406
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="20"></td>
407
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
408
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
409
  </tr>
410
</table>
411
<!-- FOOTER ++++++++++++++++ -->
412
<!--#include file="_footer.asp"-->
413
<!-- +++++++++++++++++++++++ -->
414
</body>
415
</html>
416
<%
417
'------------ RUN AFTER PAGE RENDER -----------
418
Set objPMod = Nothing
419
Set objTabControl = Nothing
420
'----------------------------------------------
421
%><!--#include file="common/globals_destructor.asp"-->