Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
157 ghuddy 5
'|                        RTREE                      |
119 ghuddy 6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
157 ghuddy 12
Response.Expires = 0   ' always load the page, dont store
119 ghuddy 13
%>
14
<!--#include file="common/conf.asp"-->
15
<!--#include file="common/globals.asp"-->
16
<!--#include file="common/formating.asp"-->
17
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
19
<!--#include file="common/_rtree_common.asp"-->
183 brianf 20
<!--#include file="common/daemon_status.asp"-->
119 ghuddy 21
<%
22
'------------ ACCESS CONTROL ------------------
23
%>
24
<!--#include file="_access_control_general.asp"-->
25
<%
26
'------------ Variable Definition -------------
27
Dim ViewType
5177 dpurdie 28
Dim bIsaTreeView
157 ghuddy 29
Dim rsQryStr
119 ghuddy 30
Dim rsQry
31
Dim parProjId
157 ghuddy 32
Dim parShowFilter
119 ghuddy 33
Dim objBtnControl
5177 dpurdie 34
Dim currLevel, lastLevel
157 ghuddy 35
Dim dListFilter
183 brianf 36
Dim objDmSts
5177 dpurdie 37
Dim hoverTitle, createdBy, comment
38
Dim bCanMove
39
Dim bCanDestroy
40
Dim bCanClone
41
Dim bCanUnarchive
42
Dim bCanCloseArchive
119 ghuddy 43
'------------ Constants Declaration -----------
44
Const LIMG_TREE_I_HALF = "<img src='images/spacer.gif' width='20' height='1'>"
4078 dpurdie 45
Const LIMG_TREE_I_NONE = "<img src='images/spacer.gif' width='30' height='15'>"
46
Const LIMG_TREE_I_FULL = "<img src='images/dot1h.gif' width='30' height='15'>"
157 ghuddy 47
Const LIMG_TREE_T      = "<img src='images/dot1.gif' width='30' height='15'>"
48
Const LIMG_LIST_VIEW   = "<img src='images/abtn_list_view.gif' border='0' align=absmiddle' name='imgviewtype' usemap='#mapviewtype' id='imgviewtype'>"
49
Const LIMG_TREE_VIEW   = "<img src='images/abtn_tree_view.gif' border='0' align=absmiddle' name='imgviewtype' usemap='#mapviewtype' id='imgviewtype'>"
5177 dpurdie 50
 
119 ghuddy 51
Const LCONST_LIST_VIEW = 1
52
Const LCONST_TREE_VIEW = 2
157 ghuddy 53
 
5177 dpurdie 54
Const DEFAULT_SHOW_FILTER = "'N','R','C','O'"
55
 
119 ghuddy 56
'------------ Variable Init -------------------
5177 dpurdie 57
'   Need either proj_id or rtag_id, for which we will calculate a project id
119 ghuddy 58
parProjId = Request("proj_id")
5177 dpurdie 59
If parProjId = "" Then parProjId = DB_PROJ_ID
60
If parProjId = ""  OR parProjId < 0 Then
61
   Response.Redirect("index.asp")
62
End If
63
Call objPMod.StoreParameter("proj_id", parProjId)
157 ghuddy 64
 
5177 dpurdie 65
 
157 ghuddy 66
' Get show_filter from query string or failing that, from the cookie.
67
' Make sure that if neither supplies it, use the default
68
parShowFilter = Request("show_filter")
69
If NOT IsNull(parShowFilter) AND parShowFilter <> "" Then
70
   Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilter
71
Else
72
   parShowFilter = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter")
73
   If IsNull(parShowFilter) OR parShowFilter = "" Then
74
      parShowFilter = DEFAULT_SHOW_FILTER
75
      Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilter
76
   End If
77
End If
78
 
79
Set dListFilter = CreateObject("Scripting.Dictionary")
80
 
119 ghuddy 81
Set objBtnControl = New ActionButtonControl
183 brianf 82
 
5177 dpurdie 83
' Init access control
84
bCanMove =  canActionControlInProject("ConfigureRelease") 
85
bCanDestroy = canActionControlInProject("DestroyRelease")
86
bCanClone =  canActionControlInProject("CreateNewRelease")
87
bCanUnarchive = canActionControl("MSMaintainer")
88
bCanCloseArchive = canActionInProject()
89
 
119 ghuddy 90
'----------------------------------------------
91
%>
92
<%
157 ghuddy 93
'--------------------------------------------------------------------------------------------------------------------------
94
' Determines if the specified filter is on/off and returns a string to use to check the associated checkbox accordingly
95
Function GetIsListFilterChecked( nFilterId )
96
   GetIsListFilterChecked = ""
5177 dpurdie 97
 
98
  If bIsaTreeView Then
99
       ' Disable the control in Tree View
100
       GetIsListFilterChecked = GetIsListFilterChecked & " checked disabled"
101
  Else
102
       If dListFilter.Exists ( "'" & CStr(nFilterId) & "'"  ) Then
103
          GetIsListFilterChecked = "checked"
104
       End If
105
  End If
106
 
157 ghuddy 107
End Function
108
'--------------------------------------------------------------------------------------------------------------------------
109
' Reads the cookie for the filter and creats a dictionary element for each item therein. the dictionary
110
' is used by the GetIsListFilterChecked function to determine checkbox state in the filter options
111
Sub GetListFilterValues ( outDepFilter )
112
   Dim FilterVal, aFilterValues
113
 
5177 dpurdie 114
   If parShowFilter <> "" Then
115
      aFilterValues = Split( Replace( parShowFilter, " ", ""), ",")
157 ghuddy 116
 
117
      For Each FilterVal In aFilterValues
118
         outDepFilter.Item (CStr( FilterVal )) = ""
119
      Next
120
   End If
121
End Sub
122
 
119 ghuddy 123
'----------------------------------------------------------------------------------------------------------------------------------------------
124
Sub RenderIndent ( nLastLevel, nCurrLevel )
157 ghuddy 125
   Dim i
126
 
127
   If nCurrLevel <= 1 Then Exit Sub
128
 
129
 
130
   '-- Render half lines
131
   If nCurrLevel > 2 Then
132
      For i = 1 To nCurrLevel - 2
4078 dpurdie 133
         Response.write LIMG_TREE_I_NONE
157 ghuddy 134
      Next
135
   End If
136
 
137
 
138
   '-- Render branch or line
139
   If nLastLevel < nCurrLevel Then
140
      Response.write LIMG_TREE_T
141
   Else
142
      Response.write LIMG_TREE_I_FULL
143
   End If
144
 
119 ghuddy 145
End Sub
146
'----------------------------------------------------------------------------------------------------------------------------------------------
147
Sub NewRelease ()
5177 dpurdie 148
    Call OpenInWindow ( "new_release.asp?" & objPMod.ComposeURL() )
119 ghuddy 149
End Sub
150
'----------------------------------------------------------------------------------------------------------------------------------------------
5177 dpurdie 151
Sub MergeManager ()
152
    ' Open Merge Manager without parameters
153
    Call OpenInWindow ( "diff.asp" )
119 ghuddy 154
End Sub
155
'----------------------------------------------------------------------------------------------------------------------------------------------
5177 dpurdie 156
Sub AdminView()
157
     Dim Query_String
158
     Query_String = _
159
     "   SELECT DISTINCT vi.view_id, vi.view_name"&_
160
     "   FROM VIEWS vi"&_
161
     "   WHERE vi.view_name = 'PROJECT WIDE'"
162
     Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) )
157 ghuddy 163
 
5177 dpurdie 164
     Dim viewRecordCount
165
     Dim id
166
     viewRecordCount=0
167
     viewRecordCount = rsQry.RecordCount
157 ghuddy 168
 
5177 dpurdie 169
     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
170
        id=rsQry.Fields("view_id")
171
        rsQry.MoveNext
172
     WEnd
157 ghuddy 173
 
5177 dpurdie 174
      rsQry.Close()
175
     Set rsQry = nothing
157 ghuddy 176
 
5177 dpurdie 177
     If viewRecordCount = 0 Then
178
        OraDatabase.Parameters.Add "PROJ_ID", parProjId,    ORAPARM_INPUT, ORATYPE_NUMBER
179
        Query_String = _
180
        " SELECT DISTINCT vi.view_id, vi.view_name"&_
181
        " FROM VIEWS vi, RELEASE_CONTENT rc, RELEASE_TAGS rt"&_
182
        " WHERE rc.BASE_VIEW_ID = vi.VIEW_ID AND rt.proj_id = "& parProjId &"AND rc.rtag_id = rt.rtag_id"&_
183
        " ORDER BY ( vi.view_name )"
157 ghuddy 184
 
5177 dpurdie 185
        Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) )
157 ghuddy 186
 
5177 dpurdie 187
        OraDatabase.Parameters.Remove "PROJ_ID"
188
        viewRecordCount = rsQry.RecordCount
157 ghuddy 189
 
5177 dpurdie 190
        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
191
           id=rsQry.Fields("view_id")
192
           rsQry.MoveNext
193
        WEnd
157 ghuddy 194
 
5177 dpurdie 195
        rsQry.Close()
196
        Set rsQry = nothing
197
     End If
157 ghuddy 198
 
5177 dpurdie 199
     If viewRecordCount = 0 Then
200
        Call OpenInWindow ( "form_edit_project_view.asp?proj_id="&parProjId)
201
     Else
202
        Call OpenInWindow ( "form_edit_project_view.asp?proj_id="&parProjId&"&FRview_id="&id)
203
     End If
119 ghuddy 204
End Sub
205
'----------------------------------------------------------------------------------------------------------------------------------------------
206
Function GetViewType ()
157 ghuddy 207
   Dim CookieViewType
208
 
209
   CookieViewType = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW")
210
 
211
   If CookieViewType <> "" Then
212
      ' Get current view type from cookie
213
      GetViewType = CInt(CookieViewType)
214
   Else
215
      ' Set current view to list view
216
      Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = LCONST_LIST_VIEW
217
      GetViewType = LCONST_LIST_VIEW
218
   End If
219
 
119 ghuddy 220
End Function
221
'----------------------------------------------------------------------------------------------------------------------------------------------
222
Sub SetViewType ()
157 ghuddy 223
   If Request("viewtype") = "" Then Exit Sub    ' Nothing to do
224
 
225
   Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = Request("viewtype")
119 ghuddy 226
End Sub
227
'----------------------------------------------------------------------------------------------------------------------------------------------
5177 dpurdie 228
Sub RenderDaemonStatusConfig(nRtagId) 
5009 dpurdie 229
   %>
230
   <table class="embedded_table">
231
    <tr>
232
     <td>
233
     <%
5177 dpurdie 234
      Response.Write("<img src=""icons/i_edit.gif"" border=0 vspace=0 hspace=0 title='Configure Daemons' onclick='location.href=""release_config.asp?rtag_id="&nRtagId&"""'>")
235
      Response.Write("<img src=""icons/ext_log.gif"" border=0 vspace=0 hspace=0 title='View Build Log'onclick='location.href=""build_release_log.asp?rtag_id="&nRtagId&"""'>")
5009 dpurdie 236
     %>
237
     </td>
238
     <td>
239
   <%
5177 dpurdie 240
    Call objDmSts.RenderDaemonStatus(nRtagId,16)
5009 dpurdie 241
    %>
242
        </td>
243
        </tr>
244
        </table>
245
    <%
246
End Sub
5177 dpurdie 247
'----------------------------------------------------------------------------------------------------------------------------------------------
248
Function RenderActions(nRtagId, sOfficial)
249
    Response.Write "<span title='Select operation from dropdown menu' class='select-operation ui-icon ui-icon-triangle-1-s' data-rtag-id='"&nRtagId&"' data-official='"&sOfficial&"'></span>"
250
End Function
251
'----------------------------------------------------------------------------------------------------------------------------------------------
252
Function GetMassRefComments (nRtagId)
253
   Dim UsedBy
254
   Dim rsQryUse
255
   Dim linkB
256
   Dim joiner : joiner = ""
257
   Dim comment : comment = ""
5009 dpurdie 258
 
5177 dpurdie 259
'   If parProjId <> 2 Then
260
'     assocMASSREF = rsQry("assoc_mass_ref")
261
'     If assocMASSREF <> "" Then
262
'        Set rsQryAssoc = OraDatabase.DbCreateDynaset("SELECT RTAG_NAME, RTAG_ID FROM RELEASE_TAGS WHERE RTAG_ID="&assocMASSREF , ORADYN_DEFAULT)
263
'        assocMASSREFName = rsQryAssoc("RTAG_NAME")
264
'        link = rsQryAssoc("rtag_id")
265
'        rsQryAssoc.Close
266
'        Set rsQryAssoc = Nothing
267
'     Else
268
'        assocMASSREFName = "None."
269
'     End If
270
'   Else
271
      UsedBy = nRtagId
272
      If UsedBy <> "" Then
273
         Set rsQryUse = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_TAGS RT, PROJECTS P WHERE RT.ASSOC_MASS_REF=" & nRtagId & " AND RT.PROJ_ID=P.PROJ_ID", ORADYN_DEFAULT)
274
 
275
         While ((NOT rsQryUse.BOF) AND (NOT rsQryUse.EOF))
276
            If rsQryUse("assoc_mass_ref") = UsedBy Then
277
               linkB = "dependencies.asp?rtag_id="&rsQryUse("rtag_id")
278
               comment = joiner & rsQryUse("proj_name") & " -> <a href="&linkB&">"& rsQryUse("rtag_name") &"</a>"
279
               joiner = " <br> "
280
               rsQryUse.MoveNext
281
            End If
282
         WEnd
283
         rsQryUse.Close
284
         Set rsQryUse = Nothing
285
      End If
286
      GetMassRefComments = comment
287
End Function
5009 dpurdie 288
'----------------------------------------------------------------------------------------------------------------------------------------------
119 ghuddy 289
%>
290
<%
291
'------------ RUN BEFORE PAGE RENDER ----------
292
If (Request("action") <> "") Then
121 hknight 293
 
5177 dpurdie 294
   If Request("btn") = "Update" Then
157 ghuddy 295
      ' Store filter in cookie
296
      Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = Request("listFilter")
297
      parShowFilter = Request("listFilter")
5177 dpurdie 298
      If IsNull(parShowFilter) OR parShowFilter = "" Then parShowFilter = DEFAULT_SHOW_FILTER
157 ghuddy 299
   Else
300
      '-- Select Action
301
      Select Case Request("action")
5177 dpurdie 302
          Case "btnNewRelease"
303
             Call NewRelease()
121 hknight 304
 
5177 dpurdie 305
          Case "btnMergeManager"
306
             Call MergeManager()
121 hknight 307
 
5177 dpurdie 308
          Case "btnAdminView"
309
             Call AdminView()
157 ghuddy 310
      End Select
311
   End If
312
 
119 ghuddy 313
End If
314
 
5177 dpurdie 315
' Set view type  if required
119 ghuddy 316
Call SetViewType ()
317
 
318
' Get current view type
319
ViewType = GetViewType()
5177 dpurdie 320
bIsaTreeView = (ViewType = LCONST_TREE_VIEW)
157 ghuddy 321
 
119 ghuddy 322
'----------------------------------------------
323
%>
324
<html>
325
<head>
326
<%
5177 dpurdie 327
   Set rsQry = OraDatabase.DbCreateDynaset( "SELECT PROJ_NAME FROM PROJECTS WHERE PROJ_ID="& parProjId, ORADYN_DEFAULT )
119 ghuddy 328
%>
329
<title><%=rsQry("proj_name")%></title>
330
<%
157 ghuddy 331
   rsQry.Close
332
   Set rsQry = Nothing
119 ghuddy 333
%>
334
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
335
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
336
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
337
<link rel="stylesheet" href="images/navigation.css" type="text/css">
338
<script language="JavaScript" src="images/common.js"></script>
339
 
340
<!-- DROPDOWN MENUS -->
341
<!--#include file="_menu_def.asp"-->
342
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
343
 
5177 dpurdie 344
<!-- Dropdown action menu scripts -->
345
<style>
346
    .ui-menu { position: absolute; }
347
</style>
348
<!--#include file="_jquery_includes.asp"-->
349
<script>
350
    $(function() {
351
        // Global menu data structure
352
        //  Persist between invocations of the menu
353
        //      Used to mergeLeft rtagid
354
        //      Used to store current menu info
355
        $.miniMenu = {
356
 
357
            //  Data
358
            bCanUnarchive : <%=iif(bCanUnarchive, "true", "false")%> ,
359
            bCanCloseArchive : <%=iif(bCanCloseArchive, "true", "false")%> ,
360
 
361
            //  Menu operations
362
            open : function (data, event) {
363
                console.log("Opening:", data.rtagid);
364
                this.gotoUrl("dependencies.asp", {rtag_id : data.rtagid});
365
             },
366
 
367
             edit : function (data) {
368
                 console.log("Editing:", data.rtagid);
369
                 this.gotoUrl("form_edit_release.asp", {rtag_id : data.rtagid, rfile : "<%=ScriptName%>"});
370
             },
371
 
372
             mergeSelect : function (data) {
373
                 console.log("Merge from:", data.rtagid );
374
                 data.mergeLeft = data.rtagid;
375
             },
376
 
377
             merge : function (data) {
378
                 console.log ("Merge:", data.mergeLeft, data.rtagid);
379
                 this.gotoUrl("diff.asp", { rtagA : data.mergeLeft, rtagB : data.rtagid});
380
             },
381
 
382
             close : function (data) {
383
                 console.log("Closing:", data.rtagid);
384
                 this.gotoUrl("_change_release_mode.asp", {rtag_id : data.rtagid, mode_code : 3 , rfile : "<%=ScriptName%>"});
385
             },
386
 
387
             preserve : function (data) {
388
                 console.log("Preserving:", data.rtagid);
389
                 this.gotoUrl("_change_release_mode.asp", {rtag_id : data.rtagid, mode_code : 6 , rfile : "<%=ScriptName%>"});
390
             },
391
 
392
             archive : function (data) {
393
                 console.log("Archiving:", data.rtagid);
394
                 this.gotoUrl("_change_release_mode.asp", {rtag_id : data.rtagid, mode_code : 5 , rfile : "<%=ScriptName%>"});
395
             },
396
<%If bCanDestroy Then%>
397
             delete : function (data) {
398
                 console.log("Delete:", data.rtagid);
399
                 var that = this;
400
                 this.confirmDelete(function(){
401
                     that.gotoUrl("_destroy_release.asp", {rtag_id_list : data.rtagid, proj_id : <%=parProjId%>, rfile : "<%=ScriptName%>"});
402
                 });
403
             },
404
<%End If%>
405
<%If bCanMove Then%>
406
             move : function (data) {
407
                 console.log("Move:", data.rtagid);
408
                 this.gotoUrl("form_move_release.asp", { rtag_id_list : data.rtagid, proj_id : <%=parProjId%> });
409
             },
410
<%End If%>
411
<%If bCanClone Then%>
412
             clone : function(data) {
413
                 console.log("Clone:", data.rtagid);
414
                 this.gotoUrl("new_release.asp", { rtag_id_list : data.rtagid, proj_id : <%=parProjId%> });
415
             },
416
<%End If%>
417
 
418
             //
419
             // Internal functions
420
             // Goto url, or open in new tab
421
             gotoUrl: function (url, params)
422
             {
423
                 // Open in new tab - not as simple as it sounds
424
                 // Need to create a form and submit it
425
                 if(event.shiftKey){
426
                     var form = $('<form>',{
427
                         action : url,
428
                         target : '_blank',
429
                         //method : 'GET'
430
                         });
431
 
432
                     $.each(params,function(n,v){
433
                         var item = $('<input>',{
434
                             name : n,
435
                             value : v
436
                         });
437
                         form.append(item);
438
                        });
439
 
440
 
441
                     form.appendTo(document.body);
442
                     form.submit();
443
                     form.remove();
444
                 }
445
                 else {
446
                     if (params)
447
                         url += '?' + jQuery.param(params)
448
                     window.location.href = url;
449
                 }
450
             },
451
 
452
             // Confirm action
453
             //     okcb - callback function
454
             confirmDelete : function(okcb){
455
                 $( "<div>Are you sure</div>" ).dialog({
456
                    resizable: true,
457
                    height:170,
458
                    width : 300,
459
                    modal: true,
460
                    position: { my: "top", at: "top+100", of: window },
461
                    title:'Destroy Release',
462
                    open: function() {
463
                        $(this).siblings('.ui-dialog-buttonpane').find('button:eq(1)').focus(); 
464
                        var markup = '<p><img src="images/i_critical.gif" style="float:left; margin:0 7px 20px 0;">This Release will be permanently destroyed.<p>Are you sure?';
465
                        $(this).html(markup);
466
                    },
467
                    close : function() {
468
                        $(this).remove();
469
                    },
470
                    buttons: {
471
                        "Destroy Release": function() {
472
                            okcb();
473
                            $(this).dialog("close");
474
                        },
475
                        Cancel: function() {
476
                            $(this).dialog("close");
477
                        }
478
                    }
479
                 });
480
             },
481
 
482
    };
483
 
484
    // Hide the Menu
485
    $( "#select-menu" ).hide().menu();
486
 
487
    // Register menuselect event handler
488
    $( "#select-menu" ).on( "menuselect", function( event, ui ) {
489
       var opr = ui.item.data('opr');
490
 
491
        // Invoke operation within the menu data structure
492
        if (typeof $.miniMenu[opr] == 'function' ) {
493
            $.miniMenu[event] = event;
494
            $.miniMenu[opr]($.miniMenu);
495
            return;
496
        }
497
        console.log ("Menu Operation:", opr, "Not found");
498
    });
499
 
500
    // Add menu to all require instances
501
   $( ".select-operation" ).click(function() {
502
        // When clicked - create and show the menu
503
        // Insert rtag-id
504
 
505
        //  Create the menu
506
        var menu = $("#select-menu").show().position({
507
         my: "left top",
508
         at: "center bottom",
509
         of: this 
510
    });
511
 
512
        // Allow click outside of the menu to close it
513
      $( document ).one( "click", function() {
514
        menu.hide();
515
        });
516
 
517
        // Setup global data
518
        $.miniMenu.rtagid = $(this).data('rtag-id');
519
 
520
        // Set initial menu state - merge target
521
        $('#select-menu-merge').toggleClass('ui-state-disabled',!('mergeLeft' in $.miniMenu ));
522
 
523
        // Set initial state close/archive
524
        //
525
        var official = $(this).data('official');
526
        $('#select-menu-close').toggleClass('ui-state-disabled',!($.miniMenu.bCanCloseArchive && ((official == 'A' && $.miniMenu.bCanUnarchive)|| (official != 'A' && official != 'Y' && official != 'O' && official != 'P'))));
527
        $('#select-menu-preserve').toggleClass('ui-state-disabled',!($.miniMenu.bCanCloseArchive && official != 'P'));
528
        $('#select-menu-archive').toggleClass('ui-state-disabled',!($.miniMenu.bCanCloseArchive && official != 'A'));
529
 
530
        // Prevent propagation of event
531
        return false;
532
    });
533
});
534
</script>
535
 
119 ghuddy 536
</head>
537
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
538
<!-- MENU LAYERS -------------------------------------->
157 ghuddy 539
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
119 ghuddy 540
</div>
541
<!-- TIPS LAYERS -------------------------------------->
542
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
543
<!----------------------------------------------------->
544
<!-- HEADER -->
545
<!--#include file="_header.asp"-->
546
<!-- BODY ---->
547
 
5177 dpurdie 548
<%Call GetListFilterValues ( dListFilter )%>
549
 
550
<form name="FormName" method="post" action="<%=ScriptName%>">
119 ghuddy 551
<table width="100%" border="0" cellspacing="0" cellpadding="0">
157 ghuddy 552
   <tr>
5177 dpurdie 553
      <td width="1" background="images/bg_home_orange.gif" valign="top">
554
         <!-- ICON STATUS and FILTER -------------------------------------->
555
         <table width="118" border="0" align="left" style="margin-top: 38px;">
556
            <tr>
557
               <td bgcolor="#E4E9EC" width="26"><span class="body_txt">Icon</span></td>
558
               <td bgcolor="#E4E9EC" width="82"><span class="body_txt">Release State </span></td>
559
            </tr>
560
            <tr>
561
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_open_mode.gif" width="15" height="13"></td>
562
               <td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_OPEN_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_OPEN_MODE)%>>Open Mode</span></td>
563
            </tr>
564
            <tr>
565
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_restrictive_mode.gif" width="15" height="15"></td>
566
               <td nowrap bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_RESTRICTIVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_RESTRICTIVE_MODE)%>>Restrictive Mode</span></td>
567
            </tr>
568
            <tr>
569
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_ccb_mode.gif" width="15" height="15"></td>
570
               <td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CCB_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CCB_MODE)%>>CCB Mode</span></td>
571
            </tr>
572
            <tr>
573
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode.gif" width="15" height="14"></td>
574
               <td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CLOSED_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CLOSED_MODE)%>>Closed Mode</span></td>
575
            </tr>
576
            <tr>
577
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode_warn.gif" width="15" height="14"></td>
578
               <td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CLOSED_WARN%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CLOSED_WARN)%>>Closed Aged</span></td>
579
            </tr>
580
            <tr>
581
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_preserve_mode.gif" width="15" height="14"></td>
582
               <td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_PRESERVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_PRESERVE_MODE)%>>Preserve Mode</span></td>
583
            </tr>
584
            <tr>
585
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_archive_mode.gif" width="15" height="14"></td>
586
               <td bgcolor="#F5F5F5"><span class="body_txt"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_ARCHIVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_ARCHIVE_MODE)%>>Archive Mode</span></td>
587
            </tr>
588
            <%If NOT bIsaTreeView Then%>
589
             <tr>
590
                <td>&nbsp;</td>
591
                <td><input name="btn" type="submit" class="form_btn" value="Update"></td>
592
             </tr>
593
             <%End If%>
594
         </table>
595
      </td>
157 ghuddy 596
      <td rowspan="2" valign="top" width="100%">
597
         <!-- ACTION BUTTONS ---------------------------------------------->
5177 dpurdie 598
         <table width="100%"  border="0" cellspacing="0" cellpadding="7" style="background-color:#DAD7C8">
157 ghuddy 599
            <tr>
5177 dpurdie 600
               <td width="1">
157 ghuddy 601
                  <%
5177 dpurdie 602
                  If bIsaTreeView Then
157 ghuddy 603
                     Response.write LIMG_TREE_VIEW
604
                  Else
605
                     Response.write LIMG_LIST_VIEW
606
                  End If
607
                  %>
608
               </td>
5177 dpurdie 609
               <td width="100%">
157 ghuddy 610
                  <%
611
                  Dim aBtnsDef
612
                  ' Define action buttons
5177 dpurdie 613
                  aBtnsDef = Array("btnNewRelease", "width=5", "btnMergeManager", "width=5", "btnAdminView")
119 ghuddy 614
 
157 ghuddy 615
                  ' Load action buttons from database
616
                  Call objBtnControl.LoadActionButtons ( aBtnsDef, OraDatabase )
119 ghuddy 617
 
157 ghuddy 618
                  ' Set spacing to minimum between buttons
619
                  objBtnControl.ButtonSpacer = 0
620
                  objBtnControl.ImageHspace = 2
119 ghuddy 621
 
157 ghuddy 622
                  ' Access Control
5061 dpurdie 623
                  If NOT canActionControlInProject("CreateNewRelease") Then Call objBtnControl.Active ( "btnNewRelease", "N" )
624
                  If NOT canActionControlInProject("DestroyRelease") Then Call objBtnControl.Active ( "btnDestroyRelease", "N" )
625
                  If NOT canActionControlInProject("ConfigureRelease") Then Call objBtnControl.Active ( "btnMoveRelease", "N" )
119 ghuddy 626
 
157 ghuddy 627
                  ' -- Render Buttons
628
                  Call objBtnControl.Render  ( aBtnsDef, objAccessControl )
629
                  %>
630
               </td>
631
            </tr>
632
         </table>
633
         <!-- ACTION BUTTONS END  ------------------------------------------>
5177 dpurdie 634
         <!-- RELEASE INFORMATION  ----------------------------------------->
157 ghuddy 635
         <table width="100%"  border="0" cellspacing="10" cellpadding="0">
636
               <tr>
637
                  <td>
638
                     <!-- TREE VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
5177 dpurdie 639
                     <%If bIsaTreeView Then%>
157 ghuddy 640
                        <table width="100%"  border="0" cellspacing="1" cellpadding="1">
641
                           <tr>
5177 dpurdie 642
                              <td width="25%" bgcolor="#E4E9EC" class="body_txt">Release Name </td>
119 ghuddy 643
 
157 ghuddy 644
                              <%If parProjId <> 2 Then %>
5177 dpurdie 645
                                 <td width="15%" bgcolor="#E4E9EC" class="body_txt">Created</td>
183 brianf 646
                                 <td width="47%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
5177 dpurdie 647
                                 <td width="3%"  bgcolor="#E4E9EC" class="body_txt">Daemon Status</td>
157 ghuddy 648
                              <%Else%>
5177 dpurdie 649
                                 <td width="15%" bgcolor="#E4E9EC" class="body_txt">Created</td>
183 brianf 650
                                 <td width="25%" bgcolor="#E4E9EC" class="body_txt">Used By </td>
651
                                 <td width="22%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
5177 dpurdie 652
                                 <td width="3%"  bgcolor="#E4E9EC" class="body_txt">Daemon Status</td>
157 ghuddy 653
                              <%End If%>
654
                           </tr>
655
                           <%
656
                           OraDatabase.Parameters.Add "PROJ_ID",  parProjId,  ORAPARM_INPUT, ORATYPE_NUMBER
657
 
658
                           Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseVersionTree.sql") , ORADYN_DEFAULT )
659
                           lastLevel = 0
660
 
661
                           OraDatabase.Parameters.Remove "PROJ_ID"
662
 
663
                           Dim lastRtagId, parentRtag_id
664
 
665
                           If rsQry.RecordCount > 0 Then
666
 
183 brianf 667
                              Set objDmSts = New DaemonStatus
668
                              Call objDmSts.GetDaemonStatus(parProjId)
669
 
157 ghuddy 670
                              While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
671
                                 currLevel = CInt(rsQry("hierarchy"))
4080 dpurdie 672
                                 hoverTitle = "Last change: "& rsQry("OFFICIAL_STAMP") & " by " & rsQry("modifier")
5177 dpurdie 673
                                 createdBy = rsQry("created_stamp") & " by " & rsQry("creator") 
4080 dpurdie 674
 
157 ghuddy 675
                                 %>
676
                                 <tr>
5177 dpurdie 677
                                    <td nowrap bgcolor="#F5F5F5" class="body_rowg">
157 ghuddy 678
                                       <%Call RenderIndent( lastLevel, currLevel )%>
5177 dpurdie 679
                                       <%Call RenderActions(rsQry("rtag_id"),rsQry("official"))%>
4080 dpurdie 680
                                       <a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" title="<%=hoverTitle%>" >
157 ghuddy 681
                                       <%=ReleaseIcon( rsQry("official") )%>&nbsp;<%=rsQry("rtag_name")%></a>
5177 dpurdie 682
                                    </td>
683
                                    <td nowrap bgcolor="#F5F5F5" class="body_rowg valign=top"><%=createdBy%></td>
684
                                    <%
685
                                    If parProjId = 2 Then
686
                                       comment = GetMassRefComments(rsQry("rtag_id"))
687
                                       If comment = "" Then comment = "None."
688
                                       %>
689
                                       <td bgcolor="#F5F5F5" class="body_rowg"><%=comment%></td>
690
                                    <%End If%>
157 ghuddy 691
 
5177 dpurdie 692
                                    <td bgcolor="#F5F5F5" class="body_rowg"><%=NewLine_To_BR(rsQry("description"))%></td>
693
                                    <td bgcolor="#F5F5F5" class="body_rowg" valign=top>
694
                                       <%Call RenderDaemonStatusConfig(rsQry("rtag_id"))%>
695
                                    </td>
157 ghuddy 696
                                 </tr>
697
                                 <%
698
                                 lastLevel = currLevel
699
                                 rsQry.MoveNext
700
                              WEnd
183 brianf 701
                              Set objDmSts = Nothing
157 ghuddy 702
                           End If
703
                           rsQry.Close
704
                           Set rsQry = Nothing
705
                           %>
706
                        </table>
707
                     <!-- LIST VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
708
                     <%Else%>
5177 dpurdie 709
                        <table width="100%"  border="0" cellspacing="1" cellpadding="1">
157 ghuddy 710
                           <tr>
5177 dpurdie 711
                              <td width="1%" bgcolor="#E4E9EC">&nbsp;</td>
712
                              <td width="20%" bgcolor="#E4E9EC" class="body_txt">Release Name </td>
713
                              <td width="10%" bgcolor="#E4E9EC" class="body_txt">"Created"</td>
157 ghuddy 714
                              <%If parProjId <> 2 Then %>
183 brianf 715
                                 <td width="47%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
157 ghuddy 716
                              <%Else%>
183 brianf 717
                                 <td width="24%" bgcolor="#E4E9EC" class="body_txt">Used By </td>
718
                                 <td width="22%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
157 ghuddy 719
                              <%End If%>
5177 dpurdie 720
                              <td width="3%" bgcolor="#E4E9EC" class="body_txt">Daemon Status</td>
157 ghuddy 721
                           </tr>
722
                           <%
723
                              OraDatabase.Parameters.Add "PROJ_ID",  parProjId,  ORAPARM_INPUT, ORATYPE_NUMBER
724
 
725
                              rsQryStr = GetQuery ("ReleaseVersionList.sql")
726
                              rsQryStr = Replace(rsQryStr, "/*SHOW_FILTER*/", parShowFilter)
727
 
728
                              Set rsQry = OraDatabase.DbCreateDynaset( rsQryStr, ORADYN_DEFAULT )
729
 
730
                              OraDatabase.Parameters.Remove "PROJ_ID"
731
 
732
                              If rsQry.RecordCount > 0 Then
733
 
183 brianf 734
                                 Set objDmSts = New DaemonStatus
735
                                 Call objDmSts.GetDaemonStatus(parProjId)
736
 
5177 dpurdie 737
                                 While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
738
                                    hoverTitle = "Last change: "& rsQry("OFFICIAL_STAMP") & " by " & rsQry("modifier") & ". " & rsQry("OFFICIAL_STAMP_DAYS")& " Days ago"
739
                                    createdBy = rsQry("created_stamp") & " by " & rsQry("creator")
157 ghuddy 740
 
741
                                    %>
742
                                    <tr>
743
                                       <td bgcolor="#F5F5F5" class="body_txt" valign="top">
5177 dpurdie 744
                                          <%Call RenderActions(rsQry("rtag_id"),rsQry("official"))%>
157 ghuddy 745
                                       </td>
5177 dpurdie 746
                                       <td nowrap bgcolor="#F5F5F5" valign="top">
747
                                          <a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" title="<%=hoverTitle%>">
748
                                          <%=ReleaseIcon( rsQry("official"))%>&nbsp;<%=rsQry("rtag_name")%></a>
157 ghuddy 749
                                       </td>
5177 dpurdie 750
                                       <td nowrap bgcolor="#F5F5F5" class="body_rowg" valign=top><%=createdBy%></td>
157 ghuddy 751
                                       <%
5177 dpurdie 752
                                       If parProjId = 2 Then
753
                                          comment = GetMassRefComments(rsQry("rtag_id"))
754
                                          If comment = "" Then comment = "None."
157 ghuddy 755
                                          %>
5177 dpurdie 756
                                            <td bgcolor="#F5F5F5" class="body_rowg"><%=comment%></td>
157 ghuddy 757
                                       <%End If%>
5177 dpurdie 758
                                       <td bgcolor="#F5F5F5" class="body_rowg"><%=NewLine_To_BR(  rsQry("description")   )%></td>
759
                                       <td bgcolor="#F5F5F5" class="body_rowg" valign=top>
760
                                          <%Call RenderDaemonStatusConfig(rsQry("rtag_id"))%>
183 brianf 761
                                       </td>
157 ghuddy 762
                                    </tr>
763
                                    <%
5177 dpurdie 764
                                    rsQry.MoveNext
765
                                 WEnd
183 brianf 766
                                 Set objDmSts = Nothing
157 ghuddy 767
                              End If
768
                              rsQry.Close
769
                              Set rsQry = Nothing
5177 dpurdie 770
                              %>
157 ghuddy 771
                        </table>
5177 dpurdie 772
                        <%=objPMod.ComposeHiddenTags()%>
773
                        <input type="hidden" name="action" value="true">
774
                        </form>
157 ghuddy 775
                        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
776
                        <!--#include file="messages/_msg_inline.asp"-->
777
                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
778
 
779
                     <%End If%>
780
                     <!-- LIST VIEW END ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
781
                  </td>
782
               </tr>
783
         </table>
784
      </td>
785
      <td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
786
   </tr>
787
   <tr>
5177 dpurdie 788
      <td valign="bottom" align="center" background="images/bg_home_orange.gif">
789
      </td>
157 ghuddy 790
   </tr>
119 ghuddy 791
</table>
5177 dpurdie 792
<!-- Dropdown Menu -->
793
<div >
794
  <ul id="select-menu" style="display:none;">
795
   <li data-opr="open" title="Goto this Release">Open ...</li>
796
    <li data-opr="edit" title="Edit the properties of the Release">Edit Properties</li>
797
    <li <%=iif(bCanMove,"data-opr=move","class=ui-state-disabled")%> title="Change the order in which releases are displayed">Change display order</li>
798
    <li>-</li>
799
    <li data-opr="mergeSelect" title="Select as the source (left side) of a merge or comparison">Select for Merge</li>
800
    <li id="select-menu-merge" data-opr="merge" title="Merge from selected release to this release">Merge from selected</li>
801
    <li>-</li>
802
    <li id="select-menu-close" data-opr="close">Close Release</li>
803
    <li id="select-menu-preserve" data-opr="preserve" >Preserve Release</li>
804
    <li id="select-menu-archive" data-opr="archive" >Archive Release</li>
805
    <li>-</li>
806
    <li <%=iif(bCanClone,"data-opr=clone","class=ui-state-disabled")%> title="Create a new Release based on selected Release">Clone Release</li>
807
    <li>-</li>
808
    <li <%=iif(bCanDestroy,"data-opr=delete","class=ui-state-disabled")%>  title="Delete the selected Release">Destroy Release</li>
809
    <li>-</li>
810
    <li>Close Menu</li>
811
  </ul>
812
</div>
119 ghuddy 813
<!-- FOOTER -->
814
<!--#include file="_footer.asp"-->
815
<map name="mapviewtype">
816
  <area shape="rect" coords="2,2,69,23" href="<%=ScriptName%>?viewtype=1&<%=objPMod.ComposeURL()%>" title="Switch to List View">
817
  <area shape="rect" coords="73,2,143,23" href="<%=ScriptName%>?viewtype=2&<%=objPMod.ComposeURL()%>" title="Switch to Tree View">
818
</map>
819
</body>
820
</html>
821
<%
822
Call Destroy_All_Objects
157 ghuddy 823
%>