Subversion Repositories DevTools

Rev

Rev 5513 | Rev 5955 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<%
2
'===================================================================
3
'							Common Subs
4
'===================================================================
5
%>
6
<%
7
'-----------------------------------------------------------------------------------------------------------------------------
8
Sub CloseWindow
9
%>
10
	<SCRIPT language="JavaScript" type="text/javascript">
11
	<!--
12
	self.close();
13
	//-->
14
	</SCRIPT>
15
<%
16
End Sub
17
'-----------------------------------------------------------------------------------------------------------------------------
18
Sub OpenChildWindow ( SStitle, SSurl, SSH, SSW, BBscroll )
19
	Dim scrlBar
20
	If BBscroll Then
21
		scrlBar = "yes"
22
	Else
23
		scrlBar = "no"
24
	End If
25
%>
26
	<script language="JavaScript" type="text/javascript">
27
	<!--
28
	window.open('<%=SSurl%>','<%=SStitle%>','scrollbars=<%=scrlBar%>,resizable=yes,width=<%=SSW%>,height=<%=SSH%>');
29
	//-->
30
	</script>
31
<%
32
End Sub
33
'-----------------------------------------------------------------------------------------------------------------------------
34
Sub OpenInParentWindow ( SSurl )
35
%>
36
	<script language="JavaScript" type="text/javascript">
37
	<!--
38
	window.opener.document.location='<%=SSurl%>';
37 brianf 39
	//-->
13 rsolanki 40
	</script>
41
<%
42
End Sub
43
'-----------------------------------------------------------------------------------------------------------------------------
44
Sub OpenInWindow ( SSurl )
45
	Response.Redirect ( SSurl )
46
End Sub
47
'-----------------------------------------------------------------------------------------------------------------------------
48
Function onClickOpenWindow ( sURL, sWindowName, nWidth, nHeight, sWindowParams )
49
	If NOT IsNull(sWindowParams)  OR  (sWindowParams <> "") Then sWindowParams = sWindowParams &","	' Append comma if params are not empty
37 brianf 50
 
13 rsolanki 51
	onClickOpenWindow = "onClick='MM_openBrWindow("""& sURL &""", """& sWindowName &""", """& sWindowParams &"width="& nWidth &",height="& nHeight &",top=200,left=""+ ( screen.width / 2 - "& nWidth \ 2 &" ) +""  "");'"
52
End Function
4214 dpurdie 53
'-----------------------------------------------------------------------------------------------------------------
54
Function NicePath(path)
55
    NicePath = Replace(path," " , "",1,-1)    
56
    NicePath = Replace(NicePath,"/" , "-",1,-1)    
57
    NicePath = Replace(NicePath,"--" , "-",1,-1)    
58
End Function
13 rsolanki 59
'-----------------------------------------------------------------------------------------------------------------------------
60
Function ReadFile( sPath )
61
	Dim filesys, rfile
4214 dpurdie 62
    Set filesys = CreateObject("Scripting.FileSystemObject")
63
    If filesys.FileExists ( sPath ) Then
64
    	Set rfile = filesys.OpenTextFile( sPath, 1, false)
65
    	ReadFile = rfile.ReadAll
66
    	rfile.close
67
    Else
68
        ReadFile=""
69
    End If
70
    Set filesys = nothing
13 rsolanki 71
End Function
72
'-----------------------------------------------------------------------------------------------------------------------------
73
Function GetQuery ( sQryName )
74
	GetQuery = ReadFile( QUERIES_PATH &"\"& sQryName )
75
End Function
76
'-----------------------------------------------------------------------------------------------------------------------------
17 rsolanki 77
Function Quick_Help ( SStipname )
78
	Quick_Help = "<a href='javascript:;' onMouseOver=""formTips.show('"& SStipname &"')"" onMouseOut=""formTips.hide()""><img src='images/i_help.gif' width='12' height='12' hspace='2' align='absmiddle' border='0' ></a>"
79
End Function
80
'-----------------------------------------------------------------------------------------------------------------------------
13 rsolanki 81
Function BoldSelected ( sItem, nItemId, nrsItemId )
82
	' Exit on empty or null
37 brianf 83
	If ( nItemId = "" )  OR  IsNull( nItemId )  OR  ( nrsItemId = "" )  OR  IsNull( nrsItemId ) Then
13 rsolanki 84
		BoldSelected = sItem
85
		Exit Function
86
	End If
37 brianf 87
 
13 rsolanki 88
	If CInt( nItemId ) = CInt( nrsItemId ) Then
89
		BoldSelected = "<b>"& sItem &"</b>"
90
	Else
91
		BoldSelected = sItem
92
	End If
93
End Function
15 rsolanki 94
'-----------------------------------------------------------------------------------------------------------------------------
95
Function Get_From_DUAL ( SSclm )
96
	Dim rsTemp, Query_String, OraSession2, OraDatabase2
97
	Set OraSession2 = CreateObject("OracleInProcServer.XOraSession")
98
	Set OraDatabase2 = OraSession2.OpenDatabase( TNS_NAME, DB_AUTHENTICATION, Cint(0))
37 brianf 99
 
15 rsolanki 100
	Query_String = _
101
	" SELECT "& SSclm &" AS result FROM DUAL"
102
	Set rsTemp = OraDatabase2.DbCreateDynaset( Query_String, cint(0))
37 brianf 103
 
15 rsolanki 104
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
105
		Get_From_DUAL = (rsTemp.Fields("result"))
106
	End If
37 brianf 107
 
15 rsolanki 108
	rsTemp.Close
109
	Set rsTemp = nothing
110
	Set OraDatabase2 = nothing
111
	Set OraSession2 = nothing
112
End Function
13 rsolanki 113
'----------------------------------------------------------------------------------------------------------------------------------------------
114
Sub InitialiseCrumbs ( objCrumbs )
115
	Dim rsCrumb
116
	'L1par = enumDB_DEFAULT_EMPTY
117
	'L2par = enumDB_DEFAULT_EMPTY
118
	'L3par = enumDB_DEFAULT_EMPTY
37 brianf 119
 
120
 
13 rsolanki 121
	' This section will ensure only one level parameter is processed in order
122
	'If Request("bom_id") <> "" Then
123
	'	L3par = Request("bom_id")
37 brianf 124
	'
13 rsolanki 125
	'ElseIf Request("branch_id") <> "" Then
126
	'	L2par = Request("branch_id")
37 brianf 127
	'
13 rsolanki 128
	'ElseIf Request("proj_id") <> "" Then
129
		'L1par = Request("proj_id")
37 brianf 130
	'
13 rsolanki 131
	'End If
37 brianf 132
 
133
	OraDatabase.Parameters.Add "PROJ_ID", 	dbPARproj_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
134
	OraDatabase.Parameters.Add "BRANCH_ID", dbPARbranch_id, ORAPARM_INPUT, ORATYPE_NUMBER
135
	OraDatabase.Parameters.Add "BOM_ID", 	dbPARbom_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
136
	OraDatabase.Parameters.Add "NODE_ID", 	dbPARnode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
137
	OraDatabase.Parameters.Add "OS_ID", 	dbPARos_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
138
	OraDatabase.Parameters.Add "PROD_ID", 	dbPARprod_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
139
 
13 rsolanki 140
	Set rsCrumb = OraDatabase.DbCreateDynaset( GetQuery ("Crumbs.sql") , ORADYN_DEFAULT )
37 brianf 141
 
13 rsolanki 142
	objCrumbs.CrumbMaxDepth = 7		' e.g.	[1] Home / [2] ProjectName / [3] BranchName / [4] BomName
37 brianf 143
 
13 rsolanki 144
	objCrumbs.AddLevel "Home", "Default.asp", 0
145
	While ((NOT rsCrumb.BOF) AND (NOT rsCrumb.EOF))
146
		objCrumbs.AddLevel rsCrumb("crumb_name"), rsCrumb("crumb_link"), rsCrumb("crumb_level")
147
		rsCrumb.MoveNext()
148
	WEnd
37 brianf 149
 
13 rsolanki 150
	' Clean up
151
	rsCrumb.Close
152
	Set rsCrumb = Nothing
153
	OraDatabase.Parameters.Remove "PROJ_ID"
154
	OraDatabase.Parameters.Remove "BRANCH_ID"
155
	OraDatabase.Parameters.Remove "BOM_ID"
156
	OraDatabase.Parameters.Remove "NODE_ID"
157
	OraDatabase.Parameters.Remove "OS_ID"
158
	OraDatabase.Parameters.Remove "PROD_ID"
159
End Sub
160
'-----------------------------------------------------------------------------------------------------------------------------
161
Function Expander ( sExpand )
162
	Const IMG_PLUS = "<img src='icons/i_plus.gif' width='9' height='9' align='absmiddle' border='0'>"
163
	Const IMG_MINUS = "<img src='icons/i_minus.gif' width='9' height='9' align='absmiddle' border='0'>"
164
	Const IMG_NO_EXPAND = "<img src='images/spacer.gif' width='9' height='9' align='absmiddle' border='0'>"
37 brianf 165
 
13 rsolanki 166
	If sExpand = "+" Then
167
		Expander = IMG_PLUS
37 brianf 168
 
13 rsolanki 169
	ElseIf sExpand = "-" Then
170
		Expander = IMG_MINUS
37 brianf 171
 
13 rsolanki 172
	Else
173
		Expander = IMG_NO_EXPAND
37 brianf 174
 
13 rsolanki 175
	End If
37 brianf 176
 
13 rsolanki 177
End Function
178
'-----------------------------------------------------------------------------------------------------------------------------
179
Sub GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
180
	Dim query, rsQry
37 brianf 181
 
13 rsolanki 182
	' Preset all to enumDB_DEFAULT_EMPTY
183
	dbPARproj_id 	= enumDB_DEFAULT_EMPTY
184
	dbPARbranch_id 	= enumDB_DEFAULT_EMPTY
185
	dbPARbom_id 	= enumDB_DEFAULT_EMPTY
186
	dbPARnode_id 	= enumDB_DEFAULT_EMPTY
187
	dbPARos_id 		= enumDB_DEFAULT_EMPTY
188
	dbPARprod_id 	= enumDB_DEFAULT_EMPTY
37 brianf 189
 
190
 
13 rsolanki 191
	' Get the actual values from Request
192
	If Request("proj_id")  <> "" Then 	dbPARproj_id = Request("proj_id")
193
	If Request("branch_id")  <> "" Then dbPARbranch_id = Request("branch_id")
194
	If Request("bom_id")  <> "" Then 	dbPARbom_id = Request("bom_id")
195
	If Request("node_id") <> "" Then    dbPARnode_id = Request("node_id")
196
	If Request("os_id")   <> "" Then 	dbPARos_id = Request("os_id")
197
	If Request("prod_id") <> "" Then 	dbPARprod_id = Request("prod_id")
37 brianf 198
 
199
 
13 rsolanki 200
	' Resolve some parametes with DB lookup
201
	If ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) AND ( dbPARos_id <> enumDB_DEFAULT_EMPTY ) Then
202
		' Resolve with bom_id and os_id
203
		query = _
204
		" SELECT nn.node_id, br.BRANCH_ID, br.PROJ_ID "&_
205
		"  FROM BOM_CONTENTS bc,"&_
206
		"  	   NETWORK_NODES nn,"&_
207
		"	   OPERATING_SYSTEMS os,"&_
208
		"       BOMS bo,"&_
209
		"      BRANCHES br"&_
210
		" WHERE os.node_id = nn.node_id"&_
211
		"   AND bc.NODE_ID = nn.NODE_ID"&_
212
		"   AND bc.BOM_ID = bo.BOM_ID"&_
213
		"   AND bo.BRANCH_ID = br.BRANCH_ID"&_
214
		"   AND bc.bom_id = :BOM_ID"&_
215
		"   AND os.os_id = :OS_ID"
37 brianf 216
 
13 rsolanki 217
	ElseIf ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) Then
218
		' Resolve with bom_id and node_id
219
		query = _
220
		" SELECT :NODE_ID AS NODE_ID, br.BRANCH_ID, br.PROJ_ID "&_
221
		"  FROM BOMS bo,"&_
222
		"       BRANCHES br"&_
223
		" WHERE bo.BRANCH_ID = br.BRANCH_ID"&_
224
		"   AND bo.bom_id = :BOM_ID"
37 brianf 225
 
13 rsolanki 226
	End If
37 brianf 227
 
228
 
13 rsolanki 229
	If query <> "" Then
37 brianf 230
		OraDatabase.Parameters.Add "BOM_ID", 	dbPARbom_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
231
		OraDatabase.Parameters.Add "NODE_ID", 	dbPARnode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
232
		OraDatabase.Parameters.Add "OS_ID", 	dbPARos_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
233
 
13 rsolanki 234
		Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
37 brianf 235
 
13 rsolanki 236
		If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
237
			dbPARproj_id = CInt( rsQry("proj_id") )
238
			dbPARbranch_id = CInt( rsQry("branch_id") )
27 rsolanki 239
			dbPARnode_id = Int( rsQry("node_id") )
13 rsolanki 240
		End If
37 brianf 241
 
13 rsolanki 242
		rsQry.Close
243
		Set rsQry = Nothing
244
		OraDatabase.Parameters.Remove "BOM_ID"
245
		OraDatabase.Parameters.Remove "NODE_ID"
246
		OraDatabase.Parameters.Remove "OS_ID"
247
	End If
37 brianf 248
 
249
 
13 rsolanki 250
	' --- Get which level (used for pop-up menu add prod,os,node.)
251
	AT_PROD_LEVEL = FALSE
252
	AT_OS_LEVEL = FALSE
253
	AT_NODE_LEVEL = FALSE
254
	AT_BOM_LEVEL = FALSE
37 brianf 255
 
13 rsolanki 256
	If dbPARprod_id <> enumDB_DEFAULT_EMPTY Then
257
		' Product Level
258
		AT_PROD_LEVEL = TRUE
37 brianf 259
 
13 rsolanki 260
	ElseIf dbPARos_id <> enumDB_DEFAULT_EMPTY Then
261
		' OS Level
262
		AT_OS_LEVEL = TRUE
37 brianf 263
 
13 rsolanki 264
	ElseIf dbPARnode_id <> enumDB_DEFAULT_EMPTY Then
265
		' Node Level
266
		AT_NODE_LEVEL = TRUE
37 brianf 267
 
13 rsolanki 268
	ElseIf dbPARbom_id <> enumDB_DEFAULT_EMPTY Then
269
		' Bom Level
270
		AT_BOM_LEVEL = TRUE
37 brianf 271
 
13 rsolanki 272
	End If
37 brianf 273
 
13 rsolanki 274
End Sub
275
'-----------------------------------------------------------------------------------------------------------------------------
276
Function GetNodeImage ( nNode_id )
277
	Dim query, rsQry
278
	query = _
279
	"SELECT nt.NODE_IMAGE "&_
280
	"  FROM NETWORK_NODES nn,"&_
281
	"  	    NODE_TYPES nt"&_
282
	" WHERE nn.NODE_TYPE_ID = nt.NODE_TYPE_ID"&_
283
	"   AND nn.node_id = :NODE_ID"
37 brianf 284
 
285
	OraDatabase.Parameters.Add "NODE_ID", 	nNode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER
13 rsolanki 286
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
37 brianf 287
 
13 rsolanki 288
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
289
		GetNodeImage = "<img src='icons/"& rsQry("node_image") &"'>"
290
	End If
37 brianf 291
 
13 rsolanki 292
	rsQry.Close
293
	Set rsQry = Nothing
294
	OraDatabase.Parameters.Remove "NODE_ID"
295
End Function
296
'-----------------------------------------------------------------------------------------------------------------------------
297
Sub LoadTabActionButtons ( aBtns,  ByRef objControl )
298
	' -- Load Action Buttons
299
	Call objControl.LoadActionButtons ( aBtns, OraDatabase )
37 brianf 300
 
13 rsolanki 301
	' -- Set button spacer
302
	objControl.ButtonSpacer = 10
37 brianf 303
 
13 rsolanki 304
End Sub
305
'-----------------------------------------------------------------------------------------------------------------------------
306
Sub Messenger ( sMessage, nMessageType, sWidth )
307
	Dim msgTemplate, Img
37 brianf 308
 
13 rsolanki 309
	If (sMessage = "") OR IsNull(sMessage) Then Exit Sub
37 brianf 310
 
13 rsolanki 311
	Select Case CStr(nMessageType)
312
		Case "1"
313
			Img = "s_critical.gif"
314
		Case "2"
315
			Img = "s_warning.gif"
316
		Case "3"
317
			Img = "s_note.gif"
318
		Case Else
319
			Img = nMessageType
320
	End Select
37 brianf 321
 
322
 
13 rsolanki 323
	msgTemplate = ReadFile( APP_ROOT &"\scripts\message_style.html" )
324
	msgTemplate = Replace( msgTemplate, "%WIDTH%", sWidth )
325
	msgTemplate = Replace( msgTemplate, "%IMAGE%", Img )
326
	msgTemplate = Replace( msgTemplate, "%MESSAGE%", sMessage )
37 brianf 327
 
13 rsolanki 328
	Response.write msgTemplate
329
End Sub
330
'-----------------------------------------------------------------------------------------------------------------------------
331
Function IsTicked ( ByVal nParId, ByVal sParList )
332
	' Used only with check boxes as they send comma-separated list
333
	nParId 	 = ","&  Replace(nParId, " ", "") &","
334
	sParList = ","&  Replace(sParList, " ", "") &","
37 brianf 335
 
13 rsolanki 336
	If InStr( sParList, nParId ) > 0 Then
337
		IsTicked = TRUE
338
	Else
339
		IsTicked = FALSE
340
	End If
341
End Function
342
'-----------------------------------------------------------------------------------------------------------------------------
343
Function ProgressBar ()
344
	ProgressBar = "<DIV name='divProgressBar' id='divProgressBar' style='visibility:hidden;'><img src='icons/i_processing.gif' width='79' height='14'></DIV>"
345
End Function
346
'-----------------------------------------------------------------------------------------------------------------------------
347
Function HighlightSubstring ( SSstr, SSsubstr )
348
	Dim leftSTR, startPos
349
	startPos = InStr( 1, SSstr, SSsubstr, 1 )
37 brianf 350
 
13 rsolanki 351
	If startPos > 0 Then
352
		leftSTR = Left ( SSstr, startPos - 1 )
353
		Highlight_Substring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"&  Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr)  )
354
	Else
355
		' Subtring not found
356
		Highlight_Substring = SSstr
357
	End If
37 brianf 358
 
13 rsolanki 359
End Function
360
'-----------------------------------------------------------------------------------------------------------------------------
361
Sub DisplayColumn( sColumnName, sTableColumn, outOrderBy, bSetToDefault )
362
	Dim selectedColumnTemplate, tempColumnName, ordBy, ordType, ordImg, sLink, isDefaultColumn
37 brianf 363
 
13 rsolanki 364
	'--- Set Default Column ---
365
	isDefaultColumn = FALSE
366
	If (Request("ordby") = "")  AND bSetToDefault Then
367
		isDefaultColumn = TRUE
368
	End If
37 brianf 369
 
13 rsolanki 370
	'--- Create border for selected column ---
371
	selectedColumnTemplate = _
372
	"background='images/bg_table_border.gif'><table width='100%'  border='0' cellspacing='1' cellpadding='2'>"&_
373
    "  <tr>"&_
374
    "    <td align='right' nowrap background='images/bg_table_col.gif'>%COLUMN_NAME%</td>"&_
375
    "  </tr>"&_
376
    "</table>"
37 brianf 377
 
378
 
13 rsolanki 379
	'--- Create Order Name ---
380
	ordBy = LCase( Replace( sColumnName, " ", "_" ) )
37 brianf 381
 
382
 
13 rsolanki 383
	'--- Toggle Order Type ---
384
	ordType = "asc"
385
	ordImg = ""
386
	If Request("ordby") = ordBy  OR  isDefaultColumn Then
387
		If Request("ordtype") = "desc" Then
388
			ordType = "asc"
389
			ordImg = "<img src='icons/b_sort_desc.gif' hspace='4' border='0' align='absmiddle'>"
390
		Else
391
			ordType = "desc"
392
			ordImg = "<img src='icons/b_sort_asc.gif' hspace='4' border='0' align='absmiddle'>"
393
		End If
394
	End If
37 brianf 395
 
396
 
13 rsolanki 397
	'--- Set temporary Column name and link
37 brianf 398
	sLink = SCRIPT_NAME &"?ordby="& ordBy &"&ordtype="& ordType &"&"& objPMod.ComposeURL()
399
 
13 rsolanki 400
	tempColumnName = "<a href='"& sLink &"' class='body_linkbold'>&nbsp;"& ordImg & sColumnName &"&nbsp;</a>"
37 brianf 401
 
402
 
13 rsolanki 403
	'--- Display Formated Column Name ---
404
	If Request("ordby") = ordBy  OR  isDefaultColumn Then
405
		' This column is selected
406
		outOrderBy = " ORDER BY UPPER("& sTableColumn &") "& Request("ordtype")
37 brianf 407
		Response.write Replace( selectedColumnTemplate, "%COLUMN_NAME%", tempColumnName)
408
 
13 rsolanki 409
	Else
410
		' Check if column is sortable
411
		If NOT IsNull(sTableColumn)  OR (sTableColumn <> "") Then
412
			Response.write "background='images/bg_table_col.gif'>" & tempColumnName
413
		Else
414
			Response.write "background='images/bg_table_col.gif' class='body_col'>"& sColumnName
415
		End If
37 brianf 416
 
417
 
13 rsolanki 418
	End If
37 brianf 419
 
13 rsolanki 420
End Sub
421
'-----------------------------------------------------------------------------------------------------------------------------
422
Function BomIcon ( sIsReadonly, sIsRejected )
37 brianf 423
 
13 rsolanki 424
	If sIsReadonly = enumDB_NO Then
425
		BomIcon = enumBOM_EDITMODE
426
	Else
427
		If (sIsRejected = "") OR IsNull(sIsRejected) Then
428
			BomIcon = enumBOM_NEW
37 brianf 429
 
13 rsolanki 430
		ElseIf sIsRejected = enumDB_YES Then
431
			BomIcon = enumBOM_REJECTED
37 brianf 432
 
13 rsolanki 433
		ElseIf sIsRejected = enumDB_NO Then
434
			BomIcon = enumBOM_ACCEPTED
37 brianf 435
 
13 rsolanki 436
		End If
37 brianf 437
 
13 rsolanki 438
	End If
37 brianf 439
 
13 rsolanki 440
End Function
441
'-----------------------------------------------------------------------------------------------------------------
442
Sub GetBomDetails ( nBom_id, ByRef outobjDetails )
443
	Dim rsQry, query
37 brianf 444
	OraDatabase.Parameters.Add "BOM_ID", nBom_id,	ORAPARM_INPUT, ORATYPE_NUMBER
445
 
13 rsolanki 446
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomDetails.sql") , ORADYN_DEFAULT )
37 brianf 447
 
13 rsolanki 448
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
449
		outobjDetails.Item ("bom_id")   = rsQry("bom_id")
450
		outobjDetails.Item ("bom_name") = rsQry("bom_name")
451
		outobjDetails.Item ("bom_name_id") = rsQry("bom_name_id")
452
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
453
		outobjDetails.Item ("bom_version") = rsQry("bom_version")
454
		outobjDetails.Item ("bom_lifecycle") = rsQry("bom_lifecycle")
455
		outobjDetails.Item ("bom_comments") = rsQry("bom_comments")
456
		outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
457
		outobjDetails.Item ("is_rejected") = rsQry("is_rejected")
458
		outobjDetails.Item ("parent_bom_id") = rsQry("parent_bom_id")
459
		outobjDetails.Item ("base_env_count") = rsQry("base_env_count")
460
		outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id_fk")
29 jtweddle 461
		outobjDetails.Item ("pdf_attachment_path") = rsQry("pdf_attachment_path")
37 brianf 462
 
13 rsolanki 463
	Else
464
		Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
37 brianf 465
 
13 rsolanki 466
	End If
37 brianf 467
 
13 rsolanki 468
	OraDatabase.Parameters.Remove "BOM_ID"
469
	rsQry.Close
470
	Set rsQry = Nothing
471
End Sub
25 rsolanki 472
'-----------------------------------------------------------------------------------------------------------------
473
Sub GetProjDetails ( nBom_id, ByRef outobjDetails )
474
	Dim rsQry, query
37 brianf 475
	OraDatabase.Parameters.Add "BOM_ID", nBom_id,	ORAPARM_INPUT, ORATYPE_NUMBER
476
 
25 rsolanki 477
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProjDetails.sql") , ORADYN_DEFAULT )
37 brianf 478
 
25 rsolanki 479
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
37 brianf 480
		outobjDetails.Item ("is_download")   = rsQry("is_download")
25 rsolanki 481
	Else
482
		Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
37 brianf 483
 
25 rsolanki 484
	End If
37 brianf 485
 
25 rsolanki 486
	OraDatabase.Parameters.Remove "BOM_ID"
487
	rsQry.Close
488
	Set rsQry = Nothing
489
End Sub
13 rsolanki 490
'-----------------------------------------------------------------------------------------------------------------------------
23 rsolanki 491
Sub RaiseMsg ( SSerrFile, SSerrDesc )
492
	' Usage: enumERROR, parval1 &"|"& parval2 &"|"& parval3 ...
493
	Session( "DEPMGR_ERRDESCRIPTION" ) = SSerrDesc
494
	Response.Redirect ("messages/"& SSerrFile )
495
End Sub
496
'-----------------------------------------------------------------------------------------------------------------------------
4807 dpurdie 497
Sub RaiseMsgInParent ( SSerrFile, SSerrDesc )
498
   Session( enum_RELMGR_ERRDESCRIPTION ) = SSerrDesc
499
   Call OpenInParentWindow ("messages/"& SSerrFile )
500
End Sub
501
'-----------------------------------------------------------------------------------------------------------------------------
13 rsolanki 502
Function Wiki2HTML ( ByVal sWikiString )
503
	'=== Definition ===
504
	sWikiString = Replace ( sWikiString, "[BREAKLINE]", "<hr noshade size='1' color='#DAD7C8'>"  )
505
	sWikiString = Replace ( sWikiString, "[NEWLINE]", "<br>"  )
37 brianf 506
 
13 rsolanki 507
	Wiki2HTML = sWikiString
508
End Function
509
'----------------------------------------------------------------------------------------------------------------------------------------------
510
Function GetProductIcon ( rsQry )
511
	Const LIMG_BB_PRODUCT = "<img src='icons/i_product.gif' width='19' height='19' border='0' align='absmiddle'>"
512
	Const LIMG_BB_PATCH = "<img src='icons/i_patch_small.gif' border='0' align='absmiddle' hspace='2'>"
513
	Const LIMG_BB_PATCH_OBSOLETE = "<img src='icons/i_patch_small_obsolete.gif' border='0' align='absmiddle' hspace='2'>"
514
	Const LIMG_BB_PRODUCT_REJECTED = "<img src='icons/i_product_rejected.gif' width='19' height='19' border='0' align='absmiddle' title='Product is REJECTED! Click to see details.'>"
37 brianf 515
 
13 rsolanki 516
	'-- Set default icon
517
	GetProductIcon = LIMG_BB_PRODUCT
37 brianf 518
 
13 rsolanki 519
	If IsObject(rsQry) Then
520
		'/* Recordset is passed */
521
		If rsQry("is_rejected") = enumDB_YES Then
522
			GetProductIcon = LIMG_BB_PRODUCT_REJECTED
37 brianf 523
 
13 rsolanki 524
		ElseIf rsQry("is_obsolete") = enumDB_YES Then
525
			GetProductIcon = LIMG_BB_PATCH_OBSOLETE
37 brianf 526
 
13 rsolanki 527
		ElseIf rsQry("is_patch") = enumDB_YES Then
528
			GetProductIcon = LIMG_BB_PATCH
37 brianf 529
 
530
 
531
 
13 rsolanki 532
		End If
37 brianf 533
 
13 rsolanki 534
	Else
535
		'/* Single Value is passed */
536
		If rsQry = enumDB_YES Then
537
			GetProductIcon = LIMG_BB_PRODUCT_REJECTED
538
		End If
37 brianf 539
 
13 rsolanki 540
	End If
37 brianf 541
 
13 rsolanki 542
End Function
543
'----------------------------------------------------------------------------------------------------------------------------------------------
544
Function GetRootVersion ( sBomVersion )
545
	Dim tempArr
37 brianf 546
 
13 rsolanki 547
	If InStr( sBomVersion, "." ) > 0 Then
548
		'-- Dot separator found --
37 brianf 549
 
13 rsolanki 550
		'-- Split version --
551
		tempArr = Split( sBomVersion, "." )
37 brianf 552
 
13 rsolanki 553
		'-- Return first element as root version
554
		GetRootVersion = tempArr(0)
37 brianf 555
 
13 rsolanki 556
	Else
557
		'-- No dot separator, hence root version is version itself
558
		GetRootVersion = sBomVersion
37 brianf 559
 
13 rsolanki 560
	End If
37 brianf 561
 
13 rsolanki 562
End Function
563
'--------------------------------------------------------------------------------------------------------------------------
564
Function HighlightSubstring ( SSstr, SSsubstr )
565
	Dim leftSTR, startPos
566
	startPos = InStr( 1, SSstr, SSsubstr, 1 )
37 brianf 567
 
13 rsolanki 568
	If startPos > 0 Then
569
		leftSTR = Left ( SSstr, startPos - 1 )
570
		HighlightSubstring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"&  Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr)  )
571
	Else
572
		' Subtring not found
573
		HighlightSubstring = SSstr
574
	End If
37 brianf 575
 
13 rsolanki 576
End Function
577
'-----------------------------------------------------------------------------------------------------------------------------
578
Sub Destroy_All_Objects
579
	On Error Resume Next
580
	set brokenReadyHash = nothing
581
	set brokenHash = nothing
582
	set pkgInfoHash = nothing
583
	set OraDatabase = nothing
584
	set OraSession = nothing
585
	set userdetailsHash = nothing
586
End Sub
29 jtweddle 587
'-----------------------------------------------------------------------------------------------------------------------------
588
Sub Get_Pkg_Short_Info( SSparPv_id, SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked )
589
	Dim rsTemp, Query_String
590
	If IsEmpty(SSparPv_id) Then Exit Sub
37 brianf 591
 
29 jtweddle 592
	Query_String = _
593
	" SELECT pkg.pkg_id, pkg.pkg_name, pv.pkg_version, pv.src_path, pv.pv_description, pv.dlocked"&_
594
	"  FROM packages pkg, package_versions pv"&_
595
	" WHERE pkg.pkg_id = pv.pkg_id  AND pv.pv_id ="& SSparPv_id
37 brianf 596
 
29 jtweddle 597
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
37 brianf 598
 
29 jtweddle 599
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
600
		SSpkgID = rsTemp.Fields("pkg_id")
601
		SSpkgName = rsTemp.Fields("pkg_name")
602
		SSpkgVersion = rsTemp.Fields("pkg_version")
603
		SSsrc_path = rsTemp.Fields("src_path")
604
		SSpkgDesc = rsTemp.Fields("pv_description")
605
		BBdlocked = rsTemp.Fields("dlocked")
606
	End If
37 brianf 607
 
29 jtweddle 608
	rsTemp.Close
609
	Set rsTemp = nothing
610
End Sub
611
'-----------------------------------------------------------------------------------------------------------------------------
612
Sub Create_Folder ( sCreateIn, sFolderName )
613
	Dim filesys, currfolder, folcoll, subfol
614
	Set filesys = CreateObject("Scripting.FileSystemObject")
615
	If filesys.FolderExists( sCreateIn ) Then
616
		Set currfolder = filesys.GetFolder( sCreateIn )
617
		Set folcoll = currfolder.SubFolders
618
		If NOT filesys.FolderExists( sCreateIn &"\"& sFolderName ) Then
619
			folcoll.Add( sFolderName )
620
		End If
621
	End If
622
End Sub
623
'-----------------------------------------------------------------------------------------------------------------------------
624
Sub DeleteFile( SSpath )
625
	Dim filesys
626
	Set filesys = CreateObject("Scripting.FileSystemObject")
627
	If filesys.FileExists(SSpath) Then
628
   		filesys.DeleteFile SSpath, TRUE
37 brianf 629
	End If
29 jtweddle 630
	Set filesys = nothing
631
End Sub
632
'-----------------------------------------------------------------------------------------------------------------------------
633
Sub Get_Pkg_Info ( SSpv_id, NNrtag )
634
	Dim rsTemp, Query_String
37 brianf 635
	OraDatabase.Parameters.Add "PV_ID", 		SSpv_id,	ORAPARM_INPUT, ORATYPE_NUMBER
636
	OraDatabase.Parameters.Add "RTAG_ID", 		NNrtag,		ORAPARM_INPUT, ORATYPE_NUMBER
637
	OraDatabase.Parameters.Add "RETURN_NUMBER", NULL,		ORAPARM_OUTPUT, ORATYPE_NUMBER
638
 
639
 
29 jtweddle 640
	pkgInfoHash.Item ("can_unofficial") = "false"
37 brianf 641
 
29 jtweddle 642
	'/* Get Package Details */
643
	Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))
37 brianf 644
 
29 jtweddle 645
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
646
		pkgInfoHash.Add "pv_id", (rsTemp.Fields("pv_id"))
647
		pkgInfoHash.Add "pkg_id", (rsTemp.Fields("pkg_id"))
648
		pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name"))
649
		pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version"))
650
		pkgInfoHash.Add "v_ext", (rsTemp.Fields("v_ext"))
651
		pkgInfoHash.Add "comments", (rsTemp.Fields("comments"))
37 brianf 652
 
29 jtweddle 653
		pkgInfoHash.Add "modified_stamp", (rsTemp.Fields("modified_stamp"))
654
		pkgInfoHash.Add "modifier", (rsTemp.Fields("modifier"))
655
		pkgInfoHash.Add "modifier_id", (rsTemp.Fields("modifier_id"))
656
		pkgInfoHash.Add "modifier_email", (rsTemp.Fields("modifier_email"))
37 brianf 657
 
29 jtweddle 658
		pkgInfoHash.Add "created_stamp", (rsTemp.Fields("created_stamp"))
659
		pkgInfoHash.Add "creator", (rsTemp.Fields("creator"))
660
		pkgInfoHash.Add "creator_email", (rsTemp.Fields("creator_email"))
37 brianf 661
 
29 jtweddle 662
		pkgInfoHash.Add "owner", (rsTemp.Fields("owner"))
663
		pkgInfoHash.Add "owner_email", (rsTemp.Fields("owner_email"))
37 brianf 664
 
29 jtweddle 665
		pkgInfoHash.Add "dlocked", (rsTemp.Fields("dlocked"))
666
		pkgInfoHash.Add "proj_id", (rsTemp.Fields("proj_id"))
667
		pkgInfoHash.Add "rtag_id", (rsTemp.Fields("rtag_id"))
668
		pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
669
		pkgInfoHash.Add "pkg_label", (rsTemp.Fields("pkg_label"))
670
		pkgInfoHash.Add "src_path", (rsTemp.Fields("src_path"))
671
		pkgInfoHash.Add "pv_description", (rsTemp.Fields("pv_description"))
672
		pkgInfoHash.Add "last_pv_id", (rsTemp.Fields("last_pv_id"))
673
		pkgInfoHash.Add "previous_version", (rsTemp.Fields("previous_version"))
674
		pkgInfoHash.Add "release_notes_info", (rsTemp.Fields("release_notes_info"))
37 brianf 675
 
29 jtweddle 676
		pkgInfoHash.Add "is_patch", (rsTemp.Fields("is_patch"))
677
		pkgInfoHash.Add "is_obsolete", (rsTemp.Fields("is_obsolete"))
678
		pkgInfoHash.Add "obsolete_comments", (rsTemp.Fields("obsolete_comments"))
37 brianf 679
 
29 jtweddle 680
		pkgInfoHash.Add "build_type", (rsTemp.Fields("build_type"))
681
		pkgInfoHash.Add "change_type", (rsTemp.Fields("change_type"))
37 brianf 682
 
29 jtweddle 683
	End If
684
 
685
 
37 brianf 686
 
687
 
688
 
689
 
690
 
691
 
29 jtweddle 692
End Sub
693
'-----------------------------------------------------------------------------------------------------------------------------
694
Function Folder_Is_Empty ( sPath )
695
	Dim filesys, oFolder
37 brianf 696
	Set filesys = CreateObject("Scripting.FileSystemObject")
697
 
29 jtweddle 698
	If filesys.FolderExists( sPath ) Then
37 brianf 699
		Set oFolder = filesys.GetFolder( sPath )
29 jtweddle 700
		If ( oFolder.Files.Count + oFolder.SubFolders.Count ) > 0 Then
701
			Folder_Is_Empty = FALSE
702
		Else
703
			Folder_Is_Empty = TRUE
704
		End If
705
	Else
706
		Folder_Is_Empty = TRUE
707
	End If
37 brianf 708
 
29 jtweddle 709
End Function
710
'-----------------------------------------------------------------------------------------------------------------------------
711
Sub DeleteFolder( SSpath )
712
	Dim  filesys
713
	Set filesys = CreateObject ("Scripting.FileSystemObject")
714
	If filesys.FolderExists( SSpath ) Then
715
		'Set oFolder = filesys.GetFolder( SSpath )
716
		filesys.DeleteFolder SSpath ,TRUE
717
	End If
718
End Sub
719
'-----------------------------------------------------------------------------------------------------------------------------
720
Sub PopulateSBOMField( nBomId, nProdId, sPkgName, sPkgVersion )
721
 
722
	Dim rsTemp, BomLocationDetails
723
 
724
	If IsNull(nProdId) Then
725
		Dim Query
726
 
727
		Query = "select pv.pv_id from package_versions pv, packages pkg where pv.pkg_id = pkg.pkg_id "&_
728
				" and pv.pkg_version = '"&sPkgVersion&"' and pkg.pkg_name = '"&sPkgName&"'"
729
 
4214 dpurdie 730
		Response.Write Query
29 jtweddle 731
		Set rsTemp = OraDatabase.DbCreateDynaset( Query, cint(0))
732
 
733
		nProdId = rsTemp("pv_id")
734
 
735
	End If
736
 
737
	'OraDatabase.Parameters.Add "BOM_ID", nBomId,	ORAPARM_INPUT, ORATYPE_NUMBER
738
 
739
	'/* Get SBOM Details */
740
	Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("BomLocationDetails.sql"), cint(0))
741
 
742
	BomLocationDetails = rsTemp("proj_name") + " > " + rsTemp("branch_name") + " > " &_
743
						+ rsTemp("bom_name") + " " + rsTemp("bom_version") + "." &_
744
						+ rsTemp("bom_lifecycle")
745
 
746
	'OraDatabase.Parameters.Remove "BOM_ID"
37 brianf 747
 
29 jtweddle 748
	rsTemp.Close()
749
	Set rsTemp = Nothing
750
 
751
 
37 brianf 752
 
753
 
29 jtweddle 754
End Sub
755
'-----------------------------------------------------------------------------------------------------------------------------
756
Sub  Get_CQ_Issues( SSsql, OOrsCQ )
757
 
4554 dpurdie 758
    On Error Resume Next
759
    Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
29 jtweddle 760
 
761
End Sub
762
'-----------------------------------------------------------------------------------------------------------------------------
5517 dpurdie 763
'   Create a Windows scripting object and set special EnvVars to allow the script to access the oracle database
764
'   Export connection credentials as EnvVars. This is better than hard coding them
765
'   Returns an object
766
Function createWscriptShell()
767
    Dim wshSystemEnv, objWSH
768
 
769
    Set objWSH = Server.CreateObject("WScript.Shell")
770
 
771
    '   Set EnvVars
772
    Set wshSystemEnv = objWSH.Environment( "Process" )
773
    wshSystemEnv("ORA_DATABASE") = Application("TNS_NAME")
774
    wshSystemEnv("ORA_CONNECTION") = Application("DEPLOYMENT_MANAGER_LOGIN")
775
 
776
    Set createWscriptShell = objWSH
777
    Set wshSystemEnv = nothing
778
    Set objWSH = nothing
779
 
780
End Function
37 brianf 781
%>