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