예제 #1
0
        /// <summary>
        /// Creates a new <see cref="MenuItemDefinition"/> object.
        /// </summary>
        public MenuItemDefinition(
            string name,
            ILocalizableString displayName,
            string icon = null,
            string url  = null,
            bool requiresAuthentication   = false,
            string requiredPermissionName = null,
            int order         = 0,
            object customData = null,
            IFeatureDependency featureDependency = null,
            string target = null)
        {
            Check.NotNull(name, nameof(name));
            Check.NotNull(displayName, nameof(displayName));

            this.Name                   = name;
            this.DisplayName            = displayName;
            this.Icon                   = icon;
            this.Url                    = url;
            this.RequiresAuthentication = requiresAuthentication;
            this.RequiredPermissionName = requiredPermissionName;
            this.Order                  = order;
            this.CustomData             = customData;
            this.FeatureDependency      = featureDependency;
            this.Target                 = target;

            this.Items = new List <MenuItemDefinition>();
        }
예제 #2
0
        /// <summary>
        /// Creates a new <see cref="MenuItemDefinition"/> object.
        /// </summary>
        public MenuItemDefinition(
            string name,
            ILocalizableString displayName,
            string icon = null,
            string url  = null,
            bool requiresAuthentication   = false,
            string requiredPermissionName = null,
            int order         = 0,
            object customData = null,
            IFeatureDependency featureDependency = null)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("name");
            }

            if (displayName == null)
            {
                throw new ArgumentNullException("displayName");
            }

            Name                   = name;
            DisplayName            = displayName;
            Icon                   = icon;
            Url                    = url;
            RequiresAuthentication = requiresAuthentication;
            RequiredPermissionName = requiredPermissionName;
            Order                  = order;
            CustomData             = customData;
            FeatureDependency      = featureDependency;

            Items = new List <MenuItemDefinition>();
        }
예제 #3
0
 public Abp.Authorization.Permission EditPermission(string oldName, Abp.Authorization.Permission parent, string name, ILocalizableString displayName = null,
                                                    ILocalizableString description       = null,
                                                    MultiTenancySides multiTenancySides  = MultiTenancySides.Tenant | MultiTenancySides.Host,
                                                    IFeatureDependency featureDependency = null, Dictionary <string, object> properties = null)
 {
     throw new NotImplementedException();
 }
예제 #4
0
        /// <summary>
        ///     Creates a new <see cref="MenuItemDefinition" /> object.
        /// </summary>
        public MenuItemDefinition(
            string name,
            ILocalizableString displayName,
            string icon = null,
            string url  = null,
            bool requiresAuthentication   = false,
            string requiredPermissionName = null,
            IPermissionDependency permissionDependency = null,
            int order         = 0,
            object customData = null,
            IFeatureDependency featureDependency = null,
            string target  = null,
            bool isEnabled = true,
            bool isVisible = true)
        {
            Check.NotNull(name, nameof(name));
            Check.NotNull(displayName, nameof(displayName));

            Name                   = name;
            DisplayName            = displayName;
            Icon                   = icon;
            Url                    = url;
            RequiresAuthentication = requiresAuthentication;
            RequiredPermissionName = requiredPermissionName;
            PermissionDependency   = permissionDependency;
            Order                  = order;
            CustomData             = customData;
            FeatureDependency      = featureDependency;
            Target                 = target;
            IsEnabled              = isEnabled;
            IsVisible              = isVisible;

            Items = new List <MenuItemDefinition>();
        }
예제 #5
0
 /// <summary>
 /// Adds a child permission.
 /// A child permission can be granted only if parent is granted.
 /// </summary>
 /// <returns>Returns newly created child permission</returns>
 public Permission CreateChildPermission(
     string name,
     string displayName, 
     bool isGrantedByDefault = false, 
     IFeatureDependency featureDependency = null)
 {
     var permission = new Permission(name, displayName, isGrantedByDefault, featureDependency) { Parent = this };
     _children.Add(permission);
     return permission;
 }
예제 #6
0
        public static Permission CreatePermission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null
            )
        {
            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency);

            return(permission);
        }
        public WebhookDefinition(string name, ILocalizableString displayName = null, ILocalizableString description = null, IFeatureDependency featureDependency = null)
        {
            if (name.IsNullOrWhiteSpace())
            {
                throw new ArgumentNullException(nameof(name), $"{nameof(name)} can not be null, empty or whitespace!");
            }

            Name              = name.Trim();
            DisplayName       = displayName;
            Description       = description;
            FeatureDependency = featureDependency;
        }
예제 #8
0
        /// <summary>
        /// Adds a child permission.
        /// A child permission can be granted only if parent is granted.
        /// </summary>
        /// <returns>Returns newly created child permission</returns>
        public Permission CreateChildPermission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency)
            {
                Parent = this
            };

            _children.Add(permission);
            return(permission);
        }
        public Permission CreatePermission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            if (Permissions.ContainsKey(name))
            {
                throw new InfrastructureException("There is already a permission with name: " + name);
            }
            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency);

            Permissions[permission.Name] = permission;
            return(permission);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="NotificationDefinition"/> class.
        /// </summary>
        /// <param name="name">Unique name of the notification.</param>
        /// <param name="entityType">Related entity type with this notification (optional).</param>
        /// <param name="displayName">Display name of the notification.</param>
        /// <param name="description">Description for the notification</param>
        /// <param name="permissionDependency">A permission dependency. This notification will be available to a user if this dependency is satisfied.</param>
        /// <param name="featureDependency">A feature dependency. This notification will be available to a tenant if this feature is enabled.</param>
        public NotificationDefinition(string name, Type entityType = null, ILocalizableString displayName = null, ILocalizableString description = null, IPermissionDependency permissionDependency = null, IFeatureDependency featureDependency = null)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException("name", "name can not be null, empty or whitespace!");
            }
            
            Name = name;
            EntityType = entityType;
            DisplayName = displayName;
            Description = description;
            PermissionDependency = permissionDependency;
            FeatureDependency = featureDependency;

            Attributes = new Dictionary<string, object>();
        }
예제 #11
0
        /// <summary>
        /// Adds a child permission.
        /// A child permission can be granted only if parent is granted.
        /// </summary>
        /// <returns>Returns newly created child permission</returns>
        public Permission CreateChildPermission(
            string name,
            ILocalizableString displayName      = null,
            bool isGrantedByDefault             = false,
            ILocalizableString description      = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency dependedFeature  = null)
        {
            var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides, dependedFeature)
            {
                Parent = this
            };

            _children.Add(permission);
            return(permission);
        }
        public Permission CreatePermission(
            string name, 
            ILocalizableString displayName = null, 
            ILocalizableString description = null, 
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            if (Permissions.ContainsKey(name))
            {
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency);
            Permissions[permission.Name] = permission;
            return permission;
        }
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="name">唯一名称.</param>
        /// <param name="entityType">类型.</param>
        /// <param name="displayName">显示名称.</param>
        /// <param name="description">描述</param>
        /// <param name="permissionDependency">权限依赖关系。 如果满足该依赖关系,则该通知将可供用户使用。.</param>
        /// <param name="featureDependency">A feature dependency. This notification will be available to a tenant if this feature is enabled.</param>
        public NotificationDefinition(string name, Type entityType = null, ILocalizableString displayName = null, ILocalizableString description = null, IPermissionDependency permissionDependency = null, IFeatureDependency featureDependency = null)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException("name", "name can not be null, empty or whitespace!");
            }

            Name                 = name;
            EntityType           = entityType;
            DisplayName          = displayName;
            Description          = description;
            PermissionDependency = permissionDependency;
            FeatureDependency    = featureDependency;

            Attributes = new Dictionary <string, object>();
        }
        public Permission CreatePermission(
          string name,
          string displayName,
          bool isGrantedByDefault = false,
         // ILocalizableString description = null,
          IFeatureDependency featureDependency = null)
        {
            if (Permissions.ContainsKey(name))
            {
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, isGrantedByDefault, featureDependency);
            Permissions[permission.Name] = permission;
            return permission;
        }
예제 #15
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        /// <param name="featureDependency">Depended feature(s) of this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            Guard.ArgumentNotNull(name, nameof(name));

            Name              = name;
            DisplayName       = displayName;
            Description       = description;
            MultiTenancySides = multiTenancySides;
            FeatureDependency = featureDependency;

            _children = new List <Permission>();
        }
        public Permission CreatePermission(
            string name,
            ILocalizableString displayName      = null,
            bool isGrantedByDefault             = false,
            ILocalizableString description      = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency dependedFeature  = null)
        {
            if (Permissions.ContainsKey(name))
            {
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides, dependedFeature);

            Permissions[permission.Name] = permission;
            return(permission);
        }
예제 #17
0
        public Permission(
          string name,
          string displayName,
          bool isGrantedByDefault = false,
          IFeatureDependency featureDependency = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name = name;
            DisplayName = displayName;
            IsGrantedByDefault = isGrantedByDefault;
            FeatureDependency = featureDependency;

            _children = new List<Permission>();
        }
        /// <summary>
        /// 创建权限
        /// </summary>
        /// <param name="name">权限名称</param>
        /// <param name="displayName">权限显示名称</param>
        /// <param name="isGrantedByDefault"></param>
        /// <param name="description">权限描述</param>
        /// <param name="multiTenancySides">多租户</param>
        /// <param name="featureDependency">特征依赖</param>
        /// <returns></returns>
        public Permission CreatePermission(
            string name, 
            ILocalizableString displayName = null, 
            bool isGrantedByDefault = false, 
            ILocalizableString description = null, 
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            //权限字典中是否包含指定的键
            if (Permissions.ContainsKey(name))
            {
                //权限字典中已经包含这个权限,名称为:
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides, featureDependency);
            Permissions[permission.Name] = permission;
            return permission;
        }
예제 #19
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        /// <param name="featureDependency">Depended feature(s) of this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName = null,
            ILocalizableString description = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name = name;
            DisplayName = displayName;
            Description = description;
            MultiTenancySides = multiTenancySides;
            FeatureDependency = featureDependency;

            _children = new List<Permission>();
        }
예제 #20
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        /// <param name="featureDependency">Depended feature(s) of this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name              = name;
            DisplayName       = displayName;
            Description       = description;
            MultiTenancySides = multiTenancySides;
            FeatureDependency = featureDependency;

            _children = new List <Permission>();
        }
예제 #21
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="isGrantedByDefault">Is this permission granted by default. Default value: false.</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        /// <param name="dependedFeature">Depended feature(s) of this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName = null,
            bool isGrantedByDefault = false,
            ILocalizableString description = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency dependedFeature = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name = name;
            DisplayName = displayName;
            IsGrantedByDefault = isGrantedByDefault;
            Description = description;
            MultiTenancySides = multiTenancySides;
            DependedFeature = dependedFeature;

            _children = new List<Permission>();
        }
예제 #22
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="isGrantedByDefault">Is this permission granted by default. Default value: false.</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        /// <param name="dependedFeature">Depended feature(s) of this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName      = null,
            bool isGrantedByDefault             = false,
            ILocalizableString description      = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency dependedFeature  = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name               = name;
            DisplayName        = displayName;
            IsGrantedByDefault = isGrantedByDefault;
            Description        = description;
            MultiTenancySides  = multiTenancySides;
            DependedFeature    = dependedFeature;

            _children = new List <Permission>();
        }
 // constructors
 public NotDependency(IFeatureDependency dependency)
 {
     _dependency = dependency;
 }
 // constructors
 public FeatureSetDependency(IFeatureDependency dependency, params FeatureId[] featureIds)
 {
     _dependency = dependency;
     _featureIds = featureIds;
 }
 // constructors
 public FeatureSetDependency(IFeatureDependency dependency, params FeatureId[] featureIds)
 {
     _dependency = dependency;
     _featureIds = featureIds;
 }
        /// <summary>
        /// Creates a new <see cref="MenuItemDefinition"/> object.
        /// </summary>
        public MenuItemDefinition(
            string name,
            ILocalizableString displayName,
            string icon = null,
            string url = null,
            bool requiresAuthentication = false,
            string requiredPermissionName = null,
            int order = 0,
            object customData = null,
            IFeatureDependency featureDependency = null)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("name");
            }

            if (displayName == null)
            {
                throw new ArgumentNullException("displayName");
            }

            Name = name;
            DisplayName = displayName;
            Icon = icon;
            Url = url;
            RequiresAuthentication = requiresAuthentication;
            RequiredPermissionName = requiredPermissionName;
            Order = order;
            CustomData = customData;
            FeatureDependency = featureDependency;

            Items = new List<MenuItemDefinition>();
        }
 /// <summary>
 /// Checks depended features and returns true if dependencies are satisfied.
 /// </summary>
 /// <param name="featureDependency">The feature dependency.</param>
 /// <param name="context">The context.</param>
 public static bool IsSatisfied(this IFeatureDependency featureDependency, IFeatureDependencyContext context)
 {
     return(AsyncHelper.RunSync(() => featureDependency.IsSatisfiedAsync(context)));
 }
예제 #28
0
 /// <summary>
 /// Adds a child permission.
 /// A child permission can be granted only if parent is granted.
 /// </summary>
 /// <returns>Returns newly created child permission</returns>
 public Permission CreateChildPermission(
     string name, 
     ILocalizableString displayName = null, 
     bool isGrantedByDefault = false, 
     ILocalizableString description = null, 
     MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
     IFeatureDependency featureDependency = null)
 {
     var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides, featureDependency) { Parent = this };
     _children.Add(permission);
     return permission;
 }
 // constructors
 public NotDependency(IFeatureDependency dependency)
 {
     _dependency = dependency;
 }