public ContentApprovalsManagerPageController( IApprovalDefinitionRepository repoDefinitions, IContentRepository repoContent, IApprovalRepository repoApprovals, IApprovalEngine engine, UIRoleProvider roles, UIUserProvider users, IContentSecurityRepository repoSecurity) { this.repoDefinitions = repoDefinitions; this.repoContent = repoContent; this.repoApprovals = repoApprovals; this.engine = engine; // if the editors role does not exist, create it and assign access rights if (!roles.RoleExists(editors)) { roles.CreateRole(editors); var permissions = repoSecurity.Get(ContentReference.RootPage).CreateWritableClone() as IContentSecurityDescriptor; permissions.AddEntry(new AccessControlEntry(editors, AccessLevel.Create | AccessLevel.Edit | AccessLevel.Delete | AccessLevel.Read | AccessLevel.Publish)); repoSecurity.Save(ContentReference.RootPage, permissions, SecuritySaveType.Replace); } // create three users and add them to roles UIUserCreateStatus status; IEnumerable <string> errors = Enumerable.Empty <string>(); if (users.GetUser(userName1) == null) { users.CreateUser( userName1, password, email: userName1.ToLower() + emailBase, passwordQuestion: null, passwordAnswer: null, isApproved: true, status: out status, errors: out errors); roles.AddUserToRoles(userName1, new string[] { admins }); } if (users.GetUser(userName2) == null) { users.CreateUser( userName2, password, userName2.ToLower() + emailBase, null, null, true, out status, out errors); roles.AddUserToRoles(userName2, new string[] { editors }); } if (users.GetUser(userName3) == null) { users.CreateUser( userName3, password, userName3.ToLower() + emailBase, null, null, true, out status, out errors); roles.AddUserToRoles(userName3, new string[] { editors }); } }
public DependenciesResolver(ContentSoftLinkIndexer contentSoftLinkIndexer, IContentRepository contentRepository, LanguageResolver languageResolver, ContentLoaderService contentLoaderService, ServiceAccessor <SiteDefinition> currentSiteDefinition, UIDescriptorRegistry uiDescriptorRegistry, ServiceAccessor <HttpContextBase> httpContextAccessor, IApprovalDefinitionRepository approvalDefinitionRepository, LocalizationService localizationService) { _contentSoftLinkIndexer = contentSoftLinkIndexer; _contentRepository = contentRepository; _languageResolver = languageResolver; _contentLoaderService = contentLoaderService; _currentSiteDefinition = currentSiteDefinition; _uiDescriptorRegistry = uiDescriptorRegistry; _httpContextAccessor = httpContextAccessor; _approvalDefinitionRepository = approvalDefinitionRepository; _localizationService = localizationService; }
public ApprovalResolver(IApprovalDefinitionRepository approvalDefinitionRepository) { _approvalDefinitionRepository = approvalDefinitionRepository; }