@model Disco.Web.Areas.Config.Models.JobQueue.ShowModel @using Disco.Services.Jobs.JobQueues; @{ Authorization.Require(Claims.Config.JobQueue.Show); ViewBag.Title = Html.ToBreadcrumb("Configuration", MVC.Config.Config.Index(), "Job Queues", MVC.Config.JobQueue.Index(null), Model.Token.JobQueue.ToString()); var canConfig = Authorization.Has(Claims.Config.JobQueue.Configure); var canDelete = (Authorization.Has(Claims.Config.JobQueue.Delete) && Model.CanDelete); var canShowJobs = Model.OpenJobCount > 0 && Authorization.Has(Claims.Job.Lists.JobQueueLists); Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers"); }
| Id: | @Html.DisplayFor(model => model.Token.JobQueue.Id) |
|---|---|
| Name: | @if (canConfig) {@Html.EditorFor(model => model.Token.JobQueue.Name) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { @Model.Token.JobQueue.Name } |
| Description: | @if (canConfig)
{@Html.EditorFor(model => model.Token.JobQueue.Description)
@AjaxHelpers.AjaxSave()
@AjaxHelpers.AjaxLoader()
}
else
{
@if (string.IsNullOrEmpty(Model.Token.JobQueue.Description))
{
}
|
| Statistics: |
@Model.OpenJobCount job@(Model.OpenJobCount != 1 ? "s" : null) open
@Model.TotalJobCount total job@(Model.TotalJobCount != 1 ? "s" : null)
|
| Icon: |
@if (canConfig)
{
Update
}
@foreach (var icon in JobQueueService.Icons)
{
}
@foreach (var colour in JobQueueService.IconColours)
{
}
|
| Priority: | @if (canConfig) { var priorityValue = Model.Token.JobQueue.Priority.ToString(); var priorityItems = Enum.GetNames(typeof(JobQueuePriority)).Select(i => new SelectListItem() { Text = i, Value = i, Selected = (i == priorityValue) }).ToList(); @Html.DropDownListFor(m => m.Token.JobQueue.Priority, priorityItems) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { @Model.Token.JobQueue.Priority.ToString() } |
| Default SLA: | @if (canConfig)
{
var slaOptions = JobQueueService.SlaOptions.Select(o => new SelectListItem() { Text = o.Value, Value = o.Key.ToString() }).ToList();
if (this.Model.Token.JobQueue.DefaultSLAExpiry.HasValue)
{
var slaValue = this.Model.Token.JobQueue.DefaultSLAExpiry.Value;
if (JobQueueService.SlaOptions.Where(o => o.Key == slaValue).Count() == 0)
{
string slaValueText;
if (slaValue % (60 * 24 * 7 * 4) == 0)
{ slaValueText = string.Format("{0} months", slaValue / (60 * 24 * 7 * 4)); }
else if (slaValue % (60 * 24 * 7) == 0)
{ slaValueText = string.Format("{0} weeks", slaValue / (60 * 24 * 7)); }
else if (slaValue % (60 * 24) == 0)
{ slaValueText = string.Format("{0} days", slaValue / (60 * 24)); }
else if (slaValue % (60) == 0)
{ slaValueText = string.Format("{0} hours", slaValue / 60); }
else
{ slaValueText = string.Format("{0} minutes", slaValue); }
slaOptions.Insert(0, new SelectListItem() { Text = string.Format("{0} |
| Member Groups/Users: |
@if (Model.Token.SubjectIds.Count == 0)
{
None Associated
}
else
{
|
| Automatically Add Jobs: |
@if (Model.Token.JobQueue.JobSubTypes.Count > 0)
{
@if (canConfig)
{
Update
@using (Html.BeginForm(MVC.API.JobQueue.UpdateJobSubTypes(Model.Token.JobQueue.Id, null, true)))
{
var selectedTypes = Model.Token.JobQueue.JobSubTypes.Select(jst => jst.JobType).Distinct().ToList();
foreach (var jt in Model.JobTypes)
{
}
@CommonHelpers.CheckboxBulkSelect(string.Format("CheckboxBulkSelect_{0}", jt.Id), "div")
@CommonHelpers.CheckBoxList("JobSubTypes", jt.JobSubTypes.OrderBy(jst => jst.Description).ToSelectListItems(Model.Token.JobQueue.JobSubTypes), 2)
When jobs of these types are created, they will automatically be added into this queue.
|
This item will be permanently deleted and cannot be recovered.
Are you sure?