public ActionResult Edit(int id) { if (!CheckPermission(WidgetPermissions.ManageWidgets)) { return(new HttpUnauthorizedResult()); } var model = zoneService.GetById(id); var result = new ControlFormResult <ZoneModel>(model) { Title = T("Edit Zone").Text, UpdateActionName = "Update", ShowBoxHeader = false, FormWrapperStartHtml = Constants.Form.FormWrapperStartHtml, FormWrapperEndHtml = Constants.Form.FormWrapperEndHtml }; return(result); }
public void OnResultExecuting(ResultExecutingContext filterContext) { // should only run on a full view rendering result if (!(filterContext.Result is ViewResult)) { return; } if (filterContext.HttpContext.Request.IsAjaxRequest()) { return; } var workContext = workContextAccessor.GetContext(filterContext); if (workContext == null || workContext.Layout == null) { return; } var widgets = providers.SelectMany(x => x.GetWidgets(workContext)).ToList(); var zones = workContext.Layout.Zones; var resourceTypes = new List <ResourceType>(); foreach (var widget in widgets) { resourceTypes.AddRange(widget.GetAdditionalResources()); var widgetShape = shapeFactory.Widget(); widgetShape.Widget = widget; var zoneRecord = zoneService.GetById(widget.ZoneId); if (zoneRecord != null) { var zone = zones[zoneRecord.Name]; zone.Add(widgetShape, widget.Order.ToString(CultureInfo.InvariantCulture)); } } if (resourceTypes.Count > 0) { var scriptRegister = new ScriptRegister(workContext); var styleRegister = new StyleRegister(workContext); foreach (var resourceType in resourceTypes) { ResourcesManager.LookupResources(resourceType, scriptRegister, styleRegister); } } }