Rev 7168 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'=====================================================' Daemon Plan control interface' _json_plan_control.asp' Designed to be called via AJAX and to return' JSON formatted data to dynamic page'=====================================================%><%Option explicit' Essential to get UTF through all the hoops. ie: VÄSTTRAFIK (VTK)Response.ContentType = "text/html"Response.AddHeader "Content-Type", "text/html;charset=UTF-8"Response.CodePage = 65001Response.CharSet = "UTF-8"%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><% '------------ ACCESS CONTROL ------------------ %><!--#include file="_access_control_general.asp"--><SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="class/classaspJSON.vbs"></SCRIPT><%'------------ Variable Definition -------------Dim parOprDim resultDim SqlQryDim rsQryDim canControlparOpr = QStrPar("opr")result = -1' Init the output JSON class' Operations can add data' Default data will be added at the endDim oJSONSet oJSON = New aspJSONDim newitem'' Perform the body of the operations within a Sub and use' On Error Resule Next to catch errors that accur in the code'On Error Resume NextIf (parOpr = "setThreshold") ThensetThresholdElseIf (parOpr = "setDrop") ThensetDropElseoJSON.data("error") = 1oJSON.data("emsgSummary") = "Unknown JSON Operation"oJSON.data("emsgDetails") = "The Requested JSON operation is not supported: " & parOprEnd If' SQL error detection and reportingIf objEH.LastOraFailed ThenoJSON.data("error") = 1result = -1oJSON.data("emsgSummary") = objEH.MessageSummaryoJSON.data("emsgDetails") = objEH.MessageDetailsoJSON.data("SqlQry") = SqlQry'' Detect program errorsElseIf Err.number <> 0 Thenresult = -3oJSON.data("error") = 2oJSON.data("errnum") = Err.numberoJSON.data("errtxt") = Err.descriptionoJSON.data("errsrc") = Err.sourceoJSON.data("emsgSummary") = "Internal VBScript Error:" & Err.number & ":" & Err.descriptionEnd IfOn error goto 0'Write single valueoJSON.data("result") = result'function Sleep(seconds)' dim oshell, cmd' set oShell = CreateObject("Wscript.Shell")' cmd = "cmd.exe /c timeout " & seconds & " /nobreak"' oShell.Run cmd,0,1'End function''Sleep(2)' DEBUG: A Hash of the user provided requests<!--oJSON.data("QueryString") = Request.QueryString --><!-- --><!--Dim requestSet : Set requestSet = oJSON.Collection() --><!--Set oJSON.data("Request") = requestSet --><!--Dim variableName --><!--for each variableName in Request.QueryString --><!-- requestSet.add variableName, Request(variableName)--><!--next --><!--for each variableName in Request.Form --><!-- requestSet.add variableName, Request(variableName)--><!--next -->'Return the objectResponse.Write oJSON.JSONoutput()Set oJSON = NothingCall Destroy_All_Objects%><%'-------------------------------------------------' Function: setThreshold' Description: Set the PLAN_THRESHOLD indication on the RELEASEFunction canAccesscanAccess = canActionControlInProject("BuildControl")If NOT canAccess ThenoJSON.data("error") = 1oJSON.data("emsgSummary") = "User does not have access to this function"oJSON.data("emsgDetails") = "User does not have access to this function : " & parOprresult = -2End IfEnd Function'-------------------------------------------------' Function: setThreshold' Description: Set the PLAN_THRESHOLD indication on the RELEASESub setThresholdIf canAccess() ThenDim parRtagId : parRtagId = QStrPar("rtag_id")Dim parThreshold : parThreshold = QStrPar("threshold")objEH.ErrorRedirect = FALSEobjEH.TryORA ( OraSession )On Error Resume NextOraDatabase.Parameters.Add "RTAG_ID", parRtagId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "THRESHOLD", parThreshold, ORAPARM_INPUT, ORATYPE_NUMBERSqlQry = "UPDATE RELEASE_TAGS SET PLAN_THRESHOLD = :THRESHOLD where RTAG_ID = :RTAG_ID"OraDatabase.ExecuteSQL SqlQryOraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "THRESHOLD"objEH.CatchORA ( OraSession )result = 0End IfEnd Sub'-------------------------------------------------' Function: setDrop' Description: Set the PLAN_DROP indication on the RELEASESub setDropIf canAccess() ThenDim parRtagId : parRtagId = QStrPar("rtag_id")Dim parMode : parMode = IIF(RequestBool("mode", False), "Y", "N")objEH.ErrorRedirect = FALSEobjEH.TryORA ( OraSession )On Error Resume NextOraDatabase.Parameters.Add "RTAG_ID", parRtagId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PMODE", parMode, ORAPARM_INPUT, ORATYPE_CHARSqlQry = "UPDATE RELEASE_TAGS SET PLAN_DROP = :PMODE where RTAG_ID = :RTAG_ID"OraDatabase.ExecuteSQL SqlQryOraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "PMODE"objEH.CatchORA ( OraSession )result = 0End IfEnd Sub%>