Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
4028 dpurdie 5
'|                              DIFF                 |
119 ghuddy 6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
4028 dpurdie 12
Response.Expires = 0    ' always load the page, dont store
119 ghuddy 13
%>
14
 
15
<%
16
'To enable the script timeout to 20 mins
17
Server.ScriptTimeout=1200
18
%>
19
<!--#include file="common/conf.asp"-->
20
<!--#include file="common/globals.asp"-->
21
<!--#include file="common/formating.asp"-->
22
<!--#include file="common/qstr.asp"-->
23
<!--#include file="common/common_subs.asp"-->
24
<!--#include file="common/common_dbedit.asp"-->
25
<!--#include file="common/_form_window_common.asp"-->
26
<!--#include file="common/_rtree_common.asp"-->
27
<%
28
'------------ ACCESS CONTROL ------------------
29
%>
30
<!--#include file="_access_control_login.asp"-->
31
<!--#include file="_access_control_general.asp"-->
32
<%
33
'------------ Variable Definition -------------
34
Dim rsQry
35
Dim objRelCollectorA
36
Dim objRelCollectorB
37
Dim parRtagA
38
Dim parRtagB
39
Dim dDiffFilter
40
Dim colorA, colorB, ChangeTypeIcon
41
Dim btnMerge, btnRemove
42
Dim rowId
43
Dim email
4028 dpurdie 44
Dim genReport
119 ghuddy 45
Dim FSO
46
Dim NewTextFile
47
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, counterB
3975 dpurdie 48
Dim SSsql, retVal, rsCQ, DEVIiss
4028 dpurdie 49
Dim a, b, c, d, pkgversion, errormsg, ChangeASource, ChangeAUpdate, ChangeBSource, ChangeBUpdate, pvCollectionA, pvCollectionB
50
Dim source_change, scFlag
119 ghuddy 51
Dim changeType
123 ghuddy 52
Dim pendingAdditions
119 ghuddy 53
 
54
'------------ Constants Declaration -----------
55
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"
56
Const LIMG_RIPPLED = "<img src='images/i_rippled.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Rippled'>"
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_RIPPLED = "#D8F8F8"
65
Const LCOLOR_BLANK = "#FFFFFF"
66
Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"
67
Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"
68
Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"
69
Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"
70
'------------ Variable Init -------------------
71
Set rsCQ = Server.CreateObject("ADODB.Recordset")
72
parRtagA = Request("rtagA")
73
parRtagB = Request("rtagB")
74
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
75
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
76
Set dDiffFilter = CreateObject("Scripting.Dictionary")
123 ghuddy 77
Set pendingAdditions = CreateObject("Scripting.Dictionary")
119 ghuddy 78
'----------------------------------------------
79
If Request("btn") = "Mail Me Report" Then
4028 dpurdie 80
    email = true
81
    genReport = true
119 ghuddy 82
End If
4028 dpurdie 83
If Request("btn") = "Show Me Report" Then
84
    genReport = true
85
End If
119 ghuddy 86
%>
87
<%
88
'--------------------------------------------------------------------------------------------------------------------------
89
Sub GetDiffFilterValues ( outDepFilter )
4028 dpurdie 90
    Dim FilterVal, aFilterValues
119 ghuddy 91
 
4028 dpurdie 92
    If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then
93
        aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",")
119 ghuddy 94
 
4028 dpurdie 95
        For Each FilterVal In aFilterValues
96
            outDepFilter.Item (CStr( FilterVal )) = ""
97
        Next
119 ghuddy 98
 
4028 dpurdie 99
    End If
119 ghuddy 100
 
101
End Sub
102
'--------------------------------------------------------------------------------------------------------------------------
4028 dpurdie 103
Sub Javascript()
104
    NewTextFile.WriteLine("<script language=""JavaScript"" type=""text/javascript"">")
105
    NewTextFile.WriteLine("function MM_findObj(n, d) { //v4.0")
106
    NewTextFile.WriteLine("  var p,i,x;")
107
    NewTextFile.WriteLine("  if(!d) d=document; ")
108
    NewTextFile.WriteLine("  if((p=n.indexOf(""?""))>0&&parent.frames.length) {")
109
    NewTextFile.WriteLine("  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);")
110
    NewTextFile.WriteLine("  }")
111
    NewTextFile.WriteLine("  if(!(x=d[n])&&d.all) x=d.all[n]; ")
112
    NewTextFile.WriteLine("  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];")
113
    NewTextFile.WriteLine("  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);")
114
    NewTextFile.WriteLine("  if(!x && document.getElementById) x=document.getElementById(n); ")
115
    NewTextFile.WriteLine("  return x;")
116
    NewTextFile.WriteLine("}")
117
 
118
    NewTextFile.WriteLine("function toggleSPAN(x) {")
119
    NewTextFile.WriteLine("    var el = MM_findObj('spanPkgInfo' + x);")
120
    NewTextFile.WriteLine("    if (el.style.display != ""block"") {")
121
    NewTextFile.WriteLine("        el.style.display = ""block"";")
122
    NewTextFile.WriteLine("    } else {")
123
    NewTextFile.WriteLine("        el.style.display = ""none"";")
124
    NewTextFile.WriteLine("    }")
125
    NewTextFile.WriteLine("}")
126
 
127
    NewTextFile.WriteLine("function MM_getElementsByClassName(cn) {")
128
    NewTextFile.WriteLine("    var allT=document.getElementsByTagName('*'), allCN=[], i=0, a;")
129
    NewTextFile.WriteLine("    while(a=allT[i++]) {")
130
    NewTextFile.WriteLine("        a.className==cn ? allCN[allCN.length]=a : null;")
131
    NewTextFile.WriteLine("    }")
132
    NewTextFile.WriteLine("    return allCN")
133
    NewTextFile.WriteLine("}")
134
 
135
    NewTextFile.WriteLine("    function MM_toggleAll(cn, show){")
136
    NewTextFile.WriteLine("        var allEl = MM_getElementsByClassName(cn);")
137
    NewTextFile.WriteLine("        for (var ii=0; ii<allEl.length;ii++){")
138
    NewTextFile.WriteLine("            var el = allEl[ii];")
139
    NewTextFile.WriteLine("            if(show) {")
140
    NewTextFile.WriteLine("                el.style.display = ""block"";")
141
    NewTextFile.WriteLine("            } else {")
142
    NewTextFile.WriteLine("                el.style.display = ""none"";")
143
    NewTextFile.WriteLine("            }")
144
    NewTextFile.WriteLine("        }")
145
    NewTextFile.WriteLine("    }")
146
 
147
    NewTextFile.WriteLine("</script>")
148
End Sub
149
'--------------------------------------------------------------------------------------------------------------------------
119 ghuddy 150
Sub GetFixedIssues(pv_id)
4028 dpurdie 151
    '
152
    ' Clearcase issues
153
    '
154
    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))
119 ghuddy 155
 
4028 dpurdie 156
    If sqlstrA.RecordCount <> 0 Then
157
        NewTextFile.WriteLine()
158
        NewTextFile.WriteLine("<blockquote><blockquote>Fixed ClearQuest Issues:</blockquote></blockquote>")
159
        NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table class='fixed_issues' width='100%'>")
160
        NewTextFile.WriteLine("<tr>")
161
        NewTextFile.WriteLine("<td width='10%' class='form_field'>Issue Id</td>")
162
        NewTextFile.WriteLine("<td width='55%' class='form_field'>Summary</td>")
163
        NewTextFile.WriteLine("<td width='10%' class='form_field'>Issue Type</td>")
164
        NewTextFile.WriteLine("<td width='15%' class='form_field'>Priority</td>")
165
        NewTextFile.WriteLine("<td width='10%' class='form_field'>Status</td>")
166
        NewTextFile.WriteLine("</tr>")
119 ghuddy 167
 
4028 dpurdie 168
        For counterA=1 to sqlstrA.RecordCount
169
            DEVIiss = "-1"
119 ghuddy 170
 
4028 dpurdie 171
            If CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
172
                DEVIiss = DEVIiss &","& sqlstrA("iss_id")
173
            End If
119 ghuddy 174
 
4028 dpurdie 175
            SSsql = ReadFile( rootPath & "queries\cq_issues.sql" )
176
            SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
177
            SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
178
            retVal = Get_CQ_Issues ( SSsql, rsCQ )
119 ghuddy 179
 
4028 dpurdie 180
            NewTextFile.WriteLine("<tr>")
181
            NewTextFile.WriteLine("<td nowrap class='form_item'>"&rsCQ("iss_num")&"</td>")
119 ghuddy 182
 
4028 dpurdie 183
            NewTextFile.WriteLine("<td class='form_item'>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</td>")
184
            NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("issue_type")&"</td>")
185
            NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("priority")&"</td>")
186
            NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("Status")&"</td>")
187
            NewTextFile.WriteLine("</tr>")
119 ghuddy 188
 
4028 dpurdie 189
            sqlstrA.MoveNext
190
        Next
191
        sqlstrA.Close()
192
        NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
193
    End If
194
 
195
    '
196
    ' Must also handle Jira Issues
197
    '
198
    Dim SQLstr
199
    retVal = Get_JIRA_Package_Issues ( pv_id, SQLstr )
200
    ' Debug ... NewTextFile.WriteLine("<blockquote><blockquote>Jira Issues:"&retVal&":"&pv_id&"</blockquote></blockquote>")
201
    If retVal > 0 Then
202
        retVal = Get_JIRA_Issues ( SQLstr, rsCQ )
203
        If (retVal = 0 AND rsCQ.RecordCount > 0) Then
204
            NewTextFile.WriteLine()
205
            NewTextFile.WriteLine("<blockquote><blockquote>Jira Issues:</blockquote></blockquote>")
206
            NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table class='fixed_issues' width='100%'>")
207
            NewTextFile.WriteLine("<tr>")
208
            NewTextFile.WriteLine("<td width='8%' class='form_field'>Issue Id</td>")
209
            NewTextFile.WriteLine("<td width='58%' class='form_field'>Summary</td>")
210
            NewTextFile.WriteLine("<td width='8%' class='form_field'>Issue Type</td>")
211
            NewTextFile.WriteLine("<td width='10%' class='form_field'>Priority</td>")
212
            NewTextFile.WriteLine("<td width='8%' class='form_field'>Status</td>")
213
            NewTextFile.WriteLine("<td width='8%' class='form_field'>Resolution</td>")
214
            NewTextFile.WriteLine("</tr>")
215
 
216
            While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF))
217
                NewTextFile.WriteLine("<tr>")
218
                NewTextFile.WriteLine("<td nowrap class='form_item'>"&rsCQ("iss_num")&"</td>")
219
                NewTextFile.WriteLine("<td class='form_item'>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</td>")
220
                NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("issue_type")&"</td>")
221
                NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("priority")&"</td>")
222
                NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("Status")&"</td>")
223
                NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("RESOLUTION")&"</td>")
224
                NewTextFile.WriteLine("</tr>")
225
 
226
                rsCQ.MoveNext
227
            Wend
228
            NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
229
        End If
230
        rsCQ.Close()
231
    End If
119 ghuddy 232
End Sub
233
'--------------------------------------------------------------------------------------------------------------------------
234
Sub LastPvIdA(a)
235
 
4028 dpurdie 236
    Dim qryA
237
    Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a, cint(0))
119 ghuddy 238
 
4028 dpurdie 239
    'If a <> qryA("last_pv_id") Then
240
        a = qryA("last_pv_id")
241
    'Else
242
    '    errormsg = true
243
    'End If
119 ghuddy 244
 
4028 dpurdie 245
    If pvCollectionA.Exists(CStr(a)) Then
246
        errormsg = true
247
        Exit Sub
248
    End If
119 ghuddy 249
 
4028 dpurdie 250
    qryA.Close()
119 ghuddy 251
End Sub
252
'--------------------------------------------------------------------------------------------------------------------------
253
Sub LastPvIdB(b)
4028 dpurdie 254
    Dim qryB
255
    Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b, cint(0))
119 ghuddy 256
 
4028 dpurdie 257
    'If b <> qryB("last_pv_id") Then
258
        b = qryB("last_pv_id")
259
    'Else
260
    '    errormsg = true
261
    'End If
119 ghuddy 262
 
4028 dpurdie 263
    If pvCollectionB.Exists(CStr(b)) Then
264
        errormsg = true
265
        Exit Sub
266
    End If
119 ghuddy 267
 
4028 dpurdie 268
    qryB.Close()
119 ghuddy 269
End Sub
270
'--------------------------------------------------------------------------------------------------------------------------
271
Sub pkg_Version(pv)
4028 dpurdie 272
    Dim qry
273
    Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv, cint(0))
274
    pkgversion = qry("pkg_version")
275
    qry.Close()
119 ghuddy 276
End Sub
277
'--------------------------------------------------------------------------------------------------------------------------
278
Sub LastPvIdAa(a)
4028 dpurdie 279
    Dim qryA
280
    Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a, cint(0))
281
    c = qryA("last_pv_id")
282
    qryA.Close()
119 ghuddy 283
End Sub
284
'--------------------------------------------------------------------------------------------------------------------------
285
Sub LastPvIdBb(b)
4028 dpurdie 286
    Dim qryB
287
    Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b, cint(0))
288
    d = qryB("last_pv_id")
289
    qryB.Close()
119 ghuddy 290
End Sub
291
'--------------------------------------------------------------------------------------------------------------------------
292
Sub Comments(Pv_Id)
4028 dpurdie 293
    Dim comments
294
    Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id, cint(0))
119 ghuddy 295
 
4028 dpurdie 296
    scFlag = false
297
    If comments("comments") <> "Rippled Build." Then
298
        NewTextFile.WriteLine("<blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&">Version: "& comments("pkg_version")&"</font></blockquote></blockquote>")
299
        If comments("comments") <> "" Then
300
            NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
301
            NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
302
            source_change = true
303
            scFlag = true
304
        End If
305
    End If
119 ghuddy 306
 
307
End Sub
308
'--------------------------------------------------------------------------------------------------------------------------
309
Sub Release(pvId)
4028 dpurdie 310
    Dim release
311
    Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId, cint(0))
119 ghuddy 312
 
4028 dpurdie 313
    If release("insert_stamp") <> "" Then
314
        NewTextFile.Write(release("insert_stamp"))
315
    Else
316
        NewTextFile.Write("Version Not Used.")
317
    End If
119 ghuddy 318
 
319
End Sub
320
'--------------------------------------------------------------------------------------------------------------------------
321
Sub Header()
4028 dpurdie 322
    NewTextFile.WriteLine("<html>")
323
    NewTextFile.WriteLine("<head>")
119 ghuddy 324
End Sub
325
'--------------------------------------------------------------------------------------------------------------------------
326
Sub Footer()
4028 dpurdie 327
    NewTextFile.WriteLine("</body>")
328
    NewTextFile.WriteLine("</html>")
119 ghuddy 329
End Sub
330
'--------------------------------------------------------------------------------------------------------------------------
4028 dpurdie 331
Sub Styles()
332
  NewTextFile.WriteLine("<style type="&chr(34)&"text/css"&chr(34)&">")
333
  NewTextFile.WriteLine("body { font-family:Verdana,Arial,Helvetica,sans-serif; }")
334
  NewTextFile.WriteLine("table { border-collapse:collapse; }")
335
  NewTextFile.WriteLine("table.fixed_issues td { border-width:1; border-style:solid; border-color:black; padding:3 5 3 5; }")
336
  NewTextFile.WriteLine(".fixed_issues { border-width:1; border-style:solid; border-color:black; }")
337
  NewTextFile.WriteLine(".page_title { color:red; font-size:110%; text-align:center; }")
338
  NewTextFile.WriteLine(".highlight_text { color:blue; }")
339
  NewTextFile.WriteLine(".form_field { background-color:#EAE5D7; font:bold 70% Tahoma,sans-serif; }")
340
  NewTextFile.WriteLine(".form_item { background-color:#EAE5D7; color:red; font:bold 70% Tahoma,sans-serif; vertical-align:top; }")
341
 
342
  NewTextFile.WriteLine(".changesa { background-color:red; }")
343
  NewTextFile.WriteLine(".changesb { background-color:#FF9933; }")
344
  NewTextFile.WriteLine(".changesnone { color:#999999; }")
345
 
346
  NewTextFile.WriteLine(".texta { color:red; }")
347
  NewTextFile.WriteLine(".textb { color:#FF9933; }")
348
  NewTextFile.WriteLine(".textnone { color:#999999; }")
349
 
350
  NewTextFile.WriteLine("</style>")
119 ghuddy 351
End Sub
352
'--------------------------------------------------------------------------------------------------------------------------
353
Function GetIsDiffFilterInUseIcon()
4028 dpurdie 354
    GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
119 ghuddy 355
 
4028 dpurdie 356
    If dDiffFilter.Count > 0 Then
357
        GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
358
    End If
119 ghuddy 359
 
360
End Function
361
'--------------------------------------------------------------------------------------------------------------------------
362
Function GetIsDiffFilterChecked( nFilterId )
363
 
4028 dpurdie 364
    If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
365
        GetIsDiffFilterChecked = "checked"
366
    End If
119 ghuddy 367
 
368
End Function
369
'---------------------------------------------------------------------------------------------------------------------------
370
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
371
 
4028 dpurdie 372
    If OOrsCQ.State = 1 Then
373
        OOrsCQ.Close
374
    End If
119 ghuddy 375
 
4028 dpurdie 376
    On Error Resume Next
377
    OOrsCQ.ActiveConnection = CQ_conn
378
    OOrsCQ.Source = SSsql
379
    OOrsCQ.CursorType = 0
380
    OOrsCQ.CursorLocation = 2
381
    OOrsCQ.LockType = 3
382
    OOrsCQ.Open()
383
    Get_CQ_Issues = Err.Number
119 ghuddy 384
 
385
End Function
386
'--------------------------------------------------------------------------------------------------------------------------
387
Public Function TextToHTML ( sString )
4028 dpurdie 388
    Dim mString
119 ghuddy 389
 
4028 dpurdie 390
    If (sString = "") OR IsNull(sString) Then Exit Function
119 ghuddy 391
 
4028 dpurdie 392
    mString = Server.HTMLEncode( sString )
393
    mString = Replace(mString, VBNewLine, "<br>")
119 ghuddy 394
 
4028 dpurdie 395
    TextToHTML = mString
119 ghuddy 396
End Function
397
'--------------------------------------------------------------------------------------------------------------------------
398
 
399
Sub GetFormDetails ( nSourceRtagId, ByRef outobjDetails )
4028 dpurdie 400
    Dim rsQry, query
119 ghuddy 401
 
4028 dpurdie 402
    ' Exit if nSourceRtagId is empty
403
    If nSourceRtagId = "" Then Exit Sub
119 ghuddy 404
 
4028 dpurdie 405
    OraDatabase.Parameters.Add "SOURCE_RTAG_ID",     nSourceRtagId,        ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 406
 
4028 dpurdie 407
    query = _
408
    " SELECT pr.PROJ_NAME ||' &gt; '|| rt.RTAG_NAME    AS LOCATION, "&_
409
    "          rt.OFFICIAL, pr.PROJ_ID, rt.RTAG_ID"&_
410
    "  FROM RELEASE_TAGS rt,"&_
411
    "            PROJECTS pr"&_
412
    " WHERE rt.PROJ_ID = pr.PROJ_ID"&_
413
    "    AND rt.RTAG_ID = :SOURCE_RTAG_ID"
119 ghuddy 414
 
4028 dpurdie 415
    Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
119 ghuddy 416
 
4028 dpurdie 417
    OraDatabase.Parameters.Remove "SOURCE_RTAG_ID"
119 ghuddy 418
 
4028 dpurdie 419
    If rsQry.RecordCount > 0 Then
420
        outobjDetails.Item ("location") = rsQry("location")
421
        outobjDetails.Item ("official") = rsQry("official")
422
        outobjDetails.Item ("proj_id") = rsQry("proj_id")
423
        outobjDetails.Item ("rtag_id") = rsQry("rtag_id")
424
    Else
425
        Err.Raise 8, "Sub GetFormDetails in "& ScriptName, "Empty record set returned. nSourceRtagId="& nSourceRtagId
426
    End If
119 ghuddy 427
 
4028 dpurdie 428
    rsQry.Close
429
    Set rsQry = Nothing
119 ghuddy 430
End Sub
431
'--------------------------------------------------------------------------------------------------------------------------
432
Sub GetDiffStateIcon( nDiffState, outIcon )
433
 
4028 dpurdie 434
    Select Case nDiffState
435
        Case "U"
436
            outIcon  = LIMG_UPDATED
437
        Case "UW"
438
            outIcon  = LIMG_UPDATED
439
        Case "A"
440
            outIcon = LIMG_ADDED
441
        Case "R"
442
            outIcon = LIMG_REMOVED
443
        Case "UR"
444
            outIcon = LIMG_RIPPLED
445
        Case Else
446
            outIcon = ""
447
    End Select
119 ghuddy 448
 
449
End Sub
450
'--------------------------------------------------------------------------------------------------------------------------
123 ghuddy 451
Function Get_Record_Count ( SSsql )
4028 dpurdie 452
    Dim rsTemp
453
    Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT COUNT(*) as record_count FROM "& SSsql , cint(0))
123 ghuddy 454
 
4028 dpurdie 455
    If (NOT rsTemp.BOF) AND (NOT rsTemp.EOF) Then
456
        Get_Record_Count = rsTemp("record_count")
457
    Else
458
        Get_Record_Count = 0
459
    End If
460
    rsTemp.Close
461
    Set rsTemp = nothing
123 ghuddy 462
End Function
463
'--------------------------------------------------------------------------------------------------------------------------
464
' We need a way of discriminating between versions in the destination release that are pending, and those that are officially
465
' in the release. This function allows us to do that on the fly within the VBSCRIPT HTML generating code, indicating specifically
466
' if the given PV_ID reflects a pending additive merge.
467
Function Is_Pending_Add(NNrtag_id, NNpv_id)
4028 dpurdie 468
    If IsNull(NNrtag_id) OR IsNull(NNpv_id) Then
469
        Is_Pending_Add = 0
470
    Else
471
        Is_Pending_Add = Get_Record_Count( "PLANNED pl WHERE pl.rtag_id = " & NNrtag_id & " AND pl.pv_id = " & NNpv_id & " AND pl.operation = 'A'" )
472
    End If
123 ghuddy 473
End Function
474
'--------------------------------------------------------------------------------------------------------------------------
475
' We need a way of discriminating between versions in the destination release that are pending, and those that are officially
476
' in the release. This function allows us to do that on the fly within the VBSCRIPT HTML generating code, indicating specifically
477
' if the given PV_ID reflects a pending subtractive merge.
478
Function Is_Pending_Sub(NNrtag_id, NNpv_id)
4028 dpurdie 479
    If IsNull(NNrtag_id) OR IsNull(NNpv_id) Then
480
        Is_Pending_Sub = 0
481
    Else
482
        Is_Pending_Sub = Get_Record_Count( "PLANNED pl WHERE pl.rtag_id = " & NNrtag_id & " AND pl.pv_id = " & NNpv_id & " AND pl.operation = 'S'" )
483
    End If
123 ghuddy 484
End Function
485
 
486
'--------------------------------------------------------------------------------------------------------------------------
487
 
488
 
119 ghuddy 489
Sub MergePackages (releaseMode)
4028 dpurdie 490
    Dim aFullList, aAddPkgList, aRemovePkgList, dAddPkgList, dRemovePkgList, PvId
491
    Dim OraParameter
492
    Dim rc
119 ghuddy 493
 
4028 dpurdie 494
    ' Business Rules restricting the use of the merge feature...
495
    ' Bypass merge if the destination release is in closed or archive mode, or if user does not have
496
    ' merge permissions
497
    If releaseMode <> enumDB_RELEASE_IN_CLOSED_MODE  AND releaseMode <> enumDB_RELEASE_IN_ARCHIVE_MODE _
498
    AND (objAccessControl.IsActive("MergeRelease")) THEN
119 ghuddy 499
 
4028 dpurdie 500
        Set dAddPkgList = CreateObject("Scripting.Dictionary")
501
        Set dRemovePkgList = CreateObject("Scripting.Dictionary")
119 ghuddy 502
 
4028 dpurdie 503
        '--- Get Add Packages ---
504
        ' Get full list of "addpkg" parameter
505
        aFullList = Split ( Replace( Request("addpkg"), " ", "" ), "," )
119 ghuddy 506
 
4028 dpurdie 507
        ' Clean empty parameters
508
        For Each PvId In aFullList
509
            If PvId <> "" Then
510
                dAddPkgList.Add CStr( PvId ), Empty
511
            End If
512
        Next
119 ghuddy 513
 
4028 dpurdie 514
        aFullList = NULL
515
        aAddPkgList = dAddPkgList.Keys
119 ghuddy 516
 
4028 dpurdie 517
        '--- Get Remove Packages ---
518
        ' Get full list of "removepkg" parameter
519
        aFullList = Split ( Replace( Request("removepkg"), " ", "" ), "," )
119 ghuddy 520
 
4028 dpurdie 521
        ' Clean empty parameters
522
        For Each PvId In aFullList
523
            If PvId <> "" Then
524
                dRemovePkgList.Add CStr( PvId ), Empty
525
            End If
526
        Next
119 ghuddy 527
 
4028 dpurdie 528
        aFullList = NULL
529
        aRemovePkgList = dRemovePkgList.Keys
119 ghuddy 530
 
4028 dpurdie 531
        '-- Add package List to release --
532
        OraDatabase.Parameters.Add "PV_ID",     NULL, ORAPARM_INPUT, ORATYPE_NUMBER
533
        OraDatabase.Parameters.Add "VIEW_ID",  NULL, ORAPARM_BOTH, ORATYPE_NUMBER
534
        OraDatabase.Parameters.Add "RTAG_A",    Request("rtagA"), ORAPARM_INPUT, ORATYPE_NUMBER
535
        OraDatabase.Parameters.Add "RTAG_B",    Request("rtagB"), ORAPARM_INPUT, ORATYPE_NUMBER
536
        OraDatabase.Parameters.Add "PROJB",     objRelCollectorB.Item("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBER
537
        OraDatabase.Parameters.Add "COMMENTS", "Merging from "& objRelCollectorA.Item("location") &" to "& objRelCollectorB.Item("location"), ORAPARM_INPUT, ORATYPE_VARCHAR2
538
        OraDatabase.Parameters.Add "USER_ID",  objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
539
        OraDatabase.Parameters.Add "OPERATION",NULL, ORAPARM_INPUT, ORATYPE_CHAR
119 ghuddy 540
 
4028 dpurdie 541
        Set OraParameter = OraDatabase.Parameters
119 ghuddy 542
 
543
 
4028 dpurdie 544
        On Error Resume Next
119 ghuddy 545
 
546
 
4028 dpurdie 547
        ' Begin Database entry
548
        objEH.TryORA ( OraSession )
119 ghuddy 549
 
4028 dpurdie 550
        '-- Add Packages --
551
        OraParameter("OPERATION").Value = "A"
552
        For Each PvId In aAddPkgList
129 ghuddy 553
            OraParameter("PV_ID").Value = PvId
4028 dpurdie 554
            ' DEVI-45275, Merge into Planned (pending) table instead of release_content table.
555
            If Err.Number = 0 Then
556
                OraDatabase.ExecuteSQL _
557
                "BEGIN  "&_
558
                "  :VIEW_ID := PK_RELEASE.GET_PACKAGE_VIEW ( :PV_ID, :RTAG_A ); "&_
559
                "  PK_PLANNED.MERGE_PACKAGE ( :PV_ID, :VIEW_ID, :RTAG_B, :USER_ID, :OPERATION );  "&_
560
                "END;"
561
            End If
562
        Next
119 ghuddy 563
 
4028 dpurdie 564
        '-- Remove Packages --
565
        If Err.Number = 0 Then
566
            OraParameter("OPERATION").Value = "S"
567
            For Each PvId In aRemovePkgList
568
                OraParameter("PV_ID").Value = PvId
569
 
570
                If Err.Number = 0 Then
571
                    ' Does this PV_ID exist in the destination release's planned table?
572
                    rc = Get_Record_Count ("PLANNED pl WHERE pl.pv_id = " & PvId & " AND pl.rtag_id = " & Request("rtagB") )
573
                    If  rc > 0 Then
574
                        ' Given that merging now merges into pending, the merge page may be used to remove items that have
575
                        ' previously been merged but have not yet been committed to the destination release. For these,
576
                        ' we cannot call PK_RELEASE.GET_PACKAGE_VIEW(). We have to call PK_PLANNED.GET_PACKAGE_VIEW() instead.
577
                        OraDatabase.ExecuteSQL _
578
                        "BEGIN  "&_
579
                        "  :VIEW_ID := PK_PLANNED.GET_PACKAGE_VIEW ( :PV_ID, :RTAG_B ); "&_
580
                        "  PK_PLANNED.MERGE_PACKAGE ( :PV_ID, :VIEW_ID, :RTAG_B, :USER_ID, :OPERATION );  "&_
581
                        "END;"
582
                    Else
583
                        ' DEVI-45275, Merge into Planned (pending) table instead of release_content table.
584
                        OraDatabase.ExecuteSQL _
585
                        "BEGIN  "&_
586
                        "  :VIEW_ID := PK_RELEASE.GET_PACKAGE_VIEW ( :PV_ID, :RTAG_B ); "&_
587
                        "  PK_PLANNED.MERGE_PACKAGE ( :PV_ID, :VIEW_ID, :RTAG_B, :USER_ID, :OPERATION );  "&_
588
                        "END;"
589
                    End If
590
                End If
591
            Next
592
 
593
            '-- Log Project Merge Action
129 ghuddy 594
            If Err.Number = 0 Then
4028 dpurdie 595
                OraDatabase.ExecuteSQL _
596
                "BEGIN  LOG_PROJECT_ACTION ( :PROJB, 'merge_release', :USER_ID, :COMMENTS, :RTAG_B );  END;"
129 ghuddy 597
            End If
119 ghuddy 598
 
4028 dpurdie 599
        End If
123 ghuddy 600
 
4028 dpurdie 601
        objEH.CatchORA ( OraSession )     ' sets up LastOraFailed as appropriate
123 ghuddy 602
 
4028 dpurdie 603
        ' NOTE, The Touch_Release stored procedure does a commit itself, so we should not do it unless all the ExecuteSQL's we
604
        ' have just performed, were successful
605
        If objEH.LastOraFailed = FALSE Then
606
            '-- Force package state recalculate
607
            objEH.TryORA ( OraSession )
608
            OraDatabase.ExecuteSQL _
609
                "BEGIN  "&_
610
                "  TOUCH_RELEASE ( :RTAG_B );  "&_
611
                "END;"
612
            objEH.CatchORA ( OraSession )
613
        End If
129 ghuddy 614
 
4028 dpurdie 615
        Set OraParameter = Nothing
616
        OraDatabase.Parameters.Remove "PV_ID"
617
        OraDatabase.Parameters.Remove "VIEW_ID"
618
        OraDatabase.Parameters.Remove "RTAG_A"
619
        OraDatabase.Parameters.Remove "RTAG_B"
620
        OraDatabase.Parameters.Remove "USER_ID"
621
        OraDatabase.Parameters.Remove "PROJB"
622
        OraDatabase.Parameters.Remove "COMMENTS"
623
        OraDatabase.Parameters.Remove "OPERATION"
624
        'Response.write "<br>"& sAddPkgList &"-"& dAddPkgList.Count &"-"& UBound( aFullList )
625
    End If
119 ghuddy 626
End Sub
627
'--------------------------------------------------------------------------------------------------------------------------
628
Function AddTrailingZeros(byval n, byval count)
4028 dpurdie 629
    if len(n) >= count then
630
        AddTrailingZeros = n
631
        exit function
632
    end if
119 ghuddy 633
 
4028 dpurdie 634
    dim c, s, i
635
    c = count - len(n)
119 ghuddy 636
 
4028 dpurdie 637
    for i = 1 to c
638
        s = s & "0"
639
    next
640
    s = cstr(n) & s
119 ghuddy 641
 
4028 dpurdie 642
    AddTrailingZeros = s
119 ghuddy 643
End function
4028 dpurdie 644
'----------------------------------------------------------------------------------------------------------------------------------------
645
' Function returns the number of imported jira issues
646
' and builds a string suitable for querying the jira issues database
647
Function Get_JIRA_Package_Issues ( NNpv_id, SSsql )
648
   Dim rsTemp, sqlstr, JIRAIss, retVal
649
 
650
   JIRAIss = "'-1'"
651
   sqlstr = "SELECT iss_key FROM JIRA_ISSUES WHERE pv_id="& NNpv_id
652
 
653
   Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
654
   retVal = rsTemp.RecordCount
655
 
656
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
657
      JIRAIss = JIRAIss &",'"& rsTemp("iss_key")&"'"
658
      rsTemp.MoveNext
659
   WEnd
660
 
661
   SSsql = "SELECT I.pkey AS iss_num, I.summary, ISS.pname AS Status,  IT.pname as issue_type, PR.pname as Priority, R.PNAME as RESOLUTION"&_
662
           " FROM jiraissue I, issuestatus ISS, issuetype IT, resolution R, priority PR "&_
663
           " WHERE I.pkey IN ("& JIRAIss &") "&_
664
           " AND I.issuestatus = ISS.ID "&_
665
           " AND I.RESOLUTION = R.ID "&_
666
           " AND IT.ID = I.issuetype "&_
667
           " AND PR.ID = I.PRIORITY "
668
 
669
   rsTemp.Close()
670
   Set rsTemp = nothing
671
 
672
   Get_JIRA_Package_Issues = retVal
673
 
674
End Function
675
 
676
'----------------------------------------------------------------------------------------------------------------------------------------
677
Function  Get_JIRA_Issues ( SSsql, OOrsCQ )
678
   If OOrsCQ.State = 1 Then
679
      OOrsCQ.Close()
680
   End If
681
 
682
   On Error Resume Next
683
   OOrsCQ.ActiveConnection = JIRA_conn
684
   OOrsCQ.Source = SSsql
685
   OOrsCQ.CursorType = 0
686
   OOrsCQ.CursorLocation = 3
687
   OOrsCQ.LockType = 3
688
   OOrsCQ.Open()
689
 
690
   Get_JIRA_Issues = Err.Number
691
 
692
End Function
119 ghuddy 693
'--------------------------------------------------------------------------------------------------------------------------
694
%>
695
<%
696
'------------ RUN BEFORE PAGE RENDER ----------
697
If Request("btn") = "Exit" Then
4028 dpurdie 698
    Call OpenInWindow ( "index.asp" )
119 ghuddy 699
End If
700
 
701
' Get release details
702
Call GetFormDetails ( parRtagA, objRelCollectorA )
703
Call GetFormDetails ( parRtagB, objRelCollectorB )
704
 
705
 
706
If (Request("btn") = "Merge") Then
4028 dpurdie 707
    Call MergePackages ( objRelCollectorB.Item("official") )
119 ghuddy 708
End If
709
 
710
If Request("btn") = "Swap Compare" Then
4028 dpurdie 711
    Call OpenInWindow ( ScriptName &"?rtagA="& parRtagB &"&rtagB="& parRtagA )
119 ghuddy 712
End If
713
 
714
If Request("btn") = "Hide" Then
4028 dpurdie 715
    ' Store filter in cookie
716
    Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
119 ghuddy 717
End If
718
 
719
 
720
Call GetDiffFilterValues ( dDiffFilter )
721
'----------------------------------------------
722
%>
723
<html>
724
<head>
725
<title>Release Manager</title>
726
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
727
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
728
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
729
<link rel="stylesheet" href="images/navigation.css" type="text/css">
730
<script language="JavaScript" src="images/common.js"></script>
731
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
123 ghuddy 732
 
733
<!-- TIPS -->
734
<script language="JavaScript" src="images/tipster.js"></script>
735
<script language="JavaScript" src="images/_help_tips.js"></script>
119 ghuddy 736
<script language="JavaScript" type="text/javascript">
737
<!--
738
 
123 ghuddy 739
function RequestReleaseCombo( paramString, rowId )
740
{
4028 dpurdie 741
    var requestURL = 'RequestReleaseCombo.asp';
119 ghuddy 742
 
4028 dpurdie 743
    // Set ajax divname
744
    ajaxdivname = rowId;
119 ghuddy 745
 
4028 dpurdie 746
    //Append the name to search for to the requestURL
747
    var url = requestURL + paramString;
119 ghuddy 748
 
4028 dpurdie 749
    //Progress
750
    //alert(MM_findObj( rowId ));
119 ghuddy 751
 
4028 dpurdie 752
    //MM_findObj( rowId ).options[0] = new Option('Loading...','');
753
    //MM_findObj( rowId ).selectedIndex = 0;
754
    rowId.options[0] = new Option('Loading...','');
755
    rowId.selectedIndex = 0;
119 ghuddy 756
 
757
 
4028 dpurdie 758
    //Create the xmlHttp object to use in the request
759
    //stateChangeHandler will fire when the state has changed, i.e. data is received back
760
    // This is non-blocking (asynchronous)
761
    xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
119 ghuddy 762
 
4028 dpurdie 763
    //Send the xmlHttp get to the specified url
764
    xmlHttp_Get(xmlHttp, url);
119 ghuddy 765
}
766
 
767
 
768
function MergePackage ( pkga, pkgb, rowId )
769
{
4028 dpurdie 770
    // Set merge hidden field with new value
771
    MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
119 ghuddy 772
 
4028 dpurdie 773
    var divA = MM_findObj( 'PVA' + rowId );
774
    var divB = MM_findObj( 'PVB' + rowId );
119 ghuddy 775
 
4028 dpurdie 776
    // Set text equal
777
    divB.innerHTML = divA.innerHTML;
119 ghuddy 778
 
4028 dpurdie 779
    // Set highlight to blank
780
    divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
781
    divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
119 ghuddy 782
 
4028 dpurdie 783
     // Set Change state icon to blank
784
    MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
119 ghuddy 785
 
4028 dpurdie 786
    // Remove Merge Button
787
    MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
788
    MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
119 ghuddy 789
 
4028 dpurdie 790
    // Show undo button
791
    MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
119 ghuddy 792
}
793
 
794
 
795
function RemovePackage ( pkga, pkgb, rowId )
796
{
4028 dpurdie 797
    // Set remove hidden field with new value
798
    MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
119 ghuddy 799
 
4028 dpurdie 800
    var divA = MM_findObj( 'PVA' + rowId );
801
    var divB = MM_findObj( 'PVB' + rowId );
119 ghuddy 802
 
4028 dpurdie 803
    // Set text equal
804
    divB.style.textDecoration = 'line-through';
119 ghuddy 805
 
4028 dpurdie 806
    // Set highlight to blank
807
    if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
808
    {
809
        divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
810
    }
811
    divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
119 ghuddy 812
 
4028 dpurdie 813
     // Set Change state icon to blank
814
    MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
119 ghuddy 815
 
4028 dpurdie 816
    // Remove Merge Button
817
    MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
818
    MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
119 ghuddy 819
 
4028 dpurdie 820
    // Show undo button
821
    MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
119 ghuddy 822
}
823
 
824
 
825
 
826
function UndoPackage ( rowId )
827
{
4028 dpurdie 828
    // Set merge/remove hidden field with new value
829
    MM_findObj( 'ADDPKG_' + rowId ).value = '';
830
    MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
119 ghuddy 831
 
4028 dpurdie 832
    var divA = MM_findObj( 'PVA' + rowId );
833
    var divB = MM_findObj( 'PVB' + rowId );
119 ghuddy 834
 
4028 dpurdie 835
    // Set text equal
836
    divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
837
    divB.style.textDecoration = 'none';
119 ghuddy 838
 
839
 
4028 dpurdie 840
    // Set highlight to blank
841
    divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
842
    divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
119 ghuddy 843
 
4028 dpurdie 844
     // Set Change state icon to blank
845
    MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
119 ghuddy 846
 
4028 dpurdie 847
    // Remove Merge Button
848
    var cht = MM_findObj( 'CHANGETYPE_' + rowId );
119 ghuddy 849
 
4028 dpurdie 850
    if (cht.value == "R")
851
    {
852
        MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
853
    }
854
    else if ( (cht.value == "A") || (cht.value == "") )
855
    {
856
        MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
857
    }
858
    else
859
    {
860
        MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
861
        MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
862
    }
119 ghuddy 863
 
4028 dpurdie 864
    // Show undo button
865
    MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
119 ghuddy 866
}
867
 
868
 
869
function MergeAll()
870
{
4028 dpurdie 871
    var elem
119 ghuddy 872
 
4028 dpurdie 873
    if (document.all)
874
    {
875
        // Run this for IE
876
        elem = document.all;
877
    } else {
878
        // Run this for other browsers
879
        elem = document.getElementsByTagName('div');
880
    }
119 ghuddy 881
 
4028 dpurdie 882
    for (i in elem)
883
    {
884
        if (elem[i].id)
885
        {
886
            if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
887
            if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
888
        }
889
    }
119 ghuddy 890
}
891
 
892
//-->
893
</script>
894
 
895
</head>
123 ghuddy 896
<!-- TIPS LAYERS -------------------------------------->
897
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
119 ghuddy 898
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
899
<form name="FormName" method="post" action="<%=ScriptName%>">
4028 dpurdie 900
    <!-- HEADER -->
901
    <!--#include file="_header.asp"-->
902
    <!-- BODY ---->
903
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
904
        <tr>
905
            <td width="20%">
906
            <td width="60%">
907
            <td width="20%">
908
        </tr>
909
        <tr>
910
            <td background="images/bg_home_orange.gif" valign="top">
911
                <!-- SELECT RELEASE A ---------------------------------------------->
912
                <br>
913
                <table width="100%"  border="0" cellspacing="10" cellpadding="0">
914
                    <tr>
915
                        <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select Release A<hr size="1px" color="Olive" noshade></td>
916
                    </tr>
917
                    <tr>
918
                        <td align="left">
919
                            <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
920
                                <option value="">-- Select Project --</option>
921
                                <%
922
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorA.Item("proj_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 923
 
4028 dpurdie 924
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
119 ghuddy 925
 
4028 dpurdie 926
                                OraDatabase.Parameters.Remove "PROJ_ID"
119 ghuddy 927
 
4028 dpurdie 928
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
929
                                    <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
930
                                    <%rsQry.MoveNext
931
                                WEnd
119 ghuddy 932
 
4028 dpurdie 933
                                rsQry.Close
934
                                Set rsQry = Nothing
935
                                %>
936
                            </select>
937
                        </td>
938
                    </tr>
939
                    <tr>
940
                        <td align="left">
941
                            <select name="rtagA" id="rtagA" class="form_item">
942
                                <%
943
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorA.Item("proj_id"),    ORAPARM_INPUT,  ORATYPE_NUMBER
944
                                OraDatabase.Parameters.Add "RTAG_ID",     objRelCollectorA.Item("rtag_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 945
 
4028 dpurdie 946
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
119 ghuddy 947
 
4028 dpurdie 948
                                OraDatabase.Parameters.Remove "PROJ_ID"
949
                                OraDatabase.Parameters.Remove "RTAG_ID"
119 ghuddy 950
 
4028 dpurdie 951
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
952
                                        <option value="<%=rsQry("rtag_id")%>" <%=rsQry("selected")%>><%=rsQry("rtag_name")%></option>
953
                                    <%rsQry.MoveNext
954
                                WEnd
119 ghuddy 955
 
4028 dpurdie 956
                                rsQry.Close
957
                                Set rsQry = Nothing
958
                                %>
959
                            </select>
960
                        </td>
961
                    </tr>
962
                    <%If (parRtagA <> "") Then%>
963
                        <tr>
964
                            <td align="left"><a href="dependencies.asp?rtag_id=<%=parRtagA%>" class="body_txt_drk">Go To Release A &raquo;</a></td>
965
                        </tr>
966
                    <%End If%>
967
                </table>
119 ghuddy 968
 
4028 dpurdie 969
                <!-- SELECT RELEASE A END ---------------------------------------------->
970
            </td>
119 ghuddy 971
 
4028 dpurdie 972
            <td rowspan="2" valign="top" background="images/bg_lght_gray.gif" align="center">
973
                <!-- DIFF -------------------------------------------------------->
974
                <br>
975
                <table width="100%" border="0" cellspacing="10" cellpadding="0">
976
                    <tr>
977
                        <td>
978
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
979
                                <tr>
980
                                    <td width="1%"></td>
981
                                    <td width="100%" align="left" class="form_ttl">DIFF / MERGE RELEASE
982
                                        <%If genReport Then%>
983
                                        &nbsp;[Generating Report]
984
                                        <%End If%>
985
                                        </td>
986
                                    <td width="1%"></td>
987
                                </tr>
988
                                <tr>
989
                                    <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
990
                                    <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp;</td>
991
                                    <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
992
                                </tr>
993
                                <tr>
994
                                    <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
995
                                    <td bgcolor="#FFFFFF" valign="top" class="form_item">
996
                                        <table width="100%"  border="0" cellspacing="0" cellpadding="5">
997
                                            <tr>
998
                                                <td width="100%" bgcolor="#DAD7C8">
999
                                                    <input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
1000
                                                    <input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
1001
                                                    <span class="body_txt">
1002
                                                        <input name="btn" type="submit" class="form_btn" value="Mail Me Report">
1003
                                                        <% '<input name="btn" type="submit" class="form_btn" value="Show Me Report"> %>
1004
                                                    </span>
1005
                                                </td>
1006
                                                <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
1007
                                                    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
1008
                                                        <tr>
1009
                                                            <td>
1010
                                                                <%If (objRelCollectorB.Item("official") <> "Y" AND objRelCollectorB.Item("official") <> "C" ) AND (objAccessControl.IsActive("MergeRelease")) Then%>
1011
                                                                    <input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;" <%If (parRtagA = "") OR (parRtagB = "")Then%>disabled<%End If%>>
1012
                                                                <%End If%>
1013
                                                            </td>
1014
                                                            <td>
1015
                                                                <%If (objRelCollectorB.Item("official") = "C" ) AND (objAccessControl.IsActive("MergeReleaseForCCB")) Then%>
1016
                                                                    <input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;" <%If (parRtagA = "") OR (parRtagB = "")Then%>disabled<%End If%>>
1017
                                                                <%End If%>
1018
                                                            </td>
1019
                                                            <td>
1020
                                                                <input type="submit" name="btn" value="Exit" class="form_btn_comp">
1021
                                                            </td>
1022
                                                        </tr>
1023
                                                    </table>
1024
                                                </td>
1025
                                            </tr>
1026
                                            <tr>
1027
                                                <td>
1028
                                                    <%If (parRtagA <> "") AND (parRtagB <> "")Then%>
1029
                                                        <!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->
1030
                                                        <fieldset style="width:150px;">
1031
                                                            <legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>
1032
                                                            <div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
1033
                                                                <br>
1034
                                                                <table width="100%"  border="0" cellspacing="1" cellpadding="3">
1035
                                                                    <tr>
1036
                                                                        <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_NUM_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_UPDATED)%>></td>
1037
                                                                        <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
1038
                                                                    </tr>
1039
                                                                    <tr>
1040
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_NEW)%>></td>
1041
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
1042
                                                                    </tr>
1043
                                                                    <tr>
1044
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_REMOVED)%>></td>
1045
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
1046
                                                                    </tr>
1047
                                                                    <tr>
1048
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_RIPPLE%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_RIPPLE)%>></td>
1049
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_RIPPLED%>Rippled</td>
1050
                                                                    </tr>
1051
                                                                    <tr>
1052
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_NO_CHANGE%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_NO_CHANGE)%>></td>
1053
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field">Unchanged</td>
1054
                                                                    </tr>
1055
                                                                    <tr>
1056
                                                                        <td background="images/bg_action_norm.gif">&nbsp;</td>
1057
                                                                        <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
1058
                                                                    </tr>
1059
                                                                </table>
1060
                                                            </div>
1061
                                                        </fieldset>
1062
                                                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
1063
                                                    <%End If%>
1064
                                                </td>
1065
                                                <td></td>
1066
                                            </tr>
1067
                                        </table>
119 ghuddy 1068
 
4028 dpurdie 1069
                                        <%
1070
                                        ' Successfull Merge
1071
                                        If (Request("btn") = "Merge") Then
1072
                                            Call Messenger ( "Merge has completed successfully.", 3, "100%" )
1073
                                        End If
119 ghuddy 1074
 
4028 dpurdie 1075
                                        Set FSO=Server.CreateObject("Scripting.FileSystemObject")
1076
                                        Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html"), true)
119 ghuddy 1077
 
4028 dpurdie 1078
                                        Call Header()
119 ghuddy 1079
 
4028 dpurdie 1080
                                        If (parRtagA <> "") AND (parRtagB <> "")Then%>
1081
                                            <table width="100%"  border="0" cellspacing="1" cellpadding="0">
1082
                                                <tr>
1083
                                                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
1084
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1085
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
1086
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1087
                                                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
1088
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1089
                                                </tr>
1090
                                                <%
1091
                                                OraDatabase.Parameters.Add "RTAG_A",     parRtagA,    ORAPARM_INPUT, ORATYPE_NUMBER
1092
                                                OraDatabase.Parameters.Add "RTAG_B",     parRtagB,    ORAPARM_INPUT, ORATYPE_NUMBER
1093
                                                OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_NUM_DIFF_NO_CHANGE), ORAPARM_INPUT, ORATYPE_VARCHAR2
1094
                                                OraDatabase.Parameters.Add "ADDED",      GetIsDiffFilterChecked(enumDB_NUM_DIFF_NEW),         ORAPARM_INPUT, ORATYPE_VARCHAR2
1095
                                                OraDatabase.Parameters.Add "UPDATED",    GetIsDiffFilterChecked(enumDB_NUM_DIFF_UPDATED),    ORAPARM_INPUT, ORATYPE_VARCHAR2
1096
                                                OraDatabase.Parameters.Add "REMOVED",    GetIsDiffFilterChecked(enumDB_NUM_DIFF_REMOVED),    ORAPARM_INPUT, ORATYPE_VARCHAR2
119 ghuddy 1097
 
4028 dpurdie 1098
                                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleaseDiff.sql"), cint(0))
119 ghuddy 1099
 
4028 dpurdie 1100
                                                OraDatabase.Parameters.Remove "RTAG_A"
1101
                                                OraDatabase.Parameters.Remove "RTAG_B"
1102
                                                OraDatabase.Parameters.Remove "NO_CHANGE"
1103
                                                OraDatabase.Parameters.Remove "ADDED"
1104
                                                OraDatabase.Parameters.Remove "UPDATED"
1105
                                                OraDatabase.Parameters.Remove "REMOVED"
119 ghuddy 1106
 
4028 dpurdie 1107
                                                Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT RT.RTAG_NAME, PRJ.PROJ_NAME FROM RELEASE_TAGS RT, PROJECTS PRJ WHERE RTAG_ID="& parRtagA &" AND RT.PROJ_ID=PRJ.PROJ_ID", cint(0))
1108
                                                Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT RT.RTAG_NAME, PRJ.PROJ_NAME FROM RELEASE_TAGS RT, PROJECTS PRJ WHERE RTAG_ID="& parRtagB &" AND RT.PROJ_ID=PRJ.PROJ_ID", cint(0))
119 ghuddy 1109
 
4028 dpurdie 1110
                                                Call Javascript()
1111
                                                Call Styles()
119 ghuddy 1112
 
4028 dpurdie 1113
                                                NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("proj_name")&" "&rsQryA("rtag_name")&" and "&rsQryB("proj_name")&" "&rsQryB("rtag_name")&"</title>")
1114
                                                NewTextFile.WriteLine("<div class=""page_title"">Difference Report Between "&rsQryA("proj_name")&" "&rsQryA("rtag_name")&" and "&rsQryB("proj_name")&" "&rsQryB("rtag_name")&"</div><br>")
1115
                                                NewTextFile.WriteLine("<b>Key:</b><br><blockquote>")
1116
                                                NewTextFile.WriteLine("<span class=changesa><b>SOURCE CODE CHANGES</b></span><span class=texta> Indicates Changes to a Package in "& rsQryA("rtag_name") &".</span><br>")
1117
                                                NewTextFile.WriteLine("<span class=changesb><b>SOURCE CODE CHANGES</b></span><span class=textb> Indicates Changes to a Package in "& rsQryB("rtag_name") &".</span><br>")
1118
                                                NewTextFile.WriteLine("<span class=changesnone><b>Grey Text</b></span><span class=textnone> No Source Code Changes to a Package in either Release.</span>")
1119
                                                NewTextFile.WriteLine("</blockquote>")
119 ghuddy 1120
 
4028 dpurdie 1121
                                                NewTextFile.WriteLine("<b>Toggle Sections:</b><blockquote>")
1122
                                                NewTextFile.WriteLine("<a href=""javascript:;"" onClick=""MM_toggleAll('divPkgInfo','1');"">Expand All</a>")
1123
                                                NewTextFile.WriteLine("<a href=""javascript:;"" onClick=""MM_toggleAll('divPkgInfo','');"">Collapse All</a>")
1124
                                                NewTextFile.WriteLine("</blockquote>")
119 ghuddy 1125
 
4028 dpurdie 1126
                                                Dim currView_id
1127
                                                currView_id = -1
119 ghuddy 1128
 
4028 dpurdie 1129
                                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
1130
                                                    errormsg = false
1131
                                                    rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
119 ghuddy 1132
 
4028 dpurdie 1133
                                                    btnMerge = LIMG_MERGE
1134
                                                    btnRemove = LIMG_REMOVE
1135
                                                    colorA = LCOLOR_NOT_CHANGED
1136
                                                    colorB = LCOLOR_NOT_CHANGED
119 ghuddy 1137
 
4028 dpurdie 1138
                                                    changeType = rsQry("change_type")
119 ghuddy 1139
 
4028 dpurdie 1140
                                                    Select Case changeType
1141
                                                        Case "U"
1142
                                                            colorA = LCOLOR_CHANGED
1143
                                                            colorB = LCOLOR_CHANGED
1144
                                                        Case "UW"
1145
                                                            colorA = LCOLOR_CHANGED
1146
                                                            colorB = LCOLOR_CHANGED
1147
                                                            btnMerge = LIMG_MERGE_WARN
1148
                                                        Case "UR"
1149
                                                            colorA = LCOLOR_RIPPLED
1150
                                                            colorB = LCOLOR_RIPPLED
1151
                                                        Case "A"
1152
                                                            colorA = LCOLOR_BLANK
1153
                                                        Case "R"
1154
                                                            colorB = LCOLOR_BLANK
1155
                                                    End Select
119 ghuddy 1156
 
4028 dpurdie 1157
                                                    Call GetDiffStateIcon ( changeType, ChangeTypeIcon )
119 ghuddy 1158
 
4028 dpurdie 1159
                                                    If changeType = "U" OR changeType = "UW" OR changeType = "UR" Then
1160
                                                        Dim MajorA, MajorB, MinorA, MinorB, PatchA, PatchB, BuildA, BuildB, pos, pkgVersionA, pkgVersionB, majMinA, majMinB
1161
                                                        MajorA = NULL
1162
                                                        MajorB = NULL
1163
                                                        MinorA = NULL
1164
                                                        MinorB = NULL
119 ghuddy 1165
 
4028 dpurdie 1166
                                                        pkgVersionA = rsQry("pkg_version_a")
1167
                                                        pkgVersionB = rsQry("pkg_version_b")
119 ghuddy 1168
 
4028 dpurdie 1169
                                                        PatchA = rsQry("patch_number_a")
1170
                                                        PatchB = rsQry("patch_number_b")
1171
                                                        BuildA = rsQry("build_number_a")
1172
                                                        BuildB = rsQry("build_number_b")
119 ghuddy 1173
 
1174
 
4028 dpurdie 1175
                                                        ' Find the first occurence of the dot in package version A
1176
                                                        pos = InStr(pkgVersionA, ".")
1177
                                                        If pos <> 0 Then
1178
                                                            ' Extract the Major Version for A
1179
                                                            MajorA = Mid(pkgVersionA, 1, pos - 1)
1180
                                                            ' Delete the Major Version Value from the string to get the minor and patch version
1181
                                                            pkgVersionA = Mid(pkgVersionA, pos + 1, Len(pkgVersionA))
1182
                                                            ' Find the second occurence of the dot in package version A
1183
                                                            pos = InStr(pkgVersionA, ".")
1184
                                                            ' Extract the Minor Version for A
1185
                                                            If pos <> 0 Then
1186
                                                                MinorA = Mid(pkgVersionA, 1, pos - 1)
1187
                                                            End If
1188
                                                        End If
119 ghuddy 1189
 
4028 dpurdie 1190
                                                        ' Find the first occurence of the dot in package version B
1191
                                                        pos = InStr(pkgVersionB, ".")
1192
                                                        If pos <> 0 Then
1193
                                                            ' Extract the Major Version for B
1194
                                                            MajorB = Mid(pkgVersionB, 1, pos - 1)
1195
                                                            ' Delete the Major Version Value from the string to get the minor and patch version
1196
                                                            pkgVersionB = Mid(pkgVersionB, pos + 1, Len(pkgVersionB))
1197
                                                            ' Find the second occurence of the dot in package version B
1198
                                                            pos = InStr(pkgVersionB, ".")
1199
                                                            ' Extract the Minor Version for B
1200
                                                            If pos <> 0 Then
1201
                                                                MinorB = Mid(pkgVersionB, 1, pos - 1)
1202
                                                            End If
1203
                                                        End If
119 ghuddy 1204
 
4028 dpurdie 1205
                                                        If MajorA = MajorB Then
1206
                                                            If MinorA = MinorB Then
1207
                                                                If IsNumeric(PatchA) AND IsNumeric(PatchB) Then
1208
                                                                    If CInt(PatchB) > CInt(PatchA) Then
1209
                                                                        btnMerge = LIMG_MERGE_WARN
1210
                                                                    Else
1211
                                                                        btnMerge = LIMG_MERGE
1212
                                                                    End If
1213
                                                                End If
1214
                                                            Else
1215
                                                                If IsNumeric(MinorA) AND IsNumeric(MinorB) Then
1216
                                                                    If CInt(MinorB) > CInt(MinorA) Then
1217
                                                                        btnMerge = LIMG_MERGE_WARN
1218
                                                                    Else
1219
                                                                        btnMerge = LIMG_MERGE
1220
                                                                    End If
1221
                                                                End If
1222
                                                            End If
1223
                                                        Else
1224
                                                            If IsNumeric(MajorA) AND IsNumeric(MajorB) Then
1225
                                                                If     CInt(MajorB) > CInt(MajorA) Then
1226
                                                                    btnMerge = LIMG_MERGE_WARN
1227
                                                                Else
1228
                                                                    btnMerge = LIMG_MERGE
1229
                                                                End If
1230
                                                            End If
1231
                                                        End If
1232
                                                    End If
119 ghuddy 1233
 
4028 dpurdie 1234
                                                    ' -------- FILTERS RIPPLE BUILDS WHEN CHECKED -----------------
1235
                                                    If NOT (GetIsDiffFilterChecked(enumDB_NUM_DIFF_RIPPLE) = "checked" AND changeType = "UR") THEN
119 ghuddy 1236
 
4028 dpurdie 1237
                                                        ' -------- GROUP BY BASE VIEW  -----------------
1238
                                                        If CDbl(currView_id) <> CDbl(rsQry("view_id")) Then%>
1239
                                                            <tr>
1240
                                                                <td valign="top" nowrap class="form_ttl"><b><%=rsQry("view_name")%></b></td>
1241
                                                                <td class="form_ttl">&nbsp;</td>
1242
                                                                <td class="form_ttl">&nbsp;</td>
1243
                                                                <td class="form_ttl">&nbsp;</td>
1244
                                                                <td class="form_ttl">&nbsp;</td>
1245
                                                                <td class="form_ttl">&nbsp;</td>
1246
                                                            </tr>
1247
                                                            <%
1248
                                                            currView_id = CDbl(rsQry("view_id"))
1249
                                                        End If
1250
                                                        ' -------- END GROUP ------------------------
1251
                                                        %>
1252
                                                        <%
1253
                                                        'Determine if we are dealing with a PV_ID that we have already encountered and displayed as a pending addition
1254
                                                        'If we are, we do not need to display anything more about it, so skip the row.
1255
                                                        ' NOTE. the result set is sorted by change type (see releasediff.sql) such that if there are multiple entries
1256
                                                        '         for the same PV_ID, they are sorted in the following order: unchanged, additions, removals, updates.
1257
                                                        '         This is important to the row skip filtering carried out below.
1258
                                                        Dim skipRow
1259
                                                        If rsQry("pv_id_a") Then
1260
                                                            skipRow = pendingAdditions.Exists(CStr(rsQry("pv_id_a")))
1261
                                                        Else
1262
                                                            skipRow = FALSE
1263
                                                        End If
1264
                                                        %>
1265
                                                        <%If NOT skipRow Then%>
1266
                                                            <tr>
1267
                                                                <td class="body_row" nowrap>
1268
                                                                    <DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1269
                                                                        <%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1270
                                                                    </DIV>
1271
                                                                    <input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1272
                                                                </td>
1273
                                                                <td bgcolor="#F5F5F5">
1274
                                                                    <%If objRelCollectorB.Item("official") <> "Y" Then%>
1275
                                                                        <DIV id="IMGMERGE<%=rowId%>" <%If (changeType = "A")  OR IsNull( changeType ) Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="MergePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnMerge%></a></DIV>
1276
                                                                    <%End If%>
1277
                                                                </td>
1278
                                                                <td bgcolor="#E4E9EC">
1279
                                                                    <DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV>
1280
                                                                    <input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=changeType%>">
1281
                                                                </td>
1282
                                                                <td bgcolor="#F5F5F5">
1283
                                                                    <%If objRelCollectorB.Item("official") <> "Y" Then%>
1284
                                                                        <DIV id="IMGREMOVE<%=rowId%>" <%If changeType = "R" Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="RemovePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnRemove%></a></DIV>
1285
                                                                    <%End If%>
1286
                                                                </td>
1287
                                                                <td class="body_row" nowrap>
1288
                                                                    <DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1289
                                                                        <%If IsNull(rsQry("pv_id_b")) Then %>
1290
                                                                            <%If Is_Pending_Sub(Request("rtagB"), rsQry("pv_id_a")) Then%>
1291
                                                                                (removal pending<%=Quick_Help("RemovalPending")%>)
1292
                                                                            <%End If %>
1293
                                                                        <%Else%>
1294
                                                                            <%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1295
                                                                            <%If Is_Pending_Add(Request("rtagB"), rsQry("pv_id_b")) Then%>
1296
                                                                                (addition pending<%=Quick_Help("AdditionPending")%>)
1297
                                                                                <% 'Add this pending addition to the dictionary so that we can filter out REMOVED entries
1298
                                                                                    'with identical PV_ID's that we might encounter further on in the result set
1299
                                                                                If NOT pendingAdditions.Exists(rsQry("pv_id_b")) Then
1300
                                                                                    pendingAdditions.Add CStr(rsQry("pv_id_b")), CStr(rsQry("pkg_version_b"))
1301
                                                                                End If%>
1302
                                                                            <%ElseIf Is_Pending_Sub(Request("rtagB"), rsQry("pv_id_b")) Then%>
1303
                                                                                (removal pending<%=Quick_Help("RemovalPending")%>)
1304
                                                                            <%End If %>
1305
                                                                        <%End If %>
1306
                                                                    </DIV>
1307
                                                                    <input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1308
                                                                    <input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1309
                                                                    <input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
1310
                                                                    <input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
1311
                                                                </td>
1312
                                                                <td bgcolor="#F5F5F5">
1313
                                                                    <DIV id="IMGUNDO<%=rowId%>" style="display:none;" >
1314
                                                                        <a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a>
1315
                                                                    </DIV>
1316
                                                                </td>
1317
                                                            </tr>
1318
                                                        <%End If %>
119 ghuddy 1319
 
4028 dpurdie 1320
                                                        <%
1321
                                                        If genReport AND NOT skipRow  Then
1322
                                                            If rsQry("pv_id_a") Then
1323
                                                                Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0))
1324
                                                            End If
119 ghuddy 1325
 
4028 dpurdie 1326
                                                            If rsQry("pv_id_b") Then
1327
                                                                Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0))
1328
                                                            End If
119 ghuddy 1329
 
4028 dpurdie 1330
                                                            pkgA = rsQry("pkg_name_a")
1331
                                                            pkgB = rsQry("pkg_name_b")
119 ghuddy 1332
 
4028 dpurdie 1333
                                                            If pkgA <> "" then
1334
                                                                pkgname = pkgA
1335
                                                            Else
1336
                                                                pkgname = pkgB
1337
                                                            End If
119 ghuddy 1338
 
4028 dpurdie 1339
                                                            If changeType = "U" OR  changeType = "UW" Then
1340
                                                                ChangeASource = false
1341
                                                                ChangeAUpdate = false
1342
                                                                ChangeBSource = false
1343
                                                                ChangeBUpdate = false
119 ghuddy 1344
 
4028 dpurdie 1345
                                                                'NewTextFile.WriteLine("<br><b><font face="&chr(34)&"arial"&chr(34)&">"&pkgname&"</font></b>")
1346
                                                                NewTextFile.Write("<a href=""javascript:;"" class=""body_scol"" onClick=""toggleSPAN('"& rowId &"');"">"& pkgname &"</a>")
1347
                                                                NewTextFile.WriteLine("<DIV class=divPkgInfo id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")
1348
                                                                NewTextFile.Write(rsQryA("rtag_name")&" uses: "&rsQry("pkg_version_a")&" (")
1349
                                                                Call Release(rsQry("pv_id_a"))
1350
                                                                NewTextFile.WriteLine(")<br>")
1351
                                                                NewTextFile.Write(rsQryB("rtag_name")&" uses: "&rsQry("pkg_version_b")&" (")
1352
                                                                Call Release(rsQry("pv_id_b"))
1353
                                                                NewTextFile.WriteLine(")<br>")
119 ghuddy 1354
 
4028 dpurdie 1355
                                                                a = rsQry("pv_id_a")
1356
                                                                b = rsQry("pv_id_b")
1357
                                                                c = rsQry("pv_id_a")
1358
                                                                d = rsQry("pv_id_b")
119 ghuddy 1359
 
4028 dpurdie 1360
                                                                Set pvCollectionA = CreateObject("Scripting.Dictionary")
1361
                                                                Set pvCollectionB = CreateObject("Scripting.Dictionary")
1362
                                                                On Error Resume Next
1363
                                                                While CLng(a) <> CLng(b) and NOT errormsg
119 ghuddy 1364
 
4028 dpurdie 1365
                                                                    'NewTextFile.WriteLine("A: "&a)
1366
                                                                    'NewTextFile.WriteLine("B: "&b)
1367
                                                                    pvCollectionA.Add CStr(a), Empty
1368
                                                                    pvCollectionB.Add CStr(b), Empty
1369
                                                                    If CLng(a) > CLng(b) Then
1370
                                                                        'NewTextFile.WriteLine("TestA")
1371
                                                                        Call LastPvIdA(a)
1372
                                                                    ElseIf CLng(b) > CLng(a) Then
1373
                                                                        'NewTextFile.WriteLine("TestB")
1374
                                                                        Call LastPvIdB(b)
1375
                                                                    End If
1376
                                                                Wend
119 ghuddy 1377
 
4028 dpurdie 1378
                                                                Set pvCollectionA = Nothing
1379
                                                                Set pvCollectionB = Nothing
119 ghuddy 1380
 
4028 dpurdie 1381
                                                                Call pkg_Version(a)
1382
                                                                NewTextFile.Write("Common PARENT package version: "&pkgversion&" (")
1383
                                                                Call Release(a)
1384
                                                                NewTextFile.WriteLine(")<br><br>")
1385
                                                                NewTextFile.WriteLine()
1386
                                                                NewTextFile.WriteLine("<b>"&rsQryA("rtag_name")&"</b>")
119 ghuddy 1387
 
4028 dpurdie 1388
                                                                If pkgversion <> rsQry("pkg_version_a") Then
1389
                                                                    NewTextFile.WriteLine("<blockquote><b><i>Versions between "& pkgversion &" and "& rsQry("pkg_version_a")&"</i></b></blockquote>")
119 ghuddy 1390
 
4028 dpurdie 1391
                                                                    If errormsg Then
1392
                                                                        NewTextFile.WriteLine("Error determining root!<br>")
1393
                                                                        NewTextFile.WriteLine()
1394
                                                                    End If
119 ghuddy 1395
 
4028 dpurdie 1396
                                                                    source_change = false
119 ghuddy 1397
 
4028 dpurdie 1398
                                                                    While CLng(a) <> CLng(c) and NOT errormsg
1399
                                                                        Call Comments(c)
1400
                                                                        If scFlag = TRUE Then
1401
                                                                            Call GetFixedIssues(c)
1402
                                                                        End If
1403
                                                                        Call LastPvIdAa(c)
1404
                                                                        NewTextFile.WriteLine()
1405
                                                                    Wend
119 ghuddy 1406
 
4028 dpurdie 1407
                                                                    If source_change = false Then
1408
                                                                        NewTextFile.WriteLine("<blockquote><b><i>No source changes to "& rsQryA("rtag_name")&". Only Rippled Builds.</i></b></blockquote><br>")
1409
                                                                        ChangeASource = true
1410
                                                                    End If
119 ghuddy 1411
 
4028 dpurdie 1412
                                                                    Call pkg_Version(b)
1413
                                                                    NewTextFile.WriteLine()
1414
                                                                    NewTextFile.WriteLine()
119 ghuddy 1415
 
4028 dpurdie 1416
                                                                ElseIf pkgversion = rsQry("pkg_version_a") Then
1417
                                                                    NewTextFile.WriteLine("<blockquote><b><i>No updates to "& rsQryA("rtag_name")&"</i></b></blockquote><br>")
1418
                                                                    ChangeAUpdate = true
1419
                                                                    NewTextFile.WriteLine()
1420
                                                                End If
119 ghuddy 1421
 
4028 dpurdie 1422
                                                                NewTextFile.WriteLine("<b>"&rsQryB("rtag_name")&"</b>")
119 ghuddy 1423
 
4028 dpurdie 1424
                                                                If pkgversion <> rsQry("pkg_version_b") Then
1425
                                                                    NewTextFile.WriteLine("<blockquote><b><i>Versions between "& pkgversion &" and "& rsQry("pkg_version_b")&"</i></b></blockquote>")
119 ghuddy 1426
 
4028 dpurdie 1427
                                                                    If errormsg Then
1428
                                                                        NewTextFile.WriteLine("Error determining root!<br>")
1429
                                                                        NewTextFile.WriteLine()
1430
                                                                    End If
119 ghuddy 1431
 
4028 dpurdie 1432
                                                                    source_change = false
119 ghuddy 1433
 
4028 dpurdie 1434
                                                                    While CLng(b) <> CLng(d) and NOT errormsg
1435
                                                                        Call Comments(d)
1436
                                                                        If scFlag = TRUE Then
1437
                                                                            Call GetFixedIssues(d)
1438
                                                                        End If
1439
                                                                        Call LastPvIdBb(d)
1440
                                                                        NewTextFile.WriteLine()
1441
                                                                    Wend
119 ghuddy 1442
 
4028 dpurdie 1443
                                                                    If source_change = false Then
1444
                                                                        NewTextFIle.WriteLine("<blockquote><b><i>No source changes to "& rsQryB("rtag_name")&". Only Rippled Builds.</i></b></blockquote><br>")
1445
                                                                        ChangeBSource = true
1446
                                                                    End If
119 ghuddy 1447
 
4028 dpurdie 1448
                                                                ElseIf pkgversion = rsQry("pkg_version_b") Then
1449
                                                                    NewTextFile.WriteLine("<blockquote><b><i>No updates to "& rsQryB("rtag_name")&"</i></b></blockquote><br>")
1450
                                                                    ChangeBUpdate = true
1451
                                                                    NewTextFile.WriteLine()
1452
                                                                End If
119 ghuddy 1453
 
4028 dpurdie 1454
                                                                NewTextFile.WriteLine("</DIV>")
119 ghuddy 1455
 
4028 dpurdie 1456
                                                                If ChangeASource Then
1457
                                                                    If ChangeBSource Then
1458
                                                                        NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &": .</b class=changesnone> Ripple Builds Only.</td><td width=""50%""><b>"& Ucase(rsQryB("rtag_name")) &": </b class=changesnone> Ripple Builds Only.</td>  </tr></table></blockquote>")
1459
                                                                    ElseIf ChangeBUpdate Then
1460
                                                                        NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &": </b><span class=changesnone>Ripple Builds Only.</span></td><td width=""50%""><b>"& Ucase(rsQryB("rtag_name")) &": </b><span class=changesnone> No Updates.</span></td>  </tr></table></blockquote>")
1461
                                                                    ElseIf NOT ChangeBSource AND NOT ChangeBUpdate Then
1462
                                                                        NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0""><tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &":</b> <span class=changesnone>Ripple Builds Only.</span></td>    <td width=""50%"">    <b>"& Ucase(rsQryB("rtag_name")) &":</b> <b class=changesb> SOURCE CODE CHANGES.</b></td></tr></table></blockquote>")
1463
                                                                    End If
1464
                                                                End If
119 ghuddy 1465
 
4028 dpurdie 1466
                                                                If ChangeBSource Then
1467
                                                                    If NOT ChangeAUpdate Then
1468
                                                                        If NOT ChangeASource AND NOT ChangeBUpdate Then
1469
                                                                            NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &": </b><b class=changesa> SOURCE CODE CHANGES</b>.</td>    <td width=""50%""> <b>"& Ucase(rsQryB("rtag_name")) &":</b> <span class=changesnone> Ripple Builds Only.</span></td>  </tr></table></blockquote>")
1470
                                                                        End If
1471
                                                                    End If
1472
                                                                End If
119 ghuddy 1473
 
4028 dpurdie 1474
                                                                If NOT ChangeASource Then
1475
                                                                    If NOT ChangeAUpdate Then
1476
                                                                        If NOT ChangeBSource AND NOT ChangeBUpdate Then
1477
                                                                            NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &":</b> <b class=changesa> SOURCE CODE CHANGES.</b></td><td width=""50%""><b>"& Ucase(rsQryB("rtag_name")) &":</b><b class=changesb> SOURCE CODE CHANGES.</b></td></tr></table></blockquote>")
1478
                                                                        ElseIf ChangeBUpdate Then
1479
                                                                            NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &":</b> <b class=changesa> SOURCE CODE CHANGES.</b></td> <td width=""50%""><b>"& Ucase(rsQryB("rtag_name")) &":</b><span class=changesnone> No Updates.</span></td>  </tr></table></blockquote>")
1480
                                                                        End If
1481
                                                                    ElseIf ChangeAUpdate Then
1482
                                                                        If NOT ChangeBSource AND NOT ChangeBUpdate Then
1483
                                                                            NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &":</b> <span class=changesnone>No Updates.</span></td> <td width=""50%"">  <b></font>"& Ucase(rsQryB("rtag_name")) &":</b><b class=changesb> SOURCE CODE CHANGES.</b></td></tr></table></blockquote>")
1484
                                                                        ElseIf ChangeBSource Then
1485
                                                                            NewTextFile.WriteLine("<blockquote><table width=""100%"" border=""0"">  <tr><td width=""50%""><b>"& Ucase(rsQryA("rtag_name")) &":</b> <span class=changesnone>No Updates.</span></td> <td width=""50%""> </font><b>"& Ucase(rsQryB("rtag_name")) &":</b> <span class=changesnone> Ripple Builds Only.</span></td>  </tr></table></blockquote>")
1486
                                                                        End If
1487
                                                                    End If
1488
                                                                End If
119 ghuddy 1489
 
4028 dpurdie 1490
                                                            End If  'changeType = "U" OR  changeType = "UW"
119 ghuddy 1491
 
4028 dpurdie 1492
                                                        End If  'email
119 ghuddy 1493
 
4028 dpurdie 1494
                                                    End If 'NOT (GetIsDiffFilterChecked(enumDB_NUM_DIFF_RIPPLE) = "checked" AND changeType = "UR")
119 ghuddy 1495
 
4028 dpurdie 1496
                                                    rsQry.MoveNext
1497
                                                WEnd
119 ghuddy 1498
 
4028 dpurdie 1499
                                                rsQry.Close
1500
                                                Set rsQry = Nothing
1501
                                                %>
1502
                                                <%
1503
                                                Call Footer()
1504
                                                NewTextFile.Close
1505
                                                Set NewTextFile=Nothing
1506
                                                %>
1507
                                            </table>
1508
                                            <br>
1509
                                        <%Else%>
1510
                                            <br>
1511
                                            <%
1512
                                            If (parRtagB <> "") Then
1513
                                                Call Messenger ( "Select <b>Release A</b> to compare.", 3, "100%" )
1514
                                            ElseIf (parRtagA <> "") Then
1515
                                                Call Messenger ( "Select <b>Release B</b> to compare.", 3, "100%" )
1516
                                            Else
1517
                                                Call Messenger ( "Select <b>Release A</b> and <b>Release B</b> to compare.", 3, "100%" )
1518
                                            End If
1519
                                            %>
1520
                                        <%End If%>
1521
                                    </td>
1522
                                    <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1523
                                </tr>
1524
                                <tr>
1525
                                    <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1526
                                    <td background="images/lbox_bg_blue.gif"></td>
1527
                                    <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>
1528
                                </tr>
1529
                            </table>
1530
                        </td>
1531
                    </tr>
1532
                </table>
1533
                <!-- DIFF END ---------------------------------------------------->
1534
            </td>
1535
            <td valign="top" background="images/bg_home_orange.gif">
119 ghuddy 1536
 
4028 dpurdie 1537
                <!-- SELECT RELEASE B ---------------------------------------------->
1538
                <br>
1539
                <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1540
                    <tr>
1541
                        <td align="left" class="body_col">
1542
                            <img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select Release B<hr size="1px" color="Olive" noshade>
1543
                        </td>
1544
                    </tr>
1545
                    <tr>
1546
                        <td align="left">
1547
                            <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1548
                                <option value="">-- Select Project --</option>
1549
                                <%
1550
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorB.Item("proj_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 1551
 
4028 dpurdie 1552
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
119 ghuddy 1553
 
4028 dpurdie 1554
                                OraDatabase.Parameters.Remove "PROJ_ID"
119 ghuddy 1555
 
4028 dpurdie 1556
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1557
                                    <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1558
                                    <%rsQry.MoveNext
1559
                                WEnd
119 ghuddy 1560
 
4028 dpurdie 1561
                                rsQry.Close
1562
                                Set rsQry = Nothing
1563
                                %>
1564
                            </select>
1565
                        </td>
1566
                    </tr>
1567
                    <tr>
1568
                        <td align="left">
1569
                            <select name="rtagB" id="rtagB" class="form_item">
1570
                                <%
1571
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorB.Item("proj_id"),    ORAPARM_INPUT,  ORATYPE_NUMBER
1572
                                OraDatabase.Parameters.Add "RTAG_ID",     objRelCollectorB.Item("rtag_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 1573
 
4028 dpurdie 1574
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
119 ghuddy 1575
 
4028 dpurdie 1576
                                OraDatabase.Parameters.Remove "PROJ_ID"
1577
                                OraDatabase.Parameters.Remove "RTAG_ID"
119 ghuddy 1578
 
4028 dpurdie 1579
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1580
                                        <option value="<%=rsQry("rtag_id")%>" <%=rsQry("selected")%>><%=rsQry("rtag_name")%></option>
1581
                                    <%rsQry.MoveNext
1582
                                WEnd
119 ghuddy 1583
 
4028 dpurdie 1584
                                rsQry.Close
1585
                                Set rsQry = Nothing
1586
                                %>
1587
                            </select>
1588
                        </td>
1589
                    </tr>
1590
                    <%If (parRtagB <> "") Then%>
1591
                        <tr>
1592
                            <td align="left"><a href="dependencies.asp?rtag_id=<%=parRtagB%>" class="body_txt_drk">Go To Release B &raquo;</a></td>
1593
                        </tr>
1594
                    <%End If%>
1595
                </table>
1596
                <!-- SELECT RELEASE B END ---------------------------------------------->
1597
            </td>
1598
        </tr>
1599
        <tr>
1600
            <td valign="bottom" align="center" background="images/bg_home_orange.gif">
1601
                <img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30">
1602
            </td>
1603
            <td valign="bottom" background="images/bg_home_orange.gif" align="center">
1604
                <img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30">
1605
            </td>
123 ghuddy 1606
      </tr>
4028 dpurdie 1607
    </table>
119 ghuddy 1608
</form>
1609
<!-- FOOTER -->
1610
<!--#include file="_footer.asp"-->
1611
<%
123 ghuddy 1612
If email Then
4028 dpurdie 1613
    Dim LocalPath
1614
    LocalPath = Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html")
119 ghuddy 1615
 
4028 dpurdie 1616
    Send_Email    "Release Manager Notification",_
1617
                     adminEmail, _
1618
                     objAccessControl.UserEmail,_
1619
                     "Release Comparisons from Release Manager", _
1620
                     "Your requested report...",_
1621
                     LocalPath
123 ghuddy 1622
End If
119 ghuddy 1623
%>
1624
</body>
1625
</html>
1626
<%
1627
Call Destroy_All_Objects
1628
%>