@model Disco.Web.Models.Job.ShowModel @using Disco.Services.Jobs.JobQueues; @{ Authorization.Require(Claims.Job.ShowJobsQueues); var hasAddOwn = Authorization.Has(Claims.Job.Actions.AddOwnQueues); var hasAddAny = Authorization.Has(Claims.Job.Actions.AddAnyQueues); var hasRemoveOwn = Authorization.Has(Claims.Job.Actions.RemoveOwnQueues); var hasRemoveAny = Authorization.Has(Claims.Job.Actions.RemoveAnyQueues); var hasJobQueueShow = Authorization.Has(Claims.Config.JobQueue.Show); var queues = JobQueueService.GetQueues(); var queueHistory = Model.Job.JobQueues.Select(jq => new Tuple(jq, queues.First(q => q.JobQueue.Id == jq.JobQueueId))).ToList(); } @if (queueHistory.Count > 0) { @foreach (var jq in queueHistory.OrderByDescending(jqj => jqj.Item1.AddedDate)) { bool overdue = (jq.Item1.SLAExpiresDate.HasValue && jq.Item1.SLAExpiresDate.Value < (jq.Item1.RemovedDate.HasValue ? jq.Item1.RemovedDate : DateTime.Now)); }
Name Added Removed SLA
@if (hasJobQueueShow) { @Html.ActionLink(jq.Item2.JobQueue.Name, MVC.Config.JobQueue.Index(jq.Item2.JobQueue.Id)) } else { @jq.Item2.JobQueue.Name } @if (jq.Item2.JobQueue.Priority != JobQueuePriority.Normal) { } @if (jq.Item1.CanEditAddedComment()) { } @if (jq.Item1.AddedComment == null) {
[no comment]
} else {
@jq.Item1.AddedComment.ToHtmlComment()
@jq.Item1.AddedComment
}
@CommonHelpers.FriendlyDateAndUser(jq.Item1.AddedDate, jq.Item1.AddedUser)
@if (jq.Item1.RemovedDate.HasValue) { if (jq.Item1.CanEditRemovedComment()) { } if (jq.Item1.RemovedComment == null) {
[no comment]
} else {
@jq.Item1.RemovedComment.ToHtmlComment()
@jq.Item1.RemovedComment
}
@CommonHelpers.FriendlyDateAndUser(jq.Item1.RemovedDate.Value, jq.Item1.RemovedUser)
} else if (jq.Item1.CanRemove()) { Remove } else { In Progress }
@if (jq.Item1.CanEditSla() || jq.Item1.CanEditPriority()) { } @if (jq.Item1.SLAExpiresDate.HasValue) { if (jq.Item1.RemovedDate.HasValue) { @CommonHelpers.FriendlyDate(jq.Item1.SLAExpiresDate.Value, WithoutSuffix: true) if (jq.Item1.RemovedDate.Value <= jq.Item1.SLAExpiresDate.Value) { early } else { late } } else { due @CommonHelpers.FriendlyDate(jq.Item1.SLAExpiresDate.Value) } }
@using (Html.BeginForm(MVC.API.JobQueueJob.RemoveJob())) {

 Are you sure?

Comment:

}
@using (Html.BeginForm(MVC.API.JobQueueJob.UpdateAddedComment())) {

Comment:

}
@using (Html.BeginForm(MVC.API.JobQueueJob.UpdateRemovedComment())) {

Comment:

}
@using (Html.BeginForm(MVC.API.JobQueueJob.UpdateSlaAndPriority())) {

Job Priority:

SLA Target:

}
} else {
This job has no associated queue history
}