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
 
260
	If OOrsCQ.State = 1 Then 
261
		OOrsCQ.Close
262
	End If
263
 
264
	On Error Resume Next
265
	OOrsCQ.ActiveConnection = CQ_conn
266
	OOrsCQ.Source = SSsql
267
	OOrsCQ.CursorType = 0
268
	OOrsCQ.CursorLocation = 2
269
	OOrsCQ.LockType = 3
270
	OOrsCQ.Open()
271
	Get_CQ_Issues = Err.Number
272
 
273
End Function
274
'--------------------------------------------------------------------------------------------------------------------------
275
Public Function TextToHTML ( sString )
276
	Dim mString
277
 
278
	If (sString = "") OR IsNull(sString) Then Exit Function
279
 
280
	mString = Server.HTMLEncode( sString )
281
	mString = Replace(mString, VBNewLine, "<br>")
282
 
283
	TextToHTML = mString
284
End Function
285
 
286
'--------------------------------------------------------------------------------------------------------------------------
287
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
288
	Dim rsQry, query
289
 
290
	' Exit if nSourceRtagId is empty
291
	If nSourceSBOM = "" Then Exit Sub 
292
 
293
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
294
 
295
	query = _
296
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
297
	"        pr.PROJ_ID, b.BOM_ID, b.IS_READONLY, br.BRANCH_ID"&_
298
	"  FROM BRANCHES br,"&_
299
	"  		BOMS b,"&_	
300
	"  	    DM_PROJECTS pr"&_
301
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
302
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
303
	"   AND b.BOM_ID = :SBOM"
304
 
305
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
306
 
307
	OraDatabase.Parameters.Remove "SBOM"
308
 
309
	If rsQry.RecordCount > 0 Then
310
		outobjDetails.Item ("location") = rsQry("location")
311
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
312
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
313
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
314
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
315
		outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
316
	Else
317
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
318
	End If
319
 
320
	If outobjDetails.Item ("location") = "" Then
321
		outobjDetails.Item ("location") = "N"
322
	End If
323
 
324
	rsQry.Close
325
	Set rsQry = Nothing
326
 
327
End Sub
328
'--------------------------------------------------------------------------------------------------------------------------
329
Sub GetDiffStateIcon( nDiffState, outIcon )
330
 
331
	Select Case nDiffState
332
		Case "U"
333
			outIcon  = LIMG_UPDATED		
334
		Case "UW"
335
			outIcon  = LIMG_UPDATED			
336
		Case "A"
337
			outIcon = LIMG_ADDED			
338
		Case "R"
339
			outIcon = LIMG_REMOVED			
340
		Case Else
341
			outIcon = ""			
342
	End Select
343
 
344
End Sub
345
'--------------------------------------------------------------------------------------------------------------------------
346
Sub MergePackages ()
347
	Dim aFullList, aAddPkgList, aRemovePkgList, dAddPkgList, dRemovePkgList, PvId
348
	Dim OraParameter
349
 
350
	Set dAddPkgList = CreateObject("Scripting.Dictionary")
351
	Set dRemovePkgList = CreateObject("Scripting.Dictionary")
352
 
353
	'--- Get Add Packages ---
354
	' Get full list of "addpkg" parameter
355
	aFullList = Split ( Replace( Request("addpkg"), " ", "" ), "," )
356
 
357
 
358
	' Clean empty parameters
359
	For Each PvId In aFullList
360
		If PvId <> "" Then
361
			dAddPkgList.Add CStr( PvId ), Empty
362
		End If
363
	Next
364
 
365
	aFullList = NULL
366
	aAddPkgList = dAddPkgList.Keys
367
 
368
	'--- Get Remove Packages ---
369
	' Get full list of "removepkg" parameter
370
	aFullList = Split ( Replace( Request("removepkg"), " ", "" ), "," )
371
 
372
	' Clean empty parameters
373
	For Each PvId In aFullList
374
		If PvId <> "" Then
375
			dRemovePkgList.Add CStr( PvId ), Empty
376
		End If
377
	Next
378
 
379
	aFullList = NULL
380
	aRemovePkgList = dRemovePkgList.Keys
381
 
382
 
383
 
384
	'-- Add package List to release --
385
	OraDatabase.Parameters.Add "PV_ID", 			NULL, 				ORAPARM_INPUT, ORATYPE_NUMBER 
386
	OraDatabase.Parameters.Add "VIEW_ID", 			NULL, 				ORAPARM_BOTH, ORATYPE_NUMBER 
387
	OraDatabase.Parameters.Add "SBOM_A", 			parSBOMA, 			ORAPARM_INPUT, ORATYPE_NUMBER 
388
	OraDatabase.Parameters.Add "SBOM_B", 			parSBOMB, 			ORAPARM_INPUT, ORATYPE_NUMBER 
389
	OraDatabase.Parameters.Add "PROJB", 			objRelCollectorB.Item("proj_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
390
	OraDatabase.Parameters.Add "COMMENTS", 			"Merging from "& objRelCollectorA.Item("location") &" to "& objRelCollectorB.Item("location"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
391
	OraDatabase.Parameters.Add "USER_ID", 			objAccessControl.UserId, 				ORAPARM_INPUT, ORATYPE_NUMBER 
392
 
393
 
394
	Set OraParameter = OraDatabase.Parameters
395
 
396
 
397
	On Error Resume Next
398
 
399
 
400
	' Begin Database entry
401
	objEH.TryORA ( OraSession )
402
 
403
	OraSession.BeginTrans
404
 
405
	'-- Add Packages --
406
	For Each PvId In aAddPkgList
407
		OraParameter("PV_ID").Value = PvId
408
 
409
 
410
		Dim rsQry, rsQryNodeCount
411
 
412
 
413
 
414
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerA.sql"), cint(0))
415
 
416
		'OraDatabase.Parameters.Add "OS_ID", 			rsQry("os_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 
417
		'OraDatabase.Parameters.Add "NODE_ID", 			rsQry("node_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 		
418
 
419
		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))
420
 
421
		While ((NOT rsQryNodeCount.BOF) AND (NOT rsQryNodeCount.EOF))
422
 
423
			If rsQryNodeCount("node_name") = rsQry("node_name_a") Then
424
				If rsQryNodeCount("os_name") = rsQry("os_name_a") Then
425
					If rsQryNodeCount("pkg_name") = rsQry("pkg_name_a") Then
426
						If rsQry("change_type") = "U" OR rsQry("change_type") = "UW"  Then					
427
							OraSession.BeginTrans
428
							OraDatabase.ExecuteSQL _
429
							"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") &" "
430
							OraSession.CommitTrans
431
						ElseIf rsQry("change_type") = "R" Then
432
 
433
						End If
434
					End If
435
				End If
436
			End If
437
 
438
		rsQryNodeCount.MoveNext
439
		Wend
440
 
441
 
442
 
443
 
444
		'OraDatabase.ExecuteSQL _
445
		'"BEGIN  "&_
446
		'"  PK_PRODUCT_TEST.ADD_PACKAGE ( :PV_ID, :OS_ID, :NODE_ID, :SBOM_B, :USER_ID );  "&_
447
		'"END;"	
448
 
449
		rsQry.Close
450
		Set rsQry = nothing 
451
 
452
		rsQryNodeCount.Close
453
		Set rsQryNodeCount = nothing
454
 
455
		'OraDatabase.Parameters.Remove "OS_ID"
456
		'OraDatabase.Parameters.Remove "NODE_ID"
457
 
458
	Next
459
 
460
	'-- Remove Packages --
461
	For Each PvId In aRemovePkgList		
462
		OraParameter("PV_ID").Value = PvId
463
 
464
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerB.sql"), cint(0))
465
 
466
 
467
 
468
		OraSession.BeginTrans			
469
 
470
		OraDatabase.ExecuteSQL _
471
		"DELETE FROM OS_CONTENTS WHERE PROD_ID ="& rsQry("pv_id_b") &" AND OS_ID ="& rsQry("os_id_b") &""
472
 
473
		OraSession.CommitTrans
474
	Next
475
 
476
		rsQry.Close
477
		Set rsQry = nothing 
478
 
479
	'-- Log Project Merge Action
480
	'OraDatabase.ExecuteSQL _
481
	'"BEGIN  LOG_PROJECT_ACTION ( :PROJB, 'merge_release', :USER_ID, :COMMENTS );  END;"
482
 
483
	'-- Force package state recalculate 
484
	'OraDatabase.ExecuteSQL _
485
	'"BEGIN  "&_
486
	'"  TOUCH_RELEASE ( :RTAG_B );  "&_
487
	'"END;"
488
 
489
	OraSession.CommitTrans
490
 
491
	objEH.CatchORA ( OraSession )
492
 
493
	Set OraParameter = Nothing
494
	OraDatabase.Parameters.Remove "PV_ID"
495
	OraDatabase.Parameters.Remove "VIEW_ID"
496
	OraDatabase.Parameters.Remove "SBOM_A"
497
	OraDatabase.Parameters.Remove "SBOM_B"
498
	OraDatabase.Parameters.Remove "USER_ID"
499
	OraDatabase.Parameters.Remove "PROJB"
500
	OraDatabase.Parameters.Remove "COMMENTS"
501
	'Response.write "<br>"& sAddPkgList &"-"& dAddPkgList.Count &"-"& UBound( aFullList )
502
End Sub
503
'--------------------------------------------------------------------------------------------------------------------------
504
%>
505
<%
506
'------------ RUN BEFORE PAGE RENDER ----------
507
If Request("btn") = "Exit" Then
19 rsolanki 508
	Call OpenInWindow ( "reports.asp" )
15 rsolanki 509
End If
510
 
511
' Get release details
512
 
513
Call GetFormDetails ( parSBOMA, objRelCollectorA )
514
Call GetFormDetails ( parSBOMB, objRelCollectorB )
515
 
516
If (Request("btn") = "Merge") Then
517
	If objRelCollectorB.Item("official") <> "Y" Then
518
		Call MergePackages ()
519
	End If
520
End If
521
 
522
If Request("btn") = "Swap Compare" Then
523
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
524
End If
525
 
526
If Request("btn") = "Hide" Then
527
	' Store filter in cookie
528
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
529
End If
530
 
531
 
532
Call GetDiffFilterValues ( dDiffFilter )
533
'----------------------------------------------
534
%>
535
<html>
536
<head>
537
<title>Deployment Manager SBOM Differences</title>
538
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
539
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
29 jtweddle 540
<link rel="stylesheet" href="scripts/deployment_manager.css" type="text/css">
15 rsolanki 541
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
542
<link rel="stylesheet" href="images/navigation.css" type="text/css">
29 jtweddle 543
<script language="JavaScript" src="scripts/common.js"></script>
15 rsolanki 544
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
545
<script language="JavaScript" type="text/javascript">
546
<!--
547
 
548
function RequestReleaseCombo( paramString, rowId ){
549
	var requestURL = 'RequestReleaseCombo.asp';
550
 
551
	// Set ajax divname
552
	ajaxdivname = rowId;
553
 
554
	//Append the name to search for to the requestURL
555
	var url = requestURL + paramString;
556
 
557
	//Progress
558
	//alert(MM_findObj( rowId ));
559
 
560
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
561
	//MM_findObj( rowId ).selectedIndex = 0;
562
	rowId.options[0] = new Option('Loading...','');
563
	rowId.selectedIndex = 0;
564
 
565
 
566
	//Create the xmlHttp object to use in the request
567
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
568
	// This is non-blocking (asynchronous)
569
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
570
 
571
	//Send the xmlHttp get to the specified url
572
	xmlHttp_Get(xmlHttp, url);
573
 
574
 
575
}
576
 
577
function RequestSBOMCombo( paramString, rowId ){
578
	var requestURL = 'RequestSBOMCombo.asp';
579
 
580
	// Set ajax divname
581
	ajaxdivname = rowId;
582
 
583
	//Append the name to search for to the requestURL
584
	var url = requestURL + paramString;
585
 
586
	//Progress
587
	//alert(MM_findObj( rowId ));
588
 
589
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
590
	//MM_findObj( rowId ).selectedIndex = 0;
591
	rowId.options[0] = new Option('Loading...','');
592
	rowId.selectedIndex = 0;
593
 
594
 
595
	//Create the xmlHttp object to use in the request
596
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
597
	// This is non-blocking (asynchronous)
598
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
599
 
600
	//Send the xmlHttp get to the specified url
601
	xmlHttp_Get(xmlHttp, url);
602
 
603
 
604
}
605
 
606
 
607
function MergePackage ( pkga, pkgb, rowId )
608
{
609
 
610
	// Set merge hidden field with new value
611
	MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
612
 
613
	var divA = MM_findObj( 'PVA' + rowId );
614
	var divB = MM_findObj( 'PVB' + rowId );
615
 
616
	// Set text equal
617
	divB.innerHTML = divA.innerHTML;
618
 
619
	// Set highlight to blank
620
	divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
621
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
622
 
623
    // Set Change state icon to blank
624
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
625
 
626
	// Remove Merge Button
627
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
628
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
629
 
630
	// Show undo button
631
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
632
 
633
 
634
}
635
 
636
 
637
function RemovePackage ( pkga, pkgb, rowId )
638
{
639
 
640
	// Set remove hidden field with new value
641
	MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
642
 
643
	var divA = MM_findObj( 'PVA' + rowId );
644
	var divB = MM_findObj( 'PVB' + rowId );
645
 
646
	// Set text equal
647
	divB.style.textDecoration = 'line-through';
648
 
649
	// Set highlight to blank
650
	if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
651
	{
652
		divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
653
	}
654
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
655
 
656
    // Set Change state icon to blank
657
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
658
 
659
	// Remove Merge Button
660
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
661
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
662
 
663
	// Show undo button
664
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
665
 
666
 
667
}
668
 
669
 
670
 
671
function UndoPackage ( rowId )
672
{
673
 
674
	// Set merge/remove hidden field with new value
675
	MM_findObj( 'ADDPKG_' + rowId ).value = '';
676
	MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
677
 
678
	var divA = MM_findObj( 'PVA' + rowId );
679
	var divB = MM_findObj( 'PVB' + rowId );
680
 
681
	// Set text equal
682
	divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
683
	divB.style.textDecoration = 'none';
684
 
685
 
686
	// Set highlight to blank
687
	divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
688
	divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
689
 
690
 
691
    // Set Change state icon to blank
692
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
693
 
694
 
695
	// Remove Merge Button
696
	var cht = MM_findObj( 'CHANGETYPE_' + rowId );
697
 
698
	if (cht.value == "R")
699
	{
700
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
701
	} 
702
	else if ( (cht.value == "A") || (cht.value == "") ) 
703
	{
704
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
705
	} 
706
	else 
707
	{
708
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
709
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
710
	}
711
 
712
	// Show undo button
713
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
714
 
715
}
716
 
717
 
718
function MergeAll()
719
{
720
	var elem
721
 
722
	if (document.all)
723
	{
724
		// Run this for IE
725
		elem = document.all;
726
	} else {
727
		// Run this for other browsers
728
		elem = document.getElementsByTagName('div');
729
	}
730
 
731
	for (i in elem)
732
	{
733
		if (elem[i].id)
734
		{	
735
			if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
736
			if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
737
		}
738
	}
739
 
740
}
741
 
742
//-->
743
</script>
744
 
745
</head>
746
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
747
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
748
<!-- HEADER -->
749
<!--#include file="_header.asp"-->
750
<!-- BODY ---->
751
<table width="100%" border="0" cellspacing="0" cellpadding="0">
752
  <tr> 
753
    <td width="1%" background="images/bg_lite_blue.gif" valign="top">
754
 
755
 
756
	<!-- SELECT SBOM A ---------------------------------------------->
757
 
758
	<br>
759
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
760
 
761
		<tr>
762
          <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>
763
        </tr>
764
        <tr>
765
          <td align="left">
766
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
767
              <option value="">-- Select Project --</option>
768
			  <%
769
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
770
 
771
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
772
 
773
			  OraDatabase.Parameters.Remove "PROJ_ID"
774
 
775
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
776
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
777
              <%rsQry.MoveNext
778
			  WEnd
779
 
780
			  rsQry.Close
781
			  Set rsQry = Nothing
782
			%>
783
          </select></td>
784
        </tr>
785
        <tr>
786
          <td align="left">
787
 
788
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
789
              <option value="">-- Select SBOM --</option>			  
790
			  <%
791
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
792
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
793
 
794
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
795
 
796
			  OraDatabase.Parameters.Remove "PROJ_ID"
797
			  OraDatabase.Parameters.Remove "BRANCH_ID"
798
 
799
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
800
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
801
              <%rsQry.MoveNext
802
			  WEnd
803
 
804
			  rsQry.Close
805
			  Set rsQry = Nothing
806
			  %>
807
		  </select></td>
808
        </tr>
809
        <tr>
810
          <td align="left">
811
 
812
 
813
		  <select name="sbomA" id="sbomA" class="form_item">
814
            <%
815
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
816
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
817
 
818
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
819
 
820
			  OraDatabase.Parameters.Remove "BOM_ID"
821
			  OraDatabase.Parameters.Remove "BRANCH_ID"
822
 
823
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
824
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
825
            <%rsQry.MoveNext
826
			  WEnd
827
 
828
			  rsQry.Close
829
			  Set rsQry = Nothing
830
			  %>
831
          </select>
832
 
833
		  </td>
834
        </tr>
835
		<%If (parRtagA <> "") Then%>  
836
		<tr>
837
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
838
        </tr>
839
		<%End If%>
840
    </table>
841
 
842
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
843
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
844
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
845
      <!-- DIFF -------------------------------------------------------->
846
      <br>
847
 
848
 
849
 
850
 
851
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
852
        <tr>
853
          <td>
854
 
855
 
856
 
857
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
858
			  <tr> 
859
                <td width="1%"></td>
19 rsolanki 860
                <td width="100%" align="left" class="form_ttl">MERGE SBOM</td>
15 rsolanki 861
                <td width="1%"></td>
862
              </tr>
863
              <tr> 
864
                <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
865
                <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp; 
866
                </td>
867
                <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
868
              </tr>
869
              <tr> 
870
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
871
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
872
 
873
 
874
 
875
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
876
                  <tr>
877
                    <td width="100%" bgcolor="#DAD7C8">
878
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
879
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
880
				</td>
881
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
882
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
883
                      <tr>
884
						<td><%If objAccessControl.IsActive("mergeManager") Then%><input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;"><%End If%></td>
885
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
886
                      </tr>
887
                    </table></td>
888
                  </tr>
889
				  <tr>
890
                    <td>
891
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
892
					<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
893
					<fieldset style="width:150px;">
894
					<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
895
					<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
896
					<br>
897
					<table width="100%"  border="0" cellspacing="1" cellpadding="3">
898
					    <tr>
899
					      <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
900
					      <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
901
					    </tr>
902
					    <tr>
903
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
904
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
905
					    </tr>
906
					    <tr>
907
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
908
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
909
					    </tr>
910
					    <tr>
911
 
912
					    <tr>
913
					      <td background="images/bg_action_norm.gif">&nbsp;</td>
914
					      <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
915
					    </tr>
916
					  </table>
917
					</div>
918
					</fieldset>
919
					<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
920
					<%End If%>
921
					</td>
922
                    <td></td>
923
                  </tr>
924
                </table>
925
 
926
				<%
927
				' Successfull Merge
928
				If (Request("btn") = "Merge") Then
929
					Call Messenger ( "Merge has completed successfully.", 3, "100%" )				
930
				End If
931
 
932
				Set FSO=Server.CreateObject("Scripting.FileSystemObject")
933
				Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html"), true)
934
				Call Header()				
935
 
936
				If (parRtagA <> "") AND (parRtagB <> "")Then%>  
937
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
938
                  <tr>
939
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
940
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
941
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
942
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
943
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
944
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
945
                  </tr>
946
			    <%
947
 
948
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
949
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
950
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
951
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
952
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
953
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
954
 
955
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiffMerge.sql"), cint(0))
956
 
957
				OraDatabase.Parameters.Remove "SBOM_A"
958
				OraDatabase.Parameters.Remove "SBOM_B"
959
				OraDatabase.Parameters.Remove "NO_CHANGE"
960
				OraDatabase.Parameters.Remove "ADDED"
961
				OraDatabase.Parameters.Remove "UPDATED"
962
				OraDatabase.Parameters.Remove "REMOVED"
963
 
964
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
965
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
966
	"  FROM BRANCHES br,"&_
967
	"  		BOMS b,"&_	
968
	"  	    DM_PROJECTS pr"&_
969
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
970
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
971
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
972
 
973
 
974
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
975
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
976
	"  FROM BRANCHES br,"&_
977
	"  		BOMS b,"&_	
978
	"  	    DM_PROJECTS pr"&_
979
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
980
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
981
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
982
 
983
				NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</title>")
984
				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>")
985
 
986
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
987
				errormsg = false
17 rsolanki 988
					rowId = rsQry("node_id_a") &"_"& rsQry("os_id_a") &"_"& rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
15 rsolanki 989
 
990
					btnMerge = LIMG_MERGE
991
					btnRemove = LIMG_REMOVE
992
					colorA = LCOLOR_NOT_CHANGED
993
					colorB = LCOLOR_NOT_CHANGED
994
 
995
					Select Case rsQry("change_type")
996
						Case "U"
997
							colorA = LCOLOR_CHANGED
998
							colorB = LCOLOR_CHANGED							
999
						Case "UW"
1000
							colorA = LCOLOR_CHANGED
1001
							colorB = LCOLOR_CHANGED
1002
							btnMerge = LIMG_MERGE_WARN
1003
						Case "A"
1004
							colorA = LCOLOR_BLANK
1005
						Case "R"
1006
							colorB = LCOLOR_BLANK
1007
					End Select
1008
 
1009
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
1010
				%>
1011
				  <tr>
1012
                    <td class="body_row" nowrap>
1013
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1014
						<%If rsQry("pkg_name_a") <> "" Then %>
1015
						<%=rsQry("node_name_a") &"/"& rsQry("os_name_a") &"/"& rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1016
						<%End If%>
1017
						</DIV>
1018
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1019
					</td>
1020
                    <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>
1021
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
1022
                    <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>
1023
                    <td class="body_row" nowrap>
1024
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1025
						<%If rsQry("pkg_name_b") <> "" Then %>
1026
						<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1027
						<%End If%>
1028
						</DIV>
1029
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1030
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1031
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
17 rsolanki 1032
						<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 1033
					</td>
1034
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
1035
                  </tr> 
1036
<%
1037
	If email then 
1038
		If rsQry("pv_id_a") Then
1039
			Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
1040
		End If
1041
 
1042
		If rsQry("pv_id_b") Then
1043
			Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
1044
		End If
1045
 
1046
		pkgA = rsQry("pkg_name_a")
1047
		pkgB = rsQry("pkg_name_b")
1048
 
1049
		If pkgA <> "" then 
1050
			pkgname = pkgA
1051
		Else
1052
			pkgname = pkgB
1053
		End If
1054
 
1055
		Select Case rsQry("change_type") 
1056
			Case "U" 
1057
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1058
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1059
 
1060
				NewTextFile.WriteLine("<br>")
1061
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1062
 
1063
				NewTextFile.WriteLine("<br><br>")
1064
				NewTextFile.WriteLine()
1065
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1066
				Call Comments(rsQry("pv_id_a"))
1067
				Call GetFixedIssues(rsQry("pv_id_a"))
1068
				'Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))
1069
 
1070
				NewTextFile.WriteLine("<br><br>")
1071
				NewTextFile.WriteLine()
1072
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1073
				Call Comments(rsQry("pv_id_b"))
1074
				Call GetFixedIssues(rsQry("pv_id_b"))
1075
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))		
1076
 
1077
 
1078
 
1079
 
1080
					NewTextFile.WriteLine("****************************************************************************************************************************")
1081
 
1082
			Case "UW"					
1083
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1084
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1085
 
1086
				NewTextFile.WriteLine("<br>")
1087
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1088
 
1089
				NewTextFile.WriteLine("<br><br>")
1090
				NewTextFile.WriteLine()
1091
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1092
				Call Comments(rsQry("pv_id_a"))
1093
				Call GetFixedIssues(rsQry("pv_id_a"))
1094
				'Call GetDependencies(rsQry("pv_id_a"))
1095
 
1096
				NewTextFile.WriteLine("<br><br>")
1097
				NewTextFile.WriteLine()
1098
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1099
				Call Comments(rsQry("pv_id_b"))
1100
				Call GetFixedIssues(rsQry("pv_id_b"))
1101
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))				
1102
 
1103
 
1104
 
1105
 
1106
 
1107
				NewTextFile.WriteLine("****************************************************************************************************************************")
1108
 
1109
		End Select	
1110
 
1111
	End If
1112
 
1113
	rsQry.MoveNext
1114
	WEnd
1115
 
1116
	rsQry.Close
1117
	Set rsQry = Nothing
1118
%>									  
1119
<%
1120
	Call Footer()
1121
	NewTextFile.Close
1122
	Set NewTextFile=Nothing 
1123
%>				  
1124
                </table>
1125
                <br>
1126
			<%Else%>	
1127
				<br>
1128
				<%
1129
				If (parRtagB <> "") Then
1130
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
1131
				ElseIf (parRtagA <> "") Then
1132
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
1133
				Else
1134
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
1135
				End If
1136
				%>
1137
 
1138
			<%End If%>
1139
 
1140
				</td>
1141
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1142
              </tr>
1143
              <tr> 
1144
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1145
                <td background="images/lbox_bg_blue.gif"></td>
1146
                <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>
1147
              </tr>
1148
            </table>
1149
          </td>
1150
        </tr>
1151
      </table>
1152
    <!-- DIFF END ---------------------------------------------------->
1153
    </td>
1154
	<td valign="top" width="1%" background="images/bg_lite_blue.gif"> 
1155
 
1156
 
1157
	  <!-- SELECT SBOM B ---------------------------------------------->
1158
      <br>
1159
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1160
		<tr>
1161
          <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>
1162
        </tr>
1163
        <tr>
1164
          <td align="left">
1165
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1166
              <option value="">-- Select Project --</option>
1167
			  <%
1168
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1169
 
1170
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
1171
 
1172
			  OraDatabase.Parameters.Remove "PROJ_ID"
1173
 
1174
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1175
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1176
              <%rsQry.MoveNext
1177
			  WEnd
1178
 
1179
			  rsQry.Close
1180
			  Set rsQry = Nothing
1181
			%>
1182
          </select></td>
1183
        </tr>
1184
        <tr>
1185
          <td align="left">
1186
 
1187
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
1188
              <option value="">-- Select SBOM --</option>		  
1189
			  <%
1190
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1191
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1192
 
1193
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
1194
 
1195
			  OraDatabase.Parameters.Remove "PROJ_ID"
1196
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1197
 
1198
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1199
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
1200
              <%rsQry.MoveNext
1201
			  WEnd
1202
 
1203
			  rsQry.Close
1204
			  Set rsQry = Nothing
1205
			  %>
1206
		  </select></td>
1207
        </tr>
1208
        <tr>
1209
          <td align="left">
1210
 
1211
 
1212
		  <select name="sbomB" id="sbomB" class="form_item">
1213
            <%
1214
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1215
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1216
 
1217
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
1218
 
1219
			  OraDatabase.Parameters.Remove "BOM_ID"
1220
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1221
 
1222
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1223
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
1224
            <%rsQry.MoveNext
1225
			  WEnd
1226
 
1227
			  rsQry.Close
1228
			  Set rsQry = Nothing
1229
			  %>
1230
          </select>
1231
 
1232
 
1233
		  </td>
1234
        </tr>
1235
		<%If (parRtagB <> "") Then%>  
1236
		<tr>
1237
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
1238
        </tr>
1239
		<%End If%>
1240
      </table>
1241
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
1242
  </tr>
1243
  <tr> 
1244
    <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>
1245
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
1246
	<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>
1247
  </tr>
1248
</table>
1249
</form>
1250
<!-- FOOTER -->
1251
<!--#include file="_footer.asp"-->
1252
<%
1253
	If email Then
1254
 
1255
		Dim myMail, LocalPath
1256
		Set myMail=Server.CreateObject("Persits.MailSender")
1257
		LocalPath = Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html")
1258
 
1259
		myMail.Host = SMTP_HOST
1260
		myMail.Subject="Release Comparisons from Release Manager"
1261
		myMail.From="releasem@erggroup.com"
1262
		myMail.AddAddress objAccessControl.UserEmail
1263
		' Attach the file
1264
		myMail.AddAttachment LocalPath
1265
		myMail.Body = "Your requested report..." 
1266
		myMail.Send
1267
 
1268
		set myMail=nothing
1269
 
1270
	End If
1271
%>
1272
</body>
1273
</html>
1274
<%
1275
Call Destroy_All_Objects
1276
%>
1277
<!--#include file="common/globals_destructor.asp"-->