protected override void OnActionExecuting(ActionExecutingContext filterContext) { CurrentStore = ExceptionsModule.GetStore(Request.Params["store"]); CurrentGroup = Request.Params["group"]; CurrentLog = Request.Params["log"] ?? Request.Params["app"]; // old link compat CurrentId = Request.Params["id"].HasValue() && Guid.TryParse(Request.Params["id"], out var guid) ? guid : (Guid?)null; CurrentSimilarId = Request.Params["similar"].HasValue() && Guid.TryParse(Request.Params["similar"], out var similarGuid) ? similarGuid : (Guid?)null; Enum.TryParse(Request.Params["sort"], out CurrentSort); if (CurrentLog.HasValue()) { var storeApps = CurrentStore.Applications.Data; var a = storeApps?.Find(app => app.Name == CurrentLog) ?? storeApps?.Find(app => app.ShortName == CurrentLog); if (a != null) { // Correct the log name to a found one, this enables short names to work. CurrentLog = a.Name; // Make pre-group links work correctly if (CurrentGroup.IsNullOrEmpty()) { // Old links, that didn't know about groups var g = ApplicationGroups.Find(gr => gr[a.Name] != null); if (g != null) { CurrentGroup = g.Name; } } } } Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); base.OnActionExecuting(filterContext); }
public ExceptionsController(ExceptionsModule module, IOptions <OpserverSettings> settings) : base(module, settings) { CurrentStore = Module.GetStore(GetParam("store")); CurrentGroup = GetParam("group"); CurrentLog = GetParam("log") ?? GetParam("app"); // old link compat CurrentId = GetParam("id").HasValue() && Guid.TryParse(GetParam("id"), out var guid) ? guid : (Guid?)null; CurrentSimilarId = GetParam("similar").HasValue() && Guid.TryParse(GetParam("similar"), out var similarGuid) ? similarGuid : (Guid?)null; Enum.TryParse(GetParam("sort"), out CurrentSort); if (CurrentLog.HasValue()) { var storeApps = CurrentStore.Applications.Data; var a = storeApps?.Find(app => app.Name == CurrentLog) ?? storeApps?.Find(app => app.ShortName == CurrentLog); if (a != null) { // Correct the log name to a found one, this enables short names to work. CurrentLog = a.Name; // Make pre-group links work correctly if (CurrentGroup.IsNullOrEmpty()) { // Old links, that didn't know about groups var g = ApplicationGroups.Find(gr => gr[a.Name] != null); if (g != null) { CurrentGroup = g.Name; } } } } }
public override void OnActionExecuting(ActionExecutingContext context) { CurrentStore = Module.GetStore(GetParam("store")); CurrentGroup = GetParam("group"); CurrentLog = GetParam("log") ?? GetParam("app"); // old link compat CurrentId = GetParam("id").HasValue() && Guid.TryParse(GetParam("id"), out var guid) ? guid : (Guid?)null; CurrentSimilarId = GetParam("similar").HasValue() && Guid.TryParse(GetParam("similar"), out var similarGuid) ? similarGuid : (Guid?)null; Enum.TryParse(GetParam("sort"), out CurrentSort); CurrentUrl = GetParam("url")?.Trim(); CurrentHost = GetParam("host")?.Trim(); if (GetDate("startDate") is DateTime startDate) { CurrentStartDate = startDate; } if (GetDate("endDate") is DateTime endDate) { CurrentEndDate = endDate; } if (CurrentLog.HasValue()) { var storeApps = CurrentStore.Applications.Data; var a = storeApps?.Find(app => app.Name == CurrentLog) ?? storeApps?.Find(app => app.ShortName == CurrentLog); if (a != null) { // Correct the log name to a found one, this enables short names to work. CurrentLog = a.Name; // Make pre-group links work correctly if (CurrentGroup.IsNullOrEmpty()) { // Old links, that didn't know about groups var g = ApplicationGroups.Find(gr => gr[a.Name] != null); if (g != null) { CurrentGroup = g.Name; } } } } base.OnActionExecuting(context); }