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
@@ -1,4 +1,4 @@
using Disco.Models.Authorization;
using Disco.Models.Services.Authorization;
using Disco.Models.Repository;
using Disco.Services.Authorization.Roles;
using System;
@@ -1,4 +1,4 @@
using Disco.Models.Authorization;
using Disco.Models.Services.Authorization;
using Disco.Services.Authorization.Roles;
using System;
using System.Collections.Generic;
+244 -82
View File
@@ -5,7 +5,7 @@
// This file was generated by a T4 template.
// Don't change it directly as your change would get overwritten. Instead, make changes
// to the .tt file (i.e. the T4 template) and save it to regenerate this file.
using Disco.Models.Authorization;
using Disco.Models.Services.Authorization;
using Disco.Models.Repository;
using Disco.Services.Authorization.Roles;
using System;
@@ -68,6 +68,10 @@ namespace Disco.Services.Authorization
{ "Config.Organisation.Show", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.Organisation.Show, (c, v) => c.Config.Organisation.Show = v, "Show Organisation Details", "Can show the organisation details", false) },
{ "Config.JobPreferences.Configure", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.JobPreferences.Configure, (c, v) => c.Config.JobPreferences.Configure = v, "Configure Job Preferences", "Can configure job preferences", false) },
{ "Config.JobPreferences.Show", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.JobPreferences.Show, (c, v) => c.Config.JobPreferences.Show = v, "Show Job Preferences", "Can show job preferences", false) },
{ "Config.JobQueue.Configure", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.JobQueue.Configure, (c, v) => c.Config.JobQueue.Configure = v, "Configure Job Queues", "Can configure job queues", false) },
{ "Config.JobQueue.Create", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.JobQueue.Create, (c, v) => c.Config.JobQueue.Create = v, "Create Job Queues", "Can create job queues", false) },
{ "Config.JobQueue.Delete", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.JobQueue.Delete, (c, v) => c.Config.JobQueue.Delete = v, "Delete Job Queues", "Can delete job queues", false) },
{ "Config.JobQueue.Show", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.JobQueue.Show, (c, v) => c.Config.JobQueue.Show = v, "Show Job Queues", "Can show job queues", false) },
{ "Config.Show", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Config.Show, (c, v) => c.Config.Show = v, "Show Configuration", "Can show the configuration menu", false) },
{ "Job.Lists.AllOpen", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.AllOpen, (c, v) => c.Job.Lists.AllOpen = v, "All Open List", "Can show list", false) },
{ "Job.Lists.AwaitingFinanceAgreementBreach", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.AwaitingFinanceAgreementBreach, (c, v) => c.Job.Lists.AwaitingFinanceAgreementBreach = v, "Awaiting Finance Agreement Breach List", "Can show list (NOTE: Requires Awaiting Finance List)", false) },
@@ -79,11 +83,16 @@ namespace Disco.Services.Authorization
{ "Job.Lists.AwaitingUserAction", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.AwaitingUserAction, (c, v) => c.Job.Lists.AwaitingUserAction = v, "Awaiting User Action List", "Can show list", false) },
{ "Job.Lists.DevicesAwaitingRepair", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.DevicesAwaitingRepair, (c, v) => c.Job.Lists.DevicesAwaitingRepair = v, "Devices Awaiting Repair List", "Can show list", false) },
{ "Job.Lists.DevicesReadyForReturn", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.DevicesReadyForReturn, (c, v) => c.Job.Lists.DevicesReadyForReturn = v, "Devices Ready For Return List", "Can show list", false) },
{ "Job.Lists.JobQueueLists", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.JobQueueLists, (c, v) => c.Job.Lists.JobQueueLists = v, "Job Queue Lists", "Can show job queue lists", false) },
{ "Job.Lists.Locations", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.Locations, (c, v) => c.Job.Lists.Locations = v, "Locations List", "Can show list", false) },
{ "Job.Lists.LongRunningJobs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.LongRunningJobs, (c, v) => c.Job.Lists.LongRunningJobs = v, "Long Running Jobs List", "Can show list", false) },
{ "Job.Lists.MyJobs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.MyJobs, (c, v) => c.Job.Lists.MyJobs = v, "My Jobs List", "Can show list", false) },
{ "Job.Lists.MyJobsOrphaned", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.MyJobsOrphaned, (c, v) => c.Job.Lists.MyJobsOrphaned = v, "My Jobs List (Includes No Queue)", "Can show list", false) },
{ "Job.Lists.RecentlyClosed", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.RecentlyClosed, (c, v) => c.Job.Lists.RecentlyClosed = v, "Recently Closed List", "Can show list", false) },
{ "Job.Actions.AddAttachments", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddAttachments, (c, v) => c.Job.Actions.AddAttachments = v, "Add Attachments", "Can add attachments to jobs", false) },
{ "Job.Actions.AddLogs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddLogs, (c, v) => c.Job.Actions.AddLogs = v, "Add Logs", "Can add job logs", false) },
{ "Job.Actions.AddAnyQueues", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddAnyQueues, (c, v) => c.Job.Actions.AddAnyQueues = v, "Add to Any Queues", "Can add to any job queues", false) },
{ "Job.Actions.AddOwnQueues", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddOwnQueues, (c, v) => c.Job.Actions.AddOwnQueues = v, "Add to Own Queues", "Can add to own job queues", false) },
{ "Job.Actions.Close", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.Close, (c, v) => c.Job.Actions.Close = v, "Close Jobs", "Can close jobs", false) },
{ "Job.Actions.ConvertHWarToHNWar", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.ConvertHWarToHNWar, (c, v) => c.Job.Actions.ConvertHWarToHNWar = v, "Convert HWar Jobs To HNWar", "Can convert warranty jobs to non-warranty jobs", false) },
{ "Job.Actions.Create", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.Create, (c, v) => c.Job.Actions.Create = v, "Create Jobs", "Can create jobs", false) },
@@ -94,6 +103,8 @@ namespace Disco.Services.Authorization
{ "Job.Actions.LogWarranty", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.LogWarranty, (c, v) => c.Job.Actions.LogWarranty = v, "Log Warranty", "Can log warranty for jobs", false) },
{ "Job.Actions.RemoveAnyAttachments", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.RemoveAnyAttachments, (c, v) => c.Job.Actions.RemoveAnyAttachments = v, "Remove Any Attachments", "Can remove any attachments from jobs", false) },
{ "Job.Actions.RemoveAnyLogs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.RemoveAnyLogs, (c, v) => c.Job.Actions.RemoveAnyLogs = v, "Remove Any Logs", "Can remove any job logs", false) },
{ "Job.Actions.RemoveAnyQueues", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.RemoveAnyQueues, (c, v) => c.Job.Actions.RemoveAnyQueues = v, "Remove from Any Queues", "Can remove from any job queues", false) },
{ "Job.Actions.RemoveOwnQueues", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.RemoveOwnQueues, (c, v) => c.Job.Actions.RemoveOwnQueues = v, "Remove from Own Queues", "Can remove from own job queues", false) },
{ "Job.Actions.RemoveOwnAttachments", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.RemoveOwnAttachments, (c, v) => c.Job.Actions.RemoveOwnAttachments = v, "Remove Own Attachments", "Can remove own attachments from jobs", false) },
{ "Job.Actions.RemoveOwnLogs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.RemoveOwnLogs, (c, v) => c.Job.Actions.RemoveOwnLogs = v, "Remove Own Logs", "Can remove own job logs", false) },
{ "Job.Actions.Reopen", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.Reopen, (c, v) => c.Job.Actions.Reopen = v, "Reopen Jobs", "Can reopen jobs", false) },
@@ -120,6 +131,12 @@ namespace Disco.Services.Authorization
{ "Job.Properties.NonWarrantyProperties.RepairerLoggedDate", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.NonWarrantyProperties.RepairerLoggedDate, (c, v) => c.Job.Properties.NonWarrantyProperties.RepairerLoggedDate = v, "Repairer Logged Date Property", "Can update property", false) },
{ "Job.Properties.NonWarrantyProperties.RepairerName", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.NonWarrantyProperties.RepairerName, (c, v) => c.Job.Properties.NonWarrantyProperties.RepairerName = v, "Repairer Name Property", "Can update property", false) },
{ "Job.Properties.NonWarrantyProperties.RepairerReference", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.NonWarrantyProperties.RepairerReference, (c, v) => c.Job.Properties.NonWarrantyProperties.RepairerReference = v, "Repairer Reference Property", "Can update property", false) },
{ "Job.Properties.JobQueueProperties.EditAnyComments", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.JobQueueProperties.EditAnyComments, (c, v) => c.Job.Properties.JobQueueProperties.EditAnyComments = v, "Edit Any Comments", "Can edit any job queue comments", false) },
{ "Job.Properties.JobQueueProperties.EditAnyPriority", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.JobQueueProperties.EditAnyPriority, (c, v) => c.Job.Properties.JobQueueProperties.EditAnyPriority = v, "Edit Any Priority", "Can edit any job queue Priority", false) },
{ "Job.Properties.JobQueueProperties.EditAnySLA", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.JobQueueProperties.EditAnySLA, (c, v) => c.Job.Properties.JobQueueProperties.EditAnySLA = v, "Edit Any SLA", "Can edit any job queue SLA", false) },
{ "Job.Properties.JobQueueProperties.EditOwnComments", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.JobQueueProperties.EditOwnComments, (c, v) => c.Job.Properties.JobQueueProperties.EditOwnComments = v, "Edit Own Comments", "Can edit own job queue comments", false) },
{ "Job.Properties.JobQueueProperties.EditOwnPriority", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.JobQueueProperties.EditOwnPriority, (c, v) => c.Job.Properties.JobQueueProperties.EditOwnPriority = v, "Edit Own Priority", "Can edit own job queue Priority", false) },
{ "Job.Properties.JobQueueProperties.EditOwnSLA", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.JobQueueProperties.EditOwnSLA, (c, v) => c.Job.Properties.JobQueueProperties.EditOwnSLA = v, "Edit Own SLA", "Can edit own job queue SLA", false) },
{ "Job.Properties.DeviceHeldLocation", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.DeviceHeldLocation, (c, v) => c.Job.Properties.DeviceHeldLocation = v, "Device Held Location Property", "Can update property", false) },
{ "Job.Properties.DeviceHeld", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.DeviceHeld, (c, v) => c.Job.Properties.DeviceHeld = v, "Device Held Property", "Can update property", false) },
{ "Job.Properties.DeviceReadyForReturn", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Properties.DeviceReadyForReturn, (c, v) => c.Job.Properties.DeviceReadyForReturn = v, "Device Ready For Return Property", "Can update property", false) },
@@ -140,6 +157,7 @@ namespace Disco.Services.Authorization
{ "Job.ShowDailyChart", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.ShowDailyChart, (c, v) => c.Job.ShowDailyChart = v, "Show Daily Opened & Closed", "Can show daily opened & closed chart", false) },
{ "Job.ShowFlags", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.ShowFlags, (c, v) => c.Job.ShowFlags = v, "Show Flags", "Can show job flags", false) },
{ "Job.Show", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Show, (c, v) => c.Job.Show = v, "Show Jobs", "Can show jobs", false) },
{ "Job.ShowJobsQueues", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.ShowJobsQueues, (c, v) => c.Job.ShowJobsQueues = v, "Show Jobs Queues", "Can show jobs queues", false) },
{ "Job.ShowLogs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.ShowLogs, (c, v) => c.Job.ShowLogs = v, "Show Logs", "Can show job logs", false) },
{ "Job.ShowNonWarrantyComponents", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.ShowNonWarrantyComponents, (c, v) => c.Job.ShowNonWarrantyComponents = v, "Show Non-Warranty Components", "Can show non-warranty job components", false) },
{ "Job.ShowNonWarrantyFinance", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.ShowNonWarrantyFinance, (c, v) => c.Job.ShowNonWarrantyFinance = v, "Show Non-Warranty Finance", "Can show non-warranty job finance", false) },
@@ -189,29 +207,23 @@ namespace Disco.Services.Authorization
_claimNavigator =
new ClaimNavigatorItem("Claims", "Permissions", "Top-level node for all permissions", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config", "Configuration", "Permissions related to Disco Configuration", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceCertificate", "Device Certificate", "Permissions related to Device Certificates", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceCertificate.DownloadCertificates", false)
}),
new ClaimNavigatorItem("Config.Enrolment", "Enrolment", "Permissions related to Device Enrolment", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.Enrolment.Configure", false),
new ClaimNavigatorItem("Config.Enrolment.DownloadBootstrapper", false),
new ClaimNavigatorItem("Config.Enrolment.Show", false),
new ClaimNavigatorItem("Config.Enrolment.ShowStatus", false)
}),
new ClaimNavigatorItem("Config.DeviceBatch", "Device Batch", "Permissions related to Device Batches", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceBatch", "Device Batches", "Permissions related to Device Batches", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceBatch.Configure", false),
new ClaimNavigatorItem("Config.DeviceBatch.Create", false),
new ClaimNavigatorItem("Config.DeviceBatch.Delete", false),
new ClaimNavigatorItem("Config.DeviceBatch.Show", false),
new ClaimNavigatorItem("Config.DeviceBatch.ShowTimeline", false)
}),
new ClaimNavigatorItem("Config.DeviceModel", "Device Model", "Permissions related to Device Models", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceCertificate", "Device Certificates", "Permissions related to Device Certificates", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceCertificate.DownloadCertificates", false)
}),
new ClaimNavigatorItem("Config.DeviceModel", "Device Models", "Permissions related to Device Models", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceModel.ConfigureComponents", false),
new ClaimNavigatorItem("Config.DeviceModel.Configure", false),
new ClaimNavigatorItem("Config.DeviceModel.Delete", false),
new ClaimNavigatorItem("Config.DeviceModel.Show", false)
}),
new ClaimNavigatorItem("Config.DeviceProfile", "Device Profile", "Permissions related to Device Profiles", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceProfile", "Device Profiles", "Permissions related to Device Profiles", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DeviceProfile.ConfigureComputerNameTemplate", false),
new ClaimNavigatorItem("Config.DeviceProfile.ConfigureDefaults", false),
new ClaimNavigatorItem("Config.DeviceProfile.Configure", false),
@@ -219,7 +231,7 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Config.DeviceProfile.Delete", false),
new ClaimNavigatorItem("Config.DeviceProfile.Show", false)
}),
new ClaimNavigatorItem("Config.DocumentTemplate", "Document Template", "Permissions related to Document Templates", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DocumentTemplate", "Document Templates", "Permissions related to Document Templates", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.DocumentTemplate.BulkGenerate", false),
new ClaimNavigatorItem("Config.DocumentTemplate.Configure", false),
new ClaimNavigatorItem("Config.DocumentTemplate.ConfigureFilterExpression", false),
@@ -230,20 +242,25 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Config.DocumentTemplate.UndetectedPages", false),
new ClaimNavigatorItem("Config.DocumentTemplate.Upload", false)
}),
new ClaimNavigatorItem("Config.Enrolment", "Enrolment", "Permissions related to Device Enrolment", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.Enrolment.Configure", false),
new ClaimNavigatorItem("Config.Enrolment.DownloadBootstrapper", false),
new ClaimNavigatorItem("Config.Enrolment.Show", false),
new ClaimNavigatorItem("Config.Enrolment.ShowStatus", false)
}),
new ClaimNavigatorItem("Config.JobPreferences", "Job Preferences", "Permissions related to Job Preferences", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.JobPreferences.Configure", false),
new ClaimNavigatorItem("Config.JobPreferences.Show", false)
}),
new ClaimNavigatorItem("Config.JobQueue", "Job Queues", "Permissions related to Job Queues", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.JobQueue.Configure", false),
new ClaimNavigatorItem("Config.JobQueue.Create", false),
new ClaimNavigatorItem("Config.JobQueue.Delete", false),
new ClaimNavigatorItem("Config.JobQueue.Show", false)
}),
new ClaimNavigatorItem("Config.Logging", "Logging", "Permissions related to Logging", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.Logging.Show", false)
}),
new ClaimNavigatorItem("Config.Plugin", "Plugin", "Permissions related to Plugins", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.Plugin.Configure", false),
new ClaimNavigatorItem("Config.Plugin.InstallLocal", false),
new ClaimNavigatorItem("Config.Plugin.Install", false),
new ClaimNavigatorItem("Config.Plugin.Show", false),
new ClaimNavigatorItem("Config.Plugin.Uninstall", false)
}),
new ClaimNavigatorItem("Config.System", "System", "Permissions related to System Configuration", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.System.ConfigureProxy", false),
new ClaimNavigatorItem("Config.System.Show", false)
}),
new ClaimNavigatorItem("Config.Organisation", "Organisation Details", "Permissions related to the Organisation Details", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.Organisation.ConfigureAddresses", false),
new ClaimNavigatorItem("Config.Organisation.ConfigureLogo", false),
@@ -251,31 +268,25 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Config.Organisation.ConfigureName", false),
new ClaimNavigatorItem("Config.Organisation.Show", false)
}),
new ClaimNavigatorItem("Config.JobPreferences", "Job Preferences", "Permissions related to Job Preferences", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.JobPreferences.Configure", false),
new ClaimNavigatorItem("Config.JobPreferences.Show", false)
new ClaimNavigatorItem("Config.Plugin", "Plugin", "Permissions related to Plugins", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.Plugin.Configure", false),
new ClaimNavigatorItem("Config.Plugin.InstallLocal", false),
new ClaimNavigatorItem("Config.Plugin.Install", false),
new ClaimNavigatorItem("Config.Plugin.Show", false),
new ClaimNavigatorItem("Config.Plugin.Uninstall", false)
}),
new ClaimNavigatorItem("Config.Show", false)
new ClaimNavigatorItem("Config.Show", false),
new ClaimNavigatorItem("Config.System", "System", "Permissions related to System Configuration", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Config.System.ConfigureProxy", false),
new ClaimNavigatorItem("Config.System.Show", false)
})
}),
new ClaimNavigatorItem("Job", "Job", "Permissions related to Jobs", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Lists", "Lists", "Permissions related to Job Lists", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Lists.AllOpen", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinanceAgreementBreach", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinanceCharge", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinanceInsuranceProcessing", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinance", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinancePayment", false),
new ClaimNavigatorItem("Job.Lists.AwaitingTechnicianAction", false),
new ClaimNavigatorItem("Job.Lists.AwaitingUserAction", false),
new ClaimNavigatorItem("Job.Lists.DevicesAwaitingRepair", false),
new ClaimNavigatorItem("Job.Lists.DevicesReadyForReturn", false),
new ClaimNavigatorItem("Job.Lists.Locations", false),
new ClaimNavigatorItem("Job.Lists.LongRunningJobs", false),
new ClaimNavigatorItem("Job.Lists.RecentlyClosed", false)
}),
new ClaimNavigatorItem("Job.Actions", "Actions", "Permissions related to Job Actions", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Actions.AddAttachments", false),
new ClaimNavigatorItem("Job.Actions.AddLogs", false),
new ClaimNavigatorItem("Job.Actions.AddAnyQueues", false),
new ClaimNavigatorItem("Job.Actions.AddOwnQueues", false),
new ClaimNavigatorItem("Job.Actions.Close", false),
new ClaimNavigatorItem("Job.Actions.ConvertHWarToHNWar", false),
new ClaimNavigatorItem("Job.Actions.Create", false),
@@ -286,19 +297,27 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Job.Actions.LogWarranty", false),
new ClaimNavigatorItem("Job.Actions.RemoveAnyAttachments", false),
new ClaimNavigatorItem("Job.Actions.RemoveAnyLogs", false),
new ClaimNavigatorItem("Job.Actions.RemoveAnyQueues", false),
new ClaimNavigatorItem("Job.Actions.RemoveOwnQueues", false),
new ClaimNavigatorItem("Job.Actions.RemoveOwnAttachments", false),
new ClaimNavigatorItem("Job.Actions.RemoveOwnLogs", false),
new ClaimNavigatorItem("Job.Actions.Reopen", false),
new ClaimNavigatorItem("Job.Actions.UpdateSubTypes", false)
}),
new ClaimNavigatorItem("Job.Properties", "Job Properties", "Permissions related to Job Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Properties.WarrantyProperties", "Warranty Properties", "Permissions related to Warranty Job Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalCompletedDate", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalLoggedDate", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalName", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalReference", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ProviderDetails", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.WarrantyCompleted", false)
new ClaimNavigatorItem("Job.Properties.DeviceHeldLocation", false),
new ClaimNavigatorItem("Job.Properties.DeviceHeld", false),
new ClaimNavigatorItem("Job.Properties.DeviceReadyForReturn", false),
new ClaimNavigatorItem("Job.Properties.DeviceReturned", false),
new ClaimNavigatorItem("Job.Properties.ExpectedClosedDate", false),
new ClaimNavigatorItem("Job.Properties.Flags", false),
new ClaimNavigatorItem("Job.Properties.JobQueueProperties", "Job Queue Properties", "Permissions related to Job Queue Job Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Properties.JobQueueProperties.EditAnyComments", false),
new ClaimNavigatorItem("Job.Properties.JobQueueProperties.EditAnyPriority", false),
new ClaimNavigatorItem("Job.Properties.JobQueueProperties.EditAnySLA", false),
new ClaimNavigatorItem("Job.Properties.JobQueueProperties.EditOwnComments", false),
new ClaimNavigatorItem("Job.Properties.JobQueueProperties.EditOwnPriority", false),
new ClaimNavigatorItem("Job.Properties.JobQueueProperties.EditOwnSLA", false)
}),
new ClaimNavigatorItem("Job.Properties.NonWarrantyProperties", "Non Warranty Properties", "Permissions related to Non-Warranty Job Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Properties.NonWarrantyProperties.AccountingChargeAdded", false),
@@ -318,15 +337,47 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Job.Properties.NonWarrantyProperties.RepairerName", false),
new ClaimNavigatorItem("Job.Properties.NonWarrantyProperties.RepairerReference", false)
}),
new ClaimNavigatorItem("Job.Properties.DeviceHeldLocation", false),
new ClaimNavigatorItem("Job.Properties.DeviceHeld", false),
new ClaimNavigatorItem("Job.Properties.DeviceReadyForReturn", false),
new ClaimNavigatorItem("Job.Properties.DeviceReturned", false),
new ClaimNavigatorItem("Job.Properties.ExpectedClosedDate", false),
new ClaimNavigatorItem("Job.Properties.Flags", false),
new ClaimNavigatorItem("Job.Properties.NotWaitingForUserAction", false),
new ClaimNavigatorItem("Job.Properties.WaitingForUserAction", false)
new ClaimNavigatorItem("Job.Properties.WaitingForUserAction", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties", "Warranty Properties", "Permissions related to Warranty Job Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalCompletedDate", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalLoggedDate", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalName", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ExternalReference", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.ProviderDetails", false),
new ClaimNavigatorItem("Job.Properties.WarrantyProperties.WarrantyCompleted", false)
})
}),
new ClaimNavigatorItem("Job.Lists", "Lists", "Permissions related to Job Lists", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Lists.AllOpen", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinanceAgreementBreach", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinanceCharge", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinanceInsuranceProcessing", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinance", false),
new ClaimNavigatorItem("Job.Lists.AwaitingFinancePayment", false),
new ClaimNavigatorItem("Job.Lists.AwaitingTechnicianAction", false),
new ClaimNavigatorItem("Job.Lists.AwaitingUserAction", false),
new ClaimNavigatorItem("Job.Lists.DevicesAwaitingRepair", false),
new ClaimNavigatorItem("Job.Lists.DevicesReadyForReturn", false),
new ClaimNavigatorItem("Job.Lists.JobQueueLists", false),
new ClaimNavigatorItem("Job.Lists.Locations", false),
new ClaimNavigatorItem("Job.Lists.LongRunningJobs", false),
new ClaimNavigatorItem("Job.Lists.MyJobs", false),
new ClaimNavigatorItem("Job.Lists.MyJobsOrphaned", false),
new ClaimNavigatorItem("Job.Lists.RecentlyClosed", false)
}),
new ClaimNavigatorItem("Job.Search", false),
new ClaimNavigatorItem("Job.ShowAttachments", false),
new ClaimNavigatorItem("Job.ShowDailyChart", false),
new ClaimNavigatorItem("Job.ShowFlags", false),
new ClaimNavigatorItem("Job.Show", false),
new ClaimNavigatorItem("Job.ShowJobsQueues", false),
new ClaimNavigatorItem("Job.ShowLogs", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyComponents", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyFinance", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyInsurance", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyRepairs", false),
new ClaimNavigatorItem("Job.ShowWarranty", false),
new ClaimNavigatorItem("Job.Types", "Types", "Permissions related to Job Types", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Job.Types.ShowHMisc", false),
new ClaimNavigatorItem("Job.Types.ShowHNWar", false),
@@ -335,27 +386,9 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Job.Types.ShowSOS", false),
new ClaimNavigatorItem("Job.Types.ShowSImg", false),
new ClaimNavigatorItem("Job.Types.ShowUMgmt", false)
}),
new ClaimNavigatorItem("Job.Search", false),
new ClaimNavigatorItem("Job.ShowAttachments", false),
new ClaimNavigatorItem("Job.ShowDailyChart", false),
new ClaimNavigatorItem("Job.ShowFlags", false),
new ClaimNavigatorItem("Job.Show", false),
new ClaimNavigatorItem("Job.ShowLogs", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyComponents", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyFinance", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyInsurance", false),
new ClaimNavigatorItem("Job.ShowNonWarrantyRepairs", false),
new ClaimNavigatorItem("Job.ShowWarranty", false)
})
}),
new ClaimNavigatorItem("Device", "Device", "Permissions related to Devices", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Device.Properties", "Device Properties", "Permissions related to Device Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Device.Properties.AssetNumber", false),
new ClaimNavigatorItem("Device.Properties.Details", false),
new ClaimNavigatorItem("Device.Properties.DeviceBatch", false),
new ClaimNavigatorItem("Device.Properties.DeviceProfile", false),
new ClaimNavigatorItem("Device.Properties.Location", false)
}),
new ClaimNavigatorItem("Device.Actions", "Actions", "Permissions related to Device Actions", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Device.Actions.AddAttachments", false),
new ClaimNavigatorItem("Device.Actions.AllowUnauthenticatedEnrol", false),
@@ -370,6 +403,13 @@ namespace Disco.Services.Authorization
new ClaimNavigatorItem("Device.Actions.RemoveAnyAttachments", false),
new ClaimNavigatorItem("Device.Actions.RemoveOwnAttachments", false)
}),
new ClaimNavigatorItem("Device.Properties", "Device Properties", "Permissions related to Device Properties", false, new List<IClaimNavigatorItem>() {
new ClaimNavigatorItem("Device.Properties.AssetNumber", false),
new ClaimNavigatorItem("Device.Properties.Details", false),
new ClaimNavigatorItem("Device.Properties.DeviceBatch", false),
new ClaimNavigatorItem("Device.Properties.DeviceProfile", false),
new ClaimNavigatorItem("Device.Properties.Location", false)
}),
new ClaimNavigatorItem("Device.Search", false),
new ClaimNavigatorItem("Device.ShowAssignmentHistory", false),
new ClaimNavigatorItem("Device.ShowAttachments", false),
@@ -500,6 +540,10 @@ namespace Disco.Services.Authorization
c.Config.Organisation.Show = true;
c.Config.JobPreferences.Configure = true;
c.Config.JobPreferences.Show = true;
c.Config.JobQueue.Configure = true;
c.Config.JobQueue.Create = true;
c.Config.JobQueue.Delete = true;
c.Config.JobQueue.Show = true;
c.Config.Show = true;
c.Job.Lists.AllOpen = true;
c.Job.Lists.AwaitingFinanceAgreementBreach = true;
@@ -511,11 +555,16 @@ namespace Disco.Services.Authorization
c.Job.Lists.AwaitingUserAction = true;
c.Job.Lists.DevicesAwaitingRepair = true;
c.Job.Lists.DevicesReadyForReturn = true;
c.Job.Lists.JobQueueLists = true;
c.Job.Lists.Locations = true;
c.Job.Lists.LongRunningJobs = true;
c.Job.Lists.MyJobs = true;
c.Job.Lists.MyJobsOrphaned = true;
c.Job.Lists.RecentlyClosed = true;
c.Job.Actions.AddAttachments = true;
c.Job.Actions.AddLogs = true;
c.Job.Actions.AddAnyQueues = true;
c.Job.Actions.AddOwnQueues = true;
c.Job.Actions.Close = true;
c.Job.Actions.ConvertHWarToHNWar = true;
c.Job.Actions.Create = true;
@@ -526,6 +575,8 @@ namespace Disco.Services.Authorization
c.Job.Actions.LogWarranty = true;
c.Job.Actions.RemoveAnyAttachments = true;
c.Job.Actions.RemoveAnyLogs = true;
c.Job.Actions.RemoveAnyQueues = true;
c.Job.Actions.RemoveOwnQueues = true;
c.Job.Actions.RemoveOwnAttachments = true;
c.Job.Actions.RemoveOwnLogs = true;
c.Job.Actions.Reopen = true;
@@ -552,6 +603,12 @@ namespace Disco.Services.Authorization
c.Job.Properties.NonWarrantyProperties.RepairerLoggedDate = true;
c.Job.Properties.NonWarrantyProperties.RepairerName = true;
c.Job.Properties.NonWarrantyProperties.RepairerReference = true;
c.Job.Properties.JobQueueProperties.EditAnyComments = true;
c.Job.Properties.JobQueueProperties.EditAnyPriority = true;
c.Job.Properties.JobQueueProperties.EditAnySLA = true;
c.Job.Properties.JobQueueProperties.EditOwnComments = true;
c.Job.Properties.JobQueueProperties.EditOwnPriority = true;
c.Job.Properties.JobQueueProperties.EditOwnSLA = true;
c.Job.Properties.DeviceHeldLocation = true;
c.Job.Properties.DeviceHeld = true;
c.Job.Properties.DeviceReadyForReturn = true;
@@ -572,6 +629,7 @@ namespace Disco.Services.Authorization
c.Job.ShowDailyChart = true;
c.Job.ShowFlags = true;
c.Job.Show = true;
c.Job.ShowJobsQueues = true;
c.Job.ShowLogs = true;
c.Job.ShowNonWarrantyComponents = true;
c.Job.ShowNonWarrantyFinance = true;
@@ -631,7 +689,7 @@ namespace Disco.Services.Authorization
public static class Config
{
/// <summary>Device Certificate
/// <summary>Device Certificates
/// <para>Permissions related to Device Certificates</para>
/// </summary>
public static class DeviceCertificate
@@ -670,7 +728,7 @@ namespace Disco.Services.Authorization
public const string ShowStatus = "Config.Enrolment.ShowStatus";
}
/// <summary>Device Batch
/// <summary>Device Batches
/// <para>Permissions related to Device Batches</para>
/// </summary>
public static class DeviceBatch
@@ -702,7 +760,7 @@ namespace Disco.Services.Authorization
public const string ShowTimeline = "Config.DeviceBatch.ShowTimeline";
}
/// <summary>Device Model
/// <summary>Device Models
/// <para>Permissions related to Device Models</para>
/// </summary>
public static class DeviceModel
@@ -729,7 +787,7 @@ namespace Disco.Services.Authorization
public const string Show = "Config.DeviceModel.Show";
}
/// <summary>Device Profile
/// <summary>Device Profiles
/// <para>Permissions related to Device Profiles</para>
/// </summary>
public static class DeviceProfile
@@ -766,7 +824,7 @@ namespace Disco.Services.Authorization
public const string Show = "Config.DeviceProfile.Show";
}
/// <summary>Document Template
/// <summary>Document Templates
/// <para>Permissions related to Document Templates</para>
/// </summary>
public static class DocumentTemplate
@@ -928,6 +986,33 @@ namespace Disco.Services.Authorization
public const string Show = "Config.JobPreferences.Show";
}
/// <summary>Job Queues
/// <para>Permissions related to Job Queues</para>
/// </summary>
public static class JobQueue
{
/// <summary>Configure Job Queues
/// <para>Can configure job queues</para>
/// </summary>
public const string Configure = "Config.JobQueue.Configure";
/// <summary>Create Job Queues
/// <para>Can create job queues</para>
/// </summary>
public const string Create = "Config.JobQueue.Create";
/// <summary>Delete Job Queues
/// <para>Can delete job queues</para>
/// </summary>
public const string Delete = "Config.JobQueue.Delete";
/// <summary>Show Job Queues
/// <para>Can show job queues</para>
/// </summary>
public const string Show = "Config.JobQueue.Show";
}
/// <summary>Show Configuration
/// <para>Can show the configuration menu</para>
/// </summary>
@@ -996,6 +1081,11 @@ namespace Disco.Services.Authorization
/// </summary>
public const string DevicesReadyForReturn = "Job.Lists.DevicesReadyForReturn";
/// <summary>Job Queue Lists
/// <para>Can show job queue lists</para>
/// </summary>
public const string JobQueueLists = "Job.Lists.JobQueueLists";
/// <summary>Locations List
/// <para>Can show list</para>
/// </summary>
@@ -1006,6 +1096,16 @@ namespace Disco.Services.Authorization
/// </summary>
public const string LongRunningJobs = "Job.Lists.LongRunningJobs";
/// <summary>My Jobs List
/// <para>Can show list</para>
/// </summary>
public const string MyJobs = "Job.Lists.MyJobs";
/// <summary>My Jobs List (Includes No Queue)
/// <para>Can show list</para>
/// </summary>
public const string MyJobsOrphaned = "Job.Lists.MyJobsOrphaned";
/// <summary>Recently Closed List
/// <para>Can show list</para>
/// </summary>
@@ -1028,6 +1128,16 @@ namespace Disco.Services.Authorization
/// </summary>
public const string AddLogs = "Job.Actions.AddLogs";
/// <summary>Add to Any Queues
/// <para>Can add to any job queues</para>
/// </summary>
public const string AddAnyQueues = "Job.Actions.AddAnyQueues";
/// <summary>Add to Own Queues
/// <para>Can add to own job queues</para>
/// </summary>
public const string AddOwnQueues = "Job.Actions.AddOwnQueues";
/// <summary>Close Jobs
/// <para>Can close jobs</para>
/// </summary>
@@ -1078,6 +1188,16 @@ namespace Disco.Services.Authorization
/// </summary>
public const string RemoveAnyLogs = "Job.Actions.RemoveAnyLogs";
/// <summary>Remove from Any Queues
/// <para>Can remove from any job queues</para>
/// </summary>
public const string RemoveAnyQueues = "Job.Actions.RemoveAnyQueues";
/// <summary>Remove from Own Queues
/// <para>Can remove from own job queues</para>
/// </summary>
public const string RemoveOwnQueues = "Job.Actions.RemoveOwnQueues";
/// <summary>Remove Own Attachments
/// <para>Can remove own attachments from jobs</para>
/// </summary>
@@ -1229,6 +1349,43 @@ namespace Disco.Services.Authorization
public const string RepairerReference = "Job.Properties.NonWarrantyProperties.RepairerReference";
}
/// <summary>Job Queue Properties
/// <para>Permissions related to Job Queue Job Properties</para>
/// </summary>
public static class JobQueueProperties
{
/// <summary>Edit Any Comments
/// <para>Can edit any job queue comments</para>
/// </summary>
public const string EditAnyComments = "Job.Properties.JobQueueProperties.EditAnyComments";
/// <summary>Edit Any Priority
/// <para>Can edit any job queue Priority</para>
/// </summary>
public const string EditAnyPriority = "Job.Properties.JobQueueProperties.EditAnyPriority";
/// <summary>Edit Any SLA
/// <para>Can edit any job queue SLA</para>
/// </summary>
public const string EditAnySLA = "Job.Properties.JobQueueProperties.EditAnySLA";
/// <summary>Edit Own Comments
/// <para>Can edit own job queue comments</para>
/// </summary>
public const string EditOwnComments = "Job.Properties.JobQueueProperties.EditOwnComments";
/// <summary>Edit Own Priority
/// <para>Can edit own job queue Priority</para>
/// </summary>
public const string EditOwnPriority = "Job.Properties.JobQueueProperties.EditOwnPriority";
/// <summary>Edit Own SLA
/// <para>Can edit own job queue SLA</para>
/// </summary>
public const string EditOwnSLA = "Job.Properties.JobQueueProperties.EditOwnSLA";
}
/// <summary>Device Held Location Property
/// <para>Can update property</para>
/// </summary>
@@ -1337,6 +1494,11 @@ namespace Disco.Services.Authorization
/// </summary>
public const string Show = "Job.Show";
/// <summary>Show Jobs Queues
/// <para>Can show jobs queues</para>
/// </summary>
public const string ShowJobsQueues = "Job.ShowJobsQueues";
/// <summary>Show Logs
/// <para>Can show job logs</para>
/// </summary>
+5 -4
View File
@@ -53,7 +53,7 @@
// This file was generated by a T4 template.
// Don't change it directly as your change would get overwritten. Instead, make changes
// to the .tt file (i.e. the T4 template) and save it to regenerate this file.
using Disco.Models.Authorization;
using Disco.Models.Services.Authorization;
using Disco.Models.Repository;
using Disco.Services.Authorization.Roles;
using System;
@@ -213,10 +213,11 @@ void WriteNavigator_Recurse(Permission p, string Prefix){
var groupPrefix = string.Concat(key, ".");
WriteLine("new ClaimNavigatorItem(\"{0}{1}\", \"{2}\", \"{3}\", {4}, new List<IClaimNavigatorItem>() {{", Prefix, p.Name, p.FriendlyName, p.Description, p.Hidden ? "true" : "false");
PushIndent(" ");
for (int childIndex = 0; childIndex < p.Children.Count; childIndex++)
var children = p.Children.OrderBy(c => c.FriendlyName).ToList();
for (int childIndex = 0; childIndex < children.Count; childIndex++)
{
WriteNavigator_Recurse(p.Children[childIndex], groupPrefix);
if (childIndex < p.Children.Count -1)
WriteNavigator_Recurse(children[childIndex], groupPrefix);
if (childIndex < children.Count -1)
WriteLine(",");
else
WriteLine(string.Empty);
@@ -5,6 +5,7 @@ using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DeviceProfile
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DocumentTemplate;
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.Enrolment;
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.JobPreferences;
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.JobQueue;
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.Logging;
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.Origanisation;
using Disco.Services.Authorization.Roles.ClaimGroups.Configuration.Plugin;
@@ -28,6 +29,7 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration
this.System = new SystemClaims();
this.Organisation = new OrganisationClaims();
this.JobPreferences = new JobPreferencesClaims();
this.JobQueue = new JobQueueClaims();
}
[ClaimDetails("Show Configuration", "Can show the configuration menu")]
@@ -54,5 +56,7 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration
public OrganisationClaims Organisation { get; set; }
public JobPreferencesClaims JobPreferences { get; set; }
public JobQueueClaims JobQueue { get; set; }
}
}
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DeviceBatch
{
[ClaimDetails("Device Batch", "Permissions related to Device Batches")]
[ClaimDetails("Device Batches", "Permissions related to Device Batches")]
public class DeviceBatchClaims : BaseRoleClaimGroup
{
[ClaimDetails("Configure Device Batches", "Can configure device batches")]
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DeviceCertificate
{
[ClaimDetails("Device Certificate", "Permissions related to Device Certificates")]
[ClaimDetails("Device Certificates", "Permissions related to Device Certificates")]
public class DeviceCertificateClaims : BaseRoleClaimGroup
{
[ClaimDetails("Download Certificates", "Can download certificates")]
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DeviceModel
{
[ClaimDetails("Device Model", "Permissions related to Device Models")]
[ClaimDetails("Device Models", "Permissions related to Device Models")]
public class DeviceModelClaims : BaseRoleClaimGroup
{
[ClaimDetails("Configure Device Models", "Can configure device models")]
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DeviceProfile
{
[ClaimDetails("Device Profile", "Permissions related to Device Profiles")]
[ClaimDetails("Device Profiles", "Permissions related to Device Profiles")]
public class DeviceProfileClaims : BaseRoleClaimGroup
{
[ClaimDetails("Configure Device Profiles", "Can configure device profiles")]
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration.DocumentTemplate
{
[ClaimDetails("Document Template", "Permissions related to Document Templates")]
[ClaimDetails("Document Templates", "Permissions related to Document Templates")]
public class DocumentTemplateClaims : BaseRoleClaimGroup
{
[ClaimDetails("Configure Document Templates", "Can configure document templates")]
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Configuration.JobQueue
{
[ClaimDetails("Job Queues", "Permissions related to Job Queues")]
public class JobQueueClaims : BaseRoleClaimGroup
{
[ClaimDetails("Configure Job Queues", "Can configure job queues")]
public bool Configure { get; set; }
[ClaimDetails("Create Job Queues", "Can create job queues")]
public bool Create { get; set; }
[ClaimDetails("Delete Job Queues", "Can delete job queues")]
public bool Delete { get; set; }
[ClaimDetails("Show Job Queues", "Can show job queues")]
public bool Show { get; set; }
}
}
@@ -20,6 +20,15 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Job
[ClaimDetails("Delete Jobs", "Can delete jobs")]
public bool Delete { get; set; }
[ClaimDetails("Add to Own Queues", "Can add to own job queues")]
public bool AddOwnQueues { get; set; }
[ClaimDetails("Add to Any Queues", "Can add to any job queues")]
public bool AddAnyQueues { get; set; }
[ClaimDetails("Remove from Own Queues", "Can remove from own job queues")]
public bool RemoveOwnQueues { get; set; }
[ClaimDetails("Remove from Any Queues", "Can remove from any job queues")]
public bool RemoveAnyQueues { get; set; }
[ClaimDetails("Log Warranty", "Can log warranty for jobs")]
public bool LogWarranty { get; set; }
[ClaimDetails("Log Repair", "Can log repair for non-warranty jobs")]
@@ -31,6 +31,9 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Job
[ClaimDetails("Show Attachments", "Can show job attachments")]
public bool ShowAttachments { get; set; }
[ClaimDetails("Show Jobs Queues", "Can show jobs queues")]
public bool ShowJobsQueues { get; set; }
[ClaimDetails("Show Non-Warranty Components", "Can show non-warranty job components")]
public bool ShowNonWarrantyComponents { get; set; }
[ClaimDetails("Show Non-Warranty Finance", "Can show non-warranty job finance")]
@@ -9,6 +9,14 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Job
[ClaimDetails("Lists", "Permissions related to Job Lists")]
public class JobListsClaims : BaseRoleClaimGroup
{
[ClaimDetails("Job Queue Lists", "Can show job queue lists")]
public bool JobQueueLists { get; set; }
[ClaimDetails("My Jobs List", "Can show list")]
public bool MyJobs { get; set; }
[ClaimDetails("My Jobs List (Includes No Queue)", "Can show list")]
public bool MyJobsOrphaned { get; set; }
[ClaimDetails("Awaiting Technician Action List", "Can show list")]
public bool AwaitingTechnicianAction { get; set; }
[ClaimDetails("Long Running Jobs List", "Can show list")]
@@ -13,10 +13,12 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Job
{
this.WarrantyProperties = new JobWarrantyPropertiesClaims();
this.NonWarrantyProperties = new JobNonWarrantyPropertiesClaims();
this.JobQueueProperties = new JobQueuePropertiesClaims();
}
public JobWarrantyPropertiesClaims WarrantyProperties { get; set; }
public JobNonWarrantyPropertiesClaims NonWarrantyProperties { get; set; }
public JobQueuePropertiesClaims JobQueueProperties { get; set; }
[ClaimDetails("Device Held Property", "Can update property")]
public bool DeviceHeld { get; set; }
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Disco.Services.Authorization.Roles.ClaimGroups.Job
{
[ClaimDetails("Job Queue Properties", "Permissions related to Job Queue Job Properties")]
public class JobQueuePropertiesClaims : BaseRoleClaimGroup
{
[ClaimDetails("Edit Any Comments", "Can edit any job queue comments")]
public bool EditAnyComments { get; set; }
[ClaimDetails("Edit Own Comments", "Can edit own job queue comments")]
public bool EditOwnComments { get; set; }
[ClaimDetails("Edit Any SLA", "Can edit any job queue SLA")]
public bool EditAnySLA { get; set; }
[ClaimDetails("Edit Own SLA", "Can edit own job queue SLA")]
public bool EditOwnSLA { get; set; }
[ClaimDetails("Edit Any Priority", "Can edit any job queue Priority")]
public bool EditAnyPriority { get; set; }
[ClaimDetails("Edit Own Priority", "Can edit own job queue Priority")]
public bool EditOwnPriority { get; set; }
}
}
@@ -1,5 +1,5 @@
using Disco.Data.Repository;
using Disco.Models.Authorization;
using Disco.Models.Services.Authorization;
using Disco.Models.Repository;
using System;
using System.Collections.Concurrent;
@@ -1,4 +1,4 @@
using Disco.Models.Authorization;
using Disco.Models.Services.Authorization;
using Disco.Models.Repository;
using Newtonsoft.Json;
using System;