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