Feature #26: User Flags
Flags can be associated with Users. Includes minor updates to Job Queues and improved visibility of user information.
This commit is contained in:
@@ -47,6 +47,8 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="BI\Job\LocationModes.cs" />
|
||||
<Compile Include="Repository\Device\DeviceDecommissionReasons.cs" />
|
||||
<Compile Include="Repository\User\Flag\UserFlag.cs" />
|
||||
<Compile Include="Repository\User\Flag\UserFlagAssignment.cs" />
|
||||
<Compile Include="Services\Authorization\IAuthorizationToken.cs" />
|
||||
<Compile Include="Services\Authorization\IClaimNavigatorItem.cs" />
|
||||
<Compile Include="Services\Authorization\IRoleToken.cs" />
|
||||
@@ -154,6 +156,9 @@
|
||||
<Compile Include="UI\Config\Logging\ConfigLoggingIndexModel.cs" />
|
||||
<Compile Include="UI\Config\Shared\ConfigSharedTaskStatusModel.cs" />
|
||||
<Compile Include="UI\Config\Organisation\ConfigOrganisationIndexModel.cs" />
|
||||
<Compile Include="UI\Config\UserFlag\ConfigUserFlagCreateModel.cs" />
|
||||
<Compile Include="UI\Config\UserFlag\ConfigUserFlagIndexModel.cs" />
|
||||
<Compile Include="UI\Config\UserFlag\ConfigUserFlagShowModel.cs" />
|
||||
<Compile Include="UI\Device\DeviceAddOfflineModel.cs" />
|
||||
<Compile Include="UI\Device\DeviceExportModel.cs" />
|
||||
<Compile Include="UI\Device\DeviceImportHeadersModel.cs" />
|
||||
@@ -176,7 +181,7 @@
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties BuildVersion_UpdateFileVersion="True" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.DeltaBaseYear.MonthAndDayStamp.TimeStamp" BuildVersion_StartDate="2011/7/1" BuildVersion_DetectChanges="False" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildAction="Both" />
|
||||
<UserProperties BuildVersion_BuildAction="Both" BuildVersion_UseGlobalSettings="False" BuildVersion_DetectChanges="False" BuildVersion_StartDate="2011/7/1" BuildVersion_BuildVersioningStyle="None.DeltaBaseYear.MonthAndDayStamp.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_UpdateFileVersion="True" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Disco.Models.Repository
|
||||
{
|
||||
public class UserFlag
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required, StringLength(100)]
|
||||
public string Name { get; set; }
|
||||
|
||||
[StringLength(500), DataType(DataType.MultilineText)]
|
||||
public string Description { get; set; }
|
||||
|
||||
[Required, StringLength(25)]
|
||||
public string Icon { get; set; }
|
||||
[Required, StringLength(10)]
|
||||
public string IconColour { get; set; }
|
||||
|
||||
public virtual IList<UserFlagAssignment> UserFlagAssignments { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return this.Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Disco.Models.Repository
|
||||
{
|
||||
public class UserFlagAssignment
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
[Required]
|
||||
public int UserFlagId { get; set; }
|
||||
[Required]
|
||||
public string UserId { get; set; }
|
||||
|
||||
[Required]
|
||||
public DateTime AddedDate { get; set; }
|
||||
[Required]
|
||||
public string AddedUserId { get; set; }
|
||||
public DateTime? RemovedDate { get; set; }
|
||||
public string RemovedUserId { get; set; }
|
||||
|
||||
public string Comments { get; set; }
|
||||
|
||||
[ForeignKey("UserFlagId"), InverseProperty("UserFlagAssignments")]
|
||||
public virtual UserFlag UserFlag { get; set; }
|
||||
|
||||
[ForeignKey("UserId"), InverseProperty("UserFlagAssignments")]
|
||||
public virtual User User { get; set; }
|
||||
|
||||
[ForeignKey("AddedUserId")]
|
||||
public virtual User AddedUser { get; set; }
|
||||
[ForeignKey("RemovedUserId")]
|
||||
public virtual User RemovedUser { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ namespace Disco.Models.Repository
|
||||
public virtual IList<DeviceUserAssignment> DeviceUserAssignments { get; set; }
|
||||
[InverseProperty("UserId")]
|
||||
public virtual IList<Job> Jobs { get; set; }
|
||||
public virtual IList<UserFlagAssignment> UserFlagAssignments { get; set; }
|
||||
|
||||
[NotMapped, Obsolete("Should be using Combined Domain\\User format - UserId")]
|
||||
public string Id
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Disco.Models.Repository;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -17,16 +18,22 @@ namespace Disco.Models.Services.Searching
|
||||
}
|
||||
|
||||
public string Id { get; set; }
|
||||
public string FriendlyId { get; set; }
|
||||
public string Type { get { return type; } }
|
||||
public string Description { get { return string.Format("{0} ({1})", this.DisplayName, this.Id); } }
|
||||
public string[] ScoreValues { get { return LazyScoreValue.Value; } }
|
||||
|
||||
public int AssignedDevicesCount { get; set; }
|
||||
public string DisplayName { get; set; }
|
||||
public string GivenName { get; set; }
|
||||
public int JobCount { get; set; }
|
||||
public string Surname { get; set; }
|
||||
|
||||
public int AssignedDevicesCount { get; set; }
|
||||
|
||||
public int JobCount { get; set; }
|
||||
public int JobCountOpen { get; set; }
|
||||
|
||||
public IList<UserFlagAssignment> UserFlagAssignments { get; set; }
|
||||
|
||||
private string[] BuildScoreValues()
|
||||
{
|
||||
return new string[] {
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
using Disco.Models.Services.Jobs.JobQueues;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Disco.Models.UI.Config.JobQueue
|
||||
{
|
||||
@@ -14,6 +10,9 @@ namespace Disco.Models.UI.Config.JobQueue
|
||||
int OpenJobCount { get; set; }
|
||||
int TotalJobCount { get; set; }
|
||||
|
||||
IEnumerable<KeyValuePair<string, string>> Icons { get; set; }
|
||||
IEnumerable<KeyValuePair<string, string>> ThemeColours { get; set; }
|
||||
|
||||
List<Disco.Models.Repository.JobType> JobTypes { get; set; }
|
||||
|
||||
bool CanDelete { get; set; }
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Disco.Models.UI.Config.UserFlag
|
||||
{
|
||||
public interface ConfigUserFlagCreateModel : BaseUIModel
|
||||
{
|
||||
Repository.UserFlag UserFlag { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Disco.Models.UI.Config.UserFlag
|
||||
{
|
||||
public interface ConfigUserFlagIndexModel : BaseUIModel
|
||||
{
|
||||
List<Repository.UserFlag> UserFlags { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Disco.Models.UI.Config.UserFlag
|
||||
{
|
||||
public interface ConfigUserFlagShowModel : BaseUIModel
|
||||
{
|
||||
Repository.UserFlag UserFlag { get; set; }
|
||||
|
||||
int CurrentAssignmentCount { get; set; }
|
||||
int TotalAssignmentCount { get; set; }
|
||||
|
||||
IEnumerable<KeyValuePair<string, string>> Icons { get; set; }
|
||||
IEnumerable<KeyValuePair<string, string>> ThemeColours { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using Disco.Models.Services.Authorization;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Models.Services.Authorization;
|
||||
using Disco.Models.Services.Jobs.JobLists;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -8,7 +9,10 @@ namespace Disco.Models.UI.User
|
||||
{
|
||||
Disco.Models.Repository.User User { get; set; }
|
||||
JobTableModel Jobs { get; set; }
|
||||
List<Disco.Models.Repository.DocumentTemplate> DocumentTemplates { get; set; }
|
||||
List<DocumentTemplate> DocumentTemplates { get; set; }
|
||||
|
||||
List<UserFlag> AvailableUserFlags { get; set; }
|
||||
|
||||
IAuthorizationToken AuthorizationToken { get; set; }
|
||||
IClaimNavigatorItem ClaimNavigator { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user