feature: user details are individually exported; shared export field renderer

This commit is contained in:
Gary Sharp
2025-02-26 13:23:24 +11:00
parent 539503133a
commit a9687b5f25
65 changed files with 1559 additions and 2743 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ namespace Disco.Models.Exporting
where O : IExportOptions
where R : IExportRecord
{
public List<string> IgnoreShortNames { get; } = new List<string>();
public List<string> IgnoreGroupNames { get; } = new List<string>();
public O Options { get; set; }
public ExportMetadata(O options)
@@ -1,5 +1,6 @@
using Disco.Models.Exporting;
using Disco.Models.Services.Exporting;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace Disco.Models.Services.Devices
@@ -13,127 +14,126 @@ namespace Disco.Models.Services.Devices
public int? ExportTypeTargetId { get; set; }
// Device
[Display(ShortName = "Device", Name = "Serial Number", Description = "The device serial number")]
[Display(GroupName = "Device", Name = "Serial Number", Description = "The device serial number")]
public bool DeviceSerialNumber { get; set; }
[Display(ShortName = "Device", Name = "Asset Number", Description = "The device asset number")]
[Display(GroupName = "Device", Name = "Asset Number", Description = "The device asset number")]
public bool DeviceAssetNumber { get; set; }
[Display(ShortName = "Device", Name = "Location", Description = "The device location")]
[Display(GroupName = "Device", Name = "Location", Description = "The device location")]
public bool DeviceLocation { get; set; }
[Display(ShortName = "Device", Name = "Computer Name", Description = "The device computer name")]
[Display(GroupName = "Device", Name = "Computer Name", Description = "The device computer name")]
public bool DeviceComputerName { get; set; }
[Display(ShortName = "Device", Name = "Last Network Logon", Description = "The last recorded time the device access the network")]
[Display(GroupName = "Device", Name = "Last Network Logon", Description = "The last recorded time the device access the network")]
public bool DeviceLastNetworkLogon { get; set; }
[Display(ShortName = "Device", Name = "Created Date", Description = "The date the device was created in Disco ICT")]
[Display(GroupName = "Device", Name = "Created Date", Description = "The date the device was created in Disco ICT")]
public bool DeviceCreatedDate { get; set; }
[Display(ShortName = "Device", Name = "First Enrolled Date", Description = "The date the device was first enrolled in Disco ICT")]
[Display(GroupName = "Device", Name = "First Enrolled Date", Description = "The date the device was first enrolled in Disco ICT")]
public bool DeviceFirstEnrolledDate { get; set; }
[Display(ShortName = "Device", Name = "Last Enrolled Date", Description = "The date the device was last enrolled in Disco ICT")]
[Display(GroupName = "Device", Name = "Last Enrolled Date", Description = "The date the device was last enrolled in Disco ICT")]
public bool DeviceLastEnrolledDate { get; set; }
[Display(ShortName = "Device", Name = "Enrolment Trusted", Description = "The device is trusted to complete an unauthenticated enrolment")]
[Display(GroupName = "Device", Name = "Enrollment Trusted", Description = "The device is trusted to complete an unauthenticated enrollment")]
public bool DeviceAllowUnauthenticatedEnrol { get; set; }
[Display(ShortName = "Device", Name = "Decommissioned Date", Description = "The date the device was decommissioned in Disco ICT")]
[Display(GroupName = "Device", Name = "Decommissioned Date", Description = "The date the device was decommissioned in Disco ICT")]
public bool DeviceDecommissionedDate { get; set; }
[Display(ShortName = "Device", Name = "Decommissioned Reason", Description = "The reason the device was decommissioned")]
[Display(GroupName = "Device", Name = "Decommissioned Reason", Description = "The reason the device was decommissioned")]
public bool DeviceDecommissionedReason { get; set; }
// Model
[Display(ShortName = "Model", Name = "Identifier", Description = "The identifier of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Identifier", Description = "The identifier of the device model associated with the device")]
public bool ModelId { get; set; }
[Display(ShortName = "Model", Name = "Description", Description = "The description of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Description", Description = "The description of the device model associated with the device")]
public bool ModelDescription { get; set; }
[Display(ShortName = "Model", Name = "Manufacturer", Description = "The manufacturer of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Manufacturer", Description = "The manufacturer of the device model associated with the device")]
public bool ModelManufacturer { get; set; }
[Display(ShortName = "Model", Name = "Model", Description = "The model of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Model", Description = "The model of the device model associated with the device")]
public bool ModelModel { get; set; }
[Display(ShortName = "Model", Name = "Type", Description = "The type of device model associated with the device")]
[Display(GroupName = "Model", Name = "Type", Description = "The type of device model associated with the device")]
public bool ModelType { get; set; }
// Batch
[Display(ShortName = "Batch", Name = "Identifier", Description = "The identifier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Identifier", Description = "The identifier of the device batch associated with the device")]
public bool BatchId { get; set; }
[Display(ShortName = "Batch", Name = "Name", Description = "The name of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Name", Description = "The name of the device batch associated with the device")]
public bool BatchName { get; set; }
[Display(ShortName = "Batch", Name = "Purchase Date", Description = "The purchase date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Purchase Date", Description = "The purchase date of the device batch associated with the device")]
public bool BatchPurchaseDate { get; set; }
[Display(ShortName = "Batch", Name = "Supplier", Description = "The supplier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Supplier", Description = "The supplier of the device batch associated with the device")]
public bool BatchSupplier { get; set; }
[Display(ShortName = "Batch", Name = "Unit Cost", Description = "The unit cost of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Unit Cost", Description = "The unit cost of the device batch associated with the device")]
public bool BatchUnitCost { get; set; }
[Display(ShortName = "Batch", Name = "Warranty Valid Until Date", Description = "The warranty valid until date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Warranty Valid Until Date", Description = "The warranty valid until date of the device batch associated with the device")]
public bool BatchWarrantyValidUntilDate { get; set; }
[Display(ShortName = "Batch", Name = "Insured Date", Description = "The insured date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insured Date", Description = "The insured date of the device batch associated with the device")]
public bool BatchInsuredDate { get; set; }
[Display(ShortName = "Batch", Name = "Insurance Supplier", Description = "The insurance supplier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insurance Supplier", Description = "The insurance supplier of the device batch associated with the device")]
public bool BatchInsuranceSupplier { get; set; }
[Display(ShortName = "Batch", Name = "Insured Until Date", Description = "The insured until date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insured Until Date", Description = "The insured until date of the device batch associated with the device")]
public bool BatchInsuredUntilDate { get; set; }
// Profile
[Display(ShortName = "Profile", Name = "Identifier", Description = "The identifier of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Identifier", Description = "The identifier of the device profile associated with the device")]
public bool ProfileId { get; set; }
[Display(ShortName = "Profile", Name = "Name", Description = "The name of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Name", Description = "The name of the device profile associated with the device")]
public bool ProfileName { get; set; }
[Display(ShortName = "Profile", Name = "Short Name", Description = "The short name of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Short Name", Description = "The short name of the device profile associated with the device")]
public bool ProfileShortName { get; set; }
// User
[Display(ShortName = "Assigned User", Name = "Identifier", Description = "The identifier of the user assigned to the device")]
[Display(GroupName = "Assigned User", Name = "Identifier", Description = "The identifier of the user assigned to the device")]
public bool AssignedUserId { get; set; }
[Display(ShortName = "Assigned User", Name = "Assigned Date", Description = "The date the device was assigned to the user")]
[Display(GroupName = "Assigned User", Name = "Assigned Date", Description = "The date the device was assigned to the user")]
public bool AssignedUserDate { get; set; }
[Display(ShortName = "Assigned User", Name = "Display Name", Description = "The display name of the user assigned to the device")]
[Display(GroupName = "Assigned User", Name = "Display Name", Description = "The display name of the user assigned to the device")]
public bool AssignedUserDisplayName { get; set; }
[Display(ShortName = "Assigned User", Name = "Surname", Description = "The surname of the user assigned to the device")]
[Display(GroupName = "Assigned User", Name = "Surname", Description = "The surname of the user assigned to the device")]
public bool AssignedUserSurname { get; set; }
[Display(ShortName = "Assigned User", Name = "Given Name", Description = "The given name of the user assigned to the device")]
[Display(GroupName = "Assigned User", Name = "Given Name", Description = "The given name of the user assigned to the device")]
public bool AssignedUserGivenName { get; set; }
[Display(ShortName = "Assigned User", Name = "Phone Number", Description = "The phone number of the user assigned to the device")]
[Display(GroupName = "Assigned User", Name = "Phone Number", Description = "The phone number of the user assigned to the device")]
public bool AssignedUserPhoneNumber { get; set; }
[Display(ShortName = "Assigned User", Name = "Email Address", Description = "The email address of the user assigned to the device")]
[Display(GroupName = "Assigned User", Name = "Email Address", Description = "The email address of the user assigned to the device")]
public bool AssignedUserEmailAddress { get; set; }
[Display(ShortName = "Assigned User", Name = "Custom Details", Description = "The custom details provided by plugins for the user assigned to the device")]
public bool AssignedUserDetailCustom { get; set; }
public List<string> UserDetailCustom { get; set; } = new List<string>();
// Jobs
[Display(ShortName = "Jobs", Name = "Count", Description = "The total number of jobs associated with the device")]
[Display(GroupName = "Jobs", Name = "Count", Description = "The total number of jobs associated with the device")]
public bool JobsTotalCount { get; set; }
[Display(ShortName = "Jobs", Name = "Count Open", Description = "The total number of open jobs associated with the device")]
[Display(GroupName = "Jobs", Name = "Count Open", Description = "The total number of open jobs associated with the device")]
public bool JobsOpenCount { get; set; }
// Attachments
[Display(ShortName = "Attachments", Name = "Count", Description = "The number of attachments associated with the device")]
[Display(GroupName = "Attachments", Name = "Count", Description = "The number of attachments associated with the device")]
public bool AttachmentsCount { get; set; }
// Certificates
[Display(ShortName = "Certificates", Name = "Certificates", Description = "The assigned active certificates associated with the device")]
[Display(GroupName = "Certificates", Name = "Certificates", Description = "The assigned active certificates associated with the device")]
public bool Certificates { get; set; }
// Details
[Display(ShortName = "Details", Name = "BIOS", Description = "The BIOS associated with the device")]
[Display(GroupName = "Details", Name = "BIOS", Description = "The BIOS associated with the device")]
public bool DetailBios { get; set; }
[Display(ShortName = "Details", Name = "Base Board", Description = "The Base Board associated with the device")]
[Display(GroupName = "Details", Name = "Base Board", Description = "The Base Board associated with the device")]
public bool DetailBaseBoard { get; set; }
[Display(ShortName = "Details", Name = "System", Description = "The System information associated with the device")]
[Display(GroupName = "Details", Name = "System", Description = "The System information associated with the device")]
public bool DetailComputerSystem { get; set; }
[Display(ShortName = "Details", Name = "Processors", Description = "The CPU Processors associated with the device")]
[Display(GroupName = "Details", Name = "Processors", Description = "The CPU Processors associated with the device")]
public bool DetailProcessors { get; set; }
[Display(ShortName = "Details", Name = "Memory", Description = "The Memory/RAM associated with the device")]
[Display(GroupName = "Details", Name = "Memory", Description = "The Memory/RAM associated with the device")]
public bool DetailMemory { get; set; }
[Display(ShortName = "Details", Name = "Disk Drives", Description = "The Disk Drives associated with the device")]
[Display(GroupName = "Details", Name = "Disk Drives", Description = "The Disk Drives associated with the device")]
public bool DetailDiskDrives { get; set; }
[Display(ShortName = "Details", Name = "LAN Adapters", Description = "The LAN Adapters associated with the device")]
[Display(GroupName = "Details", Name = "LAN Adapters", Description = "The LAN Adapters associated with the device")]
public bool DetailLanAdapters { get; set; }
[Display(ShortName = "Details", Name = "Wireless LAN Adapters", Description = "The Wireless LAN Adapters associated with the device")]
[Display(GroupName = "Details", Name = "Wireless LAN Adapters", Description = "The Wireless LAN Adapters associated with the device")]
public bool DetailWLanAdapters { get; set; }
[Display(ShortName = "Details", Name = "MDM Hardware Data", Description = "The Mobile Device Management Hardware Data associated with the device")]
[Display(GroupName = "Details", Name = "MDM Hardware Data", Description = "The Mobile Device Management Hardware Data associated with the device")]
public bool DetailMdmHardwareData { get; set; }
[Display(ShortName = "Details", Name = "AC Adapter", Description = "The AC Adapter associated with the device")]
[Display(GroupName = "Details", Name = "AC Adapter", Description = "The AC Adapter associated with the device")]
public bool DetailACAdapter { get; set; }
[Display(ShortName = "Details", Name = "Battery", Description = "The manually entered battery associated with the device")]
[Display(GroupName = "Details", Name = "Battery", Description = "The manually entered battery associated with the device")]
public bool DetailBatteries { get; set; }
[Display(ShortName = "Details", Name = "Batteries", Description = "The reported batteries associated with the device")]
[Display(GroupName = "Details", Name = "Batteries", Description = "The reported batteries associated with the device")]
public bool DetailBattery { get; set; }
[Display(ShortName = "Details", Name = "Keyboard", Description = "The Keyboard associated with the device")]
[Display(GroupName = "Details", Name = "Keyboard", Description = "The Keyboard associated with the device")]
public bool DetailKeyboard { get; set; }
public static DeviceExportOptions DefaultOptions()
@@ -17,51 +17,51 @@ namespace Disco.Models.Services.Devices.DeviceFlag
public bool CurrentOnly { get; set; }
// Device Flag
[Display(ShortName = "Device Flag", Name = "Identifier", Description = "The identifier of the device flag")]
[Display(GroupName = "Device Flag", Name = "Identifier", Description = "The identifier of the device flag")]
public bool Id { get; set; }
[Display(ShortName = "Device Flag", Name = "Name", Description = "The name of the device flag")]
[Display(GroupName = "Device Flag", Name = "Name", Description = "The name of the device flag")]
public bool Name { get; set; }
[Display(ShortName = "Device Flag", Name = "Description", Description = "The description of the device flag")]
[Display(GroupName = "Device Flag", Name = "Description", Description = "The description of the device flag")]
public bool Description { get; set; }
[Display(ShortName = "Device Flag", Name = "Icon", Description = "The icon assigned to the device flag")]
[Display(GroupName = "Device Flag", Name = "Icon", Description = "The icon assigned to the device flag")]
public bool Icon { get; set; }
[Display(ShortName = "Device Flag", Name = "Icon Colour", Description = "The icon colour assigned to the device flag")]
[Display(GroupName = "Device Flag", Name = "Icon Colour", Description = "The icon colour assigned to the device flag")]
public bool IconColour { get; set; }
[Display(ShortName = "Device Flag", Name = "Assignment Identifier", Description = "The identifier of the device flag assignment")]
[Display(GroupName = "Device Flag", Name = "Assignment Identifier", Description = "The identifier of the device flag assignment")]
public bool AssignmentId { get; set; }
[Display(ShortName = "Device Flag", Name = "Added Date", Description = "The date the device flag was assigned to the user")]
[Display(GroupName = "Device Flag", Name = "Added Date", Description = "The date the device flag was assigned to the user")]
public bool AddedDate { get; set; }
[Display(ShortName = "Device Flag", Name = "Added User Identifier", Description = "The identifier of the user who assigned the device flag")]
[Display(GroupName = "Device Flag", Name = "Added User Identifier", Description = "The identifier of the user who assigned the device flag")]
public bool AddedUserId { get; set; }
[Display(ShortName = "Device Flag", Name = "Removed Date", Description = "The date the device flag was unassigned from the user")]
[Display(GroupName = "Device Flag", Name = "Removed Date", Description = "The date the device flag was unassigned from the user")]
public bool RemovedDate { get; set; }
[Display(ShortName = "Device Flag", Name = "Removed User Identifier", Description = "The identifier of the user who unassigned the device flag")]
[Display(GroupName = "Device Flag", Name = "Removed User Identifier", Description = "The identifier of the user who unassigned the device flag")]
public bool RemovedUserId { get; set; }
[Display(ShortName = "Device Flag", Name = "Comments", Description = "The comments associated with the device flag assignment")]
[Display(GroupName = "Device Flag", Name = "Comments", Description = "The comments associated with the device flag assignment")]
public bool Comments { get; set; }
// Device
[Display(ShortName = "Device", Name = "Serial Number", Description = "The device serial number")]
[Display(GroupName = "Device", Name = "Serial Number", Description = "The device serial number")]
public bool DeviceSerialNumber { get; set; }
[Display(ShortName = "Device", Name = "Asset Number", Description = "The device asset number")]
[Display(GroupName = "Device", Name = "Asset Number", Description = "The device asset number")]
public bool DeviceAssetNumber { get; set; }
[Display(ShortName = "Device", Name = "Location", Description = "The device location")]
[Display(GroupName = "Device", Name = "Location", Description = "The device location")]
public bool DeviceLocation { get; set; }
[Display(ShortName = "Device", Name = "Computer Name", Description = "The device computer name")]
[Display(GroupName = "Device", Name = "Computer Name", Description = "The device computer name")]
public bool DeviceComputerName { get; set; }
[Display(ShortName = "Device", Name = "Last Network Logon", Description = "The last recorded time the device access the network")]
[Display(GroupName = "Device", Name = "Last Network Logon", Description = "The last recorded time the device access the network")]
public bool DeviceLastNetworkLogon { get; set; }
[Display(ShortName = "Device", Name = "Created Date", Description = "The date the device was created in Disco ICT")]
[Display(GroupName = "Device", Name = "Created Date", Description = "The date the device was created in Disco ICT")]
public bool DeviceCreatedDate { get; set; }
[Display(ShortName = "Device", Name = "First Enrolled Date", Description = "The date the device was first enrolled in Disco ICT")]
[Display(GroupName = "Device", Name = "First Enrolled Date", Description = "The date the device was first enrolled in Disco ICT")]
public bool DeviceFirstEnrolledDate { get; set; }
[Display(ShortName = "Device", Name = "Last Enrolled Date", Description = "The date the device was last enrolled in Disco ICT")]
[Display(GroupName = "Device", Name = "Last Enrolled Date", Description = "The date the device was last enrolled in Disco ICT")]
public bool DeviceLastEnrolledDate { get; set; }
[Display(ShortName = "Device", Name = "Enrolment Trusted", Description = "The device is trusted to complete an unauthenticated enrolment")]
[Display(GroupName = "Device", Name = "Enrolment Trusted", Description = "The device is trusted to complete an unauthenticated enrolment")]
public bool DeviceAllowUnauthenticatedEnrol { get; set; }
[Display(ShortName = "Device", Name = "Decommissioned Date", Description = "The date the device was decommissioned in Disco ICT")]
[Display(GroupName = "Device", Name = "Decommissioned Date", Description = "The date the device was decommissioned in Disco ICT")]
public bool DeviceDecommissionedDate { get; set; }
[Display(ShortName = "Device", Name = "Decommissioned Reason", Description = "The reason the device was decommissioned")]
[Display(GroupName = "Device", Name = "Decommissioned Reason", Description = "The reason the device was decommissioned")]
public bool DeviceDecommissionedReason { get; set; }
public bool HasDeviceOptions()
@@ -80,15 +80,15 @@ namespace Disco.Models.Services.Devices.DeviceFlag
}
// Model
[Display(ShortName = "Model", Name = "Identifier", Description = "The identifier of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Identifier", Description = "The identifier of the device model associated with the device")]
public bool ModelId { get; set; }
[Display(ShortName = "Model", Name = "Description", Description = "The description of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Description", Description = "The description of the device model associated with the device")]
public bool ModelDescription { get; set; }
[Display(ShortName = "Model", Name = "Manufacturer", Description = "The manufacturer of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Manufacturer", Description = "The manufacturer of the device model associated with the device")]
public bool ModelManufacturer { get; set; }
[Display(ShortName = "Model", Name = "Model", Description = "The model of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Model", Description = "The model of the device model associated with the device")]
public bool ModelModel { get; set; }
[Display(ShortName = "Model", Name = "Type", Description = "The type of device model associated with the device")]
[Display(GroupName = "Model", Name = "Type", Description = "The type of device model associated with the device")]
public bool ModelType { get; set; }
public bool HasDeviceModelOptions()
{
@@ -100,23 +100,23 @@ namespace Disco.Models.Services.Devices.DeviceFlag
}
// Batch
[Display(ShortName = "Batch", Name = "Identifier", Description = "The identifier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Identifier", Description = "The identifier of the device batch associated with the device")]
public bool BatchId { get; set; }
[Display(ShortName = "Batch", Name = "Name", Description = "The name of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Name", Description = "The name of the device batch associated with the device")]
public bool BatchName { get; set; }
[Display(ShortName = "Batch", Name = "Purchase Date", Description = "The purchase date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Purchase Date", Description = "The purchase date of the device batch associated with the device")]
public bool BatchPurchaseDate { get; set; }
[Display(ShortName = "Batch", Name = "Supplier", Description = "The supplier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Supplier", Description = "The supplier of the device batch associated with the device")]
public bool BatchSupplier { get; set; }
[Display(ShortName = "Batch", Name = "Unit Cost", Description = "The unit cost of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Unit Cost", Description = "The unit cost of the device batch associated with the device")]
public bool BatchUnitCost { get; set; }
[Display(ShortName = "Batch", Name = "Warranty Valid Until Date", Description = "The warranty valid until date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Warranty Valid Until Date", Description = "The warranty valid until date of the device batch associated with the device")]
public bool BatchWarrantyValidUntilDate { get; set; }
[Display(ShortName = "Batch", Name = "Insured Date", Description = "The insured date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insured Date", Description = "The insured date of the device batch associated with the device")]
public bool BatchInsuredDate { get; set; }
[Display(ShortName = "Batch", Name = "Insurance Supplier", Description = "The insurance supplier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insurance Supplier", Description = "The insurance supplier of the device batch associated with the device")]
public bool BatchInsuranceSupplier { get; set; }
[Display(ShortName = "Batch", Name = "Insured Until Date", Description = "The insured until date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insured Until Date", Description = "The insured until date of the device batch associated with the device")]
public bool BatchInsuredUntilDate { get; set; }
public bool HasDeviceBatchOptions()
{
@@ -132,11 +132,11 @@ namespace Disco.Models.Services.Devices.DeviceFlag
}
// Profile
[Display(ShortName = "Profile", Name = "Identifier", Description = "The identifier of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Identifier", Description = "The identifier of the device profile associated with the device")]
public bool ProfileId { get; set; }
[Display(ShortName = "Profile", Name = "Name", Description = "The name of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Name", Description = "The name of the device profile associated with the device")]
public bool ProfileName { get; set; }
[Display(ShortName = "Profile", Name = "Short Name", Description = "The short name of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Short Name", Description = "The short name of the device profile associated with the device")]
public bool ProfileShortName { get; set; }
public bool HasDeviceProfileOptions()
{
@@ -146,20 +146,19 @@ namespace Disco.Models.Services.Devices.DeviceFlag
}
// Assigned User
[Display(ShortName = "Assigned User", Name = "Identifier", Description = "The identifier of the user assigned to the device flag")]
[Display(GroupName = "Assigned User", Name = "Identifier", Description = "The identifier of the user assigned to the device flag")]
public bool AssignedUserId { get; set; }
[Display(ShortName = "Assigned User", Name = "Display Name", Description = "The display name of the user assigned to the device flag")]
[Display(GroupName = "Assigned User", Name = "Display Name", Description = "The display name of the user assigned to the device flag")]
public bool AssignedUserDisplayName { get; set; }
[Display(ShortName = "Assigned User", Name = "Surname", Description = "The surname of the user assigned to the device flag")]
[Display(GroupName = "Assigned User", Name = "Surname", Description = "The surname of the user assigned to the device flag")]
public bool AssignedUserSurname { get; set; }
[Display(ShortName = "Assigned User", Name = "Given Name", Description = "The given name of the user assigned to the device flag")]
[Display(GroupName = "Assigned User", Name = "Given Name", Description = "The given name of the user assigned to the device flag")]
public bool AssignedUserGivenName { get; set; }
[Display(ShortName = "Assigned User", Name = "Phone Number", Description = "The phone number of the user assigned to the device flag")]
[Display(GroupName = "Assigned User", Name = "Phone Number", Description = "The phone number of the user assigned to the device flag")]
public bool AssignedUserPhoneNumber { get; set; }
[Display(ShortName = "Assigned User", Name = "Email Address", Description = "The email address of the user assigned to the device flag")]
[Display(GroupName = "Assigned User", Name = "Email Address", Description = "The email address of the user assigned to the device flag")]
public bool AssignedUserEmailAddress { get; set; }
[Display(ShortName = "Assigned User", Name = "Custom Details", Description = "The custom details provided by plugins for the user assigned to the device flag")]
public bool AssignedUserDetailCustom { get; set; }
public List<string> UserDetailCustom { get; set; } = new List<string>();
public bool HasAssignedUserOptions()
{
return AssignedUserId ||
@@ -14,53 +14,52 @@ namespace Disco.Models.Services.Documents
[Required]
public List<string> DocumentTemplateIds { get; set; } = new List<string>();
[Display(Name = "Latest Instance Only")]
public bool LatestOnly { get; set; }
// Document Template
[Display(ShortName = "Document Template", Name = "Identifier", Description = "The identifier of the document template")]
[Display(GroupName = "Document Template", Name = "Identifier", Description = "The identifier of the document template")]
public bool Id { get; set; }
[Display(ShortName = "Document Template", Name = "Description", Description = "The description of the document template")]
[Display(GroupName = "Document Template", Name = "Description", Description = "The description of the document template")]
public bool Description { get; set; }
[Display(ShortName = "Document Template", Name = "Scope", Description = "The scope of the document template")]
[Display(GroupName = "Document Template", Name = "Scope", Description = "The scope of the document template")]
public bool Scope { get; set; }
// Attachment
[Display(ShortName = "Attachment", Name = "Identifier", Description = "The identifier of the document instance")]
[Display(GroupName = "Attachment", Name = "Identifier", Description = "The identifier of the document instance")]
public bool AttachmentId { get; set; }
[Display(ShortName = "Attachment", Name = "Created Date", Description = "The date the document instance was created")]
[Display(GroupName = "Attachment", Name = "Created Date", Description = "The date the document instance was created")]
public bool AttachmentCreatedDate { get; set; }
[Display(ShortName = "Attachment", Name = "Created User", Description = "The user who created the document instance")]
[Display(GroupName = "Attachment", Name = "Created User", Description = "The user who created the document instance")]
public bool AttachmentCreatedUser { get; set; }
[Display(ShortName = "Attachment", Name = "Filename", Description = "The filename of the document instance")]
[Display(GroupName = "Attachment", Name = "Filename", Description = "The filename of the document instance")]
public bool AttachmentFilename { get; set; }
[Display(ShortName = "Attachment", Name = "Mime Type", Description = "The mime type of the document instance")]
[Display(GroupName = "Attachment", Name = "Mime Type", Description = "The mime type of the document instance")]
public bool AttachmentMimeType { get; set; }
[Display(ShortName = "Attachment", Name = "Comments", Description = "The comments of the document instance")]
[Display(GroupName = "Attachment", Name = "Comments", Description = "The comments of the document instance")]
public bool AttachmentComments { get; set; }
// Device
[Display(ShortName = "Device", Name = "Serial Number", Description = "The serial number of the device associated with the document instance")]
[Display(GroupName = "Device", Name = "Serial Number", Description = "The serial number of the device associated with the document instance")]
public bool DeviceSerialNumber { get; set; }
[Display(ShortName = "Device", Name = "Asset Number", Description = "The asset number of the device associated with the document instance")]
[Display(GroupName = "Device", Name = "Asset Number", Description = "The asset number of the device associated with the document instance")]
public bool DeviceAssetNumber { get; set; }
[Display(ShortName = "Device", Name = "Location", Description = "The location of the device associated with the document instance")]
[Display(GroupName = "Device", Name = "Location", Description = "The location of the device associated with the document instance")]
public bool DeviceLocation { get; set; }
[Display(ShortName = "Device", Name = "Computer Name", Description = "The computer name of the device associated with the document instance")]
[Display(GroupName = "Device", Name = "Computer Name", Description = "The computer name of the device associated with the document instance")]
public bool DeviceComputerName { get; set; }
[Display(ShortName = "Device", Name = "Last Network Logon", Description = "The last recorded time that the device associated with the document instance accessed the network")]
[Display(GroupName = "Device", Name = "Last Network Logon", Description = "The last recorded time that the device associated with the document instance accessed the network")]
public bool DeviceLastNetworkLogon { get; set; }
[Display(ShortName = "Device", Name = "Created Date", Description = "The date that the device associated with the document instance was created in Disco ICT")]
[Display(GroupName = "Device", Name = "Created Date", Description = "The date that the device associated with the document instance was created in Disco ICT")]
public bool DeviceCreatedDate { get; set; }
[Display(ShortName = "Device", Name = "First Enrolled Date", Description = "The date that the device associated with the document instance was first enrolled in Disco ICT")]
[Display(GroupName = "Device", Name = "First Enrolled Date", Description = "The date that the device associated with the document instance was first enrolled in Disco ICT")]
public bool DeviceFirstEnrolledDate { get; set; }
[Display(ShortName = "Device", Name = "Last Enrolled Date", Description = "The date that the device associated with the document instance was last enrolled in Disco ICT")]
[Display(GroupName = "Device", Name = "Last Enrolled Date", Description = "The date that the device associated with the document instance was last enrolled in Disco ICT")]
public bool DeviceLastEnrolledDate { get; set; }
[Display(ShortName = "Device", Name = "Enrolment Trusted", Description = "Whether the device associated with the document instance is trusted to complete an unauthenticated enrolment")]
[Display(GroupName = "Device", Name = "Enrolment Trusted", Description = "Whether the device associated with the document instance is trusted to complete an unauthenticated enrolment")]
public bool DeviceAllowUnauthenticatedEnrol { get; set; }
[Display(ShortName = "Device", Name = "Decommissioned Date", Description = "The date that the device associated with the document instance was decommissioned in Disco ICT")]
[Display(GroupName = "Device", Name = "Decommissioned Date", Description = "The date that the device associated with the document instance was decommissioned in Disco ICT")]
public bool DeviceDecommissionedDate { get; set; }
[Display(ShortName = "Device", Name = "Decommissioned Reason", Description = "The reason that the device associated with the document instance was decommissioned")]
[Display(GroupName = "Device", Name = "Decommissioned Reason", Description = "The reason that the device associated with the document instance was decommissioned")]
public bool DeviceDecommissionedReason { get; set; }
public bool HasDeviceOptions()
@@ -69,91 +68,91 @@ namespace Disco.Models.Services.Documents
DeviceAllowUnauthenticatedEnrol || DeviceDecommissionedDate || DeviceDecommissionedReason;
// Model
[Display(ShortName = "Model", Name = "Identifier", Description = "The identifier of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Identifier", Description = "The identifier of the device model associated with the device")]
public bool ModelId { get; set; }
[Display(ShortName = "Model", Name = "Description", Description = "The description of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Description", Description = "The description of the device model associated with the device")]
public bool ModelDescription { get; set; }
[Display(ShortName = "Model", Name = "Manufacturer", Description = "The manufacturer of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Manufacturer", Description = "The manufacturer of the device model associated with the device")]
public bool ModelManufacturer { get; set; }
[Display(ShortName = "Model", Name = "Model", Description = "The model of the device model associated with the device")]
[Display(GroupName = "Model", Name = "Model", Description = "The model of the device model associated with the device")]
public bool ModelModel { get; set; }
[Display(ShortName = "Model", Name = "Type", Description = "The type of device model associated with the device")]
[Display(GroupName = "Model", Name = "Type", Description = "The type of device model associated with the device")]
public bool ModelType { get; set; }
public bool HasDeviceModelOptions()
=> ModelId || ModelDescription || ModelManufacturer || ModelModel || ModelType;
// Batch
[Display(ShortName = "Batch", Name = "Identifier", Description = "The identifier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Identifier", Description = "The identifier of the device batch associated with the device")]
public bool BatchId { get; set; }
[Display(ShortName = "Batch", Name = "Name", Description = "The name of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Name", Description = "The name of the device batch associated with the device")]
public bool BatchName { get; set; }
[Display(ShortName = "Batch", Name = "Purchase Date", Description = "The purchase date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Purchase Date", Description = "The purchase date of the device batch associated with the device")]
public bool BatchPurchaseDate { get; set; }
[Display(ShortName = "Batch", Name = "Supplier", Description = "The supplier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Supplier", Description = "The supplier of the device batch associated with the device")]
public bool BatchSupplier { get; set; }
[Display(ShortName = "Batch", Name = "Unit Cost", Description = "The unit cost of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Unit Cost", Description = "The unit cost of the device batch associated with the device")]
public bool BatchUnitCost { get; set; }
[Display(ShortName = "Batch", Name = "Warranty Valid Until Date", Description = "The warranty valid until date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Warranty Valid Until Date", Description = "The warranty valid until date of the device batch associated with the device")]
public bool BatchWarrantyValidUntilDate { get; set; }
[Display(ShortName = "Batch", Name = "Insured Date", Description = "The insured date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insured Date", Description = "The insured date of the device batch associated with the device")]
public bool BatchInsuredDate { get; set; }
[Display(ShortName = "Batch", Name = "Insurance Supplier", Description = "The insurance supplier of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insurance Supplier", Description = "The insurance supplier of the device batch associated with the device")]
public bool BatchInsuranceSupplier { get; set; }
[Display(ShortName = "Batch", Name = "Insured Until Date", Description = "The insured until date of the device batch associated with the device")]
[Display(GroupName = "Batch", Name = "Insured Until Date", Description = "The insured until date of the device batch associated with the device")]
public bool BatchInsuredUntilDate { get; set; }
public bool HasDeviceBatchOptions()
=> BatchId || BatchName || BatchPurchaseDate || BatchSupplier || BatchUnitCost ||
BatchWarrantyValidUntilDate || BatchInsuredDate || BatchInsuranceSupplier || BatchInsuredUntilDate;
// Profile
[Display(ShortName = "Profile", Name = "Identifier", Description = "The identifier of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Identifier", Description = "The identifier of the device profile associated with the device")]
public bool ProfileId { get; set; }
[Display(ShortName = "Profile", Name = "Name", Description = "The name of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Name", Description = "The name of the device profile associated with the device")]
public bool ProfileName { get; set; }
[Display(ShortName = "Profile", Name = "Short Name", Description = "The short name of the device profile associated with the device")]
[Display(GroupName = "Profile", Name = "Short Name", Description = "The short name of the device profile associated with the device")]
public bool ProfileShortName { get; set; }
public bool HasDeviceProfileOptions()
=> ProfileId || ProfileName || ProfileShortName;
// Job
[Display(ShortName = "Job", Name = "Identifier", Description = "The identifier of the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Identifier", Description = "The identifier of the job associated with the document instance")]
public bool JobId { get; set; }
[Display(ShortName = "Job", Name = "Status", Description = "The status of the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Status", Description = "The status of the job associated with the document instance")]
public bool JobStatus { get; set; }
[Display(ShortName = "Job", Name = "Type", Description = "The type of the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Type", Description = "The type of the job associated with the document instance")]
public bool JobType { get; set; }
[Display(ShortName = "Job", Name = "Sub Types", Description = "The sub types of the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Sub Types", Description = "The sub types of the job associated with the document instance")]
public bool JobSubTypes { get; set; }
[Display(ShortName = "Job", Name = "Opened Date", Description = "The date the job was opened associated with the document instance")]
[Display(GroupName = "Job", Name = "Opened Date", Description = "The date the job was opened associated with the document instance")]
public bool JobOpenedDate { get; set; }
[Display(ShortName = "Job", Name = "Opened User", Description = "The user who opened the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Opened User", Description = "The user who opened the job associated with the document instance")]
public bool JobOpenedUser { get; set; }
[Display(ShortName = "Job", Name = "Expected Closed Date", Description = "The expected closed date of the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Expected Closed Date", Description = "The expected closed date of the job associated with the document instance")]
public bool JobExpectedClosedDate { get; set; }
[Display(ShortName = "Job", Name = "Closed Date", Description = "The date the job was closed associated with the document instance")]
[Display(GroupName = "Job", Name = "Closed Date", Description = "The date the job was closed associated with the document instance")]
public bool JobClosedDate { get; set; }
[Display(ShortName = "Job", Name = "Closed User", Description = "The user who closed the job associated with the document instance")]
[Display(GroupName = "Job", Name = "Closed User", Description = "The user who closed the job associated with the document instance")]
public bool JobClosedUser { get; set; }
public bool HasJobOptions()
=> JobId || JobStatus || JobType || JobSubTypes || JobOpenedDate || JobOpenedUser ||
JobExpectedClosedDate || JobClosedDate || JobClosedUser;
// User
[Display(ShortName = "User", Name = "Identifier", Description = "The identifier of the user associated with the document instance")]
[Display(GroupName = "User", Name = "Identifier", Description = "The identifier of the user associated with the document instance")]
public bool UserId { get; set; }
[Display(ShortName = "User", Name = "Display Name", Description = "The display name of the user associated with the document instance")]
[Display(GroupName = "User", Name = "Display Name", Description = "The display name of the user associated with the document instance")]
public bool UserDisplayName { get; set; }
[Display(ShortName = "User", Name = "Surname", Description = "The surname of the user associated with the document instance")]
[Display(GroupName = "User", Name = "Surname", Description = "The surname of the user associated with the document instance")]
public bool UserSurname { get; set; }
[Display(ShortName = "User", Name = "Given Name", Description = "The given name of the user associated with the document instance")]
[Display(GroupName = "User", Name = "Given Name", Description = "The given name of the user associated with the document instance")]
public bool UserGivenName { get; set; }
[Display(ShortName = "User", Name = "Phone Number", Description = "The phone number of the user associated with the document instance")]
[Display(GroupName = "User", Name = "Phone Number", Description = "The phone number of the user associated with the document instance")]
public bool UserPhoneNumber { get; set; }
[Display(ShortName = "User", Name = "Email Address", Description = "The email address of the user associated with the document instance")]
[Display(GroupName = "User", Name = "Email Address", Description = "The email address of the user associated with the document instance")]
public bool UserEmailAddress { get; set; }
public List<string> UserDetailCustom { get; set; } = new List<string>();
public bool HasUserOptions()
=> UserDisplayName || UserSurname || UserGivenName || UserPhoneNumber || UserEmailAddress || UserDetailCustom.Any();
=> UserDisplayName || UserSurname || UserGivenName || UserPhoneNumber || UserEmailAddress || (UserDetailCustom?.Any() ?? false);
public static DocumentExportOptions DefaultOptions()
{
@@ -6,8 +6,9 @@
public string Name { get; set; }
public string DisplayName { get; set; }
public string Description { get; set; }
public bool Checked { get; set; }
public string Key { get; set; }
public string Value { get; set; }
public bool IsDefault { get; set; }
public bool IsChecked { get; set; }
public string CustomKey { get; set; }
public string CustomValue { get; set; }
}
}
@@ -2,6 +2,7 @@
using Disco.Models.Services.Exporting;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
namespace Disco.Models.Services.Users.UserFlags
{
@@ -17,47 +18,46 @@ namespace Disco.Models.Services.Users.UserFlags
public bool CurrentOnly { get; set; }
// User Flag
[Display(ShortName = "User Flag", Name = "Identifier", Description = "The identifier of the user flag")]
[Display(GroupName = "User Flag", Name = "Identifier", Description = "The identifier of the user flag")]
public bool Id { get; set; }
[Display(ShortName = "User Flag", Name = "Name", Description = "The name of the user flag")]
[Display(GroupName = "User Flag", Name = "Name", Description = "The name of the user flag")]
public bool Name { get; set; }
[Display(ShortName = "User Flag", Name = "Description", Description = "The description of the user flag")]
[Display(GroupName = "User Flag", Name = "Description", Description = "The description of the user flag")]
public bool Description { get; set; }
[Display(ShortName = "User Flag", Name = "Icon", Description = "The icon assigned to the user flag")]
[Display(GroupName = "User Flag", Name = "Icon", Description = "The icon assigned to the user flag")]
public bool Icon { get; set; }
[Display(ShortName = "User Flag", Name = "Icon Colour", Description = "The icon colour assigned to the user flag")]
[Display(GroupName = "User Flag", Name = "Icon Colour", Description = "The icon colour assigned to the user flag")]
public bool IconColour { get; set; }
[Display(ShortName = "User Flag", Name = "Assignment Identifier", Description = "The identifier of the user flag assignment")]
[Display(GroupName = "User Flag", Name = "Assignment Identifier", Description = "The identifier of the user flag assignment")]
public bool AssignmentId { get; set; }
[Display(ShortName = "User Flag", Name = "Added Date", Description = "The date the user flag was assigned to the user")]
[Display(GroupName = "User Flag", Name = "Added Date", Description = "The date the user flag was assigned to the user")]
public bool AddedDate { get; set; }
[Display(ShortName = "User Flag", Name = "Added User Identifier", Description = "The identifier of the user who assigned the user flag")]
[Display(GroupName = "User Flag", Name = "Added User Identifier", Description = "The identifier of the user who assigned the user flag")]
public bool AddedUserId { get; set; }
[Display(ShortName = "User Flag", Name = "Removed Date", Description = "The date the user flag was unassigned from the user")]
[Display(GroupName = "User Flag", Name = "Removed Date", Description = "The date the user flag was unassigned from the user")]
public bool RemovedDate { get; set; }
[Display(ShortName = "User Flag", Name = "Removed User Identifier", Description = "The identifier of the user who unassigned the user flag")]
[Display(GroupName = "User Flag", Name = "Removed User Identifier", Description = "The identifier of the user who unassigned the user flag")]
public bool RemovedUserId { get; set; }
[Display(ShortName = "User Flag", Name = "Comments", Description = "The comments associated with the user flag assignment")]
[Display(GroupName = "User Flag", Name = "Comments", Description = "The comments associated with the user flag assignment")]
public bool Comments { get; set; }
// User
[Display(ShortName = "User", Name = "Identifier", Description = "The identifier of the user assigned to the user flag")]
[Display(GroupName = "User", Name = "Identifier", Description = "The identifier of the user assigned to the user flag")]
public bool UserId { get; set; }
[Display(ShortName = "User", Name = "Display Name", Description = "The display name of the user assigned to the user flag")]
[Display(GroupName = "User", Name = "Display Name", Description = "The display name of the user assigned to the user flag")]
public bool UserDisplayName { get; set; }
[Display(ShortName = "User", Name = "Surname", Description = "The surname of the user assigned to the user flag")]
[Display(GroupName = "User", Name = "Surname", Description = "The surname of the user assigned to the user flag")]
public bool UserSurname { get; set; }
[Display(ShortName = "User", Name = "Given Name", Description = "The given name of the user assigned to the user flag")]
[Display(GroupName = "User", Name = "Given Name", Description = "The given name of the user assigned to the user flag")]
public bool UserGivenName { get; set; }
[Display(ShortName = "User", Name = "Phone Number", Description = "The phone number of the user assigned to the user flag")]
[Display(GroupName = "User", Name = "Phone Number", Description = "The phone number of the user assigned to the user flag")]
public bool UserPhoneNumber { get; set; }
[Display(ShortName = "User", Name = "Email Address", Description = "The email address of the user assigned to the user flag")]
[Display(GroupName = "User", Name = "Email Address", Description = "The email address of the user assigned to the user flag")]
public bool UserEmailAddress { get; set; }
[Display(ShortName = "User", Name = "Custom Details", Description = "The custom details provided by plugins for the user assigned to the user flag")]
public bool UserDetailCustom { get; set; }
public List<string> UserDetailCustom { get; set; } = new List<string>();
public bool HasAssignedUserDetails()
=> UserDisplayName || UserSurname || UserGivenName || UserPhoneNumber || UserEmailAddress || UserDetailCustom;
=> UserDisplayName || UserSurname || UserGivenName || UserPhoneNumber || UserEmailAddress || (UserDetailCustom?.Any() ?? false);
public static UserFlagExportOptions DefaultOptions()
{
@@ -1,6 +1,7 @@
using Disco.Models.Services.Devices.DeviceFlag;
using Disco.Models.Services.Exporting;
using Disco.Models.UI;
using Disco.Models.UI.Shared;
using System;
using System.Collections.Generic;
@@ -14,5 +15,7 @@ namespace Disco.Models.Areas.Config.UI.DeviceFlag
ExportResult ExportResult { get; set; }
List<Repository.DeviceFlag> DeviceFlags { get; set; }
SharedExportFieldsModel<DeviceFlagExportOptions> Fields { get; set; }
}
}
@@ -1,6 +1,8 @@
using Disco.Models.Services.Exporting;
using Disco.Models.Services.Devices;
using Disco.Models.Services.Exporting;
using Disco.Models.Services.Users.UserFlags;
using Disco.Models.UI;
using Disco.Models.UI.Shared;
using System;
using System.Collections.Generic;
@@ -14,5 +16,7 @@ namespace Disco.Models.Areas.Config.UI.UserFlag
ExportResult ExportResult { get; set; }
List<Repository.UserFlag> UserFlags { get; set; }
SharedExportFieldsModel<UserFlagExportOptions> Fields { get; set; }
}
}
@@ -1,5 +1,6 @@
using Disco.Models.Services.Devices;
using Disco.Models.Services.Exporting;
using Disco.Models.UI.Shared;
using System;
using System.Collections.Generic;
@@ -15,5 +16,7 @@ namespace Disco.Models.UI.Device
IEnumerable<KeyValuePair<int, string>> DeviceBatches { get; set; }
IEnumerable<KeyValuePair<int, string>> DeviceModels { get; set; }
IEnumerable<KeyValuePair<int, string>> DeviceProfiles { get; set; }
SharedExportFieldsModel<DeviceExportOptions> Fields { get; set; }
}
}
@@ -1,5 +1,7 @@
using Disco.Models.Services.Exporting;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
namespace Disco.Models.UI.Shared
{
@@ -8,5 +10,6 @@ namespace Disco.Models.UI.Shared
{
T Options { get; set; }
List<ExportOptionGroup> FieldGroups { get; set; }
void AddCustomUserDetails(Expression<Func<T, List<string>>> modelAccessor, int groupIndex = -1);
}
}