Subversion Repositories DevTools

Rev

Rev 1284 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
62 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 pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, sqlstrC, counterB
64 jtweddle 48
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss, VTSUPiss		
62 rsolanki 49
Dim a, b, c, d, pkgversion, errormsg, source_change
64 jtweddle 50
Dim VersionList
62 rsolanki 51
 
52
 
53
'------------ Constants Declaration -----------
54
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"
55
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Added'>"
56
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Removed'>"
57
Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"
58
Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"
59
Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"
60
Const LCOLOR_NOT_CHANGED = "#F5F5F5"
61
Const LCOLOR_CHANGED = "#d2f7c9"
62
Const LCOLOR_BLANK = "#FFFFFF"
63
Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"
64
Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"
65
Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"
66
Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"
67
'------------ Variable Init -------------------
68
Set rsCQ = Server.CreateObject("ADODB.Recordset")
69
parRtagA = Request("rtagA")
70
parRtagB = Request("rtagB")
71
parSBOMA = Request("sbomA")
72
parSBOMB = Request("sbomB")
73
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
74
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
75
Set dDiffFilter = CreateObject("Scripting.Dictionary")
76
 
77
'----------------------------------------------
78
%>
79
<%
80
'--------------------------------------------------------------------------------------------------------------------------
81
Sub GetDiffFilterValues ( outDepFilter )
82
	Dim FilterVal, aFilterValues
83
 
84
	If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then	
85
		aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",") 
86
 
87
		For Each FilterVal In aFilterValues
88
			outDepFilter.Item (CStr( FilterVal )) = ""
89
		Next
64 jtweddle 90
 
62 rsolanki 91
	End If
92
 
93
End Sub
94
'--------------------------------------------------------------------------------------------------------------------------
95
Sub GetFixedIssues(pv_id)
64 jtweddle 96
	Set sqlstrC = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_db="& CInt(enumCLEARQUEST_VTSUP_ID) &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
62 rsolanki 97
 
64 jtweddle 98
	If sqlstrC.RecordCount <> 0 Then
62 rsolanki 99
 
64 jtweddle 100
		While ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF))
62 rsolanki 101
			DEVIiss = "-1"
102
			TDSEiss = "-1"
103
			VT5DMiss = "-1"
64 jtweddle 104
			VTSUPiss = "-1"
62 rsolanki 105
 
106
			If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
107
				DEVIiss = DEVIiss &","& sqlstrC("iss_id")
108
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
109
				TDSEiss = TDSEiss &","& sqlstrC("iss_id")
110
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
64 jtweddle 111
				VT5DMiss = VT5DMiss &","& sqlstrC("iss_id")		
112
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) Then
113
				VTSUPiss = VTSUPiss &","& sqlstrC("iss_id")												
62 rsolanki 114
			End If
115
 
116
			SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
117
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
118
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_TDSE_ID*/", enumCLEARQUEST_TDSE_ID)
119
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VT5DM_ID*/", enumCLEARQUEST_VT5DM_ID)
64 jtweddle 120
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VTSUP_ID*/", enumCLEARQUEST_VTSUP_ID)					
62 rsolanki 121
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
122
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
123
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
64 jtweddle 124
			SSsql = Replace( SSsql, "/*VTSUPiss*/", VTSUPiss)
62 rsolanki 125
 
64 jtweddle 126
			retVal = Get_CQ_Issues ( SSsql, rsCQ )			
127
 
62 rsolanki 128
 
129
			sqlstrC.MoveNext
64 jtweddle 130
 
131
		Wend
132
 
133
 
134
	End If
135
 
136
	sqlstrC.Close()
137
	Set sqlstrC = Nothing
62 rsolanki 138
 
139
 
140
End Sub
141
'--------------------------------------------------------------------------------------------------------------------------
64 jtweddle 142
Function LastPvId(pvId)
62 rsolanki 143
	Dim qryA
64 jtweddle 144
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&pvId , cint(0))
62 rsolanki 145
 
64 jtweddle 146
	LastPvId = pvId
147
 
148
	If pvId <> qryA("last_pv_id") Then	
149
		LastPvId = qryA("last_pv_id")
62 rsolanki 150
	Else 
151
		errormsg = true
152
	End If
153
 
154
	qryA.Close()
64 jtweddle 155
	Set qryA = Nothing
156
 
157
End Function
62 rsolanki 158
'--------------------------------------------------------------------------------------------------------------------------
159
Sub PreviousVersions(a, b, versionA, versionB)
160
 
64 jtweddle 161
	If CLng(a) < CLng(b) Then
162
		While CLng(a) < CLng(b)
163
			b = LastPvId(b)
164
			If CLng(a) < CLng(b) Then
165
				VersionList = VersionList + ","& b &""
62 rsolanki 166
				Call Comments(b)
167
				Call GetFixedIssues(b)
64 jtweddle 168
			End If
62 rsolanki 169
		Wend
170
	End If	
64 jtweddle 171
 
172
	If CLng(b) < CLng(a) Then
173
		While CLng(b) < CLng(a)
174
			a = LastPvId(a)
175
			If CLng(b) < CLng(a) Then
176
				VersionList = VersionList + ","& a &""
62 rsolanki 177
				Call Comments(a)
178
				Call GetFixedIssues(a)
64 jtweddle 179
			End If
62 rsolanki 180
		Wend	
181
	End If
182
 
183
 
184
End Sub
185
'--------------------------------------------------------------------------------------------------------------------------
186
Sub pkg_Version(pv)
187
	Dim qry	
188
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))	
189
	pkgversion = qry("pkg_version")
190
	qry.Close()
64 jtweddle 191
	Set qry = Nothing
62 rsolanki 192
End Sub
193
'--------------------------------------------------------------------------------------------------------------------------
194
Function GetIsDiffFilterInUseIcon()
195
	GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
196
 
197
	If dDiffFilter.Count > 0 Then
198
		GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
199
	End If
200
 
201
End Function
202
'--------------------------------------------------------------------------------------------------------------------------
203
Function GetIsDiffFilterChecked( nFilterId )
204
 
205
	If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
206
		GetIsDiffFilterChecked = "checked"
207
	End If
208
 
209
End Function
210
'---------------------------------------------------------------------------------------------------------------------------
211
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
212
 
213
	If OOrsCQ.State = 1 Then 
214
		OOrsCQ.Close
215
	End If
216
 
217
	On Error Resume Next
218
	OOrsCQ.ActiveConnection = CQ_conn
219
	OOrsCQ.Source = SSsql
220
	OOrsCQ.CursorType = 0
221
	OOrsCQ.CursorLocation = 2
222
	OOrsCQ.LockType = 3
223
	OOrsCQ.Open()
224
	Get_CQ_Issues = Err.Number
225
 
226
End Function
227
'--------------------------------------------------------------------------------------------------------------------------
228
Public Function TextToHTML ( sString )
229
	Dim mString
230
 
231
	If (sString = "") OR IsNull(sString) Then Exit Function
232
 
233
	mString = Server.HTMLEncode( sString )
234
	mString = Replace(mString, VBNewLine, "<br>")
235
 
236
	TextToHTML = mString
237
End Function
238
'--------------------------------------------------------------------------------------------------------------------------
239
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
240
	Dim rsQry, query
241
 
242
	' Exit if nSourceRtagId is empty
243
	If nSourceSBOM = "" Then Exit Sub 
244
 
245
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
246
 
247
	query = _
248
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
249
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID, b.IS_READONLY"&_
250
	"  FROM BRANCHES br,"&_
251
	"  		BOMS b,"&_	
252
	"  	    DM_PROJECTS pr"&_
253
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
254
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
255
	"   AND b.BOM_ID = :SBOM"
256
 
257
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
258
 
259
	OraDatabase.Parameters.Remove "SBOM"
260
 
261
	If rsQry.RecordCount > 0 Then
262
		outobjDetails.Item ("location") = rsQry("location")
263
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
264
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
265
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
266
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
267
	Else
268
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
269
	End If
270
 
271
	If outobjDetails.Item ("location") = "" Then
272
		outobjDetails.Item ("location") = "N"
273
	End If
274
 
275
	rsQry.Close
276
	Set rsQry = Nothing
277
 
278
End Sub
279
'--------------------------------------------------------------------------------------------------------------------------
280
Sub GetDiffStateIcon( nDiffState, outIcon )
281
 
282
	Select Case nDiffState
283
		Case "U"
284
			outIcon  = LIMG_UPDATED		
285
		Case "UW"
286
			outIcon  = LIMG_UPDATED			
287
		Case "A"
288
			outIcon = LIMG_ADDED			
289
		Case "R"
290
			outIcon = LIMG_REMOVED			
291
		Case Else
292
			outIcon = ""			
293
	End Select
294
 
295
End Sub
296
'--------------------------------------------------------------------------------------------------------------------------
297
%>
298
<%
299
'------------ RUN BEFORE PAGE RENDER ----------
300
If Request("btn") = "Exit" Then
301
	Call OpenInWindow ( "reports.asp" )
302
End If
303
 
304
' Get release details
305
Call GetFormDetails ( parSBOMA, objRelCollectorA )
306
Call GetFormDetails ( parSBOMB, objRelCollectorB )
307
 
308
If Request("btn") = "Swap Compare" Then
309
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
310
End If
311
 
312
If Request("btn") = "Hide" Then
313
	' Store filter in cookie
314
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
315
End If
316
 
317
 
318
Call GetDiffFilterValues ( dDiffFilter )
319
'----------------------------------------------
320
%>
321
<html>
322
<head>
64 jtweddle 323
<title>Production Manager SBOM Differences</title>
62 rsolanki 324
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
325
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4012 dpurdie 326
<link rel="stylesheet" href="scripts/deployment_manager.css" type="text/css">
62 rsolanki 327
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
328
<link rel="stylesheet" href="images/navigation.css" type="text/css">
329
<script language="JavaScript" src="images/common.js"></script>
330
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
331
<script language="JavaScript" type="text/javascript">
332
<!--
333
 
334
function RequestReleaseCombo( paramString, rowId ){
335
	var requestURL = 'RequestReleaseCombo.asp';
336
 
337
	// Set ajax divname
338
	ajaxdivname = rowId;
339
 
340
	//Append the name to search for to the requestURL
341
	var url = requestURL + paramString;
342
 
343
	//Progress
344
	//alert(MM_findObj( rowId ));
345
 
346
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
347
	//MM_findObj( rowId ).selectedIndex = 0;
348
	rowId.options[0] = new Option('Loading...','');
349
	rowId.selectedIndex = 0;
350
 
351
 
352
	//Create the xmlHttp object to use in the request
353
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
354
	// This is non-blocking (asynchronous)
355
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
356
 
357
	//Send the xmlHttp get to the specified url
358
	xmlHttp_Get(xmlHttp, url);
359
 
360
 
361
}
362
 
363
function RequestSBOMCombo( paramString, rowId ){
364
	var requestURL = 'RequestSBOMCombo.asp';
365
 
366
	// Set ajax divname
367
	ajaxdivname = rowId;
368
 
369
	//Append the name to search for to the requestURL
370
	var url = requestURL + paramString;
371
 
372
	//Progress
373
	//alert(MM_findObj( rowId ));
374
 
375
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
376
	//MM_findObj( rowId ).selectedIndex = 0;
377
	rowId.options[0] = new Option('Loading...','');
378
	rowId.selectedIndex = 0;
379
 
380
 
381
	//Create the xmlHttp object to use in the request
382
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
383
	// This is non-blocking (asynchronous)
384
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
385
 
386
	//Send the xmlHttp get to the specified url
387
	xmlHttp_Get(xmlHttp, url);
388
 
389
 
390
}
391
 
392
function UndoPackage ( rowId )
393
{
394
 
395
	// Set merge/remove hidden field with new value
396
	MM_findObj( 'ADDPKG_' + rowId ).value = '';
397
	MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
398
 
399
	var divA = MM_findObj( 'PVA' + rowId );
400
	var divB = MM_findObj( 'PVB' + rowId );
401
 
402
	// Set text equal
403
	divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
404
	divB.style.textDecoration = 'none';
405
 
406
 
407
	// Set highlight to blank
408
	divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
409
	divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
410
 
411
 
412
    // Set Change state icon to blank
413
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
414
 
415
 
416
	// Remove Merge Button
417
	var cht = MM_findObj( 'CHANGETYPE_' + rowId );
418
 
419
	if (cht.value == "R")
420
	{
421
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
422
	} 
423
	else if ( (cht.value == "A") || (cht.value == "") ) 
424
	{
425
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
426
	} 
427
	else 
428
	{
429
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
430
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
431
	}
432
 
433
	// Show undo button
434
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
435
 
436
}
437
 
438
//-->
439
</script>
440
 
441
</head>
442
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
443
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
444
<!-- HEADER -->
445
<!--#include file="_header.asp"-->
446
<!-- BODY ---->
447
<table width="100%" border="0" cellspacing="0" cellpadding="0">
448
  <tr> 
64 jtweddle 449
    <td width="1%" background="images/bg_lightgreen.gif" valign="top">
62 rsolanki 450
 
451
 
452
	<!-- SELECT SBOM A ---------------------------------------------->
453
 
454
	<br>
455
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
456
 
457
		<tr>
458
          <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>
459
        </tr>
64 jtweddle 460
<!--         <tr>
62 rsolanki 461
          <td align="left">
462
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
463
              <option value="">-- Select Project --</option>
464
			  <%
465
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
466
 
467
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
468
 
469
			  OraDatabase.Parameters.Remove "PROJ_ID"
470
 
471
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
472
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
473
              <%rsQry.MoveNext
474
			  WEnd
475
 
476
			  rsQry.Close
477
			  Set rsQry = Nothing
478
			%>
479
          </select></td>
480
        </tr>
481
        <tr>
482
          <td align="left">
483
 
484
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
485
              <option value="">-- Select SBOM --</option>			  
486
			  <%
487
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
488
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
489
 
490
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
491
 
492
			  OraDatabase.Parameters.Remove "PROJ_ID"
493
			  OraDatabase.Parameters.Remove "BRANCH_ID"
494
 
495
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
496
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
497
              <%rsQry.MoveNext
498
			  WEnd
499
 
500
			  rsQry.Close
501
			  Set rsQry = Nothing
502
			  %>
503
		  </select></td>
64 jtweddle 504
        </tr> -->
62 rsolanki 505
        <tr>
506
          <td align="left">
507
		  <select name="sbomA" id="sbomA" class="form_item">
508
            <%
64 jtweddle 509
			If objAccessControl.IsActive("Vasttrafik")	Then
510
				nBranchId	=	1142
511
			Else
512
				nBranchId	=	542
513
			End	If			
514
 
515
 
62 rsolanki 516
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
64 jtweddle 517
			  OraDatabase.Parameters.Add "BRANCH_ID", 	nBranchId,	ORAPARM_INPUT, ORATYPE_NUMBER 
62 rsolanki 518
 
64 jtweddle 519
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductionTreeCombo.sql"), cint(0))
520
 
62 rsolanki 521
			  OraDatabase.Parameters.Remove "BOM_ID"
522
			  OraDatabase.Parameters.Remove "BRANCH_ID"
523
 
524
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
64 jtweddle 525
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("bom_name")%>&gt;<%=rsQry("bom_version")%></option>
62 rsolanki 526
            <%rsQry.MoveNext
527
			  WEnd
528
 
529
			  rsQry.Close
530
			  Set rsQry = Nothing
531
			  %>
532
          </select>
533
 
534
		  </td>
535
        </tr>
536
		<%If (parRtagA <> "") Then%>  
64 jtweddle 537
<!-- 		<tr>
62 rsolanki 538
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
64 jtweddle 539
        </tr> -->
62 rsolanki 540
		<%End If%>
541
    </table>
542
 
543
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
544
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
545
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
546
      <!-- DIFF -------------------------------------------------------->
547
      <br>
548
 
549
 
550
 
551
 
552
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
553
        <tr>
554
          <td>
555
 
556
 
557
 
558
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
559
			  <tr> 
560
                <td width="1%"></td>
561
                <td width="100%" align="left" class="form_ttl">DIFF SBOM</td>
562
                <td width="1%"></td>
563
              </tr>
564
              <tr> 
64 jtweddle 565
                <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
566
                <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp; 
62 rsolanki 567
                </td>
64 jtweddle 568
                <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
62 rsolanki 569
              </tr>
570
              <tr> 
571
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
572
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
573
 
574
 
575
 
576
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
577
                  <tr>
578
                    <td width="100%" bgcolor="#DAD7C8">
579
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
64 jtweddle 580
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp" style="margin-right:5px;">
581
					<%If parSBOMA <> parSBOMB AND parSBOMA <> "" AND parSBOMB <> "" Then%>
582
					<input name="generate_button" id="generate_button" type="button" class="form_btn" value="Generate Report" onclick="window.open('diff_report.asp?sbomA=<%=parSBOMA%>&sbomB=<%=parSBOMB%>');">
583
					<%End If%>
584
					</td>
585
 
62 rsolanki 586
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
587
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
588
                      <tr>
589
 
590
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
591
                      </tr>
592
                    </table></td>
593
                  </tr>
594
				  <tr>
595
                    <td>
596
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
597
					<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
598
					<fieldset style="width:150px;">
599
					<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
600
					<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
601
					<br>
602
					<table width="100%"  border="0" cellspacing="1" cellpadding="3">
603
					    <tr>
604
					      <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
605
					      <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
606
					    </tr>
607
					    <tr>
608
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
609
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
610
					    </tr>
611
					    <tr>
612
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
613
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
614
					    </tr>
615
					    <tr>
616
 
617
					    <tr>
618
					      <td background="images/bg_action_norm.gif">&nbsp;</td>
619
					      <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
620
					    </tr>
621
					  </table>
622
					</div>
623
					</fieldset>
624
					<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
625
					<%End If%>
626
					</td>
627
                    <td></td>
628
                  </tr>
629
                </table>
630
 
631
				<%
632
				' Successfull Merge
633
				If (Request("btn") = "Merge") Then
634
					Call Messenger ( "Merge has completed successfully.", 3, "100%" )				
635
				End If
636
 
64 jtweddle 637
				If (parSBOMA <> "") AND (parSBOMB <> "") Then%>  
62 rsolanki 638
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
639
                  <tr>
640
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
641
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
642
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
643
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
644
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
645
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
646
                  </tr>
647
			    <%
648
 
649
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
650
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
651
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
652
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
653
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
654
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
655
 
656
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiff.sql"), cint(0))
657
 
658
				OraDatabase.Parameters.Remove "SBOM_A"
659
				OraDatabase.Parameters.Remove "SBOM_B"
660
				OraDatabase.Parameters.Remove "NO_CHANGE"
661
				OraDatabase.Parameters.Remove "ADDED"
662
				OraDatabase.Parameters.Remove "UPDATED"
663
				OraDatabase.Parameters.Remove "REMOVED"
664
 
665
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
666
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
667
	"  FROM BRANCHES br,"&_
668
	"  		BOMS b,"&_	
669
	"  	    DM_PROJECTS pr"&_
670
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
671
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
672
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
673
 
674
 
675
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
676
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
677
	"  FROM BRANCHES br,"&_
678
	"  		BOMS b,"&_	
679
	"  	    DM_PROJECTS pr"&_
680
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
681
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
682
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
683
 
684
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
64 jtweddle 685
				VersionList = "0"
62 rsolanki 686
				errormsg = false
687
					rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
688
 
689
					btnMerge = LIMG_MERGE
690
					btnRemove = LIMG_REMOVE
691
					colorA = LCOLOR_NOT_CHANGED
692
					colorB = LCOLOR_NOT_CHANGED
693
 
694
					Select Case rsQry("change_type")
695
						Case "U"
696
							colorA = LCOLOR_CHANGED
697
							colorB = LCOLOR_CHANGED							
698
						Case "UW"
699
							colorA = LCOLOR_CHANGED
700
							colorB = LCOLOR_CHANGED
701
							btnMerge = LIMG_MERGE_WARN
702
						Case "A"
703
							colorA = LCOLOR_BLANK
704
						Case "R"
705
							colorB = LCOLOR_BLANK
706
					End Select
707
 
708
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
709
				%>
710
				  <tr>
711
                    <td class="body_row" nowrap>
712
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
713
						<%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
714
						</DIV>
715
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
716
					</td>
717
                    <td bgcolor="#F5F5F5"></td>
718
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
719
                    <td bgcolor="#F5F5F5"></td>
720
                    <td class="body_row" nowrap>
721
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
722
						<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
723
						</DIV>
724
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
725
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
726
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
727
						<input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
728
					</td>
729
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
730
                  </tr> 
64 jtweddle 731
			<%
732
			rsQry.MoveNext
733
			WEnd
734
 
735
			rsQry.Close
736
			Set rsQry = Nothing
737
			%>				  
62 rsolanki 738
                </table>
739
                <br>
740
			<%Else%>	
741
				<br>
742
				<%
743
				If (parRtagB <> "") Then
744
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
745
				ElseIf (parRtagA <> "") Then
746
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
747
				Else
748
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
749
				End If
750
				%>
751
 
752
			<%End If%>
753
 
754
				</td>
755
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
756
              </tr>
757
              <tr> 
64 jtweddle 758
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
759
                <td background="images/lbox_bg_blue.gif"></td>
760
                <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>
62 rsolanki 761
              </tr>
762
            </table>
763
          </td>
764
        </tr>
765
      </table>
766
    <!-- DIFF END ---------------------------------------------------->
767
    </td>
64 jtweddle 768
	<td valign="top" width="1%" background="images/bg_lightgreen.gif"> 
62 rsolanki 769
 
770
 
771
	  <!-- SELECT SBOM B ---------------------------------------------->
772
      <br>
773
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
774
		<tr>
775
          <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>
776
        </tr>
64 jtweddle 777
<!--         <tr>
62 rsolanki 778
          <td align="left">
779
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
780
              <option value="">-- Select Project --</option>
781
			  <%
782
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
783
 
784
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
785
 
786
			  OraDatabase.Parameters.Remove "PROJ_ID"
787
 
788
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
789
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
790
              <%rsQry.MoveNext
791
			  WEnd
792
 
793
			  rsQry.Close
794
			  Set rsQry = Nothing
795
			%>
796
          </select></td>
797
        </tr>
798
        <tr>
799
          <td align="left">
800
 
801
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
802
              <option value="">-- Select SBOM --</option>		  
803
			  <%
804
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
805
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
806
 
807
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
808
 
809
			  OraDatabase.Parameters.Remove "PROJ_ID"
810
			  OraDatabase.Parameters.Remove "BRANCH_ID"
811
 
812
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
813
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
814
              <%rsQry.MoveNext
815
			  WEnd
816
 
817
			  rsQry.Close
818
			  Set rsQry = Nothing
819
			  %>
820
		  </select></td>
64 jtweddle 821
        </tr> -->
62 rsolanki 822
        <tr>
823
          <td align="left">
824
 
825
 
826
		  <select name="sbomB" id="sbomB" class="form_item">
827
            <%
64 jtweddle 828
			Dim nBranchId
829
			If objAccessControl.IsActive("Vasttrafik")	Then
830
				nBranchId	=	1142
831
			Else
832
				nBranchId	=	542
833
			End	If
834
 
62 rsolanki 835
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
64 jtweddle 836
			  OraDatabase.Parameters.Add "BRANCH_ID", 	nBranchId,	ORAPARM_INPUT, ORATYPE_NUMBER 
62 rsolanki 837
 
64 jtweddle 838
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductionTreeCombo.sql"), cint(0))
62 rsolanki 839
 
840
			  OraDatabase.Parameters.Remove "BOM_ID"
841
			  OraDatabase.Parameters.Remove "BRANCH_ID"
842
 
843
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
64 jtweddle 844
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("bom_name")%>&gt;<%=rsQry("bom_version")%></option>
62 rsolanki 845
            <%rsQry.MoveNext
846
			  WEnd
847
 
848
			  rsQry.Close
849
			  Set rsQry = Nothing
850
			  %>
851
          </select>
852
 
853
 
854
		  </td>
855
        </tr>
856
		<%If (parRtagB <> "") Then%>  
64 jtweddle 857
<!-- 		<tr>
62 rsolanki 858
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
64 jtweddle 859
        </tr> -->
62 rsolanki 860
		<%End If%>
861
      </table>
862
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
863
  </tr>
864
  <tr> 
64 jtweddle 865
    <td valign="bottom" align="center" background="images/bg_lightgreen.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
62 rsolanki 866
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
64 jtweddle 867
	<td valign="bottom" background="images/bg_lightgreen.gif" align="center"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
62 rsolanki 868
  </tr>
869
</table>
870
</form>
871
<!-- FOOTER -->
872
<!--#include file="_footer.asp"-->
873
<%
64 jtweddle 874
	'If email Then
62 rsolanki 875
 
64 jtweddle 876
		'Dim myMail, LocalPath
877
		'Set myMail=Server.CreateObject("Persits.MailSender")
878
		'LocalPath = Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html")
62 rsolanki 879
 
64 jtweddle 880
	'	myMail.Host = SMTP_HOST
881
	'	myMail.Subject="BOM Comparisons from Deployment Manager"
882
	'	myMail.From="releasem@erggroup.com"
883
	'	myMail.AddAddress objAccessControl.UserEmail
62 rsolanki 884
		' Attach the file
64 jtweddle 885
	'	myMail.AddAttachment LocalPath
886
	'	myMail.Body = "Your requested report..."
887
	'	myMail.Send
62 rsolanki 888
 
64 jtweddle 889
	'	set myMail=nothing
62 rsolanki 890
 
64 jtweddle 891
	'End If
62 rsolanki 892
%>
893
</body>
894
</html>
895
<%
896
Call Destroy_All_Objects
897
%>
898
<!--#include file="common/globals_destructor.asp"-->