Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
15 rsolanki 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|				         DIFF					     |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
12
Response.Expires = 0	' always load the page, dont store
13
%>
14
 
15
<%
16
'To enable the script timeout to 5 mins
17
Server.ScriptTimeout=600
18
%>
19
<!--#include file="common/config.asp"-->
20
<!--#include file="common/globals.asp"-->
21
<!--#include file="common/formating.asp"-->
22
<!--#include file="common/common_subs.asp"-->
23
<!--#include file="common/common_dbedit.asp"-->
24
<!--#include file="common/_form_window_common.asp"-->
25
<!--#include file="common/_rtree_common.asp"-->
26
<%
27
' Set rfile parameter. This is a return page after Login
28
'Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
29
'objPMod.PersistInQryString("proj_id")
30
'------------ ACCESS CONTROL ------------------
31
%>
32
 
33
<!--#include file="_access_control_general.asp"-->
34
<%
35
'------------ Variable Definition -------------
36
Dim rsQry
37
Dim objRelCollectorA
38
Dim objRelCollectorB
39
Dim parRtagA
40
Dim parRtagB
41
Dim parSBOMA
42
Dim parSBOMB
43
Dim dDiffFilter
44
Dim colorA, colorB, ChangeTypeIcon
45
Dim btnMerge, btnRemove
46
Dim rowId
47
Dim email
48
Dim FSO
49
Dim NewTextFile
50
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, counterB
3947 dpurdie 51
Dim SSsql, retVal, rsCQ, DEVIiss
15 rsolanki 52
Dim a, b, c, d, pkgversion, errormsg, source_change
53
 
54
 
55
'------------ Constants Declaration -----------
56
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"
57
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Added'>"
58
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Removed'>"
59
Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"
60
Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"
61
Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"
62
Const LCOLOR_NOT_CHANGED = "#F5F5F5"
63
Const LCOLOR_CHANGED = "#d2f7c9"
64
Const LCOLOR_BLANK = "#FFFFFF"
65
Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"
66
Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"
67
Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"
68
Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"
69
'------------ Variable Init -------------------
70
Set rsCQ = Server.CreateObject("ADODB.Recordset")
71
parRtagA = Request("rtagA")
72
parRtagB = Request("rtagB")
73
parSBOMA = Request("sbomA")
74
parSBOMB = Request("sbomB")
75
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
76
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
77
Set dDiffFilter = CreateObject("Scripting.Dictionary")
78
 
79
'----------------------------------------------
80
If Request("btn") = "Mail Me Report" Then
81
	email = true
82
End If
83
%>
84
<%
85
'--------------------------------------------------------------------------------------------------------------------------
86
Sub GetDiffFilterValues ( outDepFilter )
87
	Dim FilterVal, aFilterValues
88
 
89
	If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then	
90
		aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",") 
91
 
92
		For Each FilterVal In aFilterValues
93
			outDepFilter.Item (CStr( FilterVal )) = ""
94
		Next
95
 
96
	End If
97
 
98
End Sub
99
'--------------------------------------------------------------------------------------------------------------------------
100
Sub GetFixedIssues(pv_id)
101
	Set sqlstrA = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
102
 
103
		If sqlstrA.RecordCount <> 0 Then
104
			NewTextFile.WriteLine()
105
			NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
106
		End If
107
 
108
		For counterA=1 to sqlstrA.RecordCount
109
			DEVIiss = "-1"
3947 dpurdie 110
 
15 rsolanki 111
			If CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
112
				DEVIiss = DEVIiss &","& sqlstrA("iss_id")
113
			End If
114
 
115
			SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
116
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
117
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
3947 dpurdie 118
			retVal = Get_CQ_Issues ( SSsql, rsCQ )
15 rsolanki 119
 
120
			If rsCQ("iss_num") <> "" Then
121
  				NewTextFile.Write("<blockquote><blockquote><blockquote>"&rsCQ("iss_num")&": ")
122
	    	End If
123
 
124
	     	If rsCQ("summary") <> "" Then
125
				NewTextFile.WriteLine(rsCQ("summary")&"</blockquote></blockquote></blockquote>")						
126
			End If
127
 
128
			sqlstrA.MoveNext
129
		Next
130
			sqlstrA.Close()		
131
 
132
 
133
End Sub
134
'--------------------------------------------------------------------------------------------------------------------------
135
Sub GetDependencies(pv_id_a, pv_id_b)
136
	Set sqlstrA = OraDatabase.DbCreateDynaset("select * from package_dependencies where pv_id = "& pv_id_b &" and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" )", cint(0))	
137
		If sqlstrA.RecordCount <> 0 Then
138
			NewTextFile.WriteLine()
139
			NewTextFile.WriteLine("<b>Dependencies Changed:</b>")
140
		End If
141
 
142
		For counterA=1 to sqlstrA.RecordCount
143
			Call dependencyComments(sqlstrA("dpv_id"))
144
 
145
			sqlstrA.MoveNext		
146
		Next 		
147
			sqlstrA.Close()				 
148
 
149
End Sub
150
'--------------------------------------------------------------------------------------------------------------------------
151
Sub dependencyComments(pv_id)
152
	Set sqlstrB = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id, cint(0))	
153
			NewTextFile.Write("<blockquote><blockquote><blockquote>"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"---->"& TextToHTML(sqlstrB("comments")) &"</blockquote></blockquote></blockquote>")	
154
 
155
 
156
End Sub
157
'--------------------------------------------------------------------------------------------------------------------------
158
Sub LastPvIdA(a)
159
	Dim qryA
160
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
161
 
162
	If a <> qryA("last_pv_id") Then	
163
		a = qryA("last_pv_id")
164
	Else 
165
		errormsg = true
166
	End If
167
 
168
	qryA.Close()
169
End Sub
170
'--------------------------------------------------------------------------------------------------------------------------
171
Sub LastPvIdB(b)
172
	Dim qryB
173
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
174
 
175
	If b <> qryB("last_pv_id") Then
176
		b = qryB("last_pv_id")
177
	Else
178
		errormsg = true	
179
	End If
180
 
181
	qryB.Close()
182
 
183
End Sub
184
'--------------------------------------------------------------------------------------------------------------------------
185
Sub pkg_Version(pv)
186
	Dim qry	
187
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))	
188
	pkgversion = qry("pkg_version")
189
	qry.Close()
190
End Sub
191
'--------------------------------------------------------------------------------------------------------------------------
192
Sub LastPvIdAa(a)
193
	Dim qryA
194
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
195
	c = qryA("last_pv_id")
196
	qryA.Close()
197
End Sub
198
'--------------------------------------------------------------------------------------------------------------------------
199
Sub LastPvIdBb(b)
200
	Dim qryB
201
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
202
	d = qryB("last_pv_id")	
203
	qryB.Close()
204
End Sub
205
'--------------------------------------------------------------------------------------------------------------------------
206
Sub Comments(Pv_Id)
207
	Dim comments
208
	Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id , cint(0))
209
 
210
	If comments("comments") <> "Rippled Build." Then
211
		NewTextFile.WriteLine("<blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&">Version: "& comments("pkg_version")&"</font></blockquote></blockquote>")
212
		If comments("comments") <> "" Then
213
			NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
214
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
215
			source_change = true
216
		End If	
217
	End If
218
 
219
End Sub
220
'--------------------------------------------------------------------------------------------------------------------------
221
Sub Release(pvId)
222
	Dim release
223
	Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId , cint(0))
224
 
225
	If release("insert_stamp") <> "" Then
226
		NewTextFile.Write(release("insert_stamp"))
227
	Else
228
		NewTextFile.Write("Version Not Used.")
229
	End If			
230
 
231
End Sub
232
'--------------------------------------------------------------------------------------------------------------------------
233
Sub Header() 
234
	NewTextFile.WriteLine("<html>")
235
End Sub
236
'--------------------------------------------------------------------------------------------------------------------------
237
Sub Footer()
238
	NewTextFile.WriteLine("</html>")
239
End Sub
240
'--------------------------------------------------------------------------------------------------------------------------
241
Function GetIsDiffFilterInUseIcon()
242
	GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
243
 
244
	If dDiffFilter.Count > 0 Then
245
		GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
246
	End If
247
 
248
End Function
249
'--------------------------------------------------------------------------------------------------------------------------
250
Function GetIsDiffFilterChecked( nFilterId )
251
 
252
	If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
253
		GetIsDiffFilterChecked = "checked"
254
	End If
255
 
256
End Function
257
'---------------------------------------------------------------------------------------------------------------------------
258
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
259
 
4554 dpurdie 260
    On Error Resume Next
261
    Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
262
    Get_CQ_Issues = Err.Number
15 rsolanki 263
 
264
End Function
265
'--------------------------------------------------------------------------------------------------------------------------
266
Public Function TextToHTML ( sString )
267
	Dim mString
268
 
269
	If (sString = "") OR IsNull(sString) Then Exit Function
270
 
271
	mString = Server.HTMLEncode( sString )
272
	mString = Replace(mString, VBNewLine, "<br>")
273
 
274
	TextToHTML = mString
275
End Function
276
 
277
'--------------------------------------------------------------------------------------------------------------------------
278
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
279
	Dim rsQry, query
280
 
281
	' Exit if nSourceRtagId is empty
282
	If nSourceSBOM = "" Then Exit Sub 
283
 
284
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
285
 
286
	query = _
287
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
288
	"        pr.PROJ_ID, b.BOM_ID, b.IS_READONLY, br.BRANCH_ID"&_
289
	"  FROM BRANCHES br,"&_
290
	"  		BOMS b,"&_	
291
	"  	    DM_PROJECTS pr"&_
292
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
293
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
294
	"   AND b.BOM_ID = :SBOM"
295
 
296
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
297
 
298
	OraDatabase.Parameters.Remove "SBOM"
299
 
300
	If rsQry.RecordCount > 0 Then
301
		outobjDetails.Item ("location") = rsQry("location")
302
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
303
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
304
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
305
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
306
		outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
307
	Else
308
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
309
	End If
310
 
311
	If outobjDetails.Item ("location") = "" Then
312
		outobjDetails.Item ("location") = "N"
313
	End If
314
 
315
	rsQry.Close
316
	Set rsQry = Nothing
317
 
318
End Sub
319
'--------------------------------------------------------------------------------------------------------------------------
320
Sub GetDiffStateIcon( nDiffState, outIcon )
321
 
322
	Select Case nDiffState
323
		Case "U"
324
			outIcon  = LIMG_UPDATED		
325
		Case "UW"
326
			outIcon  = LIMG_UPDATED			
327
		Case "A"
328
			outIcon = LIMG_ADDED			
329
		Case "R"
330
			outIcon = LIMG_REMOVED			
331
		Case Else
332
			outIcon = ""			
333
	End Select
334
 
335
End Sub
336
'--------------------------------------------------------------------------------------------------------------------------
337
Sub MergePackages ()
338
	Dim aFullList, aAddPkgList, aRemovePkgList, dAddPkgList, dRemovePkgList, PvId
339
	Dim OraParameter
340
 
341
	Set dAddPkgList = CreateObject("Scripting.Dictionary")
342
	Set dRemovePkgList = CreateObject("Scripting.Dictionary")
343
 
344
	'--- Get Add Packages ---
345
	' Get full list of "addpkg" parameter
346
	aFullList = Split ( Replace( Request("addpkg"), " ", "" ), "," )
347
 
348
 
349
	' Clean empty parameters
350
	For Each PvId In aFullList
351
		If PvId <> "" Then
352
			dAddPkgList.Add CStr( PvId ), Empty
353
		End If
354
	Next
355
 
356
	aFullList = NULL
357
	aAddPkgList = dAddPkgList.Keys
358
 
359
	'--- Get Remove Packages ---
360
	' Get full list of "removepkg" parameter
361
	aFullList = Split ( Replace( Request("removepkg"), " ", "" ), "," )
362
 
363
	' Clean empty parameters
364
	For Each PvId In aFullList
365
		If PvId <> "" Then
366
			dRemovePkgList.Add CStr( PvId ), Empty
367
		End If
368
	Next
369
 
370
	aFullList = NULL
371
	aRemovePkgList = dRemovePkgList.Keys
372
 
373
 
374
 
375
	'-- Add package List to release --
376
	OraDatabase.Parameters.Add "PV_ID", 			NULL, 				ORAPARM_INPUT, ORATYPE_NUMBER 
377
	OraDatabase.Parameters.Add "VIEW_ID", 			NULL, 				ORAPARM_BOTH, ORATYPE_NUMBER 
378
	OraDatabase.Parameters.Add "SBOM_A", 			parSBOMA, 			ORAPARM_INPUT, ORATYPE_NUMBER 
379
	OraDatabase.Parameters.Add "SBOM_B", 			parSBOMB, 			ORAPARM_INPUT, ORATYPE_NUMBER 
380
	OraDatabase.Parameters.Add "PROJB", 			objRelCollectorB.Item("proj_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
381
	OraDatabase.Parameters.Add "COMMENTS", 			"Merging from "& objRelCollectorA.Item("location") &" to "& objRelCollectorB.Item("location"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
382
	OraDatabase.Parameters.Add "USER_ID", 			objAccessControl.UserId, 				ORAPARM_INPUT, ORATYPE_NUMBER 
383
 
384
 
385
	Set OraParameter = OraDatabase.Parameters
386
 
387
 
388
	On Error Resume Next
389
 
390
 
391
	' Begin Database entry
392
	objEH.TryORA ( OraSession )
393
 
394
	OraSession.BeginTrans
395
 
396
	'-- Add Packages --
397
	For Each PvId In aAddPkgList
398
		OraParameter("PV_ID").Value = PvId
399
 
400
 
401
		Dim rsQry, rsQryNodeCount
402
 
403
 
404
 
405
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerA.sql"), cint(0))
406
 
407
		'OraDatabase.Parameters.Add "OS_ID", 			rsQry("os_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 
408
		'OraDatabase.Parameters.Add "NODE_ID", 			rsQry("node_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 		
409
 
410
		Set rsQryNodeCount = OraDatabase.DbCreateDynaset( "SELECT nn.NODE_NAME, nn.NODE_ID, os.OS_NAME, os.OS_ID, osc.PROD_ID, P.PKG_NAME FROM BOM_CONTENTS bc, NETWORK_NODES nn, OPERATING_SYSTEMS os, PACKAGES p, PACKAGE_VERSIONS pv, OS_CONTENTS osc WHERE bc.NODE_ID = nn.NODE_ID AND os.OS_ID = osc.OS_ID AND osc.PROD_ID = pv.PV_ID AND p.PKG_ID = pv.PKG_ID AND os.NODE_ID = nn.NODE_ID AND bc.BOM_ID ="&parSBOMB, cint(0))
411
 
412
		While ((NOT rsQryNodeCount.BOF) AND (NOT rsQryNodeCount.EOF))
413
 
414
			If rsQryNodeCount("node_name") = rsQry("node_name_a") Then
415
				If rsQryNodeCount("os_name") = rsQry("os_name_a") Then
416
					If rsQryNodeCount("pkg_name") = rsQry("pkg_name_a") Then
417
						If rsQry("change_type") = "U" OR rsQry("change_type") = "UW"  Then					
418
							OraSession.BeginTrans
419
							OraDatabase.ExecuteSQL _
420
							"UPDATE OS_CONTENTS SET PROD_ID ="& rsQry("pv_id_a") &", PRODUCT_COMMENTS ='"& rsQry("product_comments_a") &"' WHERE OS_ID ="& rsQryNodeCount("os_id") &" AND PROD_ID ="& rsQry("pv_id_b") &" "
421
							OraSession.CommitTrans
422
						ElseIf rsQry("change_type") = "R" Then
423
 
424
						End If
425
					End If
426
				End If
427
			End If
428
 
429
		rsQryNodeCount.MoveNext
430
		Wend
431
 
432
 
433
 
434
 
435
		'OraDatabase.ExecuteSQL _
436
		'"BEGIN  "&_
437
		'"  PK_PRODUCT_TEST.ADD_PACKAGE ( :PV_ID, :OS_ID, :NODE_ID, :SBOM_B, :USER_ID );  "&_
438
		'"END;"	
439
 
440
		rsQry.Close
441
		Set rsQry = nothing 
442
 
443
		rsQryNodeCount.Close
444
		Set rsQryNodeCount = nothing
445
 
446
		'OraDatabase.Parameters.Remove "OS_ID"
447
		'OraDatabase.Parameters.Remove "NODE_ID"
448
 
449
	Next
450
 
451
	'-- Remove Packages --
452
	For Each PvId In aRemovePkgList		
453
		OraParameter("PV_ID").Value = PvId
454
 
455
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerB.sql"), cint(0))
456
 
457
 
458
 
459
		OraSession.BeginTrans			
460
 
461
		OraDatabase.ExecuteSQL _
462
		"DELETE FROM OS_CONTENTS WHERE PROD_ID ="& rsQry("pv_id_b") &" AND OS_ID ="& rsQry("os_id_b") &""
463
 
464
		OraSession.CommitTrans
465
	Next
466
 
467
		rsQry.Close
468
		Set rsQry = nothing 
469
 
470
	'-- Log Project Merge Action
471
	'OraDatabase.ExecuteSQL _
472
	'"BEGIN  LOG_PROJECT_ACTION ( :PROJB, 'merge_release', :USER_ID, :COMMENTS );  END;"
473
 
474
	'-- Force package state recalculate 
475
	'OraDatabase.ExecuteSQL _
476
	'"BEGIN  "&_
477
	'"  TOUCH_RELEASE ( :RTAG_B );  "&_
478
	'"END;"
479
 
480
	OraSession.CommitTrans
481
 
482
	objEH.CatchORA ( OraSession )
483
 
484
	Set OraParameter = Nothing
485
	OraDatabase.Parameters.Remove "PV_ID"
486
	OraDatabase.Parameters.Remove "VIEW_ID"
487
	OraDatabase.Parameters.Remove "SBOM_A"
488
	OraDatabase.Parameters.Remove "SBOM_B"
489
	OraDatabase.Parameters.Remove "USER_ID"
490
	OraDatabase.Parameters.Remove "PROJB"
491
	OraDatabase.Parameters.Remove "COMMENTS"
492
	'Response.write "<br>"& sAddPkgList &"-"& dAddPkgList.Count &"-"& UBound( aFullList )
493
End Sub
494
'--------------------------------------------------------------------------------------------------------------------------
495
%>
496
<%
497
'------------ RUN BEFORE PAGE RENDER ----------
498
If Request("btn") = "Exit" Then
19 rsolanki 499
	Call OpenInWindow ( "reports.asp" )
15 rsolanki 500
End If
501
 
502
' Get release details
503
 
504
Call GetFormDetails ( parSBOMA, objRelCollectorA )
505
Call GetFormDetails ( parSBOMB, objRelCollectorB )
506
 
507
If (Request("btn") = "Merge") Then
508
	If objRelCollectorB.Item("official") <> "Y" Then
509
		Call MergePackages ()
510
	End If
511
End If
512
 
513
If Request("btn") = "Swap Compare" Then
514
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
515
End If
516
 
517
If Request("btn") = "Hide" Then
518
	' Store filter in cookie
519
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
520
End If
521
 
522
 
523
Call GetDiffFilterValues ( dDiffFilter )
524
'----------------------------------------------
525
%>
526
<html>
527
<head>
528
<title>Deployment Manager SBOM Differences</title>
529
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
530
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
29 jtweddle 531
<link rel="stylesheet" href="scripts/deployment_manager.css" type="text/css">
15 rsolanki 532
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
533
<link rel="stylesheet" href="images/navigation.css" type="text/css">
29 jtweddle 534
<script language="JavaScript" src="scripts/common.js"></script>
15 rsolanki 535
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
536
<script language="JavaScript" type="text/javascript">
537
<!--
538
 
539
function RequestReleaseCombo( paramString, rowId ){
540
	var requestURL = 'RequestReleaseCombo.asp';
541
 
542
	// Set ajax divname
543
	ajaxdivname = rowId;
544
 
545
	//Append the name to search for to the requestURL
546
	var url = requestURL + paramString;
547
 
548
	//Progress
549
	//alert(MM_findObj( rowId ));
550
 
551
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
552
	//MM_findObj( rowId ).selectedIndex = 0;
553
	rowId.options[0] = new Option('Loading...','');
554
	rowId.selectedIndex = 0;
555
 
556
 
557
	//Create the xmlHttp object to use in the request
558
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
559
	// This is non-blocking (asynchronous)
560
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
561
 
562
	//Send the xmlHttp get to the specified url
563
	xmlHttp_Get(xmlHttp, url);
564
 
565
 
566
}
567
 
568
function RequestSBOMCombo( paramString, rowId ){
569
	var requestURL = 'RequestSBOMCombo.asp';
570
 
571
	// Set ajax divname
572
	ajaxdivname = rowId;
573
 
574
	//Append the name to search for to the requestURL
575
	var url = requestURL + paramString;
576
 
577
	//Progress
578
	//alert(MM_findObj( rowId ));
579
 
580
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
581
	//MM_findObj( rowId ).selectedIndex = 0;
582
	rowId.options[0] = new Option('Loading...','');
583
	rowId.selectedIndex = 0;
584
 
585
 
586
	//Create the xmlHttp object to use in the request
587
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
588
	// This is non-blocking (asynchronous)
589
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
590
 
591
	//Send the xmlHttp get to the specified url
592
	xmlHttp_Get(xmlHttp, url);
593
 
594
 
595
}
596
 
597
 
598
function MergePackage ( pkga, pkgb, rowId )
599
{
600
 
601
	// Set merge hidden field with new value
602
	MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
603
 
604
	var divA = MM_findObj( 'PVA' + rowId );
605
	var divB = MM_findObj( 'PVB' + rowId );
606
 
607
	// Set text equal
608
	divB.innerHTML = divA.innerHTML;
609
 
610
	// Set highlight to blank
611
	divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
612
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
613
 
614
    // Set Change state icon to blank
615
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
616
 
617
	// Remove Merge Button
618
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
619
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
620
 
621
	// Show undo button
622
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
623
 
624
 
625
}
626
 
627
 
628
function RemovePackage ( pkga, pkgb, rowId )
629
{
630
 
631
	// Set remove hidden field with new value
632
	MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
633
 
634
	var divA = MM_findObj( 'PVA' + rowId );
635
	var divB = MM_findObj( 'PVB' + rowId );
636
 
637
	// Set text equal
638
	divB.style.textDecoration = 'line-through';
639
 
640
	// Set highlight to blank
641
	if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
642
	{
643
		divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
644
	}
645
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
646
 
647
    // Set Change state icon to blank
648
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
649
 
650
	// Remove Merge Button
651
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
652
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
653
 
654
	// Show undo button
655
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
656
 
657
 
658
}
659
 
660
 
661
 
662
function UndoPackage ( rowId )
663
{
664
 
665
	// Set merge/remove hidden field with new value
666
	MM_findObj( 'ADDPKG_' + rowId ).value = '';
667
	MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
668
 
669
	var divA = MM_findObj( 'PVA' + rowId );
670
	var divB = MM_findObj( 'PVB' + rowId );
671
 
672
	// Set text equal
673
	divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
674
	divB.style.textDecoration = 'none';
675
 
676
 
677
	// Set highlight to blank
678
	divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
679
	divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
680
 
681
 
682
    // Set Change state icon to blank
683
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
684
 
685
 
686
	// Remove Merge Button
687
	var cht = MM_findObj( 'CHANGETYPE_' + rowId );
688
 
689
	if (cht.value == "R")
690
	{
691
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
692
	} 
693
	else if ( (cht.value == "A") || (cht.value == "") ) 
694
	{
695
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
696
	} 
697
	else 
698
	{
699
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
700
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
701
	}
702
 
703
	// Show undo button
704
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
705
 
706
}
707
 
708
 
709
function MergeAll()
710
{
711
	var elem
712
 
713
	if (document.all)
714
	{
715
		// Run this for IE
716
		elem = document.all;
717
	} else {
718
		// Run this for other browsers
719
		elem = document.getElementsByTagName('div');
720
	}
721
 
722
	for (i in elem)
723
	{
724
		if (elem[i].id)
725
		{	
726
			if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
727
			if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
728
		}
729
	}
730
 
731
}
732
 
733
//-->
734
</script>
735
 
736
</head>
737
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
738
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
739
<!-- HEADER -->
740
<!--#include file="_header.asp"-->
741
<!-- BODY ---->
742
<table width="100%" border="0" cellspacing="0" cellpadding="0">
743
  <tr> 
744
    <td width="1%" background="images/bg_lite_blue.gif" valign="top">
745
 
746
 
747
	<!-- SELECT SBOM A ---------------------------------------------->
748
 
749
	<br>
750
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
751
 
752
		<tr>
753
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM A<hr size="1px" color="Olive" noshade></td>
754
        </tr>
755
        <tr>
756
          <td align="left">
757
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
758
              <option value="">-- Select Project --</option>
759
			  <%
760
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
761
 
762
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
763
 
764
			  OraDatabase.Parameters.Remove "PROJ_ID"
765
 
766
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
767
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
768
              <%rsQry.MoveNext
769
			  WEnd
770
 
771
			  rsQry.Close
772
			  Set rsQry = Nothing
773
			%>
774
          </select></td>
775
        </tr>
776
        <tr>
777
          <td align="left">
778
 
779
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
780
              <option value="">-- Select SBOM --</option>			  
781
			  <%
782
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
783
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
784
 
785
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
786
 
787
			  OraDatabase.Parameters.Remove "PROJ_ID"
788
			  OraDatabase.Parameters.Remove "BRANCH_ID"
789
 
790
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
791
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
792
              <%rsQry.MoveNext
793
			  WEnd
794
 
795
			  rsQry.Close
796
			  Set rsQry = Nothing
797
			  %>
798
		  </select></td>
799
        </tr>
800
        <tr>
801
          <td align="left">
802
 
803
 
804
		  <select name="sbomA" id="sbomA" class="form_item">
805
            <%
806
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
807
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
808
 
809
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
810
 
811
			  OraDatabase.Parameters.Remove "BOM_ID"
812
			  OraDatabase.Parameters.Remove "BRANCH_ID"
813
 
814
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
815
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
816
            <%rsQry.MoveNext
817
			  WEnd
818
 
819
			  rsQry.Close
820
			  Set rsQry = Nothing
821
			  %>
822
          </select>
823
 
824
		  </td>
825
        </tr>
826
		<%If (parRtagA <> "") Then%>  
827
		<tr>
828
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
829
        </tr>
830
		<%End If%>
831
    </table>
832
 
833
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
834
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
835
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
836
      <!-- DIFF -------------------------------------------------------->
837
      <br>
838
 
839
 
840
 
841
 
842
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
843
        <tr>
844
          <td>
845
 
846
 
847
 
848
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
849
			  <tr> 
850
                <td width="1%"></td>
19 rsolanki 851
                <td width="100%" align="left" class="form_ttl">MERGE SBOM</td>
15 rsolanki 852
                <td width="1%"></td>
853
              </tr>
854
              <tr> 
855
                <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
856
                <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp; 
857
                </td>
858
                <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
859
              </tr>
860
              <tr> 
861
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
862
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
863
 
864
 
865
 
866
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
867
                  <tr>
868
                    <td width="100%" bgcolor="#DAD7C8">
869
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
870
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
871
				</td>
872
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
873
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
874
                      <tr>
875
						<td><%If objAccessControl.IsActive("mergeManager") Then%><input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;"><%End If%></td>
876
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
877
                      </tr>
878
                    </table></td>
879
                  </tr>
880
				  <tr>
881
                    <td>
882
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
883
					<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
884
					<fieldset style="width:150px;">
885
					<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
886
					<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
887
					<br>
888
					<table width="100%"  border="0" cellspacing="1" cellpadding="3">
889
					    <tr>
890
					      <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
891
					      <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
892
					    </tr>
893
					    <tr>
894
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
895
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
896
					    </tr>
897
					    <tr>
898
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
899
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
900
					    </tr>
901
					    <tr>
902
 
903
					    <tr>
904
					      <td background="images/bg_action_norm.gif">&nbsp;</td>
905
					      <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
906
					    </tr>
907
					  </table>
908
					</div>
909
					</fieldset>
910
					<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
911
					<%End If%>
912
					</td>
913
                    <td></td>
914
                  </tr>
915
                </table>
916
 
917
				<%
918
				' Successfull Merge
919
				If (Request("btn") = "Merge") Then
920
					Call Messenger ( "Merge has completed successfully.", 3, "100%" )				
921
				End If
922
 
923
				Set FSO=Server.CreateObject("Scripting.FileSystemObject")
924
				Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html"), true)
925
				Call Header()				
926
 
927
				If (parRtagA <> "") AND (parRtagB <> "")Then%>  
928
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
929
                  <tr>
930
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
931
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
932
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
933
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
934
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
935
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
936
                  </tr>
937
			    <%
938
 
939
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
940
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
941
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
942
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
943
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
944
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
945
 
946
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiffMerge.sql"), cint(0))
947
 
948
				OraDatabase.Parameters.Remove "SBOM_A"
949
				OraDatabase.Parameters.Remove "SBOM_B"
950
				OraDatabase.Parameters.Remove "NO_CHANGE"
951
				OraDatabase.Parameters.Remove "ADDED"
952
				OraDatabase.Parameters.Remove "UPDATED"
953
				OraDatabase.Parameters.Remove "REMOVED"
954
 
955
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
956
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
957
	"  FROM BRANCHES br,"&_
958
	"  		BOMS b,"&_	
959
	"  	    DM_PROJECTS pr"&_
960
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
961
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
962
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
963
 
964
 
965
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
966
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
967
	"  FROM BRANCHES br,"&_
968
	"  		BOMS b,"&_	
969
	"  	    DM_PROJECTS pr"&_
970
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
971
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
972
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
973
 
974
				NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</title>")
975
				NewTextFile.WriteLine("<div align="&chr(34)&"center"&chr(34)&"><font color="&chr(34)&"red"&chr(34)&" size="&chr(34)&"4"&chr(34)&" face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</font></div><br>")
976
 
977
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
978
				errormsg = false
17 rsolanki 979
					rowId = rsQry("node_id_a") &"_"& rsQry("os_id_a") &"_"& rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
15 rsolanki 980
 
981
					btnMerge = LIMG_MERGE
982
					btnRemove = LIMG_REMOVE
983
					colorA = LCOLOR_NOT_CHANGED
984
					colorB = LCOLOR_NOT_CHANGED
985
 
986
					Select Case rsQry("change_type")
987
						Case "U"
988
							colorA = LCOLOR_CHANGED
989
							colorB = LCOLOR_CHANGED							
990
						Case "UW"
991
							colorA = LCOLOR_CHANGED
992
							colorB = LCOLOR_CHANGED
993
							btnMerge = LIMG_MERGE_WARN
994
						Case "A"
995
							colorA = LCOLOR_BLANK
996
						Case "R"
997
							colorB = LCOLOR_BLANK
998
					End Select
999
 
1000
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
1001
				%>
1002
				  <tr>
1003
                    <td class="body_row" nowrap>
1004
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1005
						<%If rsQry("pkg_name_a") <> "" Then %>
1006
						<%=rsQry("node_name_a") &"/"& rsQry("os_name_a") &"/"& rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1007
						<%End If%>
1008
						</DIV>
1009
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1010
					</td>
1011
                    <td bgcolor="#F5F5F5"><%If objRelCollectorB.Item("is_readonly") <> "Y" AND (rsQry("change_type") = "U" OR rsQry("change_type") = "UW") Then%><DIV id="IMGMERGE<%=rowId%>" <%If (rsQry("change_type") = "A")  OR IsNull( rsQry("change_type") ) Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="MergePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnMerge%></a></DIV><%End If%></td>
1012
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
1013
                    <td bgcolor="#F5F5F5"><%If objRelCollectorB.Item("is_readonly") <> "Y" Then%><DIV id="IMGREMOVE<%=rowId%>" <%If rsQry("change_type") = "R" Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="RemovePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnRemove%></a></DIV><%End If%></td>
1014
                    <td class="body_row" nowrap>
1015
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1016
						<%If rsQry("pkg_name_b") <> "" Then %>
1017
						<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1018
						<%End If%>
1019
						</DIV>
1020
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1021
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1022
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
17 rsolanki 1023
						<input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
15 rsolanki 1024
					</td>
1025
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
1026
                  </tr> 
1027
<%
1028
	If email then 
1029
		If rsQry("pv_id_a") Then
1030
			Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
1031
		End If
1032
 
1033
		If rsQry("pv_id_b") Then
1034
			Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
1035
		End If
1036
 
1037
		pkgA = rsQry("pkg_name_a")
1038
		pkgB = rsQry("pkg_name_b")
1039
 
1040
		If pkgA <> "" then 
1041
			pkgname = pkgA
1042
		Else
1043
			pkgname = pkgB
1044
		End If
1045
 
1046
		Select Case rsQry("change_type") 
1047
			Case "U" 
1048
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1049
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1050
 
1051
				NewTextFile.WriteLine("<br>")
1052
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1053
 
1054
				NewTextFile.WriteLine("<br><br>")
1055
				NewTextFile.WriteLine()
1056
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1057
				Call Comments(rsQry("pv_id_a"))
1058
				Call GetFixedIssues(rsQry("pv_id_a"))
1059
				'Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))
1060
 
1061
				NewTextFile.WriteLine("<br><br>")
1062
				NewTextFile.WriteLine()
1063
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1064
				Call Comments(rsQry("pv_id_b"))
1065
				Call GetFixedIssues(rsQry("pv_id_b"))
1066
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))		
1067
 
1068
 
1069
 
1070
 
1071
					NewTextFile.WriteLine("****************************************************************************************************************************")
1072
 
1073
			Case "UW"					
1074
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1075
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1076
 
1077
				NewTextFile.WriteLine("<br>")
1078
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1079
 
1080
				NewTextFile.WriteLine("<br><br>")
1081
				NewTextFile.WriteLine()
1082
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1083
				Call Comments(rsQry("pv_id_a"))
1084
				Call GetFixedIssues(rsQry("pv_id_a"))
1085
				'Call GetDependencies(rsQry("pv_id_a"))
1086
 
1087
				NewTextFile.WriteLine("<br><br>")
1088
				NewTextFile.WriteLine()
1089
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1090
				Call Comments(rsQry("pv_id_b"))
1091
				Call GetFixedIssues(rsQry("pv_id_b"))
1092
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))				
1093
 
1094
 
1095
 
1096
 
1097
 
1098
				NewTextFile.WriteLine("****************************************************************************************************************************")
1099
 
1100
		End Select	
1101
 
1102
	End If
1103
 
1104
	rsQry.MoveNext
1105
	WEnd
1106
 
1107
	rsQry.Close
1108
	Set rsQry = Nothing
1109
%>									  
1110
<%
1111
	Call Footer()
1112
	NewTextFile.Close
1113
	Set NewTextFile=Nothing 
1114
%>				  
1115
                </table>
1116
                <br>
1117
			<%Else%>	
1118
				<br>
1119
				<%
1120
				If (parRtagB <> "") Then
1121
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
1122
				ElseIf (parRtagA <> "") Then
1123
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
1124
				Else
1125
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
1126
				End If
1127
				%>
1128
 
1129
			<%End If%>
1130
 
1131
				</td>
1132
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1133
              </tr>
1134
              <tr> 
1135
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1136
                <td background="images/lbox_bg_blue.gif"></td>
1137
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
1138
              </tr>
1139
            </table>
1140
          </td>
1141
        </tr>
1142
      </table>
1143
    <!-- DIFF END ---------------------------------------------------->
1144
    </td>
1145
	<td valign="top" width="1%" background="images/bg_lite_blue.gif"> 
1146
 
1147
 
1148
	  <!-- SELECT SBOM B ---------------------------------------------->
1149
      <br>
1150
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1151
		<tr>
1152
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM B<hr size="1px" color="Olive" noshade></td>
1153
        </tr>
1154
        <tr>
1155
          <td align="left">
1156
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1157
              <option value="">-- Select Project --</option>
1158
			  <%
1159
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1160
 
1161
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
1162
 
1163
			  OraDatabase.Parameters.Remove "PROJ_ID"
1164
 
1165
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1166
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1167
              <%rsQry.MoveNext
1168
			  WEnd
1169
 
1170
			  rsQry.Close
1171
			  Set rsQry = Nothing
1172
			%>
1173
          </select></td>
1174
        </tr>
1175
        <tr>
1176
          <td align="left">
1177
 
1178
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
1179
              <option value="">-- Select SBOM --</option>		  
1180
			  <%
1181
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1182
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1183
 
1184
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
1185
 
1186
			  OraDatabase.Parameters.Remove "PROJ_ID"
1187
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1188
 
1189
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1190
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
1191
              <%rsQry.MoveNext
1192
			  WEnd
1193
 
1194
			  rsQry.Close
1195
			  Set rsQry = Nothing
1196
			  %>
1197
		  </select></td>
1198
        </tr>
1199
        <tr>
1200
          <td align="left">
1201
 
1202
 
1203
		  <select name="sbomB" id="sbomB" class="form_item">
1204
            <%
1205
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1206
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1207
 
1208
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
1209
 
1210
			  OraDatabase.Parameters.Remove "BOM_ID"
1211
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1212
 
1213
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1214
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
1215
            <%rsQry.MoveNext
1216
			  WEnd
1217
 
1218
			  rsQry.Close
1219
			  Set rsQry = Nothing
1220
			  %>
1221
          </select>
1222
 
1223
 
1224
		  </td>
1225
        </tr>
1226
		<%If (parRtagB <> "") Then%>  
1227
		<tr>
1228
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
1229
        </tr>
1230
		<%End If%>
1231
      </table>
1232
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
1233
  </tr>
1234
  <tr> 
1235
    <td valign="bottom" align="center" background="images/bg_lite_blue.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1236
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
1237
	<td valign="bottom" background="images/bg_lite_blue.gif" align="center"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1238
  </tr>
1239
</table>
1240
</form>
1241
<!-- FOOTER -->
1242
<!--#include file="_footer.asp"-->
1243
<%
1244
	If email Then
1245
 
1246
		Dim myMail, LocalPath
1247
		Set myMail=Server.CreateObject("Persits.MailSender")
1248
		LocalPath = Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html")
1249
 
1250
		myMail.Host = SMTP_HOST
1251
		myMail.Subject="Release Comparisons from Release Manager"
1252
		myMail.From="releasem@erggroup.com"
1253
		myMail.AddAddress objAccessControl.UserEmail
1254
		' Attach the file
1255
		myMail.AddAttachment LocalPath
1256
		myMail.Body = "Your requested report..." 
1257
		myMail.Send
1258
 
1259
		set myMail=nothing
1260
 
1261
	End If
1262
%>
1263
</body>
1264
</html>
1265
<%
1266
Call Destroy_All_Objects
1267
%>
1268
<!--#include file="common/globals_destructor.asp"-->