/// <summary> /// Delete widget /// </summary> /// <param name="widget">Widget</param> public virtual void DeleteWidget(Widget widget) { if (widget == null) throw new ArgumentNullException("widget"); _widgetRepository.Delete(widget); _cacheManager.RemoveByPattern(WIDGETS_PATTERN_KEY); //event notification _eventPublisher.EntityDeleted(widget); }
public void Can_save_and_load_widget() { var widget = new Widget { WidgetZone = WidgetZone.AfterContent, PluginSystemName = "TestPluginSystemName", DisplayOrder = 1, }; var fromDb = SaveAndLoadEntity(widget); fromDb.ShouldNotBeNull(); fromDb.WidgetZone.ShouldEqual(WidgetZone.AfterContent); fromDb.PluginSystemName.ShouldEqual("TestPluginSystemName"); fromDb.DisplayOrder.ShouldEqual(1); }
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); }
protected WidgetModel PrepareWidgetModel(Widget widget) { var widgetPlugin = _widgetService.LoadWidgetPluginBySystemName(widget.PluginSystemName); if (widgetPlugin == null || !widgetPlugin.PluginDescriptor.Installed) return null; //don't throw an exception. Maybe, plugin widget was deleted. var model = new WidgetModel() { Id = widget.Id, WidgetZoneId = widget.WidgetZoneId, WidgetZoneName = widget.WidgetZone.GetLocalizedEnum(_localizationService, _workContext), PluginFriendlyName = widgetPlugin.PluginDescriptor.FriendlyName, DisplayOrder = widget.DisplayOrder, }; return model; }