public async Task <IActionResult> WidgetUpdate(WidgetModel model) { var widget = _widgetService.LoadWidgetBySystemName(model.SystemName); if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsActive) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); await _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsActive) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); await _settingService.SaveSetting(_widgetSettings); } } await _cacheManager.Clear(); var pluginDescriptor = widget.PluginDescriptor; //display order pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginConfigFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public ActionResult EditPopup(string btnId, string formId, PluginModel model) { //if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) // return AccessDeniedView(); var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, LoadPluginsMode.All); if (pluginDescriptor == null) { //No plugin found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { //we allow editing of 'friendly name', 'display order', store mappings pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; pluginDescriptor.LimitedToStores.Clear(); PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); } return(View()); }
public async Task <IActionResult> MethodUpdate(AuthenticationMethodModel model) { var eam = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName(model.SystemName); if (eam.IsMethodActive(_externalAuthenticationSettings)) { if (!model.IsActive) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); await _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsActive) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); await _settingService.SaveSetting(_externalAuthenticationSettings); } } var pluginDescriptor = eam.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public IActionResult ProviderUpdate(ShippingRateComputationMethodModel model) { var srcm = _shippingService.LoadShippingRateComputationMethodBySystemName(model.SystemName); if (srcm.IsShippingRateComputationMethodActive(_shippingSettings)) { if (!model.IsActive) { //mark as disabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } else { if (model.IsActive) { //mark as active _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } var pluginDescriptor = srcm.PluginDescriptor; //display order pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public async Task <IActionResult> MethodUpdate(PaymentMethodModel model) { var pm = _paymentService.LoadPaymentMethodBySystemName(model.SystemName); if (pm.IsPaymentMethodActive(_paymentSettings)) { if (!model.IsActive) { //mark as disabled _paymentSettings.ActivePaymentMethodSystemNames.Remove(pm.PluginDescriptor.SystemName); await _settingService.SaveSetting(_paymentSettings); } } else { if (model.IsActive) { //mark as active _paymentSettings.ActivePaymentMethodSystemNames.Add(pm.PluginDescriptor.SystemName); await _settingService.SaveSetting(_paymentSettings); } } var pluginDescriptor = pm.PluginDescriptor; pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public ActionResult UpdateWidget([Bind(Exclude = "ConfigurationRouteValues")] WidgetModel model) { //var settingModel = _settingService.UpdateSetting(); if (model == null) { return(RedirectToAction("AllWidgets")); } var widget = _widgetService.LoadWidgetBySystemName(model.SystemName); if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsActive) { _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsActive) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } var pluginDescriptor = widget.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); _pluginFinder.ReloadPlugins(); return(new JsonResult()); }
public override ActionResult MethodUpdate([Bind(Exclude = "ConfigurationRouteValues")] PaymentMethodModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePaymentMethods)) { return(AccessDeniedView()); } var pm = _paymentService.LoadPaymentMethodBySystemName(model.SystemName); if (pm.IsPaymentMethodActive(_paymentSettings)) { if (!model.IsActive) { //mark as disabled _paymentSettings.ActivePaymentMethodSystemNames.Remove(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); //accordingly update widgets of Square plugin if (model.SystemName.Equals(SquarePaymentDefaults.SystemName)) { if (_widgetSettings.ActiveWidgetSystemNames.Contains(SquarePaymentDefaults.SystemName)) { _widgetSettings.ActiveWidgetSystemNames.Remove(SquarePaymentDefaults.SystemName); } _settingService.SaveSetting(_widgetSettings); } } } else { if (model.IsActive) { //mark as active _paymentSettings.ActivePaymentMethodSystemNames.Add(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); //accordingly update widgets of Square plugin if (model.SystemName.Equals(SquarePaymentDefaults.SystemName)) { if (!_widgetSettings.ActiveWidgetSystemNames.Contains(SquarePaymentDefaults.SystemName)) { _widgetSettings.ActiveWidgetSystemNames.Add(SquarePaymentDefaults.SystemName); } _settingService.SaveSetting(_widgetSettings); } } } var pluginDescriptor = pm.PluginDescriptor; pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public IActionResult Index() { _pluginFinder.ReloadPlugins(); return(View()); }
public virtual IActionResult ProviderUpdate(ShippingProviderModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) { return(AccessDeniedView()); } var srcm = _shippingService.LoadShippingRateComputationMethodBySystemName(model.SystemName); if (_shippingService.IsShippingRateComputationMethodActive(srcm)) { if (!model.IsActive) { //mark as disabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } else { if (model.IsActive) { //mark as active _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } var pluginDescriptor = srcm.PluginDescriptor; //display order pluginDescriptor.DisplayOrder = model.DisplayOrder; //update the description file PluginManager.SavePluginDescriptor(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(pluginDescriptor); return(new NullJsonResult()); }
public virtual IActionResult WidgetUpdate(WidgetModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedView()); } var widget = _widgetService.LoadWidgetBySystemName(model.SystemName); if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsActive) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsActive) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } var pluginDescriptor = widget.PluginDescriptor; //display order pluginDescriptor.DisplayOrder = model.DisplayOrder; //update the description file PluginManager.SavePluginDescriptor(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public virtual IActionResult MethodUpdate(PaymentMethodModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePaymentMethods)) { return(AccessDeniedView()); } var pm = _paymentService.LoadPaymentMethodBySystemName(model.SystemName); if (pm.IsPaymentMethodActive(_paymentSettings)) { if (!model.IsActive) { //mark as disabled _paymentSettings.ActivePaymentMethodSystemNames.Remove(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } } else { if (model.IsActive) { //mark as active _paymentSettings.ActivePaymentMethodSystemNames.Add(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } } var pluginDescriptor = pm.PluginDescriptor; pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; //update the description file PluginManager.SavePluginDescriptor(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(pluginDescriptor); return(new NullJsonResult()); }
public virtual IActionResult MethodUpdate(ExternalAuthenticationMethodModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods)) { return(AccessDeniedView()); } var eam = _externalAuthenticationService.LoadExternalAuthenticationMethodBySystemName(model.SystemName); if (_externalAuthenticationService.IsExternalAuthenticationMethodActive(eam)) { if (!model.IsActive) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsActive) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } var pluginDescriptor = eam.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; //update the description file PluginManager.SavePluginDescriptor(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(pluginDescriptor); return(new NullJsonResult()); }
public ActionResult ProviderUpdate(ShippingRateComputationMethodModel model, GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) { return(AccessDeniedView()); } var srcm = _shippingService.LoadShippingRateComputationMethodBySystemName(model.SystemName); if (srcm.IsShippingRateComputationMethodActive(_shippingSettings)) { if (!model.IsActive) { //mark as disabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } else { if (model.IsActive) { //mark as active _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } var pluginDescriptor = srcm.PluginDescriptor; //display order pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(Providers(command)); }
public ActionResult EditPopup(string btnId, string formId, PluginModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, false); if (pluginDescriptor == null) { //No plugin found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { //we allow editing of 'friendly name' and 'display order' pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); //locales) foreach (var localized in model.Locales) { pluginDescriptor.Instance().SaveLocalizedFriendlyName(_localizationService, localized.LanguageId, localized.FriendlyName); } ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult MethodUpdate([Bind(Exclude = "ConfigurationRouteValues")] AuthenticationMethodModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods)) { return(AccessDeniedView()); } var eam = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName(model.SystemName); if (eam.IsMethodActive(_externalAuthenticationSettings)) { if (!model.IsActive) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove( eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsActive) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add( eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } var pluginDescriptor = eam.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public ActionResult EditPopup(string btnId, string formId, PluginModel model) { var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, LoadPluginsMode.All); if (pluginDescriptor == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); _pluginFinder.ReloadPlugins(); ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } return(View(model)); }
public virtual ActionResult WidgetUpdate([Bind(Exclude = "ConfigurationRouteValues")] WidgetModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedView()); } var widget = _widgetService.LoadWidgetBySystemName(model.SystemName); if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsActive) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsActive) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } var pluginDescriptor = widget.PluginDescriptor; //display subscription pluginDescriptor.DisplaySubscription = model.DisplaySubscription; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return(new NullJsonResult()); }
public virtual IActionResult EditPopup(PluginModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } //try to get a plugin with the specified system name var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, LoadPluginsMode.All); if (pluginDescriptor == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { //we allow editing of 'friendly name', 'display order', store mappings pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; pluginDescriptor.LimitedToStores.Clear(); if (model.SelectedStoreIds.Any()) { pluginDescriptor.LimitedToStores = model.SelectedStoreIds; } pluginDescriptor.LimitedToCustomerRoles.Clear(); if (model.SelectedCustomerRoleIds.Any()) { pluginDescriptor.LimitedToCustomerRoles = model.SelectedCustomerRoleIds; } //update the description file PluginManager.SavePluginDescriptor(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(pluginDescriptor); //locales foreach (var localized in model.Locales) { pluginDescriptor.Instance().SaveLocalizedFriendlyName(_localizationService, localized.LanguageId, localized.FriendlyName); } //enabled/disabled if (pluginDescriptor.Installed) { var pluginInstance = pluginDescriptor.Instance(); switch (pluginInstance) { case IPaymentMethod paymentMethod: if (paymentMethod.IsPaymentMethodActive(_paymentSettings) && !model.IsEnabled) { //mark as disabled _paymentSettings.ActivePaymentMethodSystemNames.Remove(pluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); break; } if (!paymentMethod.IsPaymentMethodActive(_paymentSettings) && model.IsEnabled) { //mark as enabled _paymentSettings.ActivePaymentMethodSystemNames.Add(pluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } break; case IShippingRateComputationMethod shippingRateComputationMethod: if (shippingRateComputationMethod.IsShippingRateComputationMethodActive(_shippingSettings) && !model.IsEnabled) { //mark as disabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(pluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); break; } if (!shippingRateComputationMethod.IsShippingRateComputationMethodActive(_shippingSettings) && model.IsEnabled) { //mark as enabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(pluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } break; case IPickupPointProvider pickupPointProvider: if (pickupPointProvider.IsPickupPointProviderActive(_shippingSettings) && !model.IsEnabled) { //mark as disabled _shippingSettings.ActivePickupPointProviderSystemNames.Remove(pluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); break; } if (!pickupPointProvider.IsPickupPointProviderActive(_shippingSettings) && model.IsEnabled) { //mark as enabled _shippingSettings.ActivePickupPointProviderSystemNames.Add(pluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } break; case ITaxProvider _: if (!model.IsEnabled) { //mark as disabled _taxSettings.ActiveTaxProviderSystemName = string.Empty; _settingService.SaveSetting(_taxSettings); break; } //mark as enabled _taxSettings.ActiveTaxProviderSystemName = model.SystemName; _settingService.SaveSetting(_taxSettings); break; case IExternalAuthenticationMethod externalAuthenticationMethod: if (externalAuthenticationMethod.IsMethodActive(_externalAuthenticationSettings) && !model.IsEnabled) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(pluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); break; } if (!externalAuthenticationMethod.IsMethodActive(_externalAuthenticationSettings) && model.IsEnabled) { //mark as enabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(pluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } break; case IWidgetPlugin widgetPlugin: if (widgetPlugin.IsWidgetActive(_widgetSettings) && !model.IsEnabled) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(pluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); break; } if (!widgetPlugin.IsWidgetActive(_widgetSettings) && model.IsEnabled) { //mark as enabled _widgetSettings.ActiveWidgetSystemNames.Add(pluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } break; } //activity log _customerActivityService.InsertActivity("EditPlugin", string.Format(_localizationService.GetResource("ActivityLog.EditPlugin"), pluginDescriptor.FriendlyName)); } ViewBag.RefreshPage = true; return(View(model)); } //prepare model model = _pluginModelFactory.PreparePluginModel(model, pluginDescriptor, true); //if we got this far, something failed, redisplay form return(View(model)); }
public ActionResult EditPopup(string btnId, string formId, PluginModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, false); if (pluginDescriptor == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.Description = model.Description; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); string settingKey = pluginDescriptor.GetSettingKey("LimitedToStores"); if (model.LimitedToStores && model.SelectedStoreIds != null && model.SelectedStoreIds.Count() > 0) { _settingService.SetSetting <string>(settingKey, string.Join(",", model.SelectedStoreIds)); } else { _settingService.DeleteSetting(settingKey); } // reset plugin and string resources cache _pluginFinder.ReloadPlugins(); _localizationService.ClearCache(); var pluginInstance = pluginDescriptor.Instance(); foreach (var localized in model.Locales) { pluginInstance.SaveLocalizedValue(_localizationService, localized.LanguageId, "FriendlyName", localized.FriendlyName); pluginInstance.SaveLocalizedValue(_localizationService, localized.LanguageId, "Description", localized.Description); } //enabled/disabled if (pluginDescriptor.Installed) { if (pluginInstance is IPaymentMethod) { //payment plugin var pm = (IPaymentMethod)pluginInstance; if (pm.IsPaymentMethodActive(_paymentSettings)) { if (!model.IsEnabled) { //mark as disabled _paymentSettings.ActivePaymentMethodSystemNames.Remove(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } } else { if (model.IsEnabled) { //mark as active _paymentSettings.ActivePaymentMethodSystemNames.Add(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } } } else if (pluginInstance is IShippingRateComputationMethod) { //shipping rate computation method var srcm = (IShippingRateComputationMethod)pluginInstance; if (srcm.IsShippingRateComputationMethodActive(_shippingSettings)) { if (!model.IsEnabled) { //mark as disabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } else { if (model.IsEnabled) { //mark as active _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } } else if (pluginInstance is ITaxProvider) { //tax provider if (model.IsEnabled) { _taxSettings.ActiveTaxProviderSystemName = model.SystemName; _settingService.SaveSetting(_taxSettings); } else { _taxSettings.ActiveTaxProviderSystemName = ""; _settingService.SaveSetting(_taxSettings); } } else if (pluginInstance is IExternalAuthenticationMethod) { //external auth method var eam = (IExternalAuthenticationMethod)pluginInstance; if (eam.IsMethodActive(_externalAuthenticationSettings)) { if (!model.IsEnabled) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsEnabled) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } } else if (pluginInstance is IWidgetPlugin) { //Misc plugins var widget = (IWidgetPlugin)pluginInstance; if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsEnabled) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsEnabled) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } } } ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult EditPopup(string btnId, string formId, PluginModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, LoadPluginsMode.All); if (pluginDescriptor == null) { //No plugin found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { //we allow editing of 'friendly name', 'display order', store mappings pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; pluginDescriptor.LimitedToStores.Clear(); if (model.LimitedToStores && model.SelectedStoreIds != null) { pluginDescriptor.LimitedToStores = model.SelectedStoreIds.ToList(); } PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); //locales foreach (var localized in model.Locales) { pluginDescriptor.Instance().SaveLocalizedFriendlyName(_localizationService, localized.LanguageId, localized.FriendlyName); } //enabled/disabled if (pluginDescriptor.Installed) { var pluginInstance = pluginDescriptor.Instance(); if (pluginInstance is IPaymentMethod) { //payment plugin var pm = (IPaymentMethod)pluginInstance; if (pm.IsPaymentMethodActive(_paymentSettings)) { if (!model.IsEnabled) { //mark as disabled _paymentSettings.ActivePaymentMethodSystemNames.Remove(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } } else { if (model.IsEnabled) { //mark as active _paymentSettings.ActivePaymentMethodSystemNames.Add(pm.PluginDescriptor.SystemName); _settingService.SaveSetting(_paymentSettings); } } } else if (pluginInstance is IShippingRateComputationMethod) { //shipping rate computation method var srcm = (IShippingRateComputationMethod)pluginInstance; if (srcm.IsShippingRateComputationMethodActive(_shippingSettings)) { if (!model.IsEnabled) { //mark as disabled _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } else { if (model.IsEnabled) { //mark as active _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(srcm.PluginDescriptor.SystemName); _settingService.SaveSetting(_shippingSettings); } } } else if (pluginInstance is ITaxProvider) { //tax provider if (model.IsEnabled) { _taxSettings.ActiveTaxProviderSystemName = model.SystemName; _settingService.SaveSetting(_taxSettings); } else { _taxSettings.ActiveTaxProviderSystemName = ""; _settingService.SaveSetting(_taxSettings); } } else if (pluginInstance is IExternalAuthenticationMethod) { //external auth method var eam = (IExternalAuthenticationMethod)pluginInstance; if (eam.IsMethodActive(_externalAuthenticationSettings)) { if (!model.IsEnabled) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsEnabled) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } } else if (pluginInstance is IWidgetPlugin) { //Misc plugins var widget = (IWidgetPlugin)pluginInstance; if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsEnabled) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsEnabled) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } } } ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
public virtual ActionResult EditPopup(string btnId, string formId, PluginModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) { return(AccessDeniedView()); } var pluginDescriptor = _pluginFinder.GetPluginDescriptorBySystemName(model.SystemName, LoadPluginsMode.All); if (pluginDescriptor == null) { //No plugin found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { //we allow editing of 'friendly name', 'display order', store mappings pluginDescriptor.FriendlyName = model.FriendlyName; pluginDescriptor.DisplayOrder = model.DisplayOrder; pluginDescriptor.LimitedToStores.Clear(); if (model.SelectedStoreIds.Any()) { pluginDescriptor.LimitedToStores = model.SelectedStoreIds; } pluginDescriptor.LimitedToCustomerRoles.Clear(); if (model.SelectedCustomerRoleIds.Any()) { pluginDescriptor.LimitedToCustomerRoles = model.SelectedCustomerRoleIds; } PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); //locales foreach (var localized in model.Locales) { pluginDescriptor.Instance().SaveLocalizedFriendlyName(_localizationService, localized.LanguageId, localized.FriendlyName); } //enabled/disabled if (pluginDescriptor.Installed) { var pluginInstance = pluginDescriptor.Instance(); if (pluginInstance is IExternalAuthenticationMethod) { //external auth method var eam = (IExternalAuthenticationMethod)pluginInstance; if (eam.IsMethodActive(_externalAuthenticationSettings)) { if (!model.IsEnabled) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsEnabled) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } } else if (pluginInstance is IWidgetPlugin) { //Misc plugins var widget = (IWidgetPlugin)pluginInstance; if (widget.IsWidgetActive(_widgetSettings)) { if (!model.IsEnabled) { //mark as disabled _widgetSettings.ActiveWidgetSystemNames.Remove(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } else { if (model.IsEnabled) { //mark as active _widgetSettings.ActiveWidgetSystemNames.Add(widget.PluginDescriptor.SystemName); _settingService.SaveSetting(_widgetSettings); } } } //activity log _customerActivityService.InsertActivity("EditPlugin", _localizationService.GetResource("ActivityLog.EditPlugin"), pluginDescriptor.FriendlyName); } ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }