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>")
4169 dpurdie 218
                NewTextFile.WriteLine("<td nowrap class='form_item'>"&rsCQ("project")&"-"&rsCQ("iss_num")&"</td>")
4028 dpurdie 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 )
4169 dpurdie 648
   Dim rsTemp, sqlstr, JIRAIss, retVal, joiner
4028 dpurdie 649
 
4169 dpurdie 650
   JIRAIss = ""
651
   joiner = ""
652
 
4028 dpurdie 653
   sqlstr = "SELECT iss_key FROM JIRA_ISSUES WHERE pv_id="& NNpv_id
654
 
655
   Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
656
   retVal = rsTemp.RecordCount
657
 
4169 dpurdie 658
    if retVal > 0 then
4028 dpurdie 659
 
4169 dpurdie 660
       ' Convert the Jira Issue of the form (PRJ-NNNN) into parts of an SQL expression
661
       ' that looks like (PRJ = match AND NNNN = match
662
       '
663
       While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
664
          dim bits
665
          bits = Split( rsTemp("iss_key"), "-" ,2)
666
          JIRAIss = JIRAIss & joiner & "(P.pkey = '" & bits(0) & "' AND I.issuenum = " & bits(1) & ")"
667
          joiner = " OR "
668
          rsTemp.MoveNext
669
       WEnd
4028 dpurdie 670
 
4169 dpurdie 671
       ' If there is no resolution for an issue, then it will not be picked up by this query
672
       SSsql = "SELECT P.pkey AS project, I.issuenum AS iss_num, I.summary, ISS.pname AS Status,  IT.pname as issue_type, PR.pname as Priority, R.PNAME as RESOLUTION"&_
673
               " FROM jiraissue I, issuestatus ISS, issuetype IT, resolution R, priority PR, project P "&_
674
               " WHERE (" & JIRAIss & ")"&_
675
               " AND I.issuestatus = ISS.ID "&_
676
               " AND I.RESOLUTION = R.ID "&_
677
               " AND IT.ID = I.issuetype "&_
678
               " AND PR.ID = I.PRIORITY " &_
679
               " AND P.ID  = I.project"
680
 
681
   End If
4028 dpurdie 682
   rsTemp.Close()
683
   Set rsTemp = nothing
684
 
685
   Get_JIRA_Package_Issues = retVal
686
 
687
End Function
688
 
689
'----------------------------------------------------------------------------------------------------------------------------------------
690
Function  Get_JIRA_Issues ( SSsql, OOrsCQ )
691
   If OOrsCQ.State = 1 Then
692
      OOrsCQ.Close()
693
   End If
694
 
695
   On Error Resume Next
696
   OOrsCQ.ActiveConnection = JIRA_conn
697
   OOrsCQ.Source = SSsql
698
   OOrsCQ.CursorType = 0
699
   OOrsCQ.CursorLocation = 3
700
   OOrsCQ.LockType = 3
701
   OOrsCQ.Open()
702
 
703
   Get_JIRA_Issues = Err.Number
704
 
705
End Function
119 ghuddy 706
'--------------------------------------------------------------------------------------------------------------------------
707
%>
708
<%
709
'------------ RUN BEFORE PAGE RENDER ----------
710
If Request("btn") = "Exit" Then
4028 dpurdie 711
    Call OpenInWindow ( "index.asp" )
119 ghuddy 712
End If
713
 
714
' Get release details
715
Call GetFormDetails ( parRtagA, objRelCollectorA )
716
Call GetFormDetails ( parRtagB, objRelCollectorB )
717
 
718
 
719
If (Request("btn") = "Merge") Then
4028 dpurdie 720
    Call MergePackages ( objRelCollectorB.Item("official") )
119 ghuddy 721
End If
722
 
723
If Request("btn") = "Swap Compare" Then
4028 dpurdie 724
    Call OpenInWindow ( ScriptName &"?rtagA="& parRtagB &"&rtagB="& parRtagA )
119 ghuddy 725
End If
726
 
727
If Request("btn") = "Hide" Then
4028 dpurdie 728
    ' Store filter in cookie
729
    Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
119 ghuddy 730
End If
731
 
732
 
733
Call GetDiffFilterValues ( dDiffFilter )
734
'----------------------------------------------
735
%>
736
<html>
737
<head>
738
<title>Release Manager</title>
739
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
740
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
741
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
742
<link rel="stylesheet" href="images/navigation.css" type="text/css">
743
<script language="JavaScript" src="images/common.js"></script>
744
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
123 ghuddy 745
 
746
<!-- TIPS -->
747
<script language="JavaScript" src="images/tipster.js"></script>
748
<script language="JavaScript" src="images/_help_tips.js"></script>
119 ghuddy 749
<script language="JavaScript" type="text/javascript">
750
<!--
751
 
123 ghuddy 752
function RequestReleaseCombo( paramString, rowId )
753
{
4028 dpurdie 754
    var requestURL = 'RequestReleaseCombo.asp';
119 ghuddy 755
 
4028 dpurdie 756
    // Set ajax divname
757
    ajaxdivname = rowId;
119 ghuddy 758
 
4028 dpurdie 759
    //Append the name to search for to the requestURL
760
    var url = requestURL + paramString;
119 ghuddy 761
 
4028 dpurdie 762
    //Progress
763
    //alert(MM_findObj( rowId ));
119 ghuddy 764
 
4028 dpurdie 765
    //MM_findObj( rowId ).options[0] = new Option('Loading...','');
766
    //MM_findObj( rowId ).selectedIndex = 0;
767
    rowId.options[0] = new Option('Loading...','');
768
    rowId.selectedIndex = 0;
119 ghuddy 769
 
770
 
4028 dpurdie 771
    //Create the xmlHttp object to use in the request
772
    //stateChangeHandler will fire when the state has changed, i.e. data is received back
773
    // This is non-blocking (asynchronous)
774
    xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
119 ghuddy 775
 
4028 dpurdie 776
    //Send the xmlHttp get to the specified url
777
    xmlHttp_Get(xmlHttp, url);
119 ghuddy 778
}
779
 
780
 
781
function MergePackage ( pkga, pkgb, rowId )
782
{
4028 dpurdie 783
    // Set merge hidden field with new value
784
    MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
119 ghuddy 785
 
4028 dpurdie 786
    var divA = MM_findObj( 'PVA' + rowId );
787
    var divB = MM_findObj( 'PVB' + rowId );
119 ghuddy 788
 
4028 dpurdie 789
    // Set text equal
790
    divB.innerHTML = divA.innerHTML;
119 ghuddy 791
 
4028 dpurdie 792
    // Set highlight to blank
793
    divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
794
    divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
119 ghuddy 795
 
4028 dpurdie 796
     // Set Change state icon to blank
797
    MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
119 ghuddy 798
 
4028 dpurdie 799
    // Remove Merge Button
800
    MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
801
    MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
119 ghuddy 802
 
4028 dpurdie 803
    // Show undo button
804
    MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
119 ghuddy 805
}
806
 
807
 
808
function RemovePackage ( pkga, pkgb, rowId )
809
{
4028 dpurdie 810
    // Set remove hidden field with new value
811
    MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
119 ghuddy 812
 
4028 dpurdie 813
    var divA = MM_findObj( 'PVA' + rowId );
814
    var divB = MM_findObj( 'PVB' + rowId );
119 ghuddy 815
 
4028 dpurdie 816
    // Set text equal
817
    divB.style.textDecoration = 'line-through';
119 ghuddy 818
 
4028 dpurdie 819
    // Set highlight to blank
820
    if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
821
    {
822
        divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
823
    }
824
    divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
119 ghuddy 825
 
4028 dpurdie 826
     // Set Change state icon to blank
827
    MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
119 ghuddy 828
 
4028 dpurdie 829
    // Remove Merge Button
830
    MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
831
    MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
119 ghuddy 832
 
4028 dpurdie 833
    // Show undo button
834
    MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
119 ghuddy 835
}
836
 
837
 
838
 
839
function UndoPackage ( rowId )
840
{
4028 dpurdie 841
    // Set merge/remove hidden field with new value
842
    MM_findObj( 'ADDPKG_' + rowId ).value = '';
843
    MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
119 ghuddy 844
 
4028 dpurdie 845
    var divA = MM_findObj( 'PVA' + rowId );
846
    var divB = MM_findObj( 'PVB' + rowId );
119 ghuddy 847
 
4028 dpurdie 848
    // Set text equal
849
    divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
850
    divB.style.textDecoration = 'none';
119 ghuddy 851
 
852
 
4028 dpurdie 853
    // Set highlight to blank
854
    divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
855
    divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
119 ghuddy 856
 
4028 dpurdie 857
     // Set Change state icon to blank
858
    MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
119 ghuddy 859
 
4028 dpurdie 860
    // Remove Merge Button
861
    var cht = MM_findObj( 'CHANGETYPE_' + rowId );
119 ghuddy 862
 
4028 dpurdie 863
    if (cht.value == "R")
864
    {
865
        MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
866
    }
867
    else if ( (cht.value == "A") || (cht.value == "") )
868
    {
869
        MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
870
    }
871
    else
872
    {
873
        MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
874
        MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
875
    }
119 ghuddy 876
 
4028 dpurdie 877
    // Show undo button
878
    MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
119 ghuddy 879
}
880
 
881
 
882
function MergeAll()
883
{
4028 dpurdie 884
    var elem
119 ghuddy 885
 
4028 dpurdie 886
    if (document.all)
887
    {
888
        // Run this for IE
889
        elem = document.all;
890
    } else {
891
        // Run this for other browsers
892
        elem = document.getElementsByTagName('div');
893
    }
119 ghuddy 894
 
4028 dpurdie 895
    for (i in elem)
896
    {
897
        if (elem[i].id)
898
        {
899
            if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
900
            if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
901
        }
902
    }
119 ghuddy 903
}
904
 
905
//-->
906
</script>
907
 
908
</head>
123 ghuddy 909
<!-- TIPS LAYERS -------------------------------------->
910
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
119 ghuddy 911
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
912
<form name="FormName" method="post" action="<%=ScriptName%>">
4028 dpurdie 913
    <!-- HEADER -->
914
    <!--#include file="_header.asp"-->
915
    <!-- BODY ---->
916
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
917
        <tr>
918
            <td width="20%">
919
            <td width="60%">
920
            <td width="20%">
921
        </tr>
922
        <tr>
923
            <td background="images/bg_home_orange.gif" valign="top">
924
                <!-- SELECT RELEASE A ---------------------------------------------->
925
                <br>
926
                <table width="100%"  border="0" cellspacing="10" cellpadding="0">
927
                    <tr>
928
                        <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>
929
                    </tr>
930
                    <tr>
931
                        <td align="left">
932
                            <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
933
                                <option value="">-- Select Project --</option>
934
                                <%
935
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorA.Item("proj_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 936
 
4028 dpurdie 937
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
119 ghuddy 938
 
4028 dpurdie 939
                                OraDatabase.Parameters.Remove "PROJ_ID"
119 ghuddy 940
 
4028 dpurdie 941
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
942
                                    <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
943
                                    <%rsQry.MoveNext
944
                                WEnd
119 ghuddy 945
 
4028 dpurdie 946
                                rsQry.Close
947
                                Set rsQry = Nothing
948
                                %>
949
                            </select>
950
                        </td>
951
                    </tr>
952
                    <tr>
953
                        <td align="left">
954
                            <select name="rtagA" id="rtagA" class="form_item">
955
                                <%
956
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorA.Item("proj_id"),    ORAPARM_INPUT,  ORATYPE_NUMBER
957
                                OraDatabase.Parameters.Add "RTAG_ID",     objRelCollectorA.Item("rtag_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 958
 
4028 dpurdie 959
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
119 ghuddy 960
 
4028 dpurdie 961
                                OraDatabase.Parameters.Remove "PROJ_ID"
962
                                OraDatabase.Parameters.Remove "RTAG_ID"
119 ghuddy 963
 
4028 dpurdie 964
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
965
                                        <option value="<%=rsQry("rtag_id")%>" <%=rsQry("selected")%>><%=rsQry("rtag_name")%></option>
966
                                    <%rsQry.MoveNext
967
                                WEnd
119 ghuddy 968
 
4028 dpurdie 969
                                rsQry.Close
970
                                Set rsQry = Nothing
971
                                %>
972
                            </select>
973
                        </td>
974
                    </tr>
975
                    <%If (parRtagA <> "") Then%>
976
                        <tr>
977
                            <td align="left"><a href="dependencies.asp?rtag_id=<%=parRtagA%>" class="body_txt_drk">Go To Release A &raquo;</a></td>
978
                        </tr>
979
                    <%End If%>
980
                </table>
119 ghuddy 981
 
4028 dpurdie 982
                <!-- SELECT RELEASE A END ---------------------------------------------->
983
            </td>
119 ghuddy 984
 
4028 dpurdie 985
            <td rowspan="2" valign="top" background="images/bg_lght_gray.gif" align="center">
986
                <!-- DIFF -------------------------------------------------------->
987
                <br>
988
                <table width="100%" border="0" cellspacing="10" cellpadding="0">
989
                    <tr>
990
                        <td>
991
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
992
                                <tr>
993
                                    <td width="1%"></td>
994
                                    <td width="100%" align="left" class="form_ttl">DIFF / MERGE RELEASE
995
                                        <%If genReport Then%>
996
                                        &nbsp;[Generating Report]
997
                                        <%End If%>
998
                                        </td>
999
                                    <td width="1%"></td>
1000
                                </tr>
1001
                                <tr>
1002
                                    <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
1003
                                    <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp;</td>
1004
                                    <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
1005
                                </tr>
1006
                                <tr>
1007
                                    <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
1008
                                    <td bgcolor="#FFFFFF" valign="top" class="form_item">
1009
                                        <table width="100%"  border="0" cellspacing="0" cellpadding="5">
1010
                                            <tr>
1011
                                                <td width="100%" bgcolor="#DAD7C8">
1012
                                                    <input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
1013
                                                    <input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
1014
                                                    <span class="body_txt">
1015
                                                        <input name="btn" type="submit" class="form_btn" value="Mail Me Report">
1016
                                                        <% '<input name="btn" type="submit" class="form_btn" value="Show Me Report"> %>
1017
                                                    </span>
1018
                                                </td>
1019
                                                <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
1020
                                                    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
1021
                                                        <tr>
1022
                                                            <td>
1023
                                                                <%If (objRelCollectorB.Item("official") <> "Y" AND objRelCollectorB.Item("official") <> "C" ) AND (objAccessControl.IsActive("MergeRelease")) Then%>
1024
                                                                    <input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;" <%If (parRtagA = "") OR (parRtagB = "")Then%>disabled<%End If%>>
1025
                                                                <%End If%>
1026
                                                            </td>
1027
                                                            <td>
1028
                                                                <%If (objRelCollectorB.Item("official") = "C" ) AND (objAccessControl.IsActive("MergeReleaseForCCB")) Then%>
1029
                                                                    <input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;" <%If (parRtagA = "") OR (parRtagB = "")Then%>disabled<%End If%>>
1030
                                                                <%End If%>
1031
                                                            </td>
1032
                                                            <td>
1033
                                                                <input type="submit" name="btn" value="Exit" class="form_btn_comp">
1034
                                                            </td>
1035
                                                        </tr>
1036
                                                    </table>
1037
                                                </td>
1038
                                            </tr>
1039
                                            <tr>
1040
                                                <td>
1041
                                                    <%If (parRtagA <> "") AND (parRtagB <> "")Then%>
1042
                                                        <!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->
1043
                                                        <fieldset style="width:150px;">
1044
                                                            <legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>
1045
                                                            <div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
1046
                                                                <br>
1047
                                                                <table width="100%"  border="0" cellspacing="1" cellpadding="3">
1048
                                                                    <tr>
1049
                                                                        <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>
1050
                                                                        <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
1051
                                                                    </tr>
1052
                                                                    <tr>
1053
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_NEW)%>></td>
1054
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
1055
                                                                    </tr>
1056
                                                                    <tr>
1057
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_REMOVED)%>></td>
1058
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
1059
                                                                    </tr>
1060
                                                                    <tr>
1061
                                                                        <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_NUM_DIFF_RIPPLE%>" <%=GetIsDiffFilterChecked(enumDB_NUM_DIFF_RIPPLE)%>></td>
1062
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_RIPPLED%>Rippled</td>
1063
                                                                    </tr>
1064
                                                                    <tr>
1065
                                                                        <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>
1066
                                                                        <td nowrap background="images/bg_action_norm.gif" class="form_field">Unchanged</td>
1067
                                                                    </tr>
1068
                                                                    <tr>
1069
                                                                        <td background="images/bg_action_norm.gif">&nbsp;</td>
1070
                                                                        <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
1071
                                                                    </tr>
1072
                                                                </table>
1073
                                                            </div>
1074
                                                        </fieldset>
1075
                                                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
1076
                                                    <%End If%>
1077
                                                </td>
1078
                                                <td></td>
1079
                                            </tr>
1080
                                        </table>
119 ghuddy 1081
 
4028 dpurdie 1082
                                        <%
1083
                                        ' Successfull Merge
1084
                                        If (Request("btn") = "Merge") Then
1085
                                            Call Messenger ( "Merge has completed successfully.", 3, "100%" )
1086
                                        End If
119 ghuddy 1087
 
4028 dpurdie 1088
                                        Set FSO=Server.CreateObject("Scripting.FileSystemObject")
1089
                                        Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html"), true)
119 ghuddy 1090
 
4028 dpurdie 1091
                                        Call Header()
119 ghuddy 1092
 
4028 dpurdie 1093
                                        If (parRtagA <> "") AND (parRtagB <> "")Then%>
1094
                                            <table width="100%"  border="0" cellspacing="1" cellpadding="0">
1095
                                                <tr>
1096
                                                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
1097
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1098
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
1099
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1100
                                                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
1101
                                                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1102
                                                </tr>
1103
                                                <%
1104
                                                OraDatabase.Parameters.Add "RTAG_A",     parRtagA,    ORAPARM_INPUT, ORATYPE_NUMBER
1105
                                                OraDatabase.Parameters.Add "RTAG_B",     parRtagB,    ORAPARM_INPUT, ORATYPE_NUMBER
1106
                                                OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_NUM_DIFF_NO_CHANGE), ORAPARM_INPUT, ORATYPE_VARCHAR2
1107
                                                OraDatabase.Parameters.Add "ADDED",      GetIsDiffFilterChecked(enumDB_NUM_DIFF_NEW),         ORAPARM_INPUT, ORATYPE_VARCHAR2
1108
                                                OraDatabase.Parameters.Add "UPDATED",    GetIsDiffFilterChecked(enumDB_NUM_DIFF_UPDATED),    ORAPARM_INPUT, ORATYPE_VARCHAR2
1109
                                                OraDatabase.Parameters.Add "REMOVED",    GetIsDiffFilterChecked(enumDB_NUM_DIFF_REMOVED),    ORAPARM_INPUT, ORATYPE_VARCHAR2
119 ghuddy 1110
 
4028 dpurdie 1111
                                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleaseDiff.sql"), cint(0))
119 ghuddy 1112
 
4028 dpurdie 1113
                                                OraDatabase.Parameters.Remove "RTAG_A"
1114
                                                OraDatabase.Parameters.Remove "RTAG_B"
1115
                                                OraDatabase.Parameters.Remove "NO_CHANGE"
1116
                                                OraDatabase.Parameters.Remove "ADDED"
1117
                                                OraDatabase.Parameters.Remove "UPDATED"
1118
                                                OraDatabase.Parameters.Remove "REMOVED"
119 ghuddy 1119
 
4028 dpurdie 1120
                                                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))
1121
                                                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 1122
 
4028 dpurdie 1123
                                                Call Javascript()
1124
                                                Call Styles()
119 ghuddy 1125
 
4028 dpurdie 1126
                                                NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("proj_name")&" "&rsQryA("rtag_name")&" and "&rsQryB("proj_name")&" "&rsQryB("rtag_name")&"</title>")
1127
                                                NewTextFile.WriteLine("<div class=""page_title"">Difference Report Between "&rsQryA("proj_name")&" "&rsQryA("rtag_name")&" and "&rsQryB("proj_name")&" "&rsQryB("rtag_name")&"</div><br>")
1128
                                                NewTextFile.WriteLine("<b>Key:</b><br><blockquote>")
1129
                                                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>")
1130
                                                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>")
1131
                                                NewTextFile.WriteLine("<span class=changesnone><b>Grey Text</b></span><span class=textnone> No Source Code Changes to a Package in either Release.</span>")
1132
                                                NewTextFile.WriteLine("</blockquote>")
119 ghuddy 1133
 
4028 dpurdie 1134
                                                NewTextFile.WriteLine("<b>Toggle Sections:</b><blockquote>")
1135
                                                NewTextFile.WriteLine("<a href=""javascript:;"" onClick=""MM_toggleAll('divPkgInfo','1');"">Expand All</a>")
1136
                                                NewTextFile.WriteLine("<a href=""javascript:;"" onClick=""MM_toggleAll('divPkgInfo','');"">Collapse All</a>")
1137
                                                NewTextFile.WriteLine("</blockquote>")
119 ghuddy 1138
 
4028 dpurdie 1139
                                                Dim currView_id
1140
                                                currView_id = -1
119 ghuddy 1141
 
4028 dpurdie 1142
                                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
1143
                                                    errormsg = false
1144
                                                    rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
119 ghuddy 1145
 
4028 dpurdie 1146
                                                    btnMerge = LIMG_MERGE
1147
                                                    btnRemove = LIMG_REMOVE
1148
                                                    colorA = LCOLOR_NOT_CHANGED
1149
                                                    colorB = LCOLOR_NOT_CHANGED
119 ghuddy 1150
 
4028 dpurdie 1151
                                                    changeType = rsQry("change_type")
119 ghuddy 1152
 
4028 dpurdie 1153
                                                    Select Case changeType
1154
                                                        Case "U"
1155
                                                            colorA = LCOLOR_CHANGED
1156
                                                            colorB = LCOLOR_CHANGED
1157
                                                        Case "UW"
1158
                                                            colorA = LCOLOR_CHANGED
1159
                                                            colorB = LCOLOR_CHANGED
1160
                                                            btnMerge = LIMG_MERGE_WARN
1161
                                                        Case "UR"
1162
                                                            colorA = LCOLOR_RIPPLED
1163
                                                            colorB = LCOLOR_RIPPLED
1164
                                                        Case "A"
1165
                                                            colorA = LCOLOR_BLANK
1166
                                                        Case "R"
1167
                                                            colorB = LCOLOR_BLANK
1168
                                                    End Select
119 ghuddy 1169
 
4028 dpurdie 1170
                                                    Call GetDiffStateIcon ( changeType, ChangeTypeIcon )
119 ghuddy 1171
 
4028 dpurdie 1172
                                                    If changeType = "U" OR changeType = "UW" OR changeType = "UR" Then
1173
                                                        Dim MajorA, MajorB, MinorA, MinorB, PatchA, PatchB, BuildA, BuildB, pos, pkgVersionA, pkgVersionB, majMinA, majMinB
1174
                                                        MajorA = NULL
1175
                                                        MajorB = NULL
1176
                                                        MinorA = NULL
1177
                                                        MinorB = NULL
119 ghuddy 1178
 
4028 dpurdie 1179
                                                        pkgVersionA = rsQry("pkg_version_a")
1180
                                                        pkgVersionB = rsQry("pkg_version_b")
119 ghuddy 1181
 
4028 dpurdie 1182
                                                        PatchA = rsQry("patch_number_a")
1183
                                                        PatchB = rsQry("patch_number_b")
1184
                                                        BuildA = rsQry("build_number_a")
1185
                                                        BuildB = rsQry("build_number_b")
119 ghuddy 1186
 
1187
 
4028 dpurdie 1188
                                                        ' Find the first occurence of the dot in package version A
1189
                                                        pos = InStr(pkgVersionA, ".")
1190
                                                        If pos <> 0 Then
1191
                                                            ' Extract the Major Version for A
1192
                                                            MajorA = Mid(pkgVersionA, 1, pos - 1)
1193
                                                            ' Delete the Major Version Value from the string to get the minor and patch version
1194
                                                            pkgVersionA = Mid(pkgVersionA, pos + 1, Len(pkgVersionA))
1195
                                                            ' Find the second occurence of the dot in package version A
1196
                                                            pos = InStr(pkgVersionA, ".")
1197
                                                            ' Extract the Minor Version for A
1198
                                                            If pos <> 0 Then
1199
                                                                MinorA = Mid(pkgVersionA, 1, pos - 1)
1200
                                                            End If
1201
                                                        End If
119 ghuddy 1202
 
4028 dpurdie 1203
                                                        ' Find the first occurence of the dot in package version B
1204
                                                        pos = InStr(pkgVersionB, ".")
1205
                                                        If pos <> 0 Then
1206
                                                            ' Extract the Major Version for B
1207
                                                            MajorB = Mid(pkgVersionB, 1, pos - 1)
1208
                                                            ' Delete the Major Version Value from the string to get the minor and patch version
1209
                                                            pkgVersionB = Mid(pkgVersionB, pos + 1, Len(pkgVersionB))
1210
                                                            ' Find the second occurence of the dot in package version B
1211
                                                            pos = InStr(pkgVersionB, ".")
1212
                                                            ' Extract the Minor Version for B
1213
                                                            If pos <> 0 Then
1214
                                                                MinorB = Mid(pkgVersionB, 1, pos - 1)
1215
                                                            End If
1216
                                                        End If
119 ghuddy 1217
 
4028 dpurdie 1218
                                                        If MajorA = MajorB Then
1219
                                                            If MinorA = MinorB Then
1220
                                                                If IsNumeric(PatchA) AND IsNumeric(PatchB) Then
1221
                                                                    If CInt(PatchB) > CInt(PatchA) Then
1222
                                                                        btnMerge = LIMG_MERGE_WARN
1223
                                                                    Else
1224
                                                                        btnMerge = LIMG_MERGE
1225
                                                                    End If
1226
                                                                End If
1227
                                                            Else
1228
                                                                If IsNumeric(MinorA) AND IsNumeric(MinorB) Then
1229
                                                                    If CInt(MinorB) > CInt(MinorA) Then
1230
                                                                        btnMerge = LIMG_MERGE_WARN
1231
                                                                    Else
1232
                                                                        btnMerge = LIMG_MERGE
1233
                                                                    End If
1234
                                                                End If
1235
                                                            End If
1236
                                                        Else
1237
                                                            If IsNumeric(MajorA) AND IsNumeric(MajorB) Then
1238
                                                                If     CInt(MajorB) > CInt(MajorA) Then
1239
                                                                    btnMerge = LIMG_MERGE_WARN
1240
                                                                Else
1241
                                                                    btnMerge = LIMG_MERGE
1242
                                                                End If
1243
                                                            End If
1244
                                                        End If
1245
                                                    End If
119 ghuddy 1246
 
4028 dpurdie 1247
                                                    ' -------- FILTERS RIPPLE BUILDS WHEN CHECKED -----------------
1248
                                                    If NOT (GetIsDiffFilterChecked(enumDB_NUM_DIFF_RIPPLE) = "checked" AND changeType = "UR") THEN
119 ghuddy 1249
 
4028 dpurdie 1250
                                                        ' -------- GROUP BY BASE VIEW  -----------------
1251
                                                        If CDbl(currView_id) <> CDbl(rsQry("view_id")) Then%>
1252
                                                            <tr>
1253
                                                                <td valign="top" nowrap class="form_ttl"><b><%=rsQry("view_name")%></b></td>
1254
                                                                <td class="form_ttl">&nbsp;</td>
1255
                                                                <td class="form_ttl">&nbsp;</td>
1256
                                                                <td class="form_ttl">&nbsp;</td>
1257
                                                                <td class="form_ttl">&nbsp;</td>
1258
                                                                <td class="form_ttl">&nbsp;</td>
1259
                                                            </tr>
1260
                                                            <%
1261
                                                            currView_id = CDbl(rsQry("view_id"))
1262
                                                        End If
1263
                                                        ' -------- END GROUP ------------------------
1264
                                                        %>
1265
                                                        <%
1266
                                                        'Determine if we are dealing with a PV_ID that we have already encountered and displayed as a pending addition
1267
                                                        'If we are, we do not need to display anything more about it, so skip the row.
1268
                                                        ' NOTE. the result set is sorted by change type (see releasediff.sql) such that if there are multiple entries
1269
                                                        '         for the same PV_ID, they are sorted in the following order: unchanged, additions, removals, updates.
1270
                                                        '         This is important to the row skip filtering carried out below.
1271
                                                        Dim skipRow
1272
                                                        If rsQry("pv_id_a") Then
1273
                                                            skipRow = pendingAdditions.Exists(CStr(rsQry("pv_id_a")))
1274
                                                        Else
1275
                                                            skipRow = FALSE
1276
                                                        End If
1277
                                                        %>
1278
                                                        <%If NOT skipRow Then%>
1279
                                                            <tr>
1280
                                                                <td class="body_row" nowrap>
1281
                                                                    <DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1282
                                                                        <%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1283
                                                                    </DIV>
1284
                                                                    <input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1285
                                                                </td>
1286
                                                                <td bgcolor="#F5F5F5">
1287
                                                                    <%If objRelCollectorB.Item("official") <> "Y" Then%>
1288
                                                                        <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>
1289
                                                                    <%End If%>
1290
                                                                </td>
1291
                                                                <td bgcolor="#E4E9EC">
1292
                                                                    <DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV>
1293
                                                                    <input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=changeType%>">
1294
                                                                </td>
1295
                                                                <td bgcolor="#F5F5F5">
1296
                                                                    <%If objRelCollectorB.Item("official") <> "Y" Then%>
1297
                                                                        <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>
1298
                                                                    <%End If%>
1299
                                                                </td>
1300
                                                                <td class="body_row" nowrap>
1301
                                                                    <DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1302
                                                                        <%If IsNull(rsQry("pv_id_b")) Then %>
1303
                                                                            <%If Is_Pending_Sub(Request("rtagB"), rsQry("pv_id_a")) Then%>
1304
                                                                                (removal pending<%=Quick_Help("RemovalPending")%>)
1305
                                                                            <%End If %>
1306
                                                                        <%Else%>
1307
                                                                            <%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1308
                                                                            <%If Is_Pending_Add(Request("rtagB"), rsQry("pv_id_b")) Then%>
1309
                                                                                (addition pending<%=Quick_Help("AdditionPending")%>)
1310
                                                                                <% 'Add this pending addition to the dictionary so that we can filter out REMOVED entries
1311
                                                                                    'with identical PV_ID's that we might encounter further on in the result set
1312
                                                                                If NOT pendingAdditions.Exists(rsQry("pv_id_b")) Then
1313
                                                                                    pendingAdditions.Add CStr(rsQry("pv_id_b")), CStr(rsQry("pkg_version_b"))
1314
                                                                                End If%>
1315
                                                                            <%ElseIf Is_Pending_Sub(Request("rtagB"), rsQry("pv_id_b")) Then%>
1316
                                                                                (removal pending<%=Quick_Help("RemovalPending")%>)
1317
                                                                            <%End If %>
1318
                                                                        <%End If %>
1319
                                                                    </DIV>
1320
                                                                    <input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1321
                                                                    <input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1322
                                                                    <input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
1323
                                                                    <input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
1324
                                                                </td>
1325
                                                                <td bgcolor="#F5F5F5">
1326
                                                                    <DIV id="IMGUNDO<%=rowId%>" style="display:none;" >
1327
                                                                        <a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a>
1328
                                                                    </DIV>
1329
                                                                </td>
1330
                                                            </tr>
1331
                                                        <%End If %>
119 ghuddy 1332
 
4028 dpurdie 1333
                                                        <%
1334
                                                        If genReport AND NOT skipRow  Then
1335
                                                            If rsQry("pv_id_a") Then
1336
                                                                Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0))
1337
                                                            End If
119 ghuddy 1338
 
4028 dpurdie 1339
                                                            If rsQry("pv_id_b") Then
1340
                                                                Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0))
1341
                                                            End If
119 ghuddy 1342
 
4028 dpurdie 1343
                                                            pkgA = rsQry("pkg_name_a")
1344
                                                            pkgB = rsQry("pkg_name_b")
119 ghuddy 1345
 
4028 dpurdie 1346
                                                            If pkgA <> "" then
1347
                                                                pkgname = pkgA
1348
                                                            Else
1349
                                                                pkgname = pkgB
1350
                                                            End If
119 ghuddy 1351
 
4028 dpurdie 1352
                                                            If changeType = "U" OR  changeType = "UW" Then
1353
                                                                ChangeASource = false
1354
                                                                ChangeAUpdate = false
1355
                                                                ChangeBSource = false
1356
                                                                ChangeBUpdate = false
119 ghuddy 1357
 
4028 dpurdie 1358
                                                                'NewTextFile.WriteLine("<br><b><font face="&chr(34)&"arial"&chr(34)&">"&pkgname&"</font></b>")
1359
                                                                NewTextFile.Write("<a href=""javascript:;"" class=""body_scol"" onClick=""toggleSPAN('"& rowId &"');"">"& pkgname &"</a>")
1360
                                                                NewTextFile.WriteLine("<DIV class=divPkgInfo id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")
1361
                                                                NewTextFile.Write(rsQryA("rtag_name")&" uses: "&rsQry("pkg_version_a")&" (")
1362
                                                                Call Release(rsQry("pv_id_a"))
1363
                                                                NewTextFile.WriteLine(")<br>")
1364
                                                                NewTextFile.Write(rsQryB("rtag_name")&" uses: "&rsQry("pkg_version_b")&" (")
1365
                                                                Call Release(rsQry("pv_id_b"))
1366
                                                                NewTextFile.WriteLine(")<br>")
119 ghuddy 1367
 
4028 dpurdie 1368
                                                                a = rsQry("pv_id_a")
1369
                                                                b = rsQry("pv_id_b")
1370
                                                                c = rsQry("pv_id_a")
1371
                                                                d = rsQry("pv_id_b")
119 ghuddy 1372
 
4028 dpurdie 1373
                                                                Set pvCollectionA = CreateObject("Scripting.Dictionary")
1374
                                                                Set pvCollectionB = CreateObject("Scripting.Dictionary")
1375
                                                                On Error Resume Next
1376
                                                                While CLng(a) <> CLng(b) and NOT errormsg
119 ghuddy 1377
 
4028 dpurdie 1378
                                                                    'NewTextFile.WriteLine("A: "&a)
1379
                                                                    'NewTextFile.WriteLine("B: "&b)
1380
                                                                    pvCollectionA.Add CStr(a), Empty
1381
                                                                    pvCollectionB.Add CStr(b), Empty
1382
                                                                    If CLng(a) > CLng(b) Then
1383
                                                                        'NewTextFile.WriteLine("TestA")
1384
                                                                        Call LastPvIdA(a)
1385
                                                                    ElseIf CLng(b) > CLng(a) Then
1386
                                                                        'NewTextFile.WriteLine("TestB")
1387
                                                                        Call LastPvIdB(b)
1388
                                                                    End If
1389
                                                                Wend
119 ghuddy 1390
 
4028 dpurdie 1391
                                                                Set pvCollectionA = Nothing
1392
                                                                Set pvCollectionB = Nothing
119 ghuddy 1393
 
4028 dpurdie 1394
                                                                Call pkg_Version(a)
1395
                                                                NewTextFile.Write("Common PARENT package version: "&pkgversion&" (")
1396
                                                                Call Release(a)
1397
                                                                NewTextFile.WriteLine(")<br><br>")
1398
                                                                NewTextFile.WriteLine()
1399
                                                                NewTextFile.WriteLine("<b>"&rsQryA("rtag_name")&"</b>")
119 ghuddy 1400
 
4028 dpurdie 1401
                                                                If pkgversion <> rsQry("pkg_version_a") Then
1402
                                                                    NewTextFile.WriteLine("<blockquote><b><i>Versions between "& pkgversion &" and "& rsQry("pkg_version_a")&"</i></b></blockquote>")
119 ghuddy 1403
 
4028 dpurdie 1404
                                                                    If errormsg Then
1405
                                                                        NewTextFile.WriteLine("Error determining root!<br>")
1406
                                                                        NewTextFile.WriteLine()
1407
                                                                    End If
119 ghuddy 1408
 
4028 dpurdie 1409
                                                                    source_change = false
119 ghuddy 1410
 
4028 dpurdie 1411
                                                                    While CLng(a) <> CLng(c) and NOT errormsg
1412
                                                                        Call Comments(c)
1413
                                                                        If scFlag = TRUE Then
1414
                                                                            Call GetFixedIssues(c)
1415
                                                                        End If
1416
                                                                        Call LastPvIdAa(c)
1417
                                                                        NewTextFile.WriteLine()
1418
                                                                    Wend
119 ghuddy 1419
 
4028 dpurdie 1420
                                                                    If source_change = false Then
1421
                                                                        NewTextFile.WriteLine("<blockquote><b><i>No source changes to "& rsQryA("rtag_name")&". Only Rippled Builds.</i></b></blockquote><br>")
1422
                                                                        ChangeASource = true
1423
                                                                    End If
119 ghuddy 1424
 
4028 dpurdie 1425
                                                                    Call pkg_Version(b)
1426
                                                                    NewTextFile.WriteLine()
1427
                                                                    NewTextFile.WriteLine()
119 ghuddy 1428
 
4028 dpurdie 1429
                                                                ElseIf pkgversion = rsQry("pkg_version_a") Then
1430
                                                                    NewTextFile.WriteLine("<blockquote><b><i>No updates to "& rsQryA("rtag_name")&"</i></b></blockquote><br>")
1431
                                                                    ChangeAUpdate = true
1432
                                                                    NewTextFile.WriteLine()
1433
                                                                End If
119 ghuddy 1434
 
4028 dpurdie 1435
                                                                NewTextFile.WriteLine("<b>"&rsQryB("rtag_name")&"</b>")
119 ghuddy 1436
 
4028 dpurdie 1437
                                                                If pkgversion <> rsQry("pkg_version_b") Then
1438
                                                                    NewTextFile.WriteLine("<blockquote><b><i>Versions between "& pkgversion &" and "& rsQry("pkg_version_b")&"</i></b></blockquote>")
119 ghuddy 1439
 
4028 dpurdie 1440
                                                                    If errormsg Then
1441
                                                                        NewTextFile.WriteLine("Error determining root!<br>")
1442
                                                                        NewTextFile.WriteLine()
1443
                                                                    End If
119 ghuddy 1444
 
4028 dpurdie 1445
                                                                    source_change = false
119 ghuddy 1446
 
4028 dpurdie 1447
                                                                    While CLng(b) <> CLng(d) and NOT errormsg
1448
                                                                        Call Comments(d)
1449
                                                                        If scFlag = TRUE Then
1450
                                                                            Call GetFixedIssues(d)
1451
                                                                        End If
1452
                                                                        Call LastPvIdBb(d)
1453
                                                                        NewTextFile.WriteLine()
1454
                                                                    Wend
119 ghuddy 1455
 
4028 dpurdie 1456
                                                                    If source_change = false Then
1457
                                                                        NewTextFIle.WriteLine("<blockquote><b><i>No source changes to "& rsQryB("rtag_name")&". Only Rippled Builds.</i></b></blockquote><br>")
1458
                                                                        ChangeBSource = true
1459
                                                                    End If
119 ghuddy 1460
 
4028 dpurdie 1461
                                                                ElseIf pkgversion = rsQry("pkg_version_b") Then
1462
                                                                    NewTextFile.WriteLine("<blockquote><b><i>No updates to "& rsQryB("rtag_name")&"</i></b></blockquote><br>")
1463
                                                                    ChangeBUpdate = true
1464
                                                                    NewTextFile.WriteLine()
1465
                                                                End If
119 ghuddy 1466
 
4028 dpurdie 1467
                                                                NewTextFile.WriteLine("</DIV>")
119 ghuddy 1468
 
4028 dpurdie 1469
                                                                If ChangeASource Then
1470
                                                                    If ChangeBSource Then
1471
                                                                        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>")
1472
                                                                    ElseIf ChangeBUpdate Then
1473
                                                                        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>")
1474
                                                                    ElseIf NOT ChangeBSource AND NOT ChangeBUpdate Then
1475
                                                                        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>")
1476
                                                                    End If
1477
                                                                End If
119 ghuddy 1478
 
4028 dpurdie 1479
                                                                If ChangeBSource Then
1480
                                                                    If NOT ChangeAUpdate Then
1481
                                                                        If NOT ChangeASource AND NOT ChangeBUpdate Then
1482
                                                                            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>")
1483
                                                                        End If
1484
                                                                    End If
1485
                                                                End If
119 ghuddy 1486
 
4028 dpurdie 1487
                                                                If NOT ChangeASource Then
1488
                                                                    If NOT ChangeAUpdate Then
1489
                                                                        If NOT ChangeBSource AND NOT ChangeBUpdate Then
1490
                                                                            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>")
1491
                                                                        ElseIf ChangeBUpdate Then
1492
                                                                            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>")
1493
                                                                        End If
1494
                                                                    ElseIf ChangeAUpdate Then
1495
                                                                        If NOT ChangeBSource AND NOT ChangeBUpdate Then
1496
                                                                            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>")
1497
                                                                        ElseIf ChangeBSource Then
1498
                                                                            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>")
1499
                                                                        End If
1500
                                                                    End If
1501
                                                                End If
119 ghuddy 1502
 
4028 dpurdie 1503
                                                            End If  'changeType = "U" OR  changeType = "UW"
119 ghuddy 1504
 
4028 dpurdie 1505
                                                        End If  'email
119 ghuddy 1506
 
4028 dpurdie 1507
                                                    End If 'NOT (GetIsDiffFilterChecked(enumDB_NUM_DIFF_RIPPLE) = "checked" AND changeType = "UR")
119 ghuddy 1508
 
4028 dpurdie 1509
                                                    rsQry.MoveNext
1510
                                                WEnd
119 ghuddy 1511
 
4028 dpurdie 1512
                                                rsQry.Close
1513
                                                Set rsQry = Nothing
1514
                                                %>
1515
                                                <%
1516
                                                Call Footer()
1517
                                                NewTextFile.Close
1518
                                                Set NewTextFile=Nothing
1519
                                                %>
1520
                                            </table>
1521
                                            <br>
1522
                                        <%Else%>
1523
                                            <br>
1524
                                            <%
1525
                                            If (parRtagB <> "") Then
1526
                                                Call Messenger ( "Select <b>Release A</b> to compare.", 3, "100%" )
1527
                                            ElseIf (parRtagA <> "") Then
1528
                                                Call Messenger ( "Select <b>Release B</b> to compare.", 3, "100%" )
1529
                                            Else
1530
                                                Call Messenger ( "Select <b>Release A</b> and <b>Release B</b> to compare.", 3, "100%" )
1531
                                            End If
1532
                                            %>
1533
                                        <%End If%>
1534
                                    </td>
1535
                                    <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1536
                                </tr>
1537
                                <tr>
1538
                                    <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1539
                                    <td background="images/lbox_bg_blue.gif"></td>
1540
                                    <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>
1541
                                </tr>
1542
                            </table>
1543
                        </td>
1544
                    </tr>
1545
                </table>
1546
                <!-- DIFF END ---------------------------------------------------->
1547
            </td>
1548
            <td valign="top" background="images/bg_home_orange.gif">
119 ghuddy 1549
 
4028 dpurdie 1550
                <!-- SELECT RELEASE B ---------------------------------------------->
1551
                <br>
1552
                <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1553
                    <tr>
1554
                        <td align="left" class="body_col">
1555
                            <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>
1556
                        </td>
1557
                    </tr>
1558
                    <tr>
1559
                        <td align="left">
1560
                            <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1561
                                <option value="">-- Select Project --</option>
1562
                                <%
1563
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorB.Item("proj_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 1564
 
4028 dpurdie 1565
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
119 ghuddy 1566
 
4028 dpurdie 1567
                                OraDatabase.Parameters.Remove "PROJ_ID"
119 ghuddy 1568
 
4028 dpurdie 1569
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1570
                                    <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1571
                                    <%rsQry.MoveNext
1572
                                WEnd
119 ghuddy 1573
 
4028 dpurdie 1574
                                rsQry.Close
1575
                                Set rsQry = Nothing
1576
                                %>
1577
                            </select>
1578
                        </td>
1579
                    </tr>
1580
                    <tr>
1581
                        <td align="left">
1582
                            <select name="rtagB" id="rtagB" class="form_item">
1583
                                <%
1584
                                OraDatabase.Parameters.Add "PROJ_ID",     objRelCollectorB.Item("proj_id"),    ORAPARM_INPUT,  ORATYPE_NUMBER
1585
                                OraDatabase.Parameters.Add "RTAG_ID",     objRelCollectorB.Item("rtag_id"),    ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 1586
 
4028 dpurdie 1587
                                Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
119 ghuddy 1588
 
4028 dpurdie 1589
                                OraDatabase.Parameters.Remove "PROJ_ID"
1590
                                OraDatabase.Parameters.Remove "RTAG_ID"
119 ghuddy 1591
 
4028 dpurdie 1592
                                While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1593
                                        <option value="<%=rsQry("rtag_id")%>" <%=rsQry("selected")%>><%=rsQry("rtag_name")%></option>
1594
                                    <%rsQry.MoveNext
1595
                                WEnd
119 ghuddy 1596
 
4028 dpurdie 1597
                                rsQry.Close
1598
                                Set rsQry = Nothing
1599
                                %>
1600
                            </select>
1601
                        </td>
1602
                    </tr>
1603
                    <%If (parRtagB <> "") Then%>
1604
                        <tr>
1605
                            <td align="left"><a href="dependencies.asp?rtag_id=<%=parRtagB%>" class="body_txt_drk">Go To Release B &raquo;</a></td>
1606
                        </tr>
1607
                    <%End If%>
1608
                </table>
1609
                <!-- SELECT RELEASE B END ---------------------------------------------->
1610
            </td>
1611
        </tr>
1612
        <tr>
1613
            <td valign="bottom" align="center" background="images/bg_home_orange.gif">
1614
                <img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30">
1615
            </td>
1616
            <td valign="bottom" background="images/bg_home_orange.gif" align="center">
1617
                <img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30">
1618
            </td>
123 ghuddy 1619
      </tr>
4028 dpurdie 1620
    </table>
119 ghuddy 1621
</form>
1622
<!-- FOOTER -->
1623
<!--#include file="_footer.asp"-->
1624
<%
123 ghuddy 1625
If email Then
4028 dpurdie 1626
    Dim LocalPath
1627
    LocalPath = Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html")
119 ghuddy 1628
 
4028 dpurdie 1629
    Send_Email    "Release Manager Notification",_
1630
                     adminEmail, _
1631
                     objAccessControl.UserEmail,_
1632
                     "Release Comparisons from Release Manager", _
1633
                     "Your requested report...",_
1634
                     LocalPath
123 ghuddy 1635
End If
119 ghuddy 1636
%>
1637
</body>
1638
</html>
1639
<%
1640
Call Destroy_All_Objects
1641
%>