Subversion Repositories DevTools

Rev

Rev 6777 | Rev 6784 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6770 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
6783 dpurdie 4
'   View Release Level replication
5
'   form_project_replication.asp
6770 dpurdie 6
'=====================================================
7
Option explicit
8
' Good idea to set when using redirect
9
Response.Expires = 0   ' always load the page, dont store
10
%>
11
<!--#include file="common/conf.asp"-->
12
<!--#include file="common/globals.asp"-->
13
<!--#include file="common/formating.asp"-->
14
<!--#include file="common/qstr.asp"-->
15
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/_form_window_common.asp"-->
6783 dpurdie 17
<%
18
' Make sure rtag_id is always present
19
If Request("rtag_id") = "" Then
20
    Call Destroy_All_Objects
21
	Response.Redirect("index.asp")
22
End If
23
'------------ ACCESS CONTROL ------------------
24
%>
6770 dpurdie 25
<!--#include file="_access_control_login.asp"-->
26
<!--#include file="_access_control_general.asp"-->
27
<%
28
'------------ Variable Definition -------------
29
Dim parRtagId
6777 dpurdie 30
Dim canModify
6770 dpurdie 31
'------------ Constants Declaration -----------
32
'------------ Variable Init -------------------
6777 dpurdie 33
canModify = canActionControl("ConfigureReplication")
6783 dpurdie 34
 
6770 dpurdie 35
parRtagId = Request("rtag_id")
36
'--------------------------------------------------------------------------------------------------------------------------
37
'  PV_ID_ListHTML
38
'
39
'  DESCRIPTION
40
'     Constructs the HTML to render the rows of package names, and other information
41
'
42
Function PV_ID_ListHTML
43
   Dim rsQry
44
   Dim html_string
45
   Dim sQry
46
 
47
   sQry = _
48
        "WITH aa as (" &_
49
        "    SELECT * from blat_projects where proj_id = (select PROJ_ID from RELEASE_TAGS where rtag_id = :RTAG_ID)" &_
50
        " )" &_
51
        " SELECT" &_
52
        "    bs.*," &_
53
        "    br.rtag_id, br.br_enabled, br.br_exclude," &_
54
        "    nvl2(br.BLAT_ID, 1, 0) AS inRelease," &_
55
        "    nvl2(aa.BLAT_ID, 1, 0) AS inProject" &_
56
        " FROM" &_
57
        "    blat_servers bs," &_
58
        "    blat_releases br," &_
59
        "    aa" &_
60
        " WHERE" &_
61
        "    bs.BLAT_ID = br.BLAT_ID (+)" &_
62
        "    AND br.rtag_id(+) = :RTAG_ID" &_
63
        "    AND bs.BLAT_ID = aa.BLAT_ID (+)" &_
6775 dpurdie 64
        "    AND (aa.BLAT_ID is NOT NULL OR br.BLAT_ID is NOT NULL OR bs.BLAT_MODE IN( 'P', 'E'))" &_
6770 dpurdie 65
        " ORDER BY" &_
66
        "    upper(blat_display_name) ASC"
67
 
68
 
69
   OraDatabase.Parameters.Add "RTAG_ID", DB_RTAG_ID, ORAPARM_INPUT, ORATYPE_NUMBER
70
   Set rsQry = OraDatabase.DbCreateDynaset( sQry, cint(0) )
71
   OraDatabase.Parameters.Remove "RTAG_ID"
72
 
73
   '--- Render rows ---
74
   Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
75
      Dim btnText, btnClass, btnDisable, isaRelease, replicationMode
76
 
77
      isaRelease = rsQry("inRelease") > 0
78
 
79
      replicationMode = "Unknown"
6775 dpurdie 80
      If rsQry("blat_mode") = "E" Then
6774 dpurdie 81
          replicationMode = "Entire Archive"
6775 dpurdie 82
      ElseIf rsQry("blat_mode") = "P" Then
6774 dpurdie 83
          replicationMode = "All Projects"
84
      Else
85
        If  rsQry("inProject") > 0 Then
86
            replicationMode = "Project"
87
        ElseIf  rsQry("inRelease") > 0 Then
88
            replicationMode = "Release"
89
        End If
6770 dpurdie 90
      End If
91
 
92
      ' BEGIN ROW
93
      html_string = html_string & "<tr data-server_id=""" & rsQry("BLAT_ID") & """>"
94
 
95
      ' Server Active
96
      Dim activeChecked
97
      activeChecked = IIF(rsQry("BLAT_ENABLE") = "Y", "checked", "" )
98
      html_string = html_string & "<td nowrap class='body_row'><input type='checkbox' disabled "& activeChecked &" ></td>"
99
 
100
      ' Server Name
101
      html_string = html_string & "<td nowrap class='body_row'>" & rsQry("BLAT_DISPLAY_NAME") & "</td>"
102
 
103
      ' Project Active
104
      activeChecked = IIF(rsQry("BR_ENABLED") = "Y", "checked", "" )
105
      btnText = "Operation not available"
106
      btnClass = ""
107
      btnDisable = "disabled"
6777 dpurdie 108
      If canModify AND isaRelease Then
6770 dpurdie 109
         btnText = "Toggle Replication State"
110
         btnClass = "class=btn_enable"
111
         btnDisable = ""
112
      End If
113
 
114
      html_string = html_string & "<td nowrap class='body_row' title='" & btnText & "'><input " & btnClass & " type='checkbox' " &btnDisable & " "& activeChecked &" ></td>"
115
 
116
     ' Replication Mode
117
      html_string = html_string & "<td nowrap class='body_row'>" & replicationMode & "</td>"
118
 
119
     ' Delete Operation
120
     Dim DelUserImage : DelUserImage = LIMG_NDEL_DISABLED
121
     btnText = "Operation not available"
122
     btnClass = ""
6777 dpurdie 123
     If canModify AND isaRelease Then
6770 dpurdie 124
         DelUserImage = LIMG_NDEL
125
         btnText = "Remove this replica"
126
         btnClass = "class=btn_delete"
127
     End If
128
 
129
     html_string = html_string & "<td nowrap valign='top' " & btnClass & " title='" & btnText & "'>" & DelUserImage & "</td>"
130
 
131
      ' END ROW
132
      html_string = html_string & "</tr>"
133
 
134
      rsQry.MoveNext
135
 
136
      ' ROW SEPERATOR
137
      'If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
138
         html_string = html_string & "<tr><td colspan='8' class=body_line></td></tr>"
139
      'End If
140
   Loop
141
 
142
   ' destroy objects
143
   rsQry.Close()
144
   Set rsQry = nothing
145
 
146
   ' return result
147
   PV_ID_ListHTML = html_string
148
End Function
149
'----------------------------------------------------
150
'   Insert scripts into the header section of the generated document
151
Sub InsertUserScripts
152
 %>
153
<script language="javascript">
154
$(document).ready(function () {
155
 
156
    //  Add operation to all the delete buttons
157
    $('.btn_delete').on('click', function(){
158
        var el = $(this);
159
        var trel = el.closest("tr");
160
        var rtag_id = <%=DB_RTAG_ID%>;
161
        var server_id = trel.data("server_id");
162
 
163
        var colData = new Array();
164
        trel.each(function(){
165
            $(this).find('td').each(function(){
166
                colData.push($(this));
167
            })
168
        });
169
        var replicaName = colData[1].text();
170
 
171
        vixConfirm("Remove replication to '"+replicaName+"' of this release", 
172
            {
173
                deferred : true,  
174
            }).done(function(){
175
                $.ajax({
176
                    type : 'POST',
177
                    url : '_json_Replication.asp',
178
                    data : {Opr : 'RemoveRelease', server_id : server_id, user_id : <%=objAccessControl.UserId%>, rtag_id : rtag_id },
179
                    dataType : 'json',
180
                }).fail(function( jqXHR, textStatus, errorThrown ){
181
                    vixAlert('Ajax Error. Unexpected result.<p>' + errorThrown);
182
                }).done(function( data, textStatus, jqXHR ){
183
                    if (typeof data.result === undefined){
184
                        vixAlert('Ajax Error. Unexpected result');
185
                    } else if (data.result != 0){
186
                        vixAlert('Error Deleting item.<p>' + data.emsgDetails);
187
                    } else {
188
                        // Process individual items to show that an action has been taken
189
                        //
190
                        colData[1].addClass("strike");
191
                        colData[0].empty();
192
                        colData[2].empty();
193
                        colData[3].empty();
194
                    }
195
                });
196
            });
197
    });
198
 
199
    //  Add operation to all the enable buttons
200
    $('.btn_enable').on('click', function(e){
201
        var el = $(this);
202
        var trel = el.closest("tr");
203
        var rtag_id = <%=DB_RTAG_ID%>;
204
        var server_id = trel.data("server_id");
205
        var state =  $(this).prop("checked");
206
        var stateChanged = false;
207
 
208
        var colData = new Array();
209
        trel.each(function(){
210
            $(this).find('td').each(function(){
211
                colData.push($(this));
212
            })
213
        });
214
        var replicaName = colData[1].text();
215
        var stateText = state ? 'Enable' : 'Disable'; 
216
 
217
        vixConfirm(stateText + " replication to '"+replicaName+"' of this release", 
218
             {
219
                 deferred : true,
220
             }).done(function(){
221
                $.ajax({
222
                    type : 'POST',
223
                    url : '_json_Replication.asp',
224
                    data : {Opr : 'EnableRelease', server_id : server_id, user_id : <%=objAccessControl.UserId%>, rtag_id : rtag_id, new_state : state ? 'Y' : 'N' },
225
                    dataType : 'json',
226
                }).fail(function( jqXHR, textStatus, errorThrown ){
227
                    vixAlert('Ajax Error. Unexpected result.<p>' + errorThrown);
228
                }).done(function( data, textStatus, jqXHR ){
229
                    if (typeof data.result === undefined){
230
                        vixAlert('Ajax Error. Unexpected result');
231
                    } else if (data.result != 0){
232
                        vixAlert('Error setting state.<p>' + data.emsgDetails);
233
                    } else {
234
                        stateChanged = true;
235
                    }
236
                }).always(function(){
237
                    if ( !stateChanged ) {
238
                        el.prop("checked", !state);
239
                    }
240
                });
241
            }).fail(function(){
242
                el.prop("checked", !state);
243
            });
244
        });
245
 
246
});
247
</script>
248
<%
249
End Sub
6783 dpurdie 250
 
251
 
252
'--------------------------------------------------------------------------------------------------------------------------
253
'--------------------------------------------------------------------------------------------------------------------------
6770 dpurdie 254
'------------ RUN BEFORE PAGE RENDER ----------
255
'
256
'----------------------------------------------------
257
Sub LeftPanelContent
258
End Sub
259
'----------------------------------------------------
260
Sub MainPanelContent
261
%>
6783 dpurdie 262
          <table class="rounded_box embedded_table">
263
          <caption nowrap class="form_ttl tleft">Release Replication Details</caption>
264
              <tr>
265
                    <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10"></td>
266
                    <td bgcolor="#FFFFFF" valign="top">
267
                        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
268
                        <!--#include file="messages/_msg_inline.asp"-->
269
                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
270
                        <table width="100%"  border="0" cellspacing="2" cellpadding="0">
271
                            <tr>
272
                               <td width="1%" valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Active<%=Quick_Help("activeReplica")%></td>
273
                               <td width="1%" valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Replica</td>
274
                               <td width="1%" valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Enabled<%=Quick_Help("enabledRelease")%></td>
275
                               <td width="1%" valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Relication Mode</td>
276
                               <td width="1%" valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Opr</td>
277
                            </tr>
278
                            <%=PV_ID_ListHTML()%>
279
                      </table>
280
                      <table class="full_table">
281
                         <tr>
6770 dpurdie 282
                        <td align="right" nowrap valign="bottom" class="abtnItem" title="Add New Replication Targets">
6783 dpurdie 283
                            <%If canModify Then%>
284
                               <a href="javascript:;" onClick="MM_openVixIFrame('wAddReleaseReplica.asp?rtag_id=<%=DB_RTAG_ID%>','Add Release Replication')">
285
                                  <img src="icons/btn_add.gif" width="13" height="13" align="absmiddle" border="0" hspace="3">
286
                                  Add Release Replica
287
                               </a>
6770 dpurdie 288
                        <%Else%>
6783 dpurdie 289
                                 <img src="icons/btn_add_dis.gif" width="13" height="13" align="absmiddle" border="0" hspace="3" title="Add New Replication Targets">
6770 dpurdie 290
                              Add Release Replica
6783 dpurdie 291
                            <%End If%>
292
                            </td>
293
                         </tr>
294
                      </table>
295
                  </td>
296
                  <td background="images/lbox_bgside_white.gif">&nbsp;</td>
297
              </tr>
298
          </table>
299
<%End Sub%>
6770 dpurdie 300
<html>
301
   <head>
302
      <title>Release Manager</title>
303
      <link rel="shortcut icon" href="<%=FavIcon%>"/>
304
      <meta http-equiv="Pragma" content="no-cache">
305
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
306
      <link rel="stylesheet" href="images/release_manager_style.css?ver=<%=VixVerNum%>" type="text/css">
307
      <link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
308
      <script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
309
      <!-- DROPDOWN MENUS -->
310
      <!--#include file="_jquery_includes.asp"-->
311
      <!--#include file="_menu_def.asp"-->
312
      <script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
6783 dpurdie 313
      <!-- TIPS -->
6770 dpurdie 314
      <script language="JavaScript" src="images/tipster.js?ver=<%=VixVerNum%>"></script>
315
      <script language="JavaScript" src="images/_help_tips.js?ver=<%=VixVerNum%>"></script>
316
      <script language="JavaScript" type="text/JavaScript">
317
      formTips.tips.activeReplica   = stdTip(200, 'Active Replica', 'This package replica has been marked as active.');
318
      formTips.tips.enabledRelease  = stdTip(200, 'Enabled Release','Replication of this release has been enabled. This will only ' +
319
                                            'be effective if the replica is active');
320
      </script>
321
      <%Call InsertUserScripts%>
322
   </head>
323
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
324
      <!-- HEADER -->
325
      <!--#include file="_header.asp"-->
326
      <!-- BODY ---->
327
      <table class="full_table">
328
         <tr>
329
            <td width="146px" class="panel_bg" valign="top">
330
                <%Call LeftPanelContent%>
331
            </td>
332
            <td width="90%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
333
                <%Call MainPanelContent%>
334
            </td>
335
         </tr>
336
         <tr>
337
            <td class="panel_bg" valign="bottom" align="center" height="350"></td>
338
         </tr>
339
      </table>
340
      <!-- FOOTER -->
341
      <!--#include file="_footer.asp"-->
342
   </body>
343
</html>
344