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