Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5048 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'   sdk_opr_json.asp
5
'   Ajax support for SDK operations
6
'       addNew          - New SDK Name
7
'       updateEntry     - Update Sdk Name
8
'       getData         - Get single Sdk Name Entry
9
'=====================================================
10
%>
11
<%
12
Option explicit
13
' Good idea to set when using redirect
14
Response.Expires = 0   ' always load the page, dont store
15
%>
16
<!--#include file="common/conf.asp"-->
17
<!--#include file="common/globals.asp"-->
18
<!--#include file="common/qstr.asp"-->
19
<!--#include file="common/common_subs.asp"-->
20
<!--#include file="_access_control_general.asp"-->
21
<SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="class/classaspJSON.vbs"></SCRIPT> 
22
<%
23
'------------ Variable Definition -------------
24
Dim parOpr
25
Dim result
26
Dim SqlQry
27
Dim rsQry
28
 
29
parOpr = QStrPar("action")
30
result = -1
31
 
32
' Init the output JSON class
33
'   Operations can add data
34
'   Default data will be added at the end
35
Dim oJSON
36
Set oJSON = New aspJSON
37
Dim newitem
38
 
39
Function canModify
40
    canModify = objAccessControl.IsActive("CreateNewProject")
41
    If NOT canModify Then
42
        result = -4
43
        oJSON.data("error") = 1
44
        oJSON.data("emsgSummary") = "Permission denied"
45
        oJSON.data("emsgDetails") = oJSON.data("emsgSummary")
46
    End If
47
End Function
48
 
49
'   
50
'   Perform the body of the operations within a Sub and use
51
'   On Error Resule Next to catch errors that accur in the code
52
'
53
On Error Resume Next
54
If (parOpr = "addNew") Then
55
    If canModify() Then addNewEntry
56
 
57
ElseIf (parOpr = "getData") Then
58
     getData
59
 
60
ElseIf (parOpr = "updateEntry") Then
61
    If canModify() Then updateEntry
62
 
63
Else
64
    oJSON.data("error") = 1
65
    oJSON.data("emsgSummary") = "Unknown JSON Operation"
66
    oJSON.data("emsgDetails") = "The Requested JSON operation is not supported: " & parOpr
67
End If
68
 
69
 
70
' SQL error detection and reporting
71
If objEH.LastOraFailed Then
72
    oJSON.data("error") = 1
73
    result = -1
74
 
75
    oJSON.data("emsgSummary") = objEH.MessageSummary
76
    oJSON.data("emsgDetails") = objEH.MessageDetails
77
    oJSON.data("SqlQry") = SqlQry
78
'
79
'   Detect program errors
80
ElseIf Err.number <> 0 Then
81
    result = -3
82
    oJSON.data("error") = 2
83
    oJSON.data("errnum") = Err.number
84
    oJSON.data("errtxt") = Err.description
85
    oJSON.data("errsrc") = Err.source
86
    oJSON.data("emsgSummary") = "Internal VBScript Error:" & Err.number &  ":" & Err.description
87
End If
88
 
89
'Write single value
90
oJSON.data("result") = result
91
 
92
'function Sleep(seconds)
93
'    dim oshell, cmd
94
'    set oShell = CreateObject("Wscript.Shell")
95
'    cmd = "cmd.exe /c timeout " & seconds & " /nobreak"
96
'    oShell.Run cmd,0,1
97
'End function
98
'
99
'Sleep(2)
100
 
101
 
102
' DEBUG: A Hash of the user provided requests
103
<!--oJSON.data("QueryString") = Request.QueryString       -->
104
<!--                                                      -->
105
<!--Dim requestSet : Set requestSet = oJSON.Collection()  -->
106
<!--Set oJSON.data("Request") = requestSet                -->
107
<!--Dim variableName                                      -->
108
<!--for each variableName in Request.QueryString          -->
109
<!--    requestSet.add variableName, Request(variableName)-->
110
<!--next                                                  -->
111
<!--for each variableName in Request.Form                 -->
112
<!--    requestSet.add variableName, Request(variableName)-->
113
<!--next                                                  -->
114
 
115
 
116
'Return the object
117
Response.Write oJSON.JSONoutput()
118
%>
119
<%
120
'-------------------------------------------------
121
' Function:    addNewEntry
122
' Description: Create a new SDK Name entry
123
Sub addNewEntry
124
 
125
    '   Add a new entry
126
    '
127
    '   Setup for the database access
128
    OraDatabase.Parameters.Add "SDKNAME",    QStrPar("sdkName"), ORAPARM_INPUT, ORATYPE_VARCHAR2
129
    OraDatabase.Parameters.Add "SDKCOMMENT", QStrPar("sdkComment"), ORAPARM_INPUT, ORATYPE_VARCHAR2
130
 
131
     '  Test existance - simply to provide a Nice Error message
132
    SqlQry = "SELECT * FROM SDK_NAMES WHERE SDK_NAME = :SDKNAME"
133
    objEH.ErrorRedirect = FALSE
134
    objEH.TryORA ( OraSession )
135
    On Error Resume Next
136
    Set rsQry = OraDatabase.DbCreateDynaset( SqlQry, ORADYN_DEFAULT )
137
    objEH.CatchORA ( OraSession )
138
    On Error GoTo 0
139
 
140
    If rsQry.RecordCount <> 0 Then
141
        result = -3
142
        oJSON.data("error") = -1
143
        oJSON.data("emsgSummary") = "SDK Name already exists"
144
        oJSON.data("emsgDetails") = oJSON.data("emsgSummary")
145
    Else
146
 
147
        SqlQry = "IaNSERT INTO SDK_NAMES (SDK_NAME, SDK_COMMENT) VALUES (:SDKNAME, :SDKCOMMENT)"
148
        objEH.ErrorRedirect = FALSE
149
        objEH.TryORA ( OraSession )
150
        On Error Resume Next
151
        OraDatabase.ExecuteSQL SqlQry
152
        objEH.CatchORA ( OraSession )
153
        On Error GoTo 0
154
 
155
        result = 0
156
    End If
157
    OraDatabase.Parameters.Remove "SDKCOMMENT"
158
    OraDatabase.Parameters.Remove "SDKNAME"
159
End Sub
160
 
161
'-------------------------------------------------
162
' Function:    getData
163
' Description: get data for a specified SDK Name
164
Sub getData
165
 
166
    '   Get Data for an existing entry
167
    '   Setup for the database access
168
    OraDatabase.Parameters.Add "SDKID",    QStrPar("sdkId"), ORAPARM_INPUT, ORATYPE_NUMBER
169
 
170
    SqlQry = "SELECT * from SDK_NAMES where SDK_ID=:SDKID"
171
 
172
    objEH.ErrorRedirect = FALSE
173
    objEH.TryORA ( OraSession )
174
    On Error Resume Next
175
    Set rsQry = OraDatabase.DbCreateDynaset( SqlQry, ORADYN_DEFAULT )
176
    objEH.CatchORA ( OraSession )
177
    OraDatabase.Parameters.Remove "SDKID"
178
 
179
    Dim resultSet : Set resultSet = oJSON.Collection()
180
    If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
181
        Dim ii
182
        for ii = 0 to rsQry.Fields.Count - 1
183
            resultSet (rsQry.FieldName(ii)) = rsQry.Fields(ii)
184
        Next
185
        Set oJSON.data("aaData") = resultSet
186
        result = 0
187
    End If
188
    rsQry.Close
189
    Set rsQry = Nothing
190
End Sub
191
 
192
'-------------------------------------------------
193
' Function:    updateEntry
194
' Description: Update an exxisting SDK Names entry
195
Sub updateEntry
196
 
197
    '
198
    '
199
    OraDatabase.Parameters.Add "SDKID",      QStrPar("sdkId"), ORAPARM_INPUT, ORATYPE_NUMBER
200
    OraDatabase.Parameters.Add "SDKNAME",    QStrPar("sdkName"), ORAPARM_INPUT, ORATYPE_VARCHAR2
201
    OraDatabase.Parameters.Add "SDKCOMMENT", QStrPar("sdkComment"), ORAPARM_INPUT, ORATYPE_VARCHAR2
202
 
203
    '  Test existance - simply to provide a Nice Error message
204
    SqlQry = "SELECT * FROM SDK_NAMES WHERE SDK_NAME = :SDKNAME AND  SDK_ID != :SDKID"
205
    objEH.ErrorRedirect = FALSE
206
    objEH.TryORA ( OraSession )
207
    On Error Resume Next
208
    Set rsQry = OraDatabase.DbCreateDynaset( SqlQry, ORADYN_DEFAULT )
209
    objEH.CatchORA ( OraSession )
210
    On Error GoTo 0
211
 
212
    If rsQry.RecordCount <> 0 Then
213
        result = -3
214
        oJSON.data("error") = -1
215
        oJSON.data("emsgSummary") = "SDK Name already exists"
216
        oJSON.data("emsgDetails") = oJSON.data("emsgSummary")
217
    Else
218
        '   Update an existing entry
219
        SqlQry = "UPDATE SDK_NAMES SET SDK_NAME = :SDKNAME, SDK_COMMENT = :SDKCOMMENT WHERE SDK_ID = :SDKID"
220
        objEH.ErrorRedirect = FALSE
221
        objEH.TryORA ( OraSession )
222
        On Error Resume Next
223
        OraDatabase.ExecuteSQL SqlQry
224
        objEH.CatchORA ( OraSession )
225
        On Error GoTo 0
226
        result = 0
227
    End If
228
 
229
    OraDatabase.Parameters.Remove "SDKCOMMENT"
230
    OraDatabase.Parameters.Remove "SDKNAME"
231
    OraDatabase.Parameters.Remove "SDKID"
232
End Sub
233
%>