Files
Disco/Disco.Web/Areas/Config/Controllers/JobPreferencesController.cs
T
2025-10-31 17:45:04 +11:00

40 lines
2.1 KiB
C#

using Disco.Models.UI.Config.JobPreferences;
using Disco.Services.Authorization;
using Disco.Services.Jobs.JobQueues;
using Disco.Services.Plugins.Features.UIExtension;
using Disco.Services.Web;
using System.Linq;
using System.Web.Mvc;
namespace Disco.Web.Areas.Config.Controllers
{
public partial class JobPreferencesController : AuthorizedDatabaseController
{
[DiscoAuthorize(Claims.Config.JobPreferences.Show)]
public virtual ActionResult Index()
{
var m = new Models.JobPreferences.IndexModel()
{
InitialCommentsTemplate = Database.DiscoConfiguration.JobPreferences.InitialCommentsTemplate,
LongRunningJobDaysThreshold = Database.DiscoConfiguration.JobPreferences.LongRunningJobDaysThreshold,
StaleJobMinutesThreshold = Database.DiscoConfiguration.JobPreferences.StaleJobMinutesThreshold,
LodgmentIncludeAllAttachmentsByDefault = Database.DiscoConfiguration.JobPreferences.LodgmentIncludeAllAttachmentsByDefault,
DefaultNoticeboardTheme = Database.DiscoConfiguration.JobPreferences.DefaultNoticeboardTheme,
LocationMode = Database.DiscoConfiguration.JobPreferences.LocationMode,
LocationList = Database.DiscoConfiguration.JobPreferences.LocationList,
OnCreateExpression = Database.DiscoConfiguration.JobPreferences.OnCreateExpression,
OnDeviceReadyForReturnExpression = Database.DiscoConfiguration.JobPreferences.OnDeviceReadyForReturnExpression,
OnCloseExpression = Database.DiscoConfiguration.JobPreferences.OnCloseExpression,
DeviceProfiles = Database.DeviceProfiles.OrderBy(dp => dp.Name).ToList(),
OrganisationAddresses = Database.DiscoConfiguration.OrganisationAddresses.Addresses.OrderBy(a => a.Name).ToList(),
JobQueues = JobQueueService.GetQueues().Select(q => q.JobQueue).OrderBy(q => q.Name).ToList(),
};
// UI Extensions
UIExtensions.ExecuteExtensions<ConfigJobPreferencesIndexModel>(ControllerContext, m);
return View(m);
}
}
}