Subversion Repositories DevTools

Rev

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