Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3610 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|                ADMIN Page                         |
6
'|               Build Service                       |
7
'|                                                   |
8
'=====================================================
9
%>
10
<%
11
Option explicit
12
' Good idea to set when using redirect
13
Response.Expires = 0   ' always load the page, dont store
14
%>
15
<!--#include file="common/conf.asp"-->
16
<!--#include file="common/globals.asp"-->
17
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
19
 
20
<%
21
'------------ ACCESS CONTROL ------------------
22
%>
23
<!--#include file="_access_control_general.asp"-->
24
<%
25
'------------ Variable Definition -------------
4028 dpurdie 26
Dim active
27
 
3610 dpurdie 28
'------------ Constants Declaration -----------
29
'------------ Variable Init -------------------
4028 dpurdie 30
active = objAccessControl.IsActive("ConfigureBuildService")
31
 
3610 dpurdie 32
'----------------------------------------------
3959 dpurdie 33
 
34
function testFromRegistry (strRegistryKey )
35
    Dim WSHShell, value
36
 
37
    On Error Resume Next
38
    Set WSHShell = CreateObject("WScript.Shell")
39
    value = WSHShell.RegRead( strRegistryKey )
40
 
41
    testFromRegistry = NOT (err.number <> 0)
42
 
43
    set WSHShell = nothing
4028 dpurdie 44
end function
45
 
4240 dpurdie 46
Function makeAjaxButton( text, script )
47
    If active Then
4246 dpurdie 48
        makeAjaxButton = "&nbsp;&nbsp;<a id="""&script &""" href="""" class=""form_btn"" title=""" &text& """ onclick="""&script&"();return false;"">"&text&"</a>"
4240 dpurdie 49
    Else
4246 dpurdie 50
        makeAjaxButton = "&nbsp;&nbsp;<a class=""form_btn_disabled"" title=""" &text& """>"&text&"</a>"
4240 dpurdie 51
    End If
52
End Function
53
 
3610 dpurdie 54
%>
4240 dpurdie 55
<script type="text/javascript" src="scripts/json2.js"></script>
56
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
57
<script type="text/javascript" charset="utf-8">
58
///////////////////////////////////////////////
59
//  Function:    ajaxOpr
60
//  Description: Perform an ajax operation
4477 dpurdie 61
//  Args       :    prog        - Progam to invoke
62
//                  args        - Part of URL to pass to script
4240 dpurdie 63
//                  callback    - Callback on success
64
//                  ecall       - Callback on error            
65
//
4477 dpurdie 66
function ajaxOpr(prog, args, callback, ecall)
4240 dpurdie 67
{
4482 dpurdie 68
    var xmlHttp 
69
    xmlHttp=GetXmlHttpObject(function(){ ajaxOprCallback(xmlHttp,callback, ecall);});
4240 dpurdie 70
    if (xmlHttp==null)
71
    {
72
      alert ("Your browser does not support AJAX!");
73
      return;
74
    }
3610 dpurdie 75
 
4477 dpurdie 76
    var url = prog + "?" + args;
4240 dpurdie 77
 
78
    // Use async request, otherwise the spinner will not work
79
    xmlHttp.open("GET",url,true);  // `false` makes the request synchronous
80
    xmlHttp.send(null);
81
}
82
///////////////////////////////////////////////
83
//  Function:    ajaxOprCallback
84
//  Description: Perform an Ajax operation generic error handling
4482 dpurdie 85
//  Args       :    xmlHttp  - Ajax Object
86
//                  callback - Function to process json results
87
//                             Json has been decoded and is a javascript object
88
//                             Handle errors for the user
89
//                  ecall    - Function called on error. 
90
//                             User should indicate failure
91
//                             This function will issue an alert for the caller
4240 dpurdie 92
//
4482 dpurdie 93
function ajaxOprCallback(xmlHttp,callback, ecall)
4240 dpurdie 94
{
95
    //readyState of 4 or 'complete' represents that data has been returned
96
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
97
    {
98
        // alert("Got to getAllProjectKeysDone"+ xmlHttp.responseText);
99
        if (xmlHttp.status !== 200) {
100
            ecall('Bad Status');
101
            alert("Internal AJAX error: " + xmlHttp.status);
102
        }
103
        else
104
        {
105
            // Gather the results from the callback
106
            var str = xmlHttp.responseText;
107
            try {
108
                var myJson = JSON.parse(str);
109
                //alert("ajaxOprCallback:" + str);
110
                if (myJson.result != 0) {
111
                    ecall('Error');
112
                    alert("AJAX request error: " + myJson.emsgSummary);
113
                }
114
                else {
115
                    callback(myJson);
116
                }
117
            }
118
            catch(e) {
4477 dpurdie 119
                ecall('Error');
120
                alert("JSON Parse Error: " + e);
4240 dpurdie 121
            }
122
        }
123
    }
124
}
125
 
126
///////////////////////////////////////////////
127
//  Function:       jiraTest   
128
//  Description:    Get the list of projects from the Jira Server
129
//
130
function jiraTest()
131
{
132
    //  Show that testing has started
133
    var el = document.getElementById("jiraTest");
4399 dpurdie 134
    el.innerHTML = 'Testing';
4240 dpurdie 135
 
4477 dpurdie 136
    ajaxOpr('_json_jiraIssues.asp',
137
            'Opr=getAllKeys', 
4399 dpurdie 138
            function(myJson){ el.innerHTML = 'Test OK'; },
139
            function(txt){ el.innerHTML = "Test Failed:" + txt}
4240 dpurdie 140
           );
141
}
4477 dpurdie 142
 
143
///////////////////////////////////////////////
144
//  Function:       zipTest   
145
//  Description:    Test that the server can ZIP a file
146
//
147
function zipTest()
148
{
149
    //  Show that testing has started
150
    var el = document.getElementById("zipTest");
151
    el.innerHTML = 'Testing';
152
 
153
    ajaxOpr('_json_RmTests.asp',
154
            'Opr=zipTest', 
155
            function(myJson){ el.innerHTML = 'Test OK'; },
156
            function(txt){ el.innerHTML = "Test Failed:" + txt}
157
           );
158
}
159
 
4482 dpurdie 160
///////////////////////////////////////////////
161
//  Function:       eventTest   
162
//  Description:    Test that the server can send an Event
163
//
164
function eventTest()
165
{
166
    //  Show that testing has started
167
    var el = document.getElementById("eventTest");
168
    el.innerHTML = 'Sending';
4477 dpurdie 169
 
4482 dpurdie 170
    ajaxOpr('_json_RmTests.asp',
171
            'Opr=eventTest', 
172
            function(myJson){ el.innerHTML = 'Sent OK'; },
173
            function(txt){ el.innerHTML = "Test Failed:" + txt}
174
           );
175
}
176
 
177
///////////////////////////////////////////////
178
//  Function:       emailTest   
179
//  Description:    Test that the server can send an email
180
//
181
function emailTest()
182
{
183
    //  Show that testing has started
184
    var el = document.getElementById("emailTest");
185
    el.innerHTML = 'Sending';
186
 
187
    ajaxOpr('_json_RmTests.asp',
188
            'Opr=emailTest', 
189
            function(myJson){ el.innerHTML = 'Sent OK'; },
190
            function(txt){ el.innerHTML = "Test Failed:" + txt}
191
           );
192
}
193
///////////////////////////////////////////////
194
//  Function:       emailTest1   
195
//  Description:    Test that the server can send an email with an attachment
196
//
197
function emailTest1()
198
{
199
    //  Show that testing has started
200
    var el = document.getElementById("emailTest1");
201
    el.innerHTML = 'Sending';
202
 
203
    ajaxOpr('_json_RmTests.asp',
204
            'Opr=emailTest&Mode=Attach', 
205
            function(myJson){ el.innerHTML = 'Sent OK'; },
206
            function(txt){ el.innerHTML = "Test Failed:" + txt}
207
           );
208
}
209
 
210
///////////////////////////////////////////////
211
//  Function:       emailTest2
212
//  Description:    Test that the server can send an email from a WSH script
213
//
214
function emailTest2()
215
{
216
    //  Show that testing has started
217
    var el = document.getElementById("emailTest2");
218
    el.innerHTML = 'Sending';
219
 
220
    ajaxOpr('_json_RmTests.asp',
221
            'Opr=emailWshTest', 
222
            function(myJson){ el.innerHTML = 'Sent OK'; },
223
            function(txt){ el.innerHTML = "Test Failed:" + txt}
224
           );
225
}
226
 
227
///////////////////////////////////////////////
228
//  Function:       remExec
229
//  Description:    Test Remote Execution (Wsh)
230
//
231
function remExec()
232
{
233
    //  Show that testing has started
234
    var el = document.getElementById("remExec");
235
    el.innerHTML = 'Testing';
236
 
237
    ajaxOpr('_json_RmTests.asp',
238
            'Opr=remExecTest', 
239
            function(myJson){ el.innerHTML = 'Test OK'; },
240
            function(txt){ el.innerHTML = "Test Failed:" + txt}
241
           );
242
}
243
 
244
///////////////////////////////////////////////
245
//  Function:       pkgAccess
246
//  Description:    Test Remote Execution (Wsh)
247
//
248
function pkgAccess()
249
{
250
    //  Show that testing has started
251
    var el = document.getElementById("pkgAccess");
252
    el.innerHTML = 'Testing';
253
 
254
    ajaxOpr('_json_RmTests.asp',
255
            'Opr=pkgAccessTest', 
256
            function(myJson){ el.innerHTML = 'Test OK'; },
257
            function(txt){ el.innerHTML = "Test Failed:" + txt}
258
           );
259
}
260
 
4240 dpurdie 261
</script>
3610 dpurdie 262
<html>
263
<head>
264
 
265
<title>Admin Test Page</title>
266
 
267
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
268
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
269
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
270
<link rel="stylesheet" href="images/navigation.css" type="text/css">
271
<script language="JavaScript" src="images/common.js"></script>
272
<!-- DROPDOWN MENUS -->
273
<!--#include file="_menu_def.asp"-->
274
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
4399 dpurdie 275
<!-- StyleSheet Extensions -->
276
<style>
277
.pagebody {margin-left:auto; margin-right:auto; width:50%;border-width: 0px;border-spacing: 2px; background-color: rgb(255, 204, 0)}
278
.pagebody td{white-space:nowrap;vertical-align: top;text-align: left;padding-left: 3px;padding-right: 3px; background: #f2f0e4}
279
.tablehdr td{background-color: rgb(255, 204, 0)}
280
</style>
3610 dpurdie 281
</head>
282
 
283
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
284
<!-- MENU LAYERS -------------------------------------->
285
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
286
</div>
287
<!-- TIPS LAYERS -------------------------------------->
288
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
289
<!-- HEADER -->
290
<!--#include file="_header.asp"-->
4399 dpurdie 291
<p>
292
<!-- Body of the page -->
293
<table class="pagebody">
294
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
295
   <tr class="body_col tablehdr">
296
      <td>Test</td>
297
      <td>Result</td>
298
   </tr>
3610 dpurdie 299
 
4399 dpurdie 300
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
301
   <tr class="body_row">
302
      <td>User ID</td>
303
      <td><%=objAccessControl.UserId%></td>
3610 dpurdie 304
   </tr>
4399 dpurdie 305
   <tr class="body_row">
306
      <td>User Name</td>
307
      <td><%=objAccessControl.UserName%></td>
308
   </tr>
309
   <tr class="body_row">
310
      <td>User Email</td>
311
      <td><%=objAccessControl.UserEmail%></td>
312
   </tr>
3610 dpurdie 313
 
4399 dpurdie 314
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
315
   <tr class="body_row">
316
      <td>DataBase Name</td>
317
      <td><%=OraDatabase.DatabaseName%></td>
318
   </tr>
4028 dpurdie 319
 
4399 dpurdie 320
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
321
   <tr class="body_row">
322
      <td>Archive Server</td>
323
      <td><%=archive_server%></td>
324
   </tr>
3611 dpurdie 325
 
4399 dpurdie 326
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
327
   <tr class="body_row">
328
      <td>Package Archive Access - Map File System</td>
4482 dpurdie 329
      <td><%=makeAjaxButton("Test", "pkgAccess")%></td>
4399 dpurdie 330
   </tr>
3610 dpurdie 331
 
4399 dpurdie 332
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
333
   <tr class="body_row">
334
      <td>Package Archive Access - Remote cmd execution</td>
4482 dpurdie 335
      <td><%=makeAjaxButton("Test", "remExec")%></td>
4399 dpurdie 336
   </tr>
3959 dpurdie 337
 
4399 dpurdie 338
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
339
   <tr class="body_row">
340
   <%
341
       Dim sKey1, sKey2, sValue1, sValue2, kFragment
342
       kFragment = "rsa2@22:" & archive_server
343
       sKey1 = "HKEY_USERS\S-1-5-20\Software\SimonTatham\PuTTY\SshHostKeys\" & kFragment
344
       sKey2 = "HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys\" & kFragment
345
       sValue1 = testFromRegistry(sKey1)
346
       sValue2 = testFromRegistry(sKey2)
347
   %>
348
      <td>Plink Key [<%=sKey1%>]</td>
349
      <td><%=sValue1%></td>
350
   </tr>
351
   <tr class="body_row">
352
      <td>Plink Key [<%=sKey2%>]</td>
353
      <td><%=sValue2%></td>
354
   </tr>
355
 
356
  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
357
   <tr class="body_row">
4477 dpurdie 358
     <td>Zip File</td>
359
     <td><%=makeAjaxButton("Test", "zipTest")%></td>
360
   </tr>
361
 
362
  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
363
   <tr class="body_row">
4399 dpurdie 364
      <td>Email Server</td>
365
      <td><%=MAIL_SERVER%></td>
366
   </tr>
367
   <tr class="body_row">
368
      <td>Admin Email</td>
369
      <td><%=adminEmail%></td>
370
   </tr>
371
   <tr class="body_row">
372
      <td>Send Email</td>
4482 dpurdie 373
      <td><%=makeAjaxButton("eMail", "emailTest")%></td>
4399 dpurdie 374
   </tr>
375
   <tr class="body_row">
376
      <td>Send Email With attachment</td>
4482 dpurdie 377
      <td><%=makeAjaxButton("eMail", "emailTest1")%></td>
4399 dpurdie 378
   </tr>
379
   <tr class="body_row">
380
     <td>Send Email from WSH script</td>
4482 dpurdie 381
     <td><%=makeAjaxButton("eMail", "emailTest2")%></td>
4399 dpurdie 382
   </tr>
4246 dpurdie 383
 
4399 dpurdie 384
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
385
   <tr class="body_row">
386
    <td>Generate error event</td>
4482 dpurdie 387
    <td><%=makeAjaxButton("Event", "eventTest")%></td>
4399 dpurdie 388
   </tr>
3611 dpurdie 389
 
4399 dpurdie 390
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
391
   <tr class="body_row">
392
      <td>Jira Server</td>
393
      <td><%=JIRA_URL%></td>
394
   </tr>
395
   <tr class="body_row">
396
      <td>Jira Test</td>
397
      <td><%=makeAjaxButton("Test", "jiraTest")%></td>
398
   </tr>
4246 dpurdie 399
 
4399 dpurdie 400
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
401
   <tr class="body_col tablehdr">
402
      <td>End of Tests</td>
403
      <td><a class="form_btn" href="admin_build_test_page.asp" title="Refresh Page">Refresh</a></td>
404
   </tr>
405
 
406
</table>
407
<input type="hidden" name="action" value="true">
408
<p>
3610 dpurdie 409
</body>
410
</html>
411
<!-- FOOTER -->
412
<!--#include file="_footer.asp"-->
413
<%
414
Call Destroy_All_Objects
415
%>