Пример #1
0
        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);
        }
Пример #2
0
        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);
                }
            }
        }