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)
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&"'></span>"
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 = {
5177 dpurdie 432
            //  Menu operations
433
            open : function (data, event) {
5179 dpurdie 434
                //console.log("Opening:", data.rtagid);
5177 dpurdie 435
                this.gotoUrl("dependencies.asp", {rtag_id : data.rtagid});
436
             },
437
 
438
             edit : function (data) {
5179 dpurdie 439
                 //console.log("Editing:", data.rtagid);
5177 dpurdie 440
                 this.gotoUrl("form_edit_release.asp", {rtag_id : data.rtagid, rfile : "<%=ScriptName%>"});
441
             },
442
 
443
             mergeSelect : function (data) {
5179 dpurdie 444
                 //console.log("Merge from:", data.rtagid );
5177 dpurdie 445
                 data.mergeLeft = data.rtagid;
446
             },
447
 
448
             merge : function (data) {
5179 dpurdie 449
                 //console.log ("Merge:", data.mergeLeft, data.rtagid);
5177 dpurdie 450
                 this.gotoUrl("diff.asp", { rtagA : data.mergeLeft, rtagB : data.rtagid});
451
             },
452
 
453
             close : function (data) {
5179 dpurdie 454
                 //console.log("Closing:", data.rtagid);
5177 dpurdie 455
                 this.gotoUrl("_change_release_mode.asp", {rtag_id : data.rtagid, mode_code : 3 , rfile : "<%=ScriptName%>"});
456
             },
457
 
458
             preserve : function (data) {
5179 dpurdie 459
                 //console.log("Preserving:", data.rtagid);
5177 dpurdie 460
                 this.gotoUrl("_change_release_mode.asp", {rtag_id : data.rtagid, mode_code : 6 , rfile : "<%=ScriptName%>"});
461
             },
462
 
463
             archive : function (data) {
5179 dpurdie 464
                 //console.log("Archiving:", data.rtagid);
5177 dpurdie 465
                 this.gotoUrl("_change_release_mode.asp", {rtag_id : data.rtagid, mode_code : 5 , rfile : "<%=ScriptName%>"});
466
             },
467
<%If bCanDestroy Then%>
468
             delete : function (data) {
5179 dpurdie 469
                 //console.log("Delete:", data.rtagid);
5177 dpurdie 470
                 var that = this;
471
                 this.confirmDelete(function(){
472
                     that.gotoUrl("_destroy_release.asp", {rtag_id_list : data.rtagid, proj_id : <%=parProjId%>, rfile : "<%=ScriptName%>"});
473
                 });
474
             },
475
<%End If%>
476
<%If bCanMove Then%>
477
             move : function (data) {
5179 dpurdie 478
                 //console.log("Move:", data.rtagid);
5177 dpurdie 479
                 this.gotoUrl("form_move_release.asp", { rtag_id_list : data.rtagid, proj_id : <%=parProjId%> });
480
             },
481
<%End If%>
482
<%If bCanClone Then%>
483
             clone : function(data) {
5179 dpurdie 484
                 //console.log("Clone:", data.rtagid);
5177 dpurdie 485
                 this.gotoUrl("new_release.asp", { rtag_id_list : data.rtagid, proj_id : <%=parProjId%> });
486
             },
487
<%End If%>
488
 
489
             //
490
             // Internal functions
491
             // Goto url, or open in new tab
492
             gotoUrl: function (url, params)
493
             {
494
                 // Open in new tab - not as simple as it sounds
495
                 // Need to create a form and submit it
496
                 if(event.shiftKey){
497
                     var form = $('<form>',{
498
                         action : url,
499
                         target : '_blank',
500
                         //method : 'GET'
501
                         });
502
 
503
                     $.each(params,function(n,v){
504
                         var item = $('<input>',{
505
                             name : n,
506
                             value : v
507
                         });
508
                         form.append(item);
509
                        });
510
 
511
 
512
                     form.appendTo(document.body);
513
                     form.submit();
514
                     form.remove();
515
                 }
516
                 else {
517
                     if (params)
518
                         url += '?' + jQuery.param(params)
519
                     window.location.href = url;
520
                 }
521
             },
522
 
523
             // Confirm action
524
             //     okcb - callback function
525
             confirmDelete : function(okcb){
526
                 $( "<div>Are you sure</div>" ).dialog({
527
                    resizable: true,
528
                    height:170,
529
                    width : 300,
530
                    modal: true,
531
                    position: { my: "top", at: "top+100", of: window },
532
                    title:'Destroy Release',
533
                    open: function() {
534
                        $(this).siblings('.ui-dialog-buttonpane').find('button:eq(1)').focus(); 
535
                        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?';
536
                        $(this).html(markup);
537
                    },
538
                    close : function() {
539
                        $(this).remove();
540
                    },
541
                    buttons: {
542
                        "Destroy Release": function() {
543
                            okcb();
544
                            $(this).dialog("close");
545
                        },
546
                        Cancel: function() {
547
                            $(this).dialog("close");
548
                        }
549
                    }
550
                 });
551
             },
552
 
553
    };
554
 
555
    // Hide the Menu
556
    $( "#select-menu" ).hide().menu();
557
 
558
    // Register menuselect event handler
559
    $( "#select-menu" ).on( "menuselect", function( event, ui ) {
560
       var opr = ui.item.data('opr');
561
 
562
        // Invoke operation within the menu data structure
563
        if (typeof $.miniMenu[opr] == 'function' ) {
564
            $.miniMenu[event] = event;
565
            $.miniMenu[opr]($.miniMenu);
566
            return;
567
        }
5179 dpurdie 568
        //console.log ("Menu Operation:", opr, "Not found");
5177 dpurdie 569
    });
570
 
5179 dpurdie 571
 
5177 dpurdie 572
    // Add menu to all require instances
573
   $( ".select-operation" ).click(function() {
574
        // When clicked - create and show the menu
575
        // Insert rtag-id
576
 
5179 dpurdie 577
       // In order to have the menu positioing work correctly
578
       //   Create a div that covers the visible screen area
579
       //   Us it within the menu poistioning
580
       //   Then delete it again
581
       var positionDiv = $( "<div></div>" ).css({
582
               position: 'absolute', 
583
               top : $(document).scrollTop(), 
584
               left : $(document).scrollLeft(),
585
               width: '100vw',
586
               height: '100vh',
587
               'z-index' : -1,
588
           });
589
       positionDiv.appendTo(document.body);
590
 
5177 dpurdie 591
        //  Create the menu
592
        var menu = $("#select-menu").show().position({
593
         my: "left top",
594
         at: "center bottom",
5179 dpurdie 595
         of: this,
596
         within : positionDiv,
597
        });
5177 dpurdie 598
 
5179 dpurdie 599
        // Cleanup the poistioning div
600
        positionDiv.remove();
601
 
5177 dpurdie 602
        // Allow click outside of the menu to close it
603
      $( document ).one( "click", function() {
604
        menu.hide();
605
        });
606
 
607
        // Setup global data
608
        $.miniMenu.rtagid = $(this).data('rtag-id');
609
 
610
        // Set initial menu state - merge target
611
        $('#select-menu-merge').toggleClass('ui-state-disabled',!('mergeLeft' in $.miniMenu ));
612
 
613
        // Set initial state close/archive
614
        //
615
        var official = $(this).data('official');
5178 dpurdie 616
        $('#select-menu-close').toggleClass('ui-state-disabled',! $.mode2access.canAccess(official,0));
617
        $('#select-menu-preserve').toggleClass('ui-state-disabled',!$.mode2access.canAccess(official,1));
618
        $('#select-menu-archive').toggleClass('ui-state-disabled',! $.mode2access.canAccess(official,2));
5177 dpurdie 619
 
620
        // Prevent propagation of event
621
        return false;
622
    });
623
});
624
</script>
625
 
119 ghuddy 626
</head>
627
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
628
<!-- MENU LAYERS -------------------------------------->
157 ghuddy 629
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
119 ghuddy 630
</div>
631
<!-- TIPS LAYERS -------------------------------------->
632
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
633
<!----------------------------------------------------->
634
<!-- HEADER -->
635
<!--#include file="_header.asp"-->
636
<!-- BODY ---->
637
 
5177 dpurdie 638
<%Call GetListFilterValues ( dListFilter )%>
639
 
640
<form name="FormName" method="post" action="<%=ScriptName%>">
119 ghuddy 641
<table width="100%" border="0" cellspacing="0" cellpadding="0">
157 ghuddy 642
   <tr>
5177 dpurdie 643
      <td width="1" background="images/bg_home_orange.gif" valign="top">
644
         <!-- ICON STATUS and FILTER -------------------------------------->
645
         <table width="118" border="0" align="left" style="margin-top: 38px;">
646
            <tr>
647
               <td bgcolor="#E4E9EC" width="26"><span class="body_txt">Icon</span></td>
648
               <td bgcolor="#E4E9EC" width="82"><span class="body_txt">Release State </span></td>
649
            </tr>
650
            <tr>
651
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_open_mode.gif" width="15" height="13"></td>
652
               <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>
653
            </tr>
654
            <tr>
655
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_restrictive_mode.gif" width="15" height="15"></td>
656
               <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>
657
            </tr>
658
            <tr>
659
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_ccb_mode.gif" width="15" height="15"></td>
660
               <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>
661
            </tr>
662
            <tr>
663
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode.gif" width="15" height="14"></td>
664
               <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>
665
            </tr>
666
            <tr>
667
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode_warn.gif" width="15" height="14"></td>
668
               <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>
669
            </tr>
670
            <tr>
671
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_preserve_mode.gif" width="15" height="14"></td>
672
               <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>
673
            </tr>
674
            <tr>
675
               <td bgcolor="#F5F5F5"><img src="images/i_rtag_archive_mode.gif" width="15" height="14"></td>
676
               <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>
677
            </tr>
678
            <%If NOT bIsaTreeView Then%>
679
             <tr>
680
                <td>&nbsp;</td>
681
                <td><input name="btn" type="submit" class="form_btn" value="Update"></td>
682
             </tr>
683
             <%End If%>
684
         </table>
685
      </td>
157 ghuddy 686
      <td rowspan="2" valign="top" width="100%">
687
         <!-- ACTION BUTTONS ---------------------------------------------->
5177 dpurdie 688
         <table width="100%"  border="0" cellspacing="0" cellpadding="7" style="background-color:#DAD7C8">
157 ghuddy 689
            <tr>
5177 dpurdie 690
               <td width="1">
157 ghuddy 691
                  <%
5177 dpurdie 692
                  If bIsaTreeView Then
157 ghuddy 693
                     Response.write LIMG_TREE_VIEW
694
                  Else
695
                     Response.write LIMG_LIST_VIEW
696
                  End If
697
                  %>
698
               </td>
5177 dpurdie 699
               <td width="100%">
157 ghuddy 700
                  <%
701
                  Dim aBtnsDef
702
                  ' Define action buttons
5177 dpurdie 703
                  aBtnsDef = Array("btnNewRelease", "width=5", "btnMergeManager", "width=5", "btnAdminView")
119 ghuddy 704
 
157 ghuddy 705
                  ' Load action buttons from database
706
                  Call objBtnControl.LoadActionButtons ( aBtnsDef, OraDatabase )
119 ghuddy 707
 
157 ghuddy 708
                  ' Set spacing to minimum between buttons
709
                  objBtnControl.ButtonSpacer = 0
710
                  objBtnControl.ImageHspace = 2
119 ghuddy 711
 
157 ghuddy 712
                  ' Access Control
5061 dpurdie 713
                  If NOT canActionControlInProject("CreateNewRelease") Then Call objBtnControl.Active ( "btnNewRelease", "N" )
714
                  If NOT canActionControlInProject("DestroyRelease") Then Call objBtnControl.Active ( "btnDestroyRelease", "N" )
715
                  If NOT canActionControlInProject("ConfigureRelease") Then Call objBtnControl.Active ( "btnMoveRelease", "N" )
119 ghuddy 716
 
157 ghuddy 717
                  ' -- Render Buttons
718
                  Call objBtnControl.Render  ( aBtnsDef, objAccessControl )
719
                  %>
720
               </td>
721
            </tr>
722
         </table>
723
         <!-- ACTION BUTTONS END  ------------------------------------------>
5177 dpurdie 724
         <!-- RELEASE INFORMATION  ----------------------------------------->
157 ghuddy 725
         <table width="100%"  border="0" cellspacing="10" cellpadding="0">
726
               <tr>
727
                  <td>
728
                     <!-- TREE VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
5177 dpurdie 729
                     <%If bIsaTreeView Then%>
157 ghuddy 730
                        <table width="100%"  border="0" cellspacing="1" cellpadding="1">
731
                           <tr>
5177 dpurdie 732
                              <td width="25%" bgcolor="#E4E9EC" class="body_txt">Release Name </td>
119 ghuddy 733
 
157 ghuddy 734
                              <%If parProjId <> 2 Then %>
5177 dpurdie 735
                                 <td width="15%" bgcolor="#E4E9EC" class="body_txt">Created</td>
183 brianf 736
                                 <td width="47%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
5177 dpurdie 737
                                 <td width="3%"  bgcolor="#E4E9EC" class="body_txt">Daemon Status</td>
157 ghuddy 738
                              <%Else%>
5177 dpurdie 739
                                 <td width="15%" bgcolor="#E4E9EC" class="body_txt">Created</td>
183 brianf 740
                                 <td width="25%" bgcolor="#E4E9EC" class="body_txt">Used By </td>
741
                                 <td width="22%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
5177 dpurdie 742
                                 <td width="3%"  bgcolor="#E4E9EC" class="body_txt">Daemon Status</td>
157 ghuddy 743
                              <%End If%>
744
                           </tr>
745
                           <%
746
                           OraDatabase.Parameters.Add "PROJ_ID",  parProjId,  ORAPARM_INPUT, ORATYPE_NUMBER
747
 
748
                           Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseVersionTree.sql") , ORADYN_DEFAULT )
749
                           lastLevel = 0
750
 
751
                           OraDatabase.Parameters.Remove "PROJ_ID"
752
 
753
                           Dim lastRtagId, parentRtag_id
754
 
755
                           If rsQry.RecordCount > 0 Then
756
 
183 brianf 757
                              Set objDmSts = New DaemonStatus
758
                              Call objDmSts.GetDaemonStatus(parProjId)
759
 
157 ghuddy 760
                              While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
761
                                 currLevel = CInt(rsQry("hierarchy"))
4080 dpurdie 762
                                 hoverTitle = "Last change: "& rsQry("OFFICIAL_STAMP") & " by " & rsQry("modifier")
5177 dpurdie 763
                                 createdBy = rsQry("created_stamp") & " by " & rsQry("creator") 
4080 dpurdie 764
 
157 ghuddy 765
                                 %>
766
                                 <tr>
5177 dpurdie 767
                                    <td nowrap bgcolor="#F5F5F5" class="body_rowg">
157 ghuddy 768
                                       <%Call RenderIndent( lastLevel, currLevel )%>
5177 dpurdie 769
                                       <%Call RenderActions(rsQry("rtag_id"),rsQry("official"))%>
4080 dpurdie 770
                                       <a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" title="<%=hoverTitle%>" >
157 ghuddy 771
                                       <%=ReleaseIcon( rsQry("official") )%>&nbsp;<%=rsQry("rtag_name")%></a>
5177 dpurdie 772
                                    </td>
773
                                    <td nowrap bgcolor="#F5F5F5" class="body_rowg valign=top"><%=createdBy%></td>
774
                                    <%
775
                                    If parProjId = 2 Then
776
                                       comment = GetMassRefComments(rsQry("rtag_id"))
777
                                       If comment = "" Then comment = "None."
778
                                       %>
779
                                       <td bgcolor="#F5F5F5" class="body_rowg"><%=comment%></td>
780
                                    <%End If%>
157 ghuddy 781
 
5177 dpurdie 782
                                    <td bgcolor="#F5F5F5" class="body_rowg"><%=NewLine_To_BR(rsQry("description"))%></td>
783
                                    <td bgcolor="#F5F5F5" class="body_rowg" valign=top>
784
                                       <%Call RenderDaemonStatusConfig(rsQry("rtag_id"))%>
785
                                    </td>
157 ghuddy 786
                                 </tr>
787
                                 <%
788
                                 lastLevel = currLevel
789
                                 rsQry.MoveNext
790
                              WEnd
183 brianf 791
                              Set objDmSts = Nothing
157 ghuddy 792
                           End If
793
                           rsQry.Close
794
                           Set rsQry = Nothing
795
                           %>
796
                        </table>
797
                     <!-- LIST VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
798
                     <%Else%>
5177 dpurdie 799
                        <table width="100%"  border="0" cellspacing="1" cellpadding="1">
157 ghuddy 800
                           <tr>
5177 dpurdie 801
                              <td width="1%" bgcolor="#E4E9EC">&nbsp;</td>
802
                              <td width="20%" bgcolor="#E4E9EC" class="body_txt">Release Name </td>
803
                              <td width="10%" bgcolor="#E4E9EC" class="body_txt">"Created"</td>
157 ghuddy 804
                              <%If parProjId <> 2 Then %>
183 brianf 805
                                 <td width="47%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
157 ghuddy 806
                              <%Else%>
183 brianf 807
                                 <td width="24%" bgcolor="#E4E9EC" class="body_txt">Used By </td>
808
                                 <td width="22%" bgcolor="#E4E9EC" class="body_txt">Comments</td>
157 ghuddy 809
                              <%End If%>
5177 dpurdie 810
                              <td width="3%" bgcolor="#E4E9EC" class="body_txt">Daemon Status</td>
157 ghuddy 811
                           </tr>
812
                           <%
813
                              OraDatabase.Parameters.Add "PROJ_ID",  parProjId,  ORAPARM_INPUT, ORATYPE_NUMBER
814
 
815
                              rsQryStr = GetQuery ("ReleaseVersionList.sql")
816
                              rsQryStr = Replace(rsQryStr, "/*SHOW_FILTER*/", parShowFilter)
817
 
818
                              Set rsQry = OraDatabase.DbCreateDynaset( rsQryStr, ORADYN_DEFAULT )
819
 
820
                              OraDatabase.Parameters.Remove "PROJ_ID"
821
 
822
                              If rsQry.RecordCount > 0 Then
823
 
183 brianf 824
                                 Set objDmSts = New DaemonStatus
825
                                 Call objDmSts.GetDaemonStatus(parProjId)
826
 
5177 dpurdie 827
                                 While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
828
                                    hoverTitle = "Last change: "& rsQry("OFFICIAL_STAMP") & " by " & rsQry("modifier") & ". " & rsQry("OFFICIAL_STAMP_DAYS")& " Days ago"
829
                                    createdBy = rsQry("created_stamp") & " by " & rsQry("creator")
157 ghuddy 830
 
831
                                    %>
832
                                    <tr>
833
                                       <td bgcolor="#F5F5F5" class="body_txt" valign="top">
5177 dpurdie 834
                                          <%Call RenderActions(rsQry("rtag_id"),rsQry("official"))%>
157 ghuddy 835
                                       </td>
5177 dpurdie 836
                                       <td nowrap bgcolor="#F5F5F5" valign="top">
837
                                          <a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" title="<%=hoverTitle%>">
838
                                          <%=ReleaseIcon( rsQry("official"))%>&nbsp;<%=rsQry("rtag_name")%></a>
157 ghuddy 839
                                       </td>
5177 dpurdie 840
                                       <td nowrap bgcolor="#F5F5F5" class="body_rowg" valign=top><%=createdBy%></td>
157 ghuddy 841
                                       <%
5177 dpurdie 842
                                       If parProjId = 2 Then
843
                                          comment = GetMassRefComments(rsQry("rtag_id"))
844
                                          If comment = "" Then comment = "None."
157 ghuddy 845
                                          %>
5177 dpurdie 846
                                            <td bgcolor="#F5F5F5" class="body_rowg"><%=comment%></td>
157 ghuddy 847
                                       <%End If%>
5177 dpurdie 848
                                       <td bgcolor="#F5F5F5" class="body_rowg"><%=NewLine_To_BR(  rsQry("description")   )%></td>
849
                                       <td bgcolor="#F5F5F5" class="body_rowg" valign=top>
850
                                          <%Call RenderDaemonStatusConfig(rsQry("rtag_id"))%>
183 brianf 851
                                       </td>
157 ghuddy 852
                                    </tr>
853
                                    <%
5177 dpurdie 854
                                    rsQry.MoveNext
855
                                 WEnd
183 brianf 856
                                 Set objDmSts = Nothing
157 ghuddy 857
                              End If
858
                              rsQry.Close
859
                              Set rsQry = Nothing
5177 dpurdie 860
                              %>
157 ghuddy 861
                        </table>
5177 dpurdie 862
                        <%=objPMod.ComposeHiddenTags()%>
863
                        <input type="hidden" name="action" value="true">
864
                        </form>
157 ghuddy 865
                        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
866
                        <!--#include file="messages/_msg_inline.asp"-->
867
                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
868
 
869
                     <%End If%>
870
                     <!-- LIST VIEW END ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
871
                  </td>
872
               </tr>
873
         </table>
874
      </td>
875
      <td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
876
   </tr>
877
   <tr>
5177 dpurdie 878
      <td valign="bottom" align="center" background="images/bg_home_orange.gif">
879
      </td>
157 ghuddy 880
   </tr>
119 ghuddy 881
</table>
5177 dpurdie 882
<!-- Dropdown Menu -->
5179 dpurdie 883
<div id=testdiv></div>
5177 dpurdie 884
<div >
885
  <ul id="select-menu" style="display:none;">
886
   <li data-opr="open" title="Goto this Release">Open ...</li>
887
    <li data-opr="edit" title="Edit the properties of the Release">Edit Properties</li>
888
    <li <%=iif(bCanMove,"data-opr=move","class=ui-state-disabled")%> title="Change the order in which releases are displayed">Change display order</li>
889
    <li>-</li>
5178 dpurdie 890
    <li data-opr="mergeSelect" title="Select as the source (left side) of a merge or comparison">Select for Merge/Diff</li>
891
    <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 892
    <li>-</li>
893
    <li id="select-menu-close" data-opr="close">Close Release</li>
894
    <li id="select-menu-preserve" data-opr="preserve" >Preserve Release</li>
895
    <li id="select-menu-archive" data-opr="archive" >Archive Release</li>
896
    <li>-</li>
897
    <li <%=iif(bCanClone,"data-opr=clone","class=ui-state-disabled")%> title="Create a new Release based on selected Release">Clone Release</li>
898
    <li>-</li>
899
    <li <%=iif(bCanDestroy,"data-opr=delete","class=ui-state-disabled")%>  title="Delete the selected Release">Destroy Release</li>
900
    <li>-</li>
901
    <li>Close Menu</li>
902
  </ul>
903
</div>
119 ghuddy 904
<!-- FOOTER -->
905
<!--#include file="_footer.asp"-->
906
<map name="mapviewtype">
907
  <area shape="rect" coords="2,2,69,23" href="<%=ScriptName%>?viewtype=1&<%=objPMod.ComposeURL()%>" title="Switch to List View">
908
  <area shape="rect" coords="73,2,143,23" href="<%=ScriptName%>?viewtype=2&<%=objPMod.ComposeURL()%>" title="Switch to Tree View">
909
</map>
910
</body>
911
</html>
912
<%
913
Call Destroy_All_Objects
157 ghuddy 914
%>