Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5355 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|			          wAddProd					 	 |
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/_popup_window_common.asp"-->
17
<%
18
'------------ ACCESS CONTROL ------------------
19
%>
20
<!--#include file="_access_control_general.asp"-->
21
<%
22
'------------ VARIABLE DEFINITION -------------
23
Dim rsQry
24
Dim objFormCollector
25
Dim sMessage
26
Dim aAddPkgList, aFullList, dAddPkgList, PvId
27
'------------ CONSTANTS DECLARATION -----------
28
Const LIMG_PRODUCT = "<img src='icons/i_product.gif' width='19' height='19' hspace='2' align='absmiddle'>"
29
Const LIMG_PRODUCT_UNPACKAGED = "<img src='icons/i_product_unpackaged.gif' width='19' height='19' hspace='2' align='absmiddle' title='Product is unofficial'>"
30
Const LIMG_PRODUCT_PATCH = "<img src='icons/i_patch_small.gif' hspace='2' align='absmiddle'>"
31
'------------ VARIABLE INIT -------------------
32
sMessage = NULL
33
parBom_id = Request("bom_id")
34
parOs_id = Request("os_id")
35
Set objFormCollector = CreateObject("Scripting.Dictionary")
36
Set dAddPkgList = CreateObject("Scripting.Dictionary")
37
'------------ CONDITIONS ----------------------
38
'----------------------------------------------
39
%>
40
<%
41
'--------------------------------------------------------------------------------------------------------------------------
42
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
43
	Dim rsQry, query
44
	OraDatabase.Parameters.Add "BOM_ID", 		nBom_id,		ORAPARM_INPUT, ORATYPE_NUMBER 
45
 
46
	query = _
47
	"  SELECT bo.RTAG_ID_FK,"&_
48
	"	   rm_proj.PROJ_ID,"&_
49
	"	   rm_proj.PROJ_NAME,"&_
50
	"	   rt.RTAG_NAME"&_
51
	"  FROM BOMS bo,"&_
52
	"	   PROJECTS rm_proj,"&_
53
	"	   RELEASE_TAGS rt"&_
54
	" WHERE rt.PROJ_ID = rm_proj.PROJ_ID"&_
55
	"   AND bo.RTAG_ID_FK = rt.RTAG_ID"&_
56
	"   AND bo.BOM_ID = :BOM_ID"
57
 
58
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
59
	If (NOT rsQry.BOF) AND (NOT rsQry.EOF)Then
60
		outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id_fk")
61
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
62
		outobjDetails.Item ("proj_name") = rsQry("proj_name")
63
		outobjDetails.Item ("rtag_name") = rsQry("rtag_name")
64
 
65
	End If
66
 
67
 
68
	OraDatabase.Parameters.Remove "BOM_ID"
69
 
70
	rsQry.Close
71
	Set rsQry = Nothing
72
End Sub
73
'--------------------------------------------------------------------------------------------------------------------------
74
Sub AddProdToBaseEnv ()
75
	On Error Resume Next
76
 
77
	OraDatabase.Parameters.Add "PROD_ID_LIST", 	Request("prod_id_list"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
78
	OraDatabase.Parameters.Add "BASE_ENV_ID", 	Request("base_env_id"),		ORAPARM_INPUT, ORATYPE_NUMBER 
79
	OraDatabase.Parameters.Add "OS_ID", 		Request("os_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 
80
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId, 	ORAPARM_INPUT, ORATYPE_NUMBER 
81
	OraDatabase.Parameters.Add "BOM_ID",		parBom_id,					ORAPARM_INPUT, ORATYPE_NUMBER 
82
 
83
 
84
	objEH.TryORA ( OraSession )
85
 
86
	OraDatabase.ExecuteSQL _
87
	"BEGIN   pk_Base_Env.Add_Product ( :PROD_ID_LIST, :BASE_ENV_ID, :OS_ID, :USER_ID );   END;"
88
 
89
	objEH.CatchORA ( OraSession )
90
 
91
	aFullList = Split ( Replace( Request("prod_id_list"), " ", "" ), "," )
92
 
93
 
94
	' Clean empty parameters
95
	For Each PvId In aFullList
96
		If PvId <> "" Then
97
			dAddPkgList.Add CStr( PvId ), Empty
98
		End If
99
	Next
100
 
101
	aFullList = NULL
102
	aAddPkgList = dAddPkgList.Keys
103
 
104
	For Each PvId In aAddPkgList
105
		Call PopulateSBOMField(parBom_id, PvId, NULL, NULL )
106
	Next
107
 
108
 
109
	OraDatabase.Parameters.Remove "PROD_ID_LIST"
110
	OraDatabase.Parameters.Remove "BASE_ENV_ID"
111
	OraDatabase.Parameters.Remove "OS_ID"
112
	OraDatabase.Parameters.Remove "USER_ID"
113
	OraDatabase.Parameters.Remove "BOM_ID"
114
End Sub
115
'--------------------------------------------------------------------------------------------------------------------------
116
Sub AddProdToOs ()
117
	On Error Resume Next
118
 
119
	OraDatabase.Parameters.Add "PROD_ID_LIST", 	Request("prod_id_list"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
120
	OraDatabase.Parameters.Add "OS_ID", 		Request("os_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 
121
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId, 	ORAPARM_INPUT, ORATYPE_NUMBER 
122
	OraDatabase.Parameters.Add "BOM_ID",		parBom_id,					ORAPARM_INPUT, ORATYPE_NUMBER 
123
 
124
	objEH.TryORA ( OraSession )
125
 
126
	OraDatabase.ExecuteSQL _
127
	"BEGIN   pk_Product.Add_Product ( :PROD_ID_LIST, :OS_ID, :USER_ID );   END;"
128
 
129
	objEH.CatchORA ( OraSession )
130
 
131
	aFullList = Split ( Replace( Request("prod_id_list"), " ", "" ), "," )
132
 
133
	' Clean empty parameters
134
	For Each PvId In aFullList
135
		If PvId <> "" Then
136
			dAddPkgList.Add CStr( PvId ), Empty
137
		End If
138
	Next
139
 
140
	aFullList = NULL
141
	aAddPkgList = dAddPkgList.Keys
142
 
143
	For Each PvId In aAddPkgList
144
		Call PopulateSBOMField(parBom_id, PvId, NULL, NULL )
145
	Next
146
 
147
 
148
	OraDatabase.Parameters.Remove "PROD_ID_LIST"
149
	OraDatabase.Parameters.Remove "OS_ID"
150
	OraDatabase.Parameters.Remove "USER_ID"
151
	OraDatabase.Parameters.Remove "BOM_ID"
152
 
153
End Sub
154
'--------------------------------------------------------------------------------------------------------------------------
155
%>
156
<%
157
'------------ RUN BEFORE PAGE RENDER ----------
158
objPMod.PersistInQryString ( Array("base_env_id") )
159
 
160
If CBool(Request("action")) Then
161
	If Request("prod_id_list") <> "" Then
162
 
163
		'-- Add Product List
164
		If Request("base_env_id") = "" Then
165
			Call AddProdToOs()
166
		Else
167
			Call AddProdToBaseEnv()
168
		End If
169
 
170
		If objEH.Finally Then
171
			Call OpenInParentWindow ( Request("rfile") &"?ADDED=OK"& objPMod.ComposeURLWithout("rfile,base_env_id") )
172
			Call CloseWindow()
173
		End If
174
 
175
	Else
176
		sMessage = "Please select Product(s) from Release Manager list then click Add."
177
 
178
	End If
179
 
180
End If
181
 
182
Call GetFormDetails ( parBom_id, objFormCollector )
183
'----------------------------------------------
184
%>
185
<html>
186
<head>
187
<title>Deployment Manager</title>
188
<link rel="shortcut icon" href="<%=FavIcon%>"/>
189
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
190
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
191
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
192
<script language="JavaScript" src="scripts/common.js"></script>
193
</head>
194
 
195
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();FormSearch.prod_name.focus();">
196
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
197
  <tr>
198
    <td bgcolor="#FFFFFF" class="body_txt"><span class="body_h1"><img src="icons/i_linkarrow_black.gif" width="11" height="11" align="absmiddle">&nbsp;Add Product </span> <br>
199
    Search for Product, Create New Product or select from Release Manager list.
200
      </td>
201
  </tr>
202
 
203
<%
204
'-- FROM START ---------------------------------------------------------------------------------------------------------------
205
objFormComponent.FormName = "FormSearch"
206
objFormComponent.Action = "wAddProdBySearch.asp"
207
Call objFormComponent.FormStart()
208
%>  
209
  <tr>
210
    <td background="images/bg_quicksearch.gif" class="body_txt"><table width="100" border="0" cellspacing="3" cellpadding="0">
211
        <tr>
212
          <td nowrap class="body_txtw"><strong>Product Search</strong> </td>
213
          <td><input name="prod_name" type="text" class="body_txt" size="20"></td>
214
          <td><input name="btn" type="image" src="icons/b_search.gif" width="16" height="16" border="0"></td>
215
        </tr>
216
      </table></td>
217
  </tr>
218
  <%=objPMod.ComposeHiddenTags()%>
219
<%
220
Call objFormComponent.FormEnd()
221
'-- FROM END ----------------------------------------------------------------------------------------------------------------
222
%>
223
 
224
<%
225
'-- FROM START --------------------------------------------------------------------------------------------------------------
226
objFormComponent.FormName = "FormName"
227
objFormComponent.Action = SCRIPT_NAME
228
objFormComponent.OnSubmit = "ShowProgress();"
229
Call objFormComponent.FormStart()
230
%>  
231
  <tr>
232
    <td background="images/bg_login.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
233
      <tr>
234
        <td><%=ProgressBar()%></td>
235
        <td align="right"><input name="btn" type="submit" class="form_btn" value="Add">
236
          <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();"></td>
237
      </tr>
238
    </table></td>
239
  </tr>
240
  <tr>
241
    <td>
242
<!-- NEW PRODUCT ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->		
243
	<%Call Messenger ( sMessage , 3, "100%" )%>
244
	<!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->	
245
	<!--#include file="messages/_msg_inline.asp"-->
246
    <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
247
	<table width="100%"  border="0" cellspacing="10" cellpadding="0">
248
      <tr>
249
        <td width="50%" valign="top" class="body_txt"><strong>Create New</strong><br>
250
            <a href="wAddProdNew.asp?NEW=OK&<%=objPMod.ComposeURL()%>" class="menu_link"><img src="icons/i_product_new.gif" width="15" height="17" hspace="5" vspace="3" border="0" align="absmiddle">Product</a><br>
251
        </td>
252
        <td width="1" background="images/bg_bage_2.gif"><img src="images/spacer.gif" width="1" height="1"></td>
253
        <td width="50%" valign="top" nowrap class="body_txt"><strong>Add from Release Manager</strong><br> 
254
		  <%If (objFormCollector.Item("rtag_id_fk") <> "")  Then%>
255
		  <%=objFormCollector.Item ("proj_name") &"&nbsp;/&nbsp;"& objFormCollector.Item ("rtag_name")%>
256
		  <%Else%>
257
		  <%Call Messenger ( "This BOM does not have Release Manager Reference release.<br>Please edit BOM properties first.<br>" , 1, "100%" )%>
258
		  <%End If%>
259
          <br>
260
          <table width="100%"  border="0" cellspacing="3" cellpadding="0">
261
            <tr>
262
              <td width="1"><img src="images/spacer.gif" width="1" height="1"></td>
263
              <td width="100%"><img src="images/spacer.gif" width="1" height="1"></td>
264
            </tr>
265
            <%
266
	  ' -- Only run if links with Release Manager
267
	  If (objFormCollector.Item("rtag_id_fk") <> "")  Then
268
 
269
		  '===== Release Manager PRODUCTS =====
270
		  OraDatabase.Parameters.Add "RTAG_ID_FK", 				objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
271
		  OraDatabase.Parameters.Add "enumPRODUCTS_BASE_VIEW_ID", 	enumPRODUCTS_BASE_VIEW_ID,				ORAPARM_INPUT, ORATYPE_NUMBER 
272
		  OraDatabase.Parameters.Add "enumAUTOPRODUCTS_BASE_VIEW_ID", 	enumAUTOPRODUCTS_BASE_VIEW_ID,				ORAPARM_INPUT, ORATYPE_NUMBER 
273
		  OraDatabase.Parameters.Add "OS_ID", 						parOs_id,								ORAPARM_INPUT, ORATYPE_NUMBER 
274
 
275
		  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseManagerProductsView.sql"), ORADYN_DEFAULT )
276
 
277
		  If rsQry.RecordCount < 1 Then
278
		  	Response.write "No Products Found."
279
		  End If
280
 
281
		  While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
282
		  %>
283
            <tr>
284
              <td nowrap class="form_iname"><input type="checkbox" name="prod_id_list" value="<%=rsQry("prod_id")%>" <%=rsQry("used")%>></td>
285
              <td nowrap class="body_txt"><%=Eval( rsQry("icon") )%><%=rsQry("pkg_name") &" "& rsQry("pkg_version")%></td>
286
            </tr>
287
            <%rsQry.MoveNext%>
288
            <%
289
		  WEnd
290
 
291
 
292
 
293
		  %>
294
		  </table>
295
		  <br><br>
296
		  <!-- NEW PATCHES ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
297
		  <strong>Add New Patches</strong><br> 
298
          <table width="100%"  border="0" cellspacing="3" cellpadding="0">
299
		  <%
300
		  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseManagerProductsUnusedPatches.sql"), ORADYN_DEFAULT )
301
 
302
		  If rsQry.RecordCount < 1 Then
303
		  	Response.write "No New Patches Found."
304
		  End If
305
 
306
		  While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
307
		  %>
308
            <tr>
309
              <td nowrap class="form_iname"><input type="checkbox" name="prod_id_list" value="<%=rsQry("prod_id")%>"></td>
310
              <td nowrap class="body_txt"><%=LIMG_PRODUCT_PATCH%><%=rsQry("pkg_name") &" "& rsQry("pkg_version")%></td>
311
            </tr>
312
            <%rsQry.MoveNext%>
313
            <%
314
		  WEnd
315
 
316
 
317
 
318
		  OraDatabase.Parameters.Remove "RM_BRANCH_ID"
319
		  OraDatabase.Parameters.Remove "enumPRODUCTS_BASE_VIEW_ID"
320
		  OraDatabase.Parameters.Remove "enumAUTOPRODUCTS_BASE_VIEW_ID"		  
321
		  OraDatabase.Parameters.Remove "OS_ID"
322
 
323
	  End If
324
	  %>
325
          </table></td>
326
        <td width="1" valign="top" class="body_txt"><img src="images/spacer.gif" width="1" height="320"></td>
327
      </tr>
328
    </table>
329
	<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
330
    </td>
331
  </tr>
332
  <%=objPMod.ComposeHiddenTags()%>
333
  <input type="hidden" name="action" value="true">
334
<%
335
Call objFormComponent.FormEnd()
336
'-- FROM END ----------------------------------------------------------------------------------------------------------------
337
%>
338
</table>
339
</body>
340
</html>
341
<%
342
'------------ RUN AFTER PAGE RENDER -----------
343
Set objFormCollector = Nothing
344
'----------------------------------------------
345
%><!--#include file="common/globals_destructor.asp"-->