Subversion Repositories DevTools

Rev

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%>';
39
	//-->	
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
50
 
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
73
	If ( nItemId = "" )  OR  IsNull( nItemId )  OR  ( nrsItemId = "" )  OR  IsNull( nrsItemId ) Then 
74
		BoldSelected = sItem
75
		Exit Function
76
	End If
77
 
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))
89
 
90
	Query_String = _
91
	" SELECT "& SSclm &" AS result FROM DUAL"
92
	Set rsTemp = OraDatabase2.DbCreateDynaset( Query_String, cint(0))
93
 
94
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
95
		Get_From_DUAL = (rsTemp.Fields("result"))
96
	End If
97
 
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
109
 
110
 
111
	' This section will ensure only one level parameter is processed in order
112
	'If Request("bom_id") <> "" Then
113
	'	L3par = Request("bom_id")
114
	'	
115
	'ElseIf Request("branch_id") <> "" Then
116
	'	L2par = Request("branch_id")
117
	'	
118
	'ElseIf Request("proj_id") <> "" Then
119
		'L1par = Request("proj_id")
120
	'	
121
	'End If
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
 
130
	Set rsCrumb = OraDatabase.DbCreateDynaset( GetQuery ("Crumbs.sql") , ORADYN_DEFAULT )
131
 
132
	objCrumbs.CrumbMaxDepth = 7		' e.g.	[1] Home / [2] ProjectName / [3] BranchName / [4] BomName
133
 
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
139
 
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'>"
155
 
156
	If sExpand = "+" Then
157
		Expander = IMG_PLUS
158
 
159
	ElseIf sExpand = "-" Then
160
		Expander = IMG_MINUS
161
 
162
	Else
163
		Expander = IMG_NO_EXPAND
164
 
165
	End If
166
 
167
End Function
168
'-----------------------------------------------------------------------------------------------------------------------------
169
Sub GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
170
	Dim query, rsQry
171
 
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
179
 
180
 
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")
188
 
189
 
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"
206
 
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"
215
 
216
	End If
217
 
218
 
219
	If query <> "" Then
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
 
224
		Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
225
 
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
231
 
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
238
 
239
 
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
245
 
246
	If dbPARprod_id <> enumDB_DEFAULT_EMPTY Then
247
		' Product Level
248
		AT_PROD_LEVEL = TRUE
249
 
250
	ElseIf dbPARos_id <> enumDB_DEFAULT_EMPTY Then
251
		' OS Level
252
		AT_OS_LEVEL = TRUE
253
 
254
	ElseIf dbPARnode_id <> enumDB_DEFAULT_EMPTY Then
255
		' Node Level
256
		AT_NODE_LEVEL = TRUE
257
 
258
	ElseIf dbPARbom_id <> enumDB_DEFAULT_EMPTY Then
259
		' Bom Level
260
		AT_BOM_LEVEL = TRUE
261
 
262
	End If
263
 
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"
274
 
275
	OraDatabase.Parameters.Add "NODE_ID", 	nNode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
276
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
277
 
278
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
279
		GetNodeImage = "<img src='icons/"& rsQry("node_image") &"'>"
280
	End If
281
 
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 )
290
 
291
	' -- Set button spacer
292
	objControl.ButtonSpacer = 10
293
 
294
End Sub
295
'-----------------------------------------------------------------------------------------------------------------------------
296
Sub Messenger ( sMessage, nMessageType, sWidth )
297
	Dim msgTemplate, Img
298
 
299
	If (sMessage = "") OR IsNull(sMessage) Then Exit Sub
300
 
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
311
 
312
 
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 )
317
 
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, " ", "") &","
325
 
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 )
340
 
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
348
 
349
End Function
350
'-----------------------------------------------------------------------------------------------------------------------------
351
Sub DisplayColumn( sColumnName, sTableColumn, outOrderBy, bSetToDefault )
352
	Dim selectedColumnTemplate, tempColumnName, ordBy, ordType, ordImg, sLink, isDefaultColumn
353
 
354
	'--- Set Default Column ---
355
	isDefaultColumn = FALSE
356
	If (Request("ordby") = "")  AND bSetToDefault Then
357
		isDefaultColumn = TRUE
358
	End If
359
 
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>"
367
 
368
 
369
	'--- Create Order Name ---
370
	ordBy = LCase( Replace( sColumnName, " ", "_" ) )
371
 
372
 
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
385
 
386
 
387
	'--- Set temporary Column name and link
388
	sLink = SCRIPT_NAME &"?ordby="& ordBy &"&ordtype="& ordType &"&"& objPMod.ComposeURL() 
389
 
390
	tempColumnName = "<a href='"& sLink &"' class='body_linkbold'>&nbsp;"& ordImg & sColumnName &"&nbsp;</a>"
391
 
392
 
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")
397
		Response.write Replace( selectedColumnTemplate, "%COLUMN_NAME%", tempColumnName) 
398
 
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
406
 
407
 
408
	End If
409
 
410
End Sub
411
'-----------------------------------------------------------------------------------------------------------------------------
412
Function BomIcon ( sIsReadonly, sIsRejected )
413
 
414
	If sIsReadonly = enumDB_NO Then
415
		BomIcon = enumBOM_EDITMODE
416
	Else
417
		If (sIsRejected = "") OR IsNull(sIsRejected) Then
418
			BomIcon = enumBOM_NEW
419
 
420
		ElseIf sIsRejected = enumDB_YES Then
421
			BomIcon = enumBOM_REJECTED
422
 
423
		ElseIf sIsRejected = enumDB_NO Then
424
			BomIcon = enumBOM_ACCEPTED
425
 
426
		End If
427
 
428
	End If
429
 
430
End Function
431
'-----------------------------------------------------------------------------------------------------------------
432
Sub GetBomDetails ( nBom_id, ByRef outobjDetails )
433
	Dim rsQry, query
434
	OraDatabase.Parameters.Add "BOM_ID", nBom_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
435
 
436
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomDetails.sql") , ORADYN_DEFAULT )
437
 
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")
13 rsolanki 452
 
453
	Else
454
		Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
455
 
456
	End If
457
 
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
465
	OraDatabase.Parameters.Add "BOM_ID", nBom_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
466
 
467
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProjDetails.sql") , ORADYN_DEFAULT )
468
 
469
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
470
		outobjDetails.Item ("is_download")   = rsQry("is_download")		
471
	Else
472
		Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
473
 
474
	End If
475
 
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>"  )
491
 
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.'>"
500
 
501
	'-- Set default icon
502
	GetProductIcon = LIMG_BB_PRODUCT
503
 
504
	If IsObject(rsQry) Then
505
		'/* Recordset is passed */
506
		If rsQry("is_rejected") = enumDB_YES Then
507
			GetProductIcon = LIMG_BB_PRODUCT_REJECTED
508
 
509
		ElseIf rsQry("is_obsolete") = enumDB_YES Then
510
			GetProductIcon = LIMG_BB_PATCH_OBSOLETE
15 rsolanki 511
 
13 rsolanki 512
		ElseIf rsQry("is_patch") = enumDB_YES Then
513
			GetProductIcon = LIMG_BB_PATCH
15 rsolanki 514
 
515
 
13 rsolanki 516
 
517
		End If
518
 
519
	Else
520
		'/* Single Value is passed */
521
		If rsQry = enumDB_YES Then
522
			GetProductIcon = LIMG_BB_PRODUCT_REJECTED
523
		End If
524
 
525
	End If
526
 
527
End Function
528
'----------------------------------------------------------------------------------------------------------------------------------------------
529
Function GetRootVersion ( sBomVersion )
530
	Dim tempArr
531
 
532
	If InStr( sBomVersion, "." ) > 0 Then
533
		'-- Dot separator found --
534
 
535
		'-- Split version --
536
		tempArr = Split( sBomVersion, "." )
537
 
538
		'-- Return first element as root version
539
		GetRootVersion = tempArr(0)
540
 
541
	Else
542
		'-- No dot separator, hence root version is version itself
543
		GetRootVersion = sBomVersion
544
 
545
	End If
546
 
547
End Function
548
'--------------------------------------------------------------------------------------------------------------------------
549
Function HighlightSubstring ( SSstr, SSsubstr )
550
	Dim leftSTR, startPos
551
	startPos = InStr( 1, SSstr, SSsubstr, 1 )
552
 
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
560
 
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
576
 
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
581
 
582
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
583
 
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
592
 
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
614
	End If 
615
	Set filesys = nothing
616
End Sub
617
'-----------------------------------------------------------------------------------------------------------------------------
618
Sub Get_Pkg_Info ( SSpv_id, NNrtag )
619
	Dim rsTemp, Query_String
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
 
625
	pkgInfoHash.Item ("can_unofficial") = "false"
626
 
627
	'/* Get Package Details */
628
	Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))
629
 
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"))
637
 
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"))
642
 
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"))
646
 
647
		pkgInfoHash.Add "owner", (rsTemp.Fields("owner"))
648
		pkgInfoHash.Add "owner_email", (rsTemp.Fields("owner_email"))
649
 
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"))
660
 
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"))
664
 
665
		pkgInfoHash.Add "build_type", (rsTemp.Fields("build_type"))
666
		pkgInfoHash.Add "change_type", (rsTemp.Fields("change_type"))
667
 
668
	End If
669
 
670
 
671
 
672
 
673
 
674
 
675
 
676
 
677
End Sub
678
'-----------------------------------------------------------------------------------------------------------------------------
679
Function Folder_Is_Empty ( sPath )
680
	Dim filesys, oFolder
681
	Set filesys = CreateObject("Scripting.FileSystemObject") 
682
 
683
	If filesys.FolderExists( sPath ) Then
684
		Set oFolder = filesys.GetFolder( sPath )  
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
693
 
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 )
734
 
735
 
736
	'OraDatabase.Parameters.Remove "BOM_ID"
737
 
738
	rsTemp.Close()
739
	Set rsTemp = Nothing
740
 
741
 
742
 
743
 
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
 
757
 
758
	'Response.Write sqlstr
759
 
760
	Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
761
 
762
	DEVIiss = "-1"
763
	TDSEiss  = "-1"
764
 
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")
768
 
769
		ElseIf CInt(rsTemp("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
770
			TDSEiss = TDSEiss &","& rsTemp("iss_id")
771
 
772
		End If
773
 
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")
793
 
794
			Set rsTemp = CreateObject("ADODB.Connection")
795
 
796
			rsTemp.Open CQ_conn
797
 
798
			rsTemp.Execute "EXEC devi_prod.dbo.sp_DM_editSBOMDetails "& rsCQ("iss_id") &", '"& sBomDetails &"';"	
799
 
800
			rsTemp.Close()
801
			Set rsTemp = Nothing
802
		End If
803
 
804
		rsCQ.MoveNext
805
	Wend
806
 
807
	rsCQ.Close()
808
	Set rsCQ = Nothing	
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
'-----------------------------------------------------------------------------------------------------------------------------
13 rsolanki 823
%>