コード例 #1
0
        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 });
            }
        }
コード例 #2
0
 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;
 }
コード例 #3
0
 public ApprovalResolver(IApprovalDefinitionRepository approvalDefinitionRepository)
 {
     _approvalDefinitionRepository = approvalDefinitionRepository;
 }