Subversion Repositories DevTools

Rev

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

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