Exemple #1
0
        //create
        public ActionResult Create(string systemName)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
                return AccessDeniedView();

            var widgetPlugin = _widgetService.LoadWidgetPluginBySystemName(systemName);
            if (widgetPlugin == null)
                //No widget plugin found with the specified id
                return RedirectToAction("List");

            var model = new EditWidgetModel();
            model.DisplayOrder = 1; //default value
            model.PluginFriendlyName = widgetPlugin.PluginDescriptor.FriendlyName;
            var supportedWidgetZones = widgetPlugin.SupportedWidgetZones();
            if (supportedWidgetZones == null || supportedWidgetZones.Count == 0)
            {
                model.SupportedWidgetZones = WidgetZone.HeadHtmlTag.ToSelectList();
            }
            else
            {
                var zoneValues = from supportedWidgetZone in supportedWidgetZones
                             select new { ID = Convert.ToInt32(supportedWidgetZone), Name = supportedWidgetZone.GetLocalizedEnum(_localizationService, _workContext) };
                model.SupportedWidgetZones = new SelectList(zoneValues, "ID", "Name");
            }

            string actionName, controllerName;
            RouteValueDictionary routeValues;
            widgetPlugin.GetConfigurationRoute(0, out actionName, out controllerName, out routeValues);
            model.ConfigurationActionName = actionName;
            model.ConfigurationControllerName = controllerName;
            model.ConfigurationRouteValues = routeValues;
            return View(model);
        }
Exemple #2
0
        public ActionResult Create(string systemName, EditWidgetModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
                return AccessDeniedView();

            var widgetPlugin = _widgetService.LoadWidgetPluginBySystemName(systemName);
            if (widgetPlugin == null)
                //No widget plugin found with the specified id
                return RedirectToAction("List");

            var widget = new Widget();
            widget.PluginSystemName = systemName;
            widget.DisplayOrder = model.DisplayOrder;
            widget.WidgetZoneId = model.WidgetZoneId;
            _widgetService.InsertWidget(widget);

            model.Id = widget.Id;

            var supportedWidgetZones = widgetPlugin.SupportedWidgetZones();
            if (supportedWidgetZones == null || supportedWidgetZones.Count == 0)
            {
                model.SupportedWidgetZones = WidgetZone.HeadHtmlTag.ToSelectList();
            }
            else
            {
                var zoneValues = from supportedWidgetZone in supportedWidgetZones
                                 select new { ID = Convert.ToInt32(supportedWidgetZone), Name = supportedWidgetZone.GetLocalizedEnum(_localizationService, _workContext) };
                model.SupportedWidgetZones = new SelectList(zoneValues, "ID", "Name");
            }

            string actionName, controllerName;
            RouteValueDictionary routeValues;
            widgetPlugin.GetConfigurationRoute(widget.Id, out actionName, out controllerName, out routeValues);
            model.ConfigurationActionName = actionName;
            model.ConfigurationControllerName = controllerName;
            model.ConfigurationRouteValues = routeValues;

            model.PluginFriendlyName = widgetPlugin.PluginDescriptor.FriendlyName;

            ViewBag.RedirectedToList = true;

            //activity log
            _customerActivityService.InsertActivity("AddNewWidget", _localizationService.GetResource("ActivityLog.AddNewWidget"), widget.Id);

            SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Widgets.Added"));
            return View(model);
        }
        //edit
        public ActionResult Edit(int id)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
                return AccessDeniedView();

            var widget = _widgetService.GetWidgetById(id);
            if (widget == null)
                throw new ArgumentException("No widget found with the specified id", "id");

            var widgetPlugin = _widgetService.LoadWidgetPluginBySystemName(widget.PluginSystemName);
            if (widgetPlugin == null)
                throw new ArgumentException("No widget plugin found with the specified system name");

            var model = new EditWidgetModel();
            model.Id = widget.Id;
            model.DisplayOrder = widget.DisplayOrder;
            model.PluginFriendlyName = widgetPlugin.PluginDescriptor.FriendlyName;
            model.WidgetZoneId = widget.WidgetZoneId;
            var supportedWidgetZones = widgetPlugin.SupportedWidgetZones();
            if (supportedWidgetZones == null || supportedWidgetZones.Count == 0)
            {
                model.SupportedWidgetZones = WidgetZone.HeadHtmlTag.ToSelectList();
            }
            else
            {
                var zoneValues = from supportedWidgetZone in supportedWidgetZones
                                 select new { ID = Convert.ToInt32(supportedWidgetZone), Name = supportedWidgetZone.GetLocalizedEnum(_localizationService, _workContext) };
                model.SupportedWidgetZones = new SelectList(zoneValues, "ID", "Name");
            }

            string actionName, controllerName;
            RouteValueDictionary routeValues;
            widgetPlugin.GetConfigurationRoute(widget.Id, out actionName, out controllerName, out routeValues);
            model.ConfigurationActionName = actionName;
            model.ConfigurationControllerName = controllerName;
            model.ConfigurationRouteValues = routeValues;

            return View(model);
        }