Feature: Job Queues

Also UI style, theme and element changes
This commit is contained in:
Gary Sharp
2014-02-03 14:50:08 +11:00
parent bdb3e1e6b4
commit 3f63281dc4
212 changed files with 17334 additions and 5441 deletions
@@ -0,0 +1,22 @@
using Disco.Models.Repository;
using System.Collections.Generic;
namespace Disco.Models.Services.Authorization
{
public interface IAuthorizationToken
{
User User { get; set; }
List<string> GroupMembership { get; set; }
List<IRoleToken> RoleTokens { get; set; }
bool HasAny(params string[] ClaimKeys);
bool HasAny(IEnumerable<string> ClaimKeys);
bool HasAll(params string[] ClaimKeys);
bool HasAll(IEnumerable<string> ClaimKeys);
bool Has(string ClaimKey);
void Require(string ClaimKey);
void RequireAll(params string[] ClaimKeys);
void RequireAny(params string[] ClaimKeys);
}
}
@@ -0,0 +1,16 @@
using System.Collections.Generic;
namespace Disco.Models.Services.Authorization
{
public interface IClaimNavigatorItem
{
string Key { get; }
string Name { get; }
string Description { get; }
bool Hidden { get; }
List<IClaimNavigatorItem> Children { get; }
bool IsGroup { get; }
bool? Value { get; }
}
}
@@ -0,0 +1,11 @@
using Disco.Models.Repository;
using System.Collections.Generic;
namespace Disco.Models.Services.Authorization
{
public interface IRoleToken
{
AuthorizationRole Role { get; set; }
List<string> SubjectIds { get; set; }
}
}
@@ -0,0 +1,27 @@
using System;
namespace Disco.Models.Services.Jobs.JobLists
{
public class JobTableItemModel
{
public int Id { get; set; }
public DateTime OpenedDate { get; set; }
public DateTime? ClosedDate { get; set; }
public string JobTypeId { get; set; }
public string JobTypeDescription { get; set; }
public string DeviceSerialNumber { get; set; }
public int? DeviceModelId { get; set; }
public string DeviceModelDescription { get; set; }
public int? DeviceProfileId { get; set; }
public int? DeviceAddressId { get; set; }
public string DeviceAddress { get; set; }
public string UserId { get; set; }
public string UserDisplayName { get; set; }
public string OpenedTechUserId { get; set; }
public string OpenedTechUserDisplayName { get; set; }
public string StatusDescription { get; set; }
public string StatusId { get; set; }
public string DeviceHeldLocation { get; set; }
public Disco.Models.Repository.Job.UserManagementFlags? Flags { get; set; }
}
}
@@ -0,0 +1,36 @@
using System.Collections.Generic;
namespace Disco.Models.Services.Jobs.JobLists
{
public class JobTableModel
{
public bool ShowId { get; set; }
public bool? ShowDeviceAddress { get; set; }
public bool ShowDates { get; set; }
public bool ShowType { get; set; }
public bool ShowDevice { get; set; }
public bool ShowUser { get; set; }
public bool ShowTechnician { get; set; }
public bool ShowLocation { get; set; }
public bool ShowStatus { get; set; }
public bool IsSmallTable { get; set; }
public bool HideClosedJobs { get; set; }
public bool EnablePaging { get; set; }
public bool EnableFilter { get; set; }
public virtual IEnumerable<JobTableItemModel> Items { get; set; }
public JobTableModel()
{
ShowId = true;
ShowDates = true;
ShowType = true;
ShowDevice = true;
ShowUser = true;
ShowTechnician = true;
EnablePaging = true;
EnableFilter = true;
}
}
}
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
namespace Disco.Models.Services.Jobs.JobLists
{
public class JobTableStatusItemModel : JobTableItemModel
{
public string JobMetaWarranty_ExternalReference { get; set; }
public DateTime? JobMetaWarranty_ExternalLoggedDate { get; set; }
public DateTime? JobMetaWarranty_ExternalCompletedDate { get; set; }
public DateTime? JobMetaNonWarranty_RepairerLoggedDate { get; set; }
public DateTime? JobMetaNonWarranty_RepairerCompletedDate { get; set; }
public DateTime? JobMetaNonWarranty_AccountingChargeAddedDate { get; set; }
public DateTime? JobMetaNonWarranty_AccountingChargePaidDate { get; set; }
public DateTime? JobMetaNonWarranty_AccountingChargeRequiredDate { get; set; }
public bool? JobMetaNonWarranty_IsInsuranceClaim { get; set; }
public DateTime? JobMetaInsurance_ClaimFormSentDate { get; set; }
public DateTime? WaitingForUserAction { get; set; }
public DateTime? DeviceReadyForReturn { get; set; }
public DateTime? DeviceHeld { get; set; }
public DateTime? DeviceReturnedDate { get; set; }
public string JobMetaWarranty_ExternalName { get; set; }
public string JobMetaNonWarranty_RepairerName { get; set; }
public IEnumerable<JobTableStatusQueueItemModel> ActiveJobQueues { get; set; }
}
}
@@ -0,0 +1,14 @@
using Disco.Models.Repository;
using System;
namespace Disco.Models.Services.Jobs.JobLists
{
public class JobTableStatusQueueItemModel
{
public int Id { get; set; }
public int QueueId { get; set; }
public DateTime AddedDate { get; set; }
public DateTime? SLAExpiresDate { get; set; }
public JobQueuePriority Priority { get; set; }
}
}
@@ -0,0 +1,11 @@
using Disco.Models.Repository;
using System.Collections.ObjectModel;
namespace Disco.Models.Services.Jobs.JobQueues
{
public interface IJobQueueToken
{
JobQueue JobQueue { get; }
ReadOnlyCollection<string> SubjectIds { get; }
}
}