private static string GetThemePath(ControllerContext controllerContext) { var type = ModelBinder.GetModelType(controllerContext); var configuration = RunningObjectsSetup.Configuration.Security.For(type); if (configuration != null) { var container = configuration.FindPolicyContainer(controllerContext); if (container != null && Themes.ContainsKey(container)) { foreach (var pair in Themes[container]) { if (pair.Key()) { return(String.Format("{0}/", pair.Value)); } } } } return(String.Empty); }
public void OnAuthorization(AuthorizationContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } var controllerContext = filterContext.Controller.ControllerContext; var actionName = (string)controllerContext.RouteData.Values["action"]; var action = RunningObjectsAction.Welcome.GetAction(actionName); var bindingContext = MethodBinder.CreateBindingContext(controllerContext); if (action == RunningObjectsAction.Create || action == RunningObjectsAction.Execute) { var methodMapping = MethodBinder.GetMethodMapping(controllerContext, bindingContext, actionName); if (methodMapping != null) { var validateInput = methodMapping.Method.GetCustomAttributes(true).OfType <ValidateRequestAttribute>().FirstOrDefault(); if (validateInput != null) { filterContext.Controller.ValidateRequest = validateInput.Validate; } } } else { var modelType = ModelBinder.GetModelType(controllerContext); if (modelType != null) { var validateInput = modelType.GetCustomAttributes(true).OfType <ValidateRequestAttribute>().FirstOrDefault(); if (validateInput != null && action == validateInput.Action) { filterContext.Controller.ValidateRequest = validateInput.Validate; } } } }