public void RunPyScript() { var content = DbUtil.Db.ContentOfTypePythonScript(Report); if (content == null) throw new Exception("no script named " + Report); if (!CanRunScript(content)) throw new Exception("Not Authorized to run this script"); if (!content.Contains("BlueToolbarReport") && !content.Contains("@BlueToolbarTagId")) throw new Exception("Missing Call to Query Function 'BlueToolbarReport'"); if (Id == Guid.Empty) throw new Exception("Must be run from the BlueToolbar"); var pe = new PythonModel(Util.Host); pe.DictionaryAdd("BlueToolbarGuid", Id.ToCode()); foreach (var key in HttpContext.Current.Request.QueryString.AllKeys) pe.DictionaryAdd(key, HttpContext.Current.Request.QueryString[key]); pe.RunScript(content); Results = pe.Output; }
public ActionResult PyScriptForm() { try { var pe = new PythonModel(Util.Host); foreach (var key in Request.Form.AllKeys) pe.DictionaryAdd(key, Request.Form[key]); pe.HttpMethod = "post"; var script = FetchPyScriptForm(pe.Data.pyscript); return Content(pe.RunScript(script)); } catch (Exception ex) { return RedirectShowError(ex.Message); } }
public ActionResult PyScriptForm(string name) { try { var script = FetchPyScriptForm(name); if (!script.HasValue()) return Message("no script named " + name); var pe = new PythonModel(Util.Host); foreach (var key in Request.QueryString.AllKeys) pe.DictionaryAdd(key, Request.QueryString[key]); pe.Data.pyscript = name; pe.HttpMethod = "get"; pe.RunScript(script); return View(pe); } catch (Exception ex) { return RedirectShowError(ex.Message); } }
public ActionResult PyScript(string name, string p1, string p2, string v1, string v2) { try { var script = DbUtil.Db.ContentOfTypePythonScript(name); if (!script.HasValue()) return Message("no script named " + name); if (!CanRunScript(script)) return Message("Not Authorized to run this script"); if (script.Contains("model.Form")) return Redirect("/PyScriptForm/" + name); script = script.Replace("@P1", p1 ?? "NULL") .Replace("@P2", p2 ?? "NULL") .Replace("V1", v1 ?? "None") .Replace("V2", v2 ?? "None"); if (script.Contains("@qtagid")) { var id = DbUtil.Db.FetchLastQuery().Id; var tag = DbUtil.Db.PopulateSpecialTag(id, DbUtil.TagTypeId_Query); script = script.Replace("@qtagid", tag.Id.ToString()); } var pe = new PythonModel(Util.Host); if (script.Contains("@BlueToolbarTagId")) { var id = DbUtil.Db.FetchLastQuery().Id; pe.DictionaryAdd("BlueToolbarGuid", id.ToCode()); } foreach (var key in Request.QueryString.AllKeys) pe.DictionaryAdd(key, Request.QueryString[key]); pe.RunScript(script); ViewBag.report = name; ViewBag.url = Request.Url?.PathAndQuery; return View(pe); } catch (Exception ex) { return RedirectShowError(ex.Message); } }
public ActionResult PyScript(Guid id, string report) { var content = DbUtil.Db.ContentOfTypePythonScript(report); if (content == null) return Content("no script named " + report); if (!CanRunScript(content)) return Message("Not Authorized to run this script"); if (!content.Contains("BlueToolbarReport") && !content.Contains("@BlueToolbarTagId")) return Content("Missing Call to Query Function 'BlueToolbarReport'"); if (id == Guid.Empty) return Content("Must be run from the BlueToolbar"); var pe = new PythonModel(Util.Host); pe.DictionaryAdd("BlueToolbarGuid", id.ToCode()); foreach (var key in Request.QueryString.AllKeys) pe.DictionaryAdd(key, Request.QueryString[key]); pe.RunScript(content); return View(pe); }
public bool TryRunPython(int pid) { var ev = Organization.GetExtra(DbUtil.Db, OrgId, "OrgMembersPageScript"); if (!ev.HasValue()) return false; var script = DbUtil.Db.ContentOfTypePythonScript(ev); if (!script.HasValue()) return false; var pe = new PythonModel(Util.Host); pe.Data.OrgId = OrgId; pe.Data.PeopleId = pid; Results = pe.RunScript(script); return true; }