November Happy Hour will be moved to Thursday December 5th.
AI OnAI Off
November Happy Hour will be moved to Thursday December 5th.
Hi,
Catalog content does not support setting access rights (yet). It has only all-or-nothing setting, a contact might have all the access to the catalog, or nothing at all.
And the problem you saw was because Catalog UI does not handle the exception from server.
Saying, I don't really have a solution for you - not an easy one. Sorry. You might contact our expert services for help.
Regards,
/Q
A little hack can work,
Create a DeleteGroup and assign this group to users those required delete access including admins.
While deleting You can check the logged in user is part of DeleteGroup or not
/K
Thanks for your replies. I think the editors for now just needs to be careful not to delete anything in the catalog
Hi,
we have a requirement to stop editors from deleting catalog entries. I can't see a way of setting the access rights in the catalog.
I've tried cancelling the action in the deleting content event but it throws an exception.
I assume the exception is because its a CMS event. I've looked in the CatalogEventBroadcaster but no luck.
The exception is:
EPiServer.Core.EPiServerCancelException: Game products or variants can't be deletedb__10() >
at EPiServer.Core.DefaultContentEvents.RaiseCancellableDeleteEvent(String key, String defaultReason, DeleteContentEventArgs eventArgs)
at EPiServer.Core.DefaultContentRepository.Delete(ContentReference contentLink, Boolean forceDelete, AccessLevel access)
at EPiServer.Commerce.Shell.Controllers.DeleteController.Delete(IEnumerable`1 contentReferences)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass13.
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
at System.Web.Mvc.Controller.ExecuteCore()
at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.ProcessController(IController controller)
at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Thanks