Files
Umbraco-CMS/src/Umbraco.Web/Models/ContentEditing/UserGroupPermissionsSave.cs

41 lines
1.5 KiB
C#
Raw Normal View History

2017-09-23 10:08:18 +02:00
using System.Collections.Generic;
2017-09-12 16:22:16 +02:00
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.Serialization;
using Umbraco.Core;
namespace Umbraco.Web.Models.ContentEditing
{
/// <summary>
/// Used to assign user group permissions to a content node
/// </summary>
[DataContract(Name = "contentPermission", Namespace = "")]
public class UserGroupPermissionsSave : IValidatableObject
{
public UserGroupPermissionsSave()
{
AssignedPermissions = new Dictionary<int, IEnumerable<string>>();
}
//TODO: we should have an option to clear the permissions assigned to this node and instead just have them inherit - yes once we actually have inheritance!
[DataMember(Name = "contentId", IsRequired = true)]
[Required]
public int ContentId { get; set; }
/// <summary>
/// A dictionary of permissions to assign, the key is the user group id
/// </summary>
[DataMember(Name = "permissions")]
2017-09-23 10:08:18 +02:00
public IDictionary<int, IEnumerable<string>> AssignedPermissions { get; set; }
2017-09-12 16:22:16 +02:00
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (AssignedPermissions.SelectMany(x => x.Value).Any(x => x.IsNullOrWhiteSpace()))
{
yield return new ValidationResult("A permission value cannot be null or empty", new[] { "Permissions" });
}
}
}
2017-09-23 10:08:18 +02:00
}