private ActionResult DeleteWidget(int id, string returnUrl)
        {
            if (!IsAuthorizedToManageWidgets())
            {
                return(new HttpUnauthorizedResult());
            }

            WidgetPart widgetPart = null;

            widgetPart = _widgetsService.GetWidget(id);
            if (widgetPart == null)
            {
                return(HttpNotFound());
            }
            try {
                _widgetsService.DeleteWidget(widgetPart.Id);
                Services.Notifier.Information(T("Widget was successfully deleted"));
            }
            catch (Exception exception) {
                Logger.Error(T("Removing Widget failed: {0}", exception.Message).Text);
                Services.Notifier.Error(T("Removing Widget failed: {0}", exception.Message));
            }

            return(this.RedirectLocal(returnUrl, () => RedirectToAction("Index")));
        }
Beispiel #2
0
        private ActionResult DeleteWidget(int id, int hostId)
        {
            if (!IsAuthorizedToManageWidgets())
            {
                return(new HttpUnauthorizedResult());
            }

            var contentItem     = _services.ContentManager.Get(hostId, VersionOptions.Latest);
            var contentMetadata = _services.ContentManager.GetItemMetadata(contentItem);
            var returnUrl       = Url.RouteUrl(contentMetadata.EditorRouteValues);
            var widgetPart      = _widgetsService.GetWidget(id);

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

            try {
                _widgetsService.DeleteWidget(widgetPart.Id);
                _services.Notifier.Information(T("Widget was successfully deleted"));
            }
            catch (Exception exception) {
                Logger.Error(T("Removing Widget failed: {0}", exception.Message).Text);
                _services.Notifier.Error(T("Removing Widget failed: {0}", exception.Message));
            }

            return(Redirect(returnUrl));
        }
        private ActionResult DeleteWidget(int id, string returnUrl)
        {
            if (!Services.Authorizer.Authorize(Permissions.ManageWidgets, T(NotAuthorizedManageWidgetsLabel)))
            {
                return(new HttpUnauthorizedResult());
            }

            WidgetPart widgetPart = null;

            try {
                widgetPart = _widgetsService.GetWidget(id);
                if (widgetPart == null)
                {
                    return(HttpNotFound());
                }

                _widgetsService.DeleteWidget(widgetPart.Id);
                Services.Notifier.Information(T("Widget was successfully deleted"));
            }
            catch (Exception exception) {
                this.Error(exception, T("Removing Widget failed: {0}", exception.Message), Logger, Services.Notifier);
            }

            return(this.RedirectLocal(returnUrl, () => RedirectToAction("Index")));
        }
Beispiel #4
0
        private void RemoveWidgets(WidgetsContainerViewModel viewModel)
        {
            if (string.IsNullOrEmpty(viewModel.RemovedWidgets))
            {
                return;
            }

            var widgetIds = JsonConvert.DeserializeObject <int[]>(viewModel.RemovedWidgets);

            var unableToDeleteSome = false;

            foreach (var widgetId in widgetIds)
            {
                // make sure that the user is allowed to delete the widget.
                // Doing this check here handles cases where the UI is not aligned with the
                // configuration, because the latter changed but the former hasn't updated
                // yet.
                var currentWidget = _widgetsService.GetWidget(widgetId);
                if (_authorizer.Authorize(
                        Orchard.Core.Contents.Permissions.DeleteContent, currentWidget))
                {
                    _widgetsService.DeleteWidget(widgetId);
                }
                else
                {
                    unableToDeleteSome = true;
                }
            }
            if (unableToDeleteSome)
            {
                _notifier.Warning(T("You don't have the permissions to remove some of the widgets you attempted to delete."));
            }
        }
        private void RemoveWidgets(WidgetsContainerViewModel viewModel) {
            if (string.IsNullOrEmpty(viewModel.RemovedWidgets))
                return;

            var widgetIds = JsonConvert.DeserializeObject<int[]>(viewModel.RemovedWidgets);

            foreach (var widgetId in widgetIds) {
                _widgetsService.DeleteWidget(widgetId);
            }
        }