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