/// <summary> /// Creates default mass actions. Has to be called on Page_Init before MassActions extenders are initialized, so default actions will be at the beginning. /// </summary> private void CreateMassActionItems() { var urlBuilder = new DocumentListMassActionsUrlGenerator(); // Converts functions with signature as in DocumentListMassActionsUrlGenerator to CreateUrlDelegate as MassActionItem expects Func <Func <List <int>, DocumentListMassActionsParameters, string>, CreateUrlDelegate> functionConverter = generateActionFunction => { return((scope, selectedNodeIDs, parameters) => { return generateActionFunction(scope == MassActionScopeEnum.AllItems ? null : selectedNodeIDs, (DocumentListMassActionsParameters)parameters); }); }; ctrlMassActions.AddMassActions( new MassActionItem { CodeName = "action|move", DisplayNameResourceString = "general.move", CreateUrl = functionConverter(urlBuilder.GetMoveActionUrl), ActionType = MassActionTypeEnum.OpenModal, }, new MassActionItem { CodeName = "action|copy", DisplayNameResourceString = "general.copy", CreateUrl = functionConverter(urlBuilder.GetCopyActionUrl), ActionType = MassActionTypeEnum.OpenModal, }); ctrlMassActions.AddMassActions(new MassActionItem { CodeName = "action|link", DisplayNameResourceString = "general.link", CreateUrl = functionConverter(urlBuilder.GetLinkActionUrl), ActionType = MassActionTypeEnum.OpenModal, }); ctrlMassActions.AddMassActions(new MassActionItem { CodeName = "action|delete", DisplayNameResourceString = "general.delete", CreateUrl = functionConverter(urlBuilder.GetDeleteActionUrl), ActionType = MassActionTypeEnum.Redirect, }); if (CultureSiteInfoProvider.IsSiteMultilingual(currentSiteName) && LicenseHelper.CheckFeature(RequestContext.CurrentDomain, FeatureEnum.TranslationServices) && TranslationServiceHelper.IsTranslationAllowed(currentSiteName) && TranslationServiceHelper.AnyServiceAvailable(currentSiteName)) { ctrlMassActions.AddMassActions(new MassActionItem { CodeName = "action|translate", DisplayNameResourceString = "general.translate", CreateUrl = functionConverter(urlBuilder.GetTranslateActionUrl), ActionType = MassActionTypeEnum.Redirect, }); } if (currentUserInfo.CheckPrivilegeLevel(UserPrivilegeLevelEnum.Admin) || currentUserInfo.IsAuthorizedPerResource("CMS.Content", "ManageWorkflow")) { ctrlMassActions.AddMassActions( new MassActionItem { CodeName = "action|publish", DisplayNameResourceString = "general.publish", CreateUrl = functionConverter(urlBuilder.GetPublishActionUrl), ActionType = MassActionTypeEnum.Redirect, }, new MassActionItem { CodeName = "action|archive", DisplayNameResourceString = "general.archive", CreateUrl = functionConverter(urlBuilder.GetArchiveActionUrl), ActionType = MassActionTypeEnum.Redirect, }); } }