@model Disco.Web.Models.User.ShowModel @using Disco.Services.Users.UserFlags; @{ Authorization.Require(Claims.User.ShowFlagAssignments); var hasRemove = Authorization.Has(Claims.User.Actions.RemoveFlags); var hasEdit = Authorization.Has(Claims.User.Actions.EditFlags); var hasUserFlagShow = Authorization.Has(Claims.Config.UserFlag.Show); var activeAssignmentCount = Model.User.UserFlagAssignments == null ? 0 : Model.User.UserFlagAssignments.Count(a => !a.RemovedDate.HasValue); var flagAssignments = Model.User.UserFlagAssignments.Select(a => Tuple.Create(a, UserFlagService.GetUserFlag(a.UserFlagId))).ToList(); }
@if (flagAssignments.Count > 0) { @foreach (var fa in flagAssignments.OrderByDescending(a => a.Item1.AddedDate)) { }
Name Added Comments Removed
@if (hasUserFlagShow) { @Html.ActionLink(fa.Item2.Name, MVC.Config.UserFlag.Index(fa.Item2.Id)) } else { @fa.Item2.Name } @CommonHelpers.FriendlyDateAndUser(fa.Item1.AddedDate, fa.Item1.AddedUser) @if (hasEdit) {
} @if (fa.Item1.Comments == null) {
[no comments]
} else {
@fa.Item1.Comments.ToHtmlComment()
@fa.Item1.Comments
}
@if (fa.Item1.RemovedDate.HasValue) { @CommonHelpers.FriendlyDateAndUser(fa.Item1.RemovedDate.Value, fa.Item1.RemovedUser) } else if (fa.Item1.CanRemove()) { Remove }
@using (Html.BeginForm(MVC.API.UserFlagAssignment.RemoveUser())) {

 Are you sure?

}
@using (Html.BeginForm(MVC.API.UserFlagAssignment.UpdateComments())) {

Comments:

}
} else {
This user has no associated flags
}