//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); }
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); }