public ActionResult Edit(EditWidgetModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedView()); } var widget = _widgetService.GetWidgetById(model.Id); if (widget == null) { //No widget found with the specified id return(RedirectToAction("List")); } var widgetPlugin = _widgetService.LoadWidgetPluginBySystemName(widget.PluginSystemName); if (widgetPlugin == null) { //No widget plugin found with the specified id return(RedirectToAction("List")); } string actionName, controllerName; RouteValueDictionary routeValues; widgetPlugin.GetConfigurationRoute(widget.Id, out actionName, out controllerName, out routeValues); model.ConfigurationActionName = actionName; model.ConfigurationControllerName = controllerName; model.ConfigurationRouteValues = routeValues; 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"); } model.PluginFriendlyName = widgetPlugin.PluginDescriptor.FriendlyName; widget.DisplayOrder = model.DisplayOrder; widget.WidgetZoneId = model.WidgetZoneId; _widgetService.UpdateWidget(widget); //activity log _customerActivityService.InsertActivity("EditWidget", _localizationService.GetResource("ActivityLog.EditWidget"), widget.Id); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Widgets.Updated")); 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)); }
//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)); }