feature: custom details first-class

custom details (such as those from the UserDetails plugin) can now be more deeply integrated throughtout the system
This commit is contained in:
Gary Sharp
2021-02-07 18:15:52 +11:00
parent e11d0871c4
commit 3e57af394d
41 changed files with 2700 additions and 1279 deletions
+19 -3
View File
@@ -9,6 +9,7 @@ using Disco.Services.Jobs.JobLists;
using Disco.Services.Jobs.JobQueues;
using Disco.Services.Jobs.Statistics;
using Disco.Services.Logging;
using Disco.Services.Plugins.Features.DetailsProvider;
using Disco.Services.Plugins.Features.RepairProvider;
using Disco.Services.Plugins.Features.UIExtension;
using Disco.Services.Plugins.Features.WarrantyProvider;
@@ -298,9 +299,21 @@ namespace Disco.Web.Controllers
var m = new Models.Job.ShowModel();
m.Job = Database.Jobs
.Include("Device.DeviceModel").Include("Device.DeviceBatch").Include("DeviceHeldTechUser").Include("DeviceReadyForReturnTechUser").Include("DeviceReturnedTechUser")
.Include("OpenedTechUser").Include("ClosedTechUser").Include("JobType").Include("JobSubTypes").Include("User.UserFlagAssignments").Include("JobLogs.TechUser")
.Include("JobAttachments.TechUser").Include("JobAttachments.DocumentTemplate")
.Include("Device.DeviceModel")
.Include("Device.DeviceBatch")
.Include("Device.DeviceDetails")
.Include("DeviceHeldTechUser")
.Include("DeviceReadyForReturnTechUser")
.Include("DeviceReturnedTechUser")
.Include("OpenedTechUser")
.Include("ClosedTechUser")
.Include("JobType")
.Include("JobSubTypes")
.Include("User.UserFlagAssignments")
.Include("User.UserDetails")
.Include("JobLogs.TechUser")
.Include("JobAttachments.TechUser")
.Include("JobAttachments.DocumentTemplate")
.FirstOrDefault(j => j.Id == id.Value);
if (m.Job == null)
@@ -364,6 +377,9 @@ namespace Disco.Web.Controllers
m.LocationOptions = ManagedJobList.OpenJobsTable(j => j).Items.Cast<JobTableStatusItemModel>().JobLocationReferences(Database.DiscoConfiguration.JobPreferences.LocationList).ToList();
}
// Populate Custom Details
m.PopulateDetails(Database);
// UI Extensions
UIExtensions.ExecuteExtensions<JobShowModel>(this.ControllerContext, m);