Subversion Repositories DevTools

Rev

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