public ActionResult EditProviderPopup(string btnId, ProviderModel model)
        {
            var provider = _providerManager.GetProvider(model.SystemName);

            if (provider == null)
            {
                return(HttpNotFound());
            }

            var infos = GetProviderInfos(provider);

            if (infos.UpdatePermission.HasValue() && !Services.Permissions.Authorize(infos.UpdatePermission))
            {
                return(AccessDeniedPartialView());
            }

            _pluginMediator.SetSetting(provider.Metadata, "FriendlyName", model.FriendlyName);
            _pluginMediator.SetSetting(provider.Metadata, "Description", model.Description);

            foreach (var localized in model.Locales)
            {
                _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName);
                _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "Description", localized.Description);
            }

            ViewBag.RefreshPage = true;
            ViewBag.btnId       = btnId;

            return(View(model));
        }
        public ActionResult EditProviderPopup(string btnId, ProviderModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins))
            {
                return(AccessDeniedView());
            }

            var provider = _providerManager.GetProvider(model.SystemName);

            if (provider == null)
            {
                return(HttpNotFound());
            }

            var metadata = provider.Metadata;

            _pluginMediator.SetSetting(metadata, "FriendlyName", model.FriendlyName);
            _pluginMediator.SetSetting(metadata, "Description", model.Description);

            foreach (var localized in model.Locales)
            {
                _pluginMediator.SaveLocalizedValue(metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName);
                _pluginMediator.SaveLocalizedValue(metadata, localized.LanguageId, "Description", localized.Description);
            }

            ViewBag.RefreshPage = true;
            ViewBag.btnId       = btnId;

            return(View(model));
        }
Example #3
0
        public ActionResult Edit(string systemName, bool continueEditing, PaymentMethodEditModel model, FormCollection form)
        {
            if (!_services.Permissions.Authorize(StandardPermissionProvider.ManagePaymentMethods))
            {
                return(AccessDeniedView());
            }

            var provider = _paymentService.LoadPaymentMethodBySystemName(systemName);

            if (provider == null)
            {
                return(HttpNotFound());
            }

            _pluginMediator.SetSetting(provider.Metadata, "FriendlyName", model.FriendlyName);
            _pluginMediator.SetSetting(provider.Metadata, "Description", model.Description);

            var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName);

            if (paymentMethod == null)
            {
                paymentMethod = new PaymentMethod {
                    PaymentMethodSystemName = systemName
                }
            }
            ;

            paymentMethod.FullDescription        = model.FullDescription;
            paymentMethod.RoundOrderTotalEnabled = model.RoundOrderTotalEnabled;

            if (paymentMethod.Id == 0)
            {
                _paymentService.InsertPaymentMethod(paymentMethod);
            }
            else
            {
                _paymentService.UpdatePaymentMethod(paymentMethod);
            }

            foreach (var localized in model.Locales)
            {
                _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName);
                _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "Description", localized.Description);

                _localizedEntityService.SaveLocalizedValue(paymentMethod, x => x.FullDescription, localized.FullDescription, localized.LanguageId);
            }

            _services.EventPublisher.Publish(new ModelBoundEvent(model, paymentMethod, form));

            NotifySuccess(T("Admin.Common.DataEditSuccess"));

            return(continueEditing ?
                   RedirectToAction("Edit", "Payment", new { systemName = systemName }) :
                   RedirectToAction("Providers", "Payment"));
        }

        #endregion
    }
Example #4
0
        public ActionResult Edit(string systemName, bool continueEditing, PaymentMethodEditModel model, FormCollection form)
        {
            var provider = _paymentService.LoadPaymentMethodBySystemName(systemName);

            if (provider == null)
            {
                return(HttpNotFound());
            }

            _pluginMediator.SetSetting(provider.Metadata, "FriendlyName", model.FriendlyName);
            _pluginMediator.SetSetting(provider.Metadata, "Description", model.Description);

            var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName);

            if (paymentMethod == null)
            {
                paymentMethod = new PaymentMethod {
                    PaymentMethodSystemName = systemName
                };
            }

            paymentMethod.FullDescription        = model.FullDescription;
            paymentMethod.RoundOrderTotalEnabled = model.RoundOrderTotalEnabled;
            paymentMethod.LimitedToStores        = model.LimitedToStores;

            if (paymentMethod.Id == 0)
            {
                // Update permission sufficient here.
                _paymentService.InsertPaymentMethod(paymentMethod);
            }
            else
            {
                _paymentService.UpdatePaymentMethod(paymentMethod);
            }

            SaveStoreMappings(paymentMethod, model.SelectedStoreIds);

            foreach (var localized in model.Locales)
            {
                _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName);
                _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "Description", localized.Description);

                _localizedEntityService.SaveLocalizedValue(paymentMethod, x => x.FullDescription, localized.FullDescription, localized.LanguageId);
            }

            Services.EventPublisher.Publish(new ModelBoundEvent(model, paymentMethod, form));

            NotifySuccess(T("Admin.Common.DataEditSuccess"));

            return(continueEditing ?
                   RedirectToAction("Edit", "Payment", new { systemName }) :
                   RedirectToAction("Providers", "Payment"));
        }