Feature #37: Stale Jobs
Stale Jobs replaces Long-Running Jobs on the homepage. Last Activity is added to the job table.
This commit is contained in:
1 parent
2ac3a9bdd3
commit
68256d7abd
30 files changed
+909
-358
No files matched your search
@@ -373,6 +373,8 @@ namespace Disco.BI.Extensions
|
||||
if (j.WaitingForUserAction.HasValue)
|
||||
return true; // Job waiting on User Action
|
||||
|
||||
if (j.JobQueues != null)
|
||||
{
|
||||
if (IgnoreJobQueueJob == null)
|
||||
{
|
||||
if (j.JobQueues.Any(jqj => !jqj.RemovedDate.HasValue))
|
||||
@@ -383,6 +385,7 @@ namespace Disco.BI.Extensions
|
||||
if (j.JobQueues.Any(jqj => jqj.Id != IgnoreJobQueueJob.Id && !jqj.RemovedDate.HasValue))
|
||||
return true; // Job associated with a Job Queue
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -27,5 +27,20 @@ namespace Disco.Data.Configuration.Modules
|
||||
Set(value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Number of minutes since the last recorded action is performed on a job before it is considered 'Stale'
|
||||
/// </summary>
|
||||
public int StaleJobMinutesThreshold
|
||||
{
|
||||
get { return Get<int>(60 * 24 * 2); } // Default to 48 Hours (2 days)
|
||||
set
|
||||
{
|
||||
if (value < 0)
|
||||
throw new ArgumentOutOfRangeException("value", "The Stale Job Minutes Threshold cannot be less than zero");
|
||||
|
||||
Set(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,5 +35,6 @@ namespace Disco.Models.Services.Jobs.JobLists
|
||||
public string StatusId { get; set; }
|
||||
public string DeviceHeldLocation { get; set; }
|
||||
public Disco.Models.Repository.Job.UserManagementFlags? Flags { get; set; }
|
||||
public DateTime LastActivityDate { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ namespace Disco.Models.Services.Jobs.JobLists
|
||||
public bool ShowTechnician { get; set; }
|
||||
public bool ShowLocation { get; set; }
|
||||
public bool ShowStatus { get; set; }
|
||||
public bool ShowLastActivityDate { get; set; }
|
||||
|
||||
public bool IsSmallTable { get; set; }
|
||||
public bool HideClosedJobs { get; set; }
|
||||
|
||||
@@ -14,6 +14,9 @@ namespace Disco.Models.Services.Jobs.JobLists
|
||||
public DateTime? JobMetaNonWarranty_AccountingChargeAddedDate { get; set; }
|
||||
public DateTime? JobMetaNonWarranty_AccountingChargePaidDate { get; set; }
|
||||
public DateTime? JobMetaNonWarranty_AccountingChargeRequiredDate { get; set; }
|
||||
public DateTime? JobMetaNonWarranty_PurchaseOrderRaisedDate { get; set; }
|
||||
public DateTime? JobMetaNonWarranty_PurchaseOrderSentDate { get; set; }
|
||||
public DateTime? JobMetaNonWarranty_InvoiceReceivedDate { get; set; }
|
||||
public bool? JobMetaNonWarranty_IsInsuranceClaim { get; set; }
|
||||
public DateTime? JobMetaInsurance_ClaimFormSentDate { get; set; }
|
||||
|
||||
@@ -25,5 +28,8 @@ namespace Disco.Models.Services.Jobs.JobLists
|
||||
public string JobMetaNonWarranty_RepairerName { get; set; }
|
||||
|
||||
public IEnumerable<JobTableStatusQueueItemModel> ActiveJobQueues { get; set; }
|
||||
|
||||
public DateTime? RecentLogDate { get; set; }
|
||||
public DateTime? RecentAttachmentDate { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,9 @@ namespace Disco.Models.UI.Config.JobPreferences
|
||||
public interface ConfigJobPreferencesIndexModel : BaseUIModel
|
||||
{
|
||||
int LongRunningJobDaysThreshold { get; set; }
|
||||
int StaleJobMinutesThreshold { get; set; }
|
||||
|
||||
List<KeyValuePair<int, string>> LongRunningJobDaysThresholdOptions();
|
||||
List<KeyValuePair<int, string>> StaleJobMinutesThresholdOptions();
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,6 @@ namespace Disco.Models.UI.Job
|
||||
public interface JobIndexModel : BaseUIModel
|
||||
{
|
||||
JobTableModel MyJobs { get; set; }
|
||||
JobTableModel LongRunningJobs { get; set; }
|
||||
JobTableModel StaleJobs { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -89,6 +89,7 @@ namespace Disco.Services.Authorization
|
||||
{ "Job.Lists.MyJobs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.MyJobs, (c, v) => c.Job.Lists.MyJobs = v, "My Jobs List", "Can show list", false) },
|
||||
{ "Job.Lists.MyJobsOrphaned", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.MyJobsOrphaned, (c, v) => c.Job.Lists.MyJobsOrphaned = v, "My Jobs List (Includes No Queue)", "Can show list", false) },
|
||||
{ "Job.Lists.RecentlyClosed", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.RecentlyClosed, (c, v) => c.Job.Lists.RecentlyClosed = v, "Recently Closed List", "Can show list", false) },
|
||||
{ "Job.Lists.StaleJobs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Lists.StaleJobs, (c, v) => c.Job.Lists.StaleJobs = v, "Stale Jobs List", "Can show list", false) },
|
||||
{ "Job.Actions.AddAttachments", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddAttachments, (c, v) => c.Job.Actions.AddAttachments = v, "Add Attachments", "Can add attachments to jobs", false) },
|
||||
{ "Job.Actions.AddLogs", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddLogs, (c, v) => c.Job.Actions.AddLogs = v, "Add Logs", "Can add job logs", false) },
|
||||
{ "Job.Actions.AddAnyQueues", new Tuple<Func<RoleClaims, bool>, Action<RoleClaims, bool>, string, string, bool>(c => c.Job.Actions.AddAnyQueues, (c, v) => c.Job.Actions.AddAnyQueues = v, "Add to Any Queues", "Can add to any job queues", false) },
|
||||
@@ -373,7 +374,8 @@ namespace Disco.Services.Authorization
|
||||
new ClaimNavigatorItem("Job.Lists.LongRunningJobs", false),
|
||||
new ClaimNavigatorItem("Job.Lists.MyJobs", false),
|
||||
new ClaimNavigatorItem("Job.Lists.MyJobsOrphaned", false),
|
||||
new ClaimNavigatorItem("Job.Lists.RecentlyClosed", false)
|
||||
new ClaimNavigatorItem("Job.Lists.RecentlyClosed", false),
|
||||
new ClaimNavigatorItem("Job.Lists.StaleJobs", false)
|
||||
}),
|
||||
new ClaimNavigatorItem("Job.Types", "Types", "Permissions related to Job Types", false, new List<IClaimNavigatorItem>() {
|
||||
new ClaimNavigatorItem("Job.Types.CreateHMisc", false),
|
||||
@@ -579,6 +581,7 @@ namespace Disco.Services.Authorization
|
||||
c.Job.Lists.MyJobs = true;
|
||||
c.Job.Lists.MyJobsOrphaned = true;
|
||||
c.Job.Lists.RecentlyClosed = true;
|
||||
c.Job.Lists.StaleJobs = true;
|
||||
c.Job.Actions.AddAttachments = true;
|
||||
c.Job.Actions.AddLogs = true;
|
||||
c.Job.Actions.AddAnyQueues = true;
|
||||
@@ -1137,6 +1140,11 @@ namespace Disco.Services.Authorization
|
||||
/// <para>Can show list</para>
|
||||
/// </summary>
|
||||
public const string RecentlyClosed = "Job.Lists.RecentlyClosed";
|
||||
|
||||
/// <summary>Stale Jobs List
|
||||
/// <para>Can show list</para>
|
||||
/// </summary>
|
||||
public const string StaleJobs = "Job.Lists.StaleJobs";
|
||||
}
|
||||
|
||||
/// <summary>Actions
|
||||
|
||||
@@ -21,6 +21,8 @@ namespace Disco.Services.Authorization.Roles.ClaimGroups.Job
|
||||
public bool AwaitingTechnicianAction { get; set; }
|
||||
[ClaimDetails("Long Running Jobs List", "Can show list")]
|
||||
public bool LongRunningJobs { get; set; }
|
||||
[ClaimDetails("Stale Jobs List", "Can show list")]
|
||||
public bool StaleJobs { get; set; }
|
||||
|
||||
[ClaimDetails("All Open List", "Can show list")]
|
||||
public bool AllOpen { get; set; }
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace Disco.Services
|
||||
ShowTechnician = Model.ShowTechnician,
|
||||
ShowLocation = Model.ShowLocation,
|
||||
ShowStatus = Model.ShowStatus,
|
||||
ShowLastActivityDate = Model.ShowLastActivityDate,
|
||||
IsSmallTable = Model.IsSmallTable,
|
||||
HideClosedJobs = Model.HideClosedJobs,
|
||||
EnablePaging = Model.EnablePaging,
|
||||
@@ -115,7 +116,7 @@ namespace Disco.Services
|
||||
if (FilterAuthorization)
|
||||
Jobs = model.FilterPermissions(Jobs, UserService.CurrentAuthorization);
|
||||
|
||||
if (model.ShowStatus)
|
||||
if (model.ShowStatus || model.ShowLastActivityDate)
|
||||
{
|
||||
|
||||
var jobItems = Jobs.Select(j => new JobTableStatusItemModel()
|
||||
@@ -147,6 +148,12 @@ namespace Disco.Services
|
||||
JobMetaNonWarranty_AccountingChargeRequiredDate = j.JobMetaNonWarranty.AccountingChargeRequiredDate,
|
||||
JobMetaNonWarranty_IsInsuranceClaim = j.JobMetaNonWarranty.IsInsuranceClaim,
|
||||
JobMetaInsurance_ClaimFormSentDate = j.JobMetaInsurance.ClaimFormSentDate,
|
||||
JobMetaNonWarranty_InvoiceReceivedDate = j.JobMetaNonWarranty.InvoiceReceivedDate,
|
||||
JobMetaNonWarranty_PurchaseOrderRaisedDate = j.JobMetaNonWarranty.PurchaseOrderRaisedDate,
|
||||
JobMetaNonWarranty_PurchaseOrderSentDate = j.JobMetaNonWarranty.PurchaseOrderSentDate,
|
||||
|
||||
RecentAttachmentDate = j.JobAttachments.Max(ja => ja.Timestamp),
|
||||
RecentLogDate = j.JobLogs.Max(jl => jl.Timestamp),
|
||||
|
||||
WaitingForUserAction = j.WaitingForUserAction,
|
||||
DeviceReadyForReturn = j.DeviceReadyForReturn,
|
||||
@@ -170,6 +177,31 @@ namespace Disco.Services
|
||||
j.StatusId = j.CalculateStatusId();
|
||||
j.StatusDescription = JobExtensions.JobStatusDescription(j.StatusId, j);
|
||||
|
||||
var activityDates = new DateTime?[] {
|
||||
j.ActiveJobQueues.Max<JobTableStatusQueueItemModel, DateTime?>(jq => jq.AddedDate),
|
||||
j.ClosedDate,
|
||||
j.DeviceHeld,
|
||||
j.DeviceReadyForReturn,
|
||||
j.DeviceReturnedDate,
|
||||
j.JobMetaInsurance_ClaimFormSentDate,
|
||||
j.JobMetaNonWarranty_AccountingChargeAddedDate,
|
||||
j.JobMetaNonWarranty_AccountingChargePaidDate,
|
||||
j.JobMetaNonWarranty_AccountingChargeRequiredDate,
|
||||
j.JobMetaNonWarranty_InvoiceReceivedDate,
|
||||
j.JobMetaNonWarranty_PurchaseOrderRaisedDate,
|
||||
j.JobMetaNonWarranty_PurchaseOrderSentDate,
|
||||
j.JobMetaNonWarranty_RepairerCompletedDate,
|
||||
j.JobMetaNonWarranty_RepairerLoggedDate,
|
||||
j.JobMetaWarranty_ExternalCompletedDate,
|
||||
j.JobMetaWarranty_ExternalLoggedDate,
|
||||
j.OpenedDate,
|
||||
j.RecentAttachmentDate,
|
||||
j.RecentLogDate,
|
||||
j.WaitingForUserAction
|
||||
};
|
||||
|
||||
j.LastActivityDate = activityDates.Max().Value;
|
||||
|
||||
items.Add(j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,6 +132,8 @@ using Disco.Services.Authorization;
|
||||
// - Device's Profile or Model Changes
|
||||
unsubscribeToken = RepositoryMonitor.StreamAfterCommit
|
||||
.Where(n => n.EntityType == typeof(Job) ||
|
||||
n.EntityType == typeof(JobLog) ||
|
||||
n.EntityType == typeof(JobAttachment) ||
|
||||
n.EntityType == typeof(JobQueueJob) ||
|
||||
n.EntityType == typeof(JobMetaWarranty) ||
|
||||
n.EntityType == typeof(JobMetaNonWarranty) ||
|
||||
@@ -186,6 +188,32 @@ using Disco.Services.Authorization;
|
||||
|
||||
if (e.EntityType == typeof(Job))
|
||||
jobIds = new List<int>() { ((Job)e.Entity).Id };
|
||||
else if (e.EntityType == typeof(JobLog))
|
||||
{
|
||||
if (e.EventType == RepositoryMonitorEventType.Added)
|
||||
{
|
||||
var jobLog = ((JobLog)e.Entity);
|
||||
var job = base.Items.FirstOrDefault(i => i.JobId == jobLog.JobId);
|
||||
if (job != null && job.LastActivityDate < jobLog.Timestamp)
|
||||
job.LastActivityDate = jobLog.Timestamp;
|
||||
return;
|
||||
}
|
||||
else
|
||||
jobIds = new List<int>() { ((JobLog)e.Entity).JobId };
|
||||
}
|
||||
else if (e.EntityType == typeof(JobAttachment))
|
||||
{
|
||||
if (e.EventType == RepositoryMonitorEventType.Added)
|
||||
{
|
||||
var jobAttachment = ((JobAttachment)e.Entity);
|
||||
var job = base.Items.FirstOrDefault(i => i.JobId == jobAttachment.JobId);
|
||||
if (job != null && job.LastActivityDate < jobAttachment.Timestamp)
|
||||
job.LastActivityDate = jobAttachment.Timestamp;
|
||||
return;
|
||||
}
|
||||
else
|
||||
jobIds = new List<int>() { ((JobAttachment)e.Entity).JobId };
|
||||
}
|
||||
else if (e.EntityType == typeof(JobQueueJob))
|
||||
jobIds = new List<int>() { ((JobQueueJob)e.Entity).JobId };
|
||||
else if (e.EntityType == typeof(JobMetaWarranty))
|
||||
|
||||
@@ -10,8 +10,6 @@ namespace Disco.Web.Areas.API.Controllers
|
||||
{
|
||||
public partial class JobPreferencesController : AuthorizedDatabaseController
|
||||
{
|
||||
const string pLongRunningJobDaysThreshold = "longrunningjobdaysthreshold";
|
||||
|
||||
[DiscoAuthorize(Claims.Config.JobPreferences.Configure)]
|
||||
public virtual ActionResult UpdateLongRunningJobDaysThreshold(int LongRunningJobDaysThreshold, bool redirect = false)
|
||||
{
|
||||
@@ -24,5 +22,16 @@ namespace Disco.Web.Areas.API.Controllers
|
||||
return Json("OK", JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
[DiscoAuthorize(Claims.Config.JobPreferences.Configure)]
|
||||
public virtual ActionResult UpdateStaleJobMinutesThreshold(int StaleJobMinutesThreshold, bool redirect = false)
|
||||
{
|
||||
Database.DiscoConfiguration.JobPreferences.StaleJobMinutesThreshold = StaleJobMinutesThreshold;
|
||||
Database.SaveChanges();
|
||||
|
||||
if (redirect)
|
||||
return RedirectToAction(MVC.Config.JobPreferences.Index());
|
||||
else
|
||||
return Json("OK", JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,8 @@ namespace Disco.Web.Areas.Config.Controllers
|
||||
{
|
||||
var m = new Models.JobPreferences.IndexModel()
|
||||
{
|
||||
LongRunningJobDaysThreshold = Database.DiscoConfiguration.JobPreferences.LongRunningJobDaysThreshold
|
||||
LongRunningJobDaysThreshold = Database.DiscoConfiguration.JobPreferences.LongRunningJobDaysThreshold,
|
||||
StaleJobMinutesThreshold = Database.DiscoConfiguration.JobPreferences.StaleJobMinutesThreshold
|
||||
};
|
||||
|
||||
// UI Extensions
|
||||
|
||||
@@ -10,6 +10,7 @@ namespace Disco.Web.Areas.Config.Models.JobPreferences
|
||||
public class IndexModel : ConfigJobPreferencesIndexModel
|
||||
{
|
||||
public int LongRunningJobDaysThreshold { get; set; }
|
||||
public int StaleJobMinutesThreshold { get; set; }
|
||||
|
||||
public List<KeyValuePair<int, string>> LongRunningJobDaysThresholdOptions()
|
||||
{
|
||||
@@ -39,5 +40,41 @@ namespace Disco.Web.Areas.Config.Models.JobPreferences
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
public List<KeyValuePair<int, string>> StaleJobMinutesThresholdOptions()
|
||||
{
|
||||
var options = new List<KeyValuePair<int, string>>() {
|
||||
new KeyValuePair<int, string>(0, "<None>"),
|
||||
new KeyValuePair<int, string>(15, "15 minutes"),
|
||||
new KeyValuePair<int, string>(30, "30 minutes"),
|
||||
new KeyValuePair<int, string>(60, "1 hour"),
|
||||
new KeyValuePair<int, string>(60 * 2, "2 hours"),
|
||||
new KeyValuePair<int, string>(60 * 4, "4 hours"),
|
||||
new KeyValuePair<int, string>(60 * 8, "8 hours"),
|
||||
new KeyValuePair<int, string>(60 * 24, "1 day"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 2, "2 days"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 3, "3 days"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 4, "4 days"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 5, "5 days"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 6, "6 days"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7, "1 week"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 2, "2 weeks"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 3, "3 weeks"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 4, "4 weeks"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 5, "5 weeks"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 6, "6 weeks"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 7, "7 weeks"),
|
||||
new KeyValuePair<int, string>(60 * 24 * 7 * 8, "8 weeks")
|
||||
};
|
||||
|
||||
var current = this.StaleJobMinutesThreshold;
|
||||
if (!options.Any(o => o.Key == current))
|
||||
{
|
||||
options.Add(new KeyValuePair<int, string>(current, string.Format("{0} Minutes", current)));
|
||||
options = options.OrderBy(o => o.Key).ToList();
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,35 @@
|
||||
<div class="smallMessage">
|
||||
Jobs which have been open for longer than the threshold are considered 'long-running' and will appear in the <code>Long Running Jobs</code> list.
|
||||
</div>
|
||||
@if (Authorization.Has(Claims.Job.Lists.LongRunningJobs)) { @Html.ActionLinkSmallButton("Show Long Running Jobs", MVC.Job.LongRunning()) }
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px">Stale Threshold:
|
||||
</th>
|
||||
<td>@if (canConfig)
|
||||
{
|
||||
@Html.DropDownListFor(model => model.StaleJobMinutesThreshold, Model.StaleJobMinutesThresholdOptions().Select(o => new SelectListItem() { Value = o.Key.ToString(), Text = o.Value }))
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#StaleJobMinutesThreshold'),
|
||||
null,
|
||||
'@(Url.Action(MVC.API.JobPreferences.UpdateStaleJobMinutesThreshold()))',
|
||||
'StaleJobMinutesThreshold');
|
||||
});
|
||||
</script>
|
||||
}
|
||||
else
|
||||
{
|
||||
@Model.StaleJobMinutesThresholdOptions().First(o => o.Key == Model.StaleJobMinutesThreshold).Value
|
||||
}
|
||||
<div class="smallMessage">
|
||||
Jobs which have no recoded action for longer than the threshold are considered 'stale' and will appear in the <code>Stale Jobs</code> list.
|
||||
</div>
|
||||
@if (Authorization.Has(Claims.Job.Lists.LongRunningJobs)) { @Html.ActionLinkSmallButton("Show Stale Jobs", MVC.Job.Stale()) }
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Disco.Web.Areas.Config.Views.JobPreferences
|
||||
using Disco;
|
||||
using Disco.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Services;
|
||||
using Disco.Services.Authorization;
|
||||
using Disco.Services.Web;
|
||||
using Disco.Web;
|
||||
@@ -171,8 +172,167 @@ WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n Jobs which have been open for longer than the threshold ar" +
|
||||
"e considered \'long-running\' and will appear in the <code>Long Running Jobs</code" +
|
||||
"> list.\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r" +
|
||||
"\n</div>\r\n");
|
||||
"> list.\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 43 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 43 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.LongRunningJobs)) {
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 43 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(Html.ActionLinkSmallButton("Show Long Running Jobs", MVC.Job.LongRunning()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 43 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px\"");
|
||||
|
||||
WriteLiteral(">Stale Threshold:\r\n </th>\r\n <td>");
|
||||
|
||||
|
||||
#line 49 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
if (canConfig)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 51 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(Html.DropDownListFor(model => model.StaleJobMinutesThreshold, Model.StaleJobMinutesThresholdOptions().Select(o => new SelectListItem() { Value = o.Key.ToString(), Text = o.Value })));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 51 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 52 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(AjaxHelpers.AjaxSave());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 52 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 53 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 53 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n document.DiscoFun" +
|
||||
"ctions.PropertyChangeHelper(\r\n $(\'#StaleJobMinutesThr" +
|
||||
"eshold\'),\r\n null,\r\n \'");
|
||||
|
||||
|
||||
#line 59 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(Url.Action(MVC.API.JobPreferences.UpdateStaleJobMinutesThreshold()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'StaleJobMinutesThreshold\');\r\n " +
|
||||
" });\r\n </script>\r\n");
|
||||
|
||||
|
||||
#line 63 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 66 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(Model.StaleJobMinutesThresholdOptions().First(o => o.Key == Model.StaleJobMinutesThreshold).Value);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 66 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n Jobs which have no recoded action for longer than the thre" +
|
||||
"shold are considered \'stale\' and will appear in the <code>Stale Jobs</code> list" +
|
||||
".\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 71 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 71 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.LongRunningJobs)) {
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 71 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
Write(Html.ActionLinkSmallButton("Show Stale Jobs", MVC.Job.Stale()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 71 "..\..\Areas\Config\Views\JobPreferences\Index.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n </tr>\r\n </table>\r\n</div>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4044,6 +4044,10 @@ table.jobTable div.queues {
|
||||
display: inline-block;
|
||||
float: right;
|
||||
}
|
||||
table.jobTable td.lastActive,
|
||||
table.jobTable th.lastActive {
|
||||
width: 130px;
|
||||
}
|
||||
table.jobTable td.dates,
|
||||
table.jobTable th.dates {
|
||||
width: 130px;
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"“" "”" "‘" "’"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{paddiLine truncated
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"“" "”" "‘" "’"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{paddiLine truncated
|
||||
@@ -843,6 +843,10 @@ table.jobTable div.queues {
|
||||
display: inline-block;
|
||||
float: right;
|
||||
}
|
||||
table.jobTable td.lastActive,
|
||||
table.jobTable th.lastActive {
|
||||
width: 130px;
|
||||
}
|
||||
table.jobTable td.dates,
|
||||
table.jobTable th.dates {
|
||||
width: 130px;
|
||||
|
||||
@@ -800,6 +800,10 @@ table.jobTable {
|
||||
float: right;
|
||||
}
|
||||
|
||||
td.lastActive, th.lastActive {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
td.dates, th.dates {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.tableData{border:solid 1px #f4f4f4;border-collapse:collapse}.tableData>tbody>tr>td{border:solid 1px #f4f4f4;background-color:#fff}.tableData>tbody>tr:nth-child(odd)>td{background-color:#fcfcfc}.tableData>thead>tr>th,.tableData>tbody>tr>th{background-color:#f4f4f4;border:solid 1px #f4f4f4}.tableData>tbody>tr:hover>td{background-color:#fefefe}.tableData>tbody>tr:hover:nth-child(odd)>td{background-color:#fafafa}.tableData>tfoot>tr>th,.tableData>tfoot>tr>td{background-color:#f4f4f4}.tableDataDark{border:solid 1px #d8d8d8;border-collapse:collapse}.tableDataDark td{border:solid 1px #d8d8d8;background-color:#fff}.tableDataDark th{background-color:#eee;border:solid 1px #d8d8d8}.tableDataContainer{background-color:#fff}.tableDataVertical{border:solid 1px #f4f4f4;border-collapse:collapse}.tableDataVertical>tbody>tr:nth-child(odd){background-color:#f4f4f4;margin:0;padding:0}.tableDataVertical>tbody>tr>th.name{width:170px;text-align:right}.tableDataVertical table.sub>tbody>tr:not(:first-child)>th,.tableDataVertical table.sub>tbody>tr:not(:first-child)>td{border-top:1px dashed #aaa}.tableDataVertical table.sub>tbody>tr>th{font-weight:normal;text-align:right}.tableDataVertical table.sub>tbody>tr>th.name{text-align:right}.icon16{display:inline-block;height:16px;width:16px;margin-left:2px;cursor:pointer}.subtleUntilHover{-moz-opacity:.3;opacity:.3}.subtleUntilHover:hover{-moz-opacity:1;opacity:1}body{font-size:12px;font-family:"Segoe UI",Arial,Verdana,Tahoma,sans-serif;margin:0;padding:0;color:#333}body.layout{background:url(data:image/png;base64,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) left top repeat-x #d1d1d1;background:linear-gradient(to bottom,#f2f2f2 0,#d1d1d1 370px) left top repeat-x #d1d1d1;min-height:370px}.page{max-width:1232px;min-width:768px;margin-left:auto;margin-right:auto}header,#header{position:relative;background-color:#333;margin:0;padding:0;height:34px}header #heading,#header #heading{float:left;height:34px}header #heading i,#header #headiLine truncated
|
||||
.tableData{border:solid 1px #f4f4f4;border-collapse:collapse}.tableData>tbody>tr>td{border:solid 1px #f4f4f4;background-color:#fff}.tableData>tbody>tr:nth-child(odd)>td{background-color:#fcfcfc}.tableData>thead>tr>th,.tableData>tbody>tr>th{background-color:#f4f4f4;border:solid 1px #f4f4f4}.tableData>tbody>tr:hover>td{background-color:#fefefe}.tableData>tbody>tr:hover:nth-child(odd)>td{background-color:#fafafa}.tableData>tfoot>tr>th,.tableData>tfoot>tr>td{background-color:#f4f4f4}.tableDataDark{border:solid 1px #d8d8d8;border-collapse:collapse}.tableDataDark td{border:solid 1px #d8d8d8;background-color:#fff}.tableDataDark th{background-color:#eee;border:solid 1px #d8d8d8}.tableDataContainer{background-color:#fff}.tableDataVertical{border:solid 1px #f4f4f4;border-collapse:collapse}.tableDataVertical>tbody>tr:nth-child(odd){background-color:#f4f4f4;margin:0;padding:0}.tableDataVertical>tbody>tr>th.name{width:170px;text-align:right}.tableDataVertical table.sub>tbody>tr:not(:first-child)>th,.tableDataVertical table.sub>tbody>tr:not(:first-child)>td{border-top:1px dashed #aaa}.tableDataVertical table.sub>tbody>tr>th{font-weight:normal;text-align:right}.tableDataVertical table.sub>tbody>tr>th.name{text-align:right}.icon16{display:inline-block;height:16px;width:16px;margin-left:2px;cursor:pointer}.subtleUntilHover{-moz-opacity:.3;opacity:.3}.subtleUntilHover:hover{-moz-opacity:1;opacity:1}body{font-size:12px;font-family:"Segoe UI",Arial,Verdana,Tahoma,sans-serif;margin:0;padding:0;color:#333}body.layout{background:url(data:image/png;base64,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) left top repeat-x #d1d1d1;background:linear-gradient(to bottom,#f2f2f2 0,#d1d1d1 370px) left top repeat-x #d1d1d1;min-height:370px}.page{max-width:1232px;min-width:768px;margin-left:auto;margin-right:auto}header,#header{position:relative;background-color:#333;margin:0;padding:0;height:34px}header #heading,#header #heading{float:left;height:34px}header #heading i,#header #headiLine truncated
|
||||
@@ -31,10 +31,12 @@ namespace Disco.Web.Controllers
|
||||
if (Authorization.Has(Claims.Job.Lists.MyJobs))
|
||||
m.MyJobs = ManagedJobList.MyJobsTable(Authorization);
|
||||
|
||||
if (Authorization.Has(Claims.Job.Lists.LongRunningJobs))
|
||||
if (Authorization.Has(Claims.Job.Lists.StaleJobs))
|
||||
{
|
||||
var longRunningThreshold = DateTime.Today.AddDays(Database.DiscoConfiguration.JobPreferences.LongRunningJobDaysThreshold * -1);
|
||||
m.LongRunningJobs = ManagedJobList.OpenJobsTable(q => q.Where(j => j.OpenedDate < longRunningThreshold).OrderBy(j => j.JobId));
|
||||
var staleThreshold = DateTime.Today.AddMinutes(Database.DiscoConfiguration.JobPreferences.StaleJobMinutesThreshold * -1);
|
||||
m.StaleJobs = ManagedJobList.OpenJobsTable(q => q.Where(j => j.LastActivityDate < staleThreshold).OrderBy(j => j.LastActivityDate));
|
||||
m.StaleJobs.ShowLastActivityDate = true;
|
||||
m.StaleJobs.ShowDates = false;
|
||||
}
|
||||
if (Authorization.Has(Claims.Job.ShowDailyChart))
|
||||
m.DailyOpenedClosedStatistics = Disco.BI.JobBI.Statistics.DailyOpenedClosed.Data(Database, true);
|
||||
@@ -248,6 +250,36 @@ namespace Disco.Web.Controllers
|
||||
return View(Views.List, m);
|
||||
}
|
||||
|
||||
[DiscoAuthorize(Claims.Job.Lists.LongRunningJobs)]
|
||||
public virtual ActionResult LongRunning()
|
||||
{
|
||||
var m = new Models.Job.ListModel() { Title = "Long Running Jobs" };
|
||||
|
||||
var longRunningThreshold = DateTime.Today.AddDays(Database.DiscoConfiguration.JobPreferences.LongRunningJobDaysThreshold * -1);
|
||||
m.JobTable = ManagedJobList.OpenJobsTable(q => q.Where(j => j.OpenedDate < longRunningThreshold).OrderBy(j => j.JobId));
|
||||
|
||||
// UI Extensions
|
||||
UIExtensions.ExecuteExtensions<JobListModel>(this.ControllerContext, m);
|
||||
|
||||
return View(Views.List, m);
|
||||
}
|
||||
|
||||
[DiscoAuthorize(Claims.Job.Lists.StaleJobs)]
|
||||
public virtual ActionResult Stale()
|
||||
{
|
||||
var m = new Models.Job.ListModel() { Title = "Stale Jobs" };
|
||||
|
||||
var staleThreshold = DateTime.Today.AddMinutes(Database.DiscoConfiguration.JobPreferences.StaleJobMinutesThreshold * -1);
|
||||
m.JobTable = ManagedJobList.OpenJobsTable(q => q.Where(j => j.LastActivityDate < staleThreshold).OrderBy(j => j.LastActivityDate));
|
||||
m.JobTable.ShowLastActivityDate = true;
|
||||
m.JobTable.ShowDates = false;
|
||||
|
||||
// UI Extensions
|
||||
UIExtensions.ExecuteExtensions<JobListModel>(this.ControllerContext, m);
|
||||
|
||||
return View(Views.List, m);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Show
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Disco.Web.Models.Job
|
||||
public class IndexModel : JobIndexModel
|
||||
{
|
||||
public JobTableModel MyJobs { get; set; }
|
||||
public JobTableModel LongRunningJobs { get; set; }
|
||||
public JobTableModel StaleJobs { get; set; }
|
||||
|
||||
public List<Disco.Models.BI.Job.Statistics.DailyOpenedClosedItem> DailyOpenedClosedStatistics { get; set; }
|
||||
}
|
||||
|
||||
@@ -159,6 +159,7 @@ namespace Links
|
||||
public static readonly string jquery_validate_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/jquery.validate.min.js") ? Url("jquery.validate.min.js") : Url("jquery.validate.js");
|
||||
public static readonly string jquery_validate_unobtrusive_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/jquery.validate.unobtrusive.min.js") ? Url("jquery.validate.unobtrusive.min.js") : Url("jquery.validate.unobtrusive.js");
|
||||
public static readonly string jquery_watermark_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/jquery.watermark.min.js") ? Url("jquery.watermark.min.js") : Url("jquery.watermark.js");
|
||||
public static readonly string livestamp_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/livestamp.min.js") ? Url("livestamp.min.js") : Url("livestamp.js");
|
||||
public static readonly string modernizr_2_6_2_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/modernizr-2.6.2.min.js") ? Url("modernizr-2.6.2.min.js") : Url("modernizr-2.6.2.js");
|
||||
public static readonly string moment_en_au_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/moment.en-au.min.js") ? Url("moment.en-au.min.js") : Url("moment.en-au.js");
|
||||
public static readonly string moment_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(URLPATH + "/moment.min.js") ? Url("moment.min.js") : Url("moment.js");
|
||||
@@ -1377,6 +1378,8 @@ namespace Disco.Web.Controllers
|
||||
public readonly string AwaitingUserAction = "AwaitingUserAction";
|
||||
public readonly string RecentlyClosed = "RecentlyClosed";
|
||||
public readonly string Locations = "Locations";
|
||||
public readonly string LongRunning = "LongRunning";
|
||||
public readonly string Stale = "Stale";
|
||||
public readonly string Show = "Show";
|
||||
public readonly string Create = "Create";
|
||||
public readonly string LogWarranty = "LogWarranty";
|
||||
@@ -1400,6 +1403,8 @@ namespace Disco.Web.Controllers
|
||||
public const string AwaitingUserAction = "AwaitingUserAction";
|
||||
public const string RecentlyClosed = "RecentlyClosed";
|
||||
public const string Locations = "Locations";
|
||||
public const string LongRunning = "LongRunning";
|
||||
public const string Stale = "Stale";
|
||||
public const string Show = "Show";
|
||||
public const string Create = "Create";
|
||||
public const string LogWarranty = "LogWarranty";
|
||||
@@ -1654,6 +1659,24 @@ namespace Disco.Web.Controllers
|
||||
return callInfo;
|
||||
}
|
||||
|
||||
partial void LongRunningOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);
|
||||
|
||||
public override System.Web.Mvc.ActionResult LongRunning()
|
||||
{
|
||||
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.LongRunning);
|
||||
LongRunningOverride(callInfo);
|
||||
return callInfo;
|
||||
}
|
||||
|
||||
partial void StaleOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);
|
||||
|
||||
public override System.Web.Mvc.ActionResult Stale()
|
||||
{
|
||||
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Stale);
|
||||
StaleOverride(callInfo);
|
||||
return callInfo;
|
||||
}
|
||||
|
||||
partial void ShowOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int? id);
|
||||
|
||||
public override System.Web.Mvc.ActionResult Show(int? id)
|
||||
@@ -7666,6 +7689,12 @@ namespace Disco.Web.Areas.API.Controllers
|
||||
{
|
||||
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateLongRunningJobDaysThreshold);
|
||||
}
|
||||
[NonAction]
|
||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||
public virtual System.Web.Mvc.ActionResult UpdateStaleJobMinutesThreshold()
|
||||
{
|
||||
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateStaleJobMinutesThreshold);
|
||||
}
|
||||
|
||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||
public JobPreferencesController Actions { get { return MVC.API.JobPreferences; } }
|
||||
@@ -7683,12 +7712,14 @@ namespace Disco.Web.Areas.API.Controllers
|
||||
public class ActionNamesClass
|
||||
{
|
||||
public readonly string UpdateLongRunningJobDaysThreshold = "UpdateLongRunningJobDaysThreshold";
|
||||
public readonly string UpdateStaleJobMinutesThreshold = "UpdateStaleJobMinutesThreshold";
|
||||
}
|
||||
|
||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||
public class ActionNameConstants
|
||||
{
|
||||
public const string UpdateLongRunningJobDaysThreshold = "UpdateLongRunningJobDaysThreshold";
|
||||
public const string UpdateStaleJobMinutesThreshold = "UpdateStaleJobMinutesThreshold";
|
||||
}
|
||||
|
||||
|
||||
@@ -7701,6 +7732,15 @@ namespace Disco.Web.Areas.API.Controllers
|
||||
public readonly string LongRunningJobDaysThreshold = "LongRunningJobDaysThreshold";
|
||||
public readonly string redirect = "redirect";
|
||||
}
|
||||
static readonly ActionParamsClass_UpdateStaleJobMinutesThreshold s_params_UpdateStaleJobMinutesThreshold = new ActionParamsClass_UpdateStaleJobMinutesThreshold();
|
||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||
public ActionParamsClass_UpdateStaleJobMinutesThreshold UpdateStaleJobMinutesThresholdParams { get { return s_params_UpdateStaleJobMinutesThreshold; } }
|
||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||
public class ActionParamsClass_UpdateStaleJobMinutesThreshold
|
||||
{
|
||||
public readonly string StaleJobMinutesThreshold = "StaleJobMinutesThreshold";
|
||||
public readonly string redirect = "redirect";
|
||||
}
|
||||
static readonly ViewsClass s_views = new ViewsClass();
|
||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||
public ViewsClass Views { get { return s_views; } }
|
||||
@@ -7731,6 +7771,17 @@ namespace Disco.Web.Areas.API.Controllers
|
||||
return callInfo;
|
||||
}
|
||||
|
||||
partial void UpdateStaleJobMinutesThresholdOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int StaleJobMinutesThreshold, bool redirect);
|
||||
|
||||
public override System.Web.Mvc.ActionResult UpdateStaleJobMinutesThreshold(int StaleJobMinutesThreshold, bool redirect)
|
||||
{
|
||||
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateStaleJobMinutesThreshold);
|
||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "StaleJobMinutesThreshold", StaleJobMinutesThreshold);
|
||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
|
||||
UpdateStaleJobMinutesThresholdOverride(callInfo, StaleJobMinutesThreshold, redirect);
|
||||
return callInfo;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -131,6 +131,6 @@
|
||||
}
|
||||
@if (Authorization.Has(Claims.Job.Lists.LongRunningJobs))
|
||||
{
|
||||
<h2>Long Running Jobs (@Model.LongRunningJobs.Items.Count())</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.LongRunningJobs, new ViewDataDictionary())
|
||||
<h2>Stale Jobs (@Model.StaleJobs.Items.Count())</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.StaleJobs, new ViewDataDictionary())
|
||||
}
|
||||
@@ -266,11 +266,11 @@ Write(Html.Partial(MVC.Shared.Views._JobTable, Model.MyJobs, new ViewDataDiction
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <h2>Long Running Jobs (");
|
||||
WriteLiteral(" <h2>Stale Jobs (");
|
||||
|
||||
|
||||
#line 134 "..\..\Views\Job\Index.cshtml"
|
||||
Write(Model.LongRunningJobs.Items.Count());
|
||||
Write(Model.StaleJobs.Items.Count());
|
||||
|
||||
|
||||
#line default
|
||||
@@ -285,7 +285,7 @@ WriteLiteral(")</h2>\r\n");
|
||||
#line hidden
|
||||
|
||||
#line 135 "..\..\Views\Job\Index.cshtml"
|
||||
Write(Html.Partial(MVC.Shared.Views._JobTable, Model.LongRunningJobs, new ViewDataDictionary()));
|
||||
Write(Html.Partial(MVC.Shared.Views._JobTable, Model.StaleJobs, new ViewDataDictionary()));
|
||||
|
||||
|
||||
#line default
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
@if (Model.ShowStatus)
|
||||
{ <th class="status">Status
|
||||
</th> }
|
||||
@if (Model.ShowLastActivityDate)
|
||||
{ <th class="lastActive">Last Active
|
||||
</th> }
|
||||
@if (Model.ShowDates)
|
||||
{ <th class="dates">When
|
||||
</th> }
|
||||
@@ -74,6 +77,8 @@
|
||||
}
|
||||
</div>}
|
||||
</td>}
|
||||
@if (Model.ShowLastActivityDate)
|
||||
{<td class="lastActive">@CommonHelpers.FriendlyDate(item.LastActivityDate)</td>}
|
||||
@if (Model.ShowDates)
|
||||
{<td class="dates">@if (item.ClosedDate.HasValue)
|
||||
{@CommonHelpers.FriendlyDate(item.ClosedDate.Value)}
|
||||
@@ -106,7 +111,7 @@
|
||||
@if (Model.ShowTechnician)
|
||||
{<td class="technician"><span title="@item.OpenedTechUserDisplayName">@item.OpenedTechUserId</span></td>}
|
||||
@if (Model.ShowLocation)
|
||||
{<td class="technician"><span>@(item.DeviceHeldLocation ?? "Unknown")</span></td>}
|
||||
{<td class="location"><span>@(item.DeviceHeldLocation ?? "Unknown")</span></td>}
|
||||
</tr>}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -166,16 +166,16 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 18 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowDates)
|
||||
if (Model.ShowLastActivityDate)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <th");
|
||||
|
||||
WriteLiteral(" class=\"dates\"");
|
||||
WriteLiteral(" class=\"lastActive\"");
|
||||
|
||||
WriteLiteral(">When\r\n </th> ");
|
||||
WriteLiteral(">Last Active\r\n </th> ");
|
||||
|
||||
|
||||
#line 20 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
@@ -188,16 +188,16 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 21 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowType)
|
||||
if (Model.ShowDates)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <th");
|
||||
|
||||
WriteLiteral(" class=\"type\"");
|
||||
WriteLiteral(" class=\"dates\"");
|
||||
|
||||
WriteLiteral(">Type\r\n </th> ");
|
||||
WriteLiteral(">When\r\n </th> ");
|
||||
|
||||
|
||||
#line 23 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
@@ -210,16 +210,16 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 24 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowDevice)
|
||||
if (Model.ShowType)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<th");
|
||||
WriteLiteral(" <th");
|
||||
|
||||
WriteLiteral(" class=\"device\"");
|
||||
WriteLiteral(" class=\"type\"");
|
||||
|
||||
WriteLiteral(">Device\r\n </th> ");
|
||||
WriteLiteral(">Type\r\n </th> ");
|
||||
|
||||
|
||||
#line 26 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
@@ -232,16 +232,16 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 27 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowUser)
|
||||
if (Model.ShowDevice)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <th");
|
||||
WriteLiteral("<th");
|
||||
|
||||
WriteLiteral(" class=\"user\"");
|
||||
WriteLiteral(" class=\"device\"");
|
||||
|
||||
WriteLiteral(">User\r\n </th> ");
|
||||
WriteLiteral(">Device\r\n </th> ");
|
||||
|
||||
|
||||
#line 29 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
@@ -254,16 +254,16 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 30 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowTechnician)
|
||||
if (Model.ShowUser)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <th");
|
||||
|
||||
WriteLiteral(" class=\"technician\"");
|
||||
WriteLiteral(" class=\"user\"");
|
||||
|
||||
WriteLiteral(">Technician\r\n </th> ");
|
||||
WriteLiteral(">User\r\n </th> ");
|
||||
|
||||
|
||||
#line 32 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
@@ -276,6 +276,28 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 33 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowTechnician)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <th");
|
||||
|
||||
WriteLiteral(" class=\"technician\"");
|
||||
|
||||
WriteLiteral(">Technician\r\n </th> ");
|
||||
|
||||
|
||||
#line 35 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 36 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowLocation)
|
||||
{
|
||||
|
||||
@@ -288,7 +310,7 @@ WriteLiteral(" class=\"location\"");
|
||||
WriteLiteral(">Location\r\n </th> ");
|
||||
|
||||
|
||||
#line 35 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 38 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -297,13 +319,13 @@ WriteLiteral(">Location\r\n </th> ");
|
||||
WriteLiteral(" </tr>\r\n </thead>\r\n <tbody>\r\n");
|
||||
|
||||
|
||||
#line 39 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 42 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 39 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 42 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
foreach (var item in Model.Items)
|
||||
{
|
||||
string statusSlaClass = null;
|
||||
@@ -332,7 +354,7 @@ WriteLiteral(" <tr");
|
||||
WriteLiteral(" data-id=\"");
|
||||
|
||||
|
||||
#line 58 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 61 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.Id);
|
||||
|
||||
|
||||
@@ -343,7 +365,7 @@ WriteLiteral("\"");
|
||||
WriteLiteral(" data-status=\"");
|
||||
|
||||
|
||||
#line 58 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 61 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(Model.ShowStatus ? item.StatusId : null);
|
||||
|
||||
|
||||
@@ -351,26 +373,26 @@ WriteLiteral(" data-status=\"");
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 2662), Tuple.Create("\"", 2687)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 2803), Tuple.Create("\"", 2828)
|
||||
|
||||
#line 58 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 2670), Tuple.Create<System.Object, System.Int32>(statusSlaClass
|
||||
#line 61 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 2811), Tuple.Create<System.Object, System.Int32>(statusSlaClass
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 2670), false)
|
||||
, 2811), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 59 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 62 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 59 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 62 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowId)
|
||||
{
|
||||
|
||||
@@ -383,27 +405,27 @@ WriteLiteral(" class=\"id\"");
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 61 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 64 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 61 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 64 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Show))
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 62 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 65 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(Html.ActionLink(item.JobId.ToString(), MVC.Job.Show(item.JobId)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 62 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 65 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -411,14 +433,14 @@ WriteLiteral(">\r\n");
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 64 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 67 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.JobId.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 64 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 67 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
@@ -426,7 +448,7 @@ WriteLiteral(">\r\n");
|
||||
WriteLiteral("</td>");
|
||||
|
||||
|
||||
#line 64 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 67 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -435,7 +457,7 @@ WriteLiteral("</td>");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 65 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 68 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowStatus)
|
||||
{
|
||||
var statusItem = (JobTableStatusItemModel)item;
|
||||
@@ -449,23 +471,23 @@ WriteLiteral(" class=\"status\"");
|
||||
|
||||
WriteLiteral("><i");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 3239), Tuple.Create("\"", 3286)
|
||||
, Tuple.Create(Tuple.Create("", 3247), Tuple.Create("fa", 3247), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3249), Tuple.Create("fa-square", 3250), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3259), Tuple.Create("jobStatus", 3260), true)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 3380), Tuple.Create("\"", 3427)
|
||||
, Tuple.Create(Tuple.Create("", 3388), Tuple.Create("fa", 3388), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3390), Tuple.Create("fa-square", 3391), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3400), Tuple.Create("jobStatus", 3401), true)
|
||||
|
||||
#line 68 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create(" ", 3269), Tuple.Create<System.Object, System.Int32>(item.StatusId
|
||||
#line 71 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create(" ", 3410), Tuple.Create<System.Object, System.Int32>(item.StatusId
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 3270), false)
|
||||
, 3411), false)
|
||||
);
|
||||
|
||||
WriteLiteral("></i> ");
|
||||
|
||||
|
||||
#line 68 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 71 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.StatusDescription);
|
||||
|
||||
|
||||
@@ -474,13 +496,13 @@ WriteLiteral("></i> ");
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
|
||||
#line 69 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 72 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 69 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 72 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (statusItem.ActiveJobQueues != null)
|
||||
{
|
||||
|
||||
@@ -493,13 +515,13 @@ WriteLiteral(" class=\"queues\"");
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 71 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 74 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 71 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 74 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
foreach (var jqToken in ((JobTableStatusItemModel)item).ActiveJobQueues.Select(jqj => new Tuple<JobTableStatusQueueItemModel, Disco.Services.Jobs.JobQueues.JobQueueToken>(jqj, Disco.Services.Jobs.JobQueues.JobQueueService.GetQueue(jqj.QueueId))))
|
||||
{
|
||||
|
||||
@@ -508,50 +530,50 @@ WriteLiteral(">\r\n");
|
||||
#line hidden
|
||||
WriteLiteral(" <i");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 3818), Tuple.Create("\"", 3907)
|
||||
, Tuple.Create(Tuple.Create("", 3826), Tuple.Create("fa", 3826), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3828), Tuple.Create("fa-", 3829), true)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 3959), Tuple.Create("\"", 4048)
|
||||
, Tuple.Create(Tuple.Create("", 3967), Tuple.Create("fa", 3967), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3969), Tuple.Create("fa-", 3970), true)
|
||||
|
||||
#line 73 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 3832), Tuple.Create<System.Object, System.Int32>(jqToken.Item2.JobQueue.Icon
|
||||
#line 76 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 3973), Tuple.Create<System.Object, System.Int32>(jqToken.Item2.JobQueue.Icon
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 3832), false)
|
||||
, Tuple.Create(Tuple.Create(" ", 3862), Tuple.Create("fa-fw", 3863), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 3868), Tuple.Create("d-", 3869), true)
|
||||
, 3973), false)
|
||||
, Tuple.Create(Tuple.Create(" ", 4003), Tuple.Create("fa-fw", 4004), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 4009), Tuple.Create("d-", 4010), true)
|
||||
|
||||
#line 73 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 3871), Tuple.Create<System.Object, System.Int32>(jqToken.Item2.JobQueue.IconColour
|
||||
#line 76 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 4012), Tuple.Create<System.Object, System.Int32>(jqToken.Item2.JobQueue.IconColour
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 3871), false)
|
||||
, 4012), false)
|
||||
);
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 3908), Tuple.Create("\"", 3974)
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 4049), Tuple.Create("\"", 4115)
|
||||
|
||||
#line 73 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 3916), Tuple.Create<System.Object, System.Int32>(jqToken.Item2.JobQueue.Name
|
||||
#line 76 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 4057), Tuple.Create<System.Object, System.Int32>(jqToken.Item2.JobQueue.Name
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 3916), false)
|
||||
, Tuple.Create(Tuple.Create(" ", 3946), Tuple.Create("[", 3947), true)
|
||||
, 4057), false)
|
||||
, Tuple.Create(Tuple.Create(" ", 4087), Tuple.Create("[", 4088), true)
|
||||
|
||||
#line 73 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 3948), Tuple.Create<System.Object, System.Int32>(jqToken.Item1.Priority
|
||||
#line 76 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 4089), Tuple.Create<System.Object, System.Int32>(jqToken.Item1.Priority
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 3948), false)
|
||||
, Tuple.Create(Tuple.Create("", 3973), Tuple.Create("]", 3973), true)
|
||||
, 4089), false)
|
||||
, Tuple.Create(Tuple.Create("", 4114), Tuple.Create("]", 4114), true)
|
||||
);
|
||||
|
||||
WriteLiteral("></i>\r\n");
|
||||
|
||||
|
||||
#line 74 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 77 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -560,7 +582,7 @@ WriteLiteral("></i>\r\n");
|
||||
WriteLiteral(" </div>");
|
||||
|
||||
|
||||
#line 75 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 78 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -569,7 +591,7 @@ WriteLiteral(" </div>");
|
||||
WriteLiteral(" </td>");
|
||||
|
||||
|
||||
#line 76 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 79 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -578,53 +600,25 @@ WriteLiteral(" </td>");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 77 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowDates)
|
||||
#line 80 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowLastActivityDate)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<td");
|
||||
|
||||
WriteLiteral(" class=\"dates\"");
|
||||
WriteLiteral(" class=\"lastActive\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 78 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (item.ClosedDate.HasValue)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 79 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(CommonHelpers.FriendlyDate(item.ClosedDate.Value));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 79 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 81 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(CommonHelpers.FriendlyDate(item.OpenedDate));
|
||||
Write(CommonHelpers.FriendlyDate(item.LastActivityDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 81 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</td>");
|
||||
|
||||
|
||||
@@ -638,6 +632,65 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 82 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowDates)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<td");
|
||||
|
||||
WriteLiteral(" class=\"dates\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 83 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (item.ClosedDate.HasValue)
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 84 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(CommonHelpers.FriendlyDate(item.ClosedDate.Value));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 84 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 86 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(CommonHelpers.FriendlyDate(item.OpenedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 86 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</td>");
|
||||
|
||||
|
||||
#line 86 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 87 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowType)
|
||||
{
|
||||
|
||||
@@ -649,20 +702,20 @@ WriteLiteral(" class=\"type\"");
|
||||
|
||||
WriteLiteral("><span");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 4556), Tuple.Create("\"", 4588)
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 4861), Tuple.Create("\"", 4893)
|
||||
|
||||
#line 83 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 4564), Tuple.Create<System.Object, System.Int32>(item.JobTypeDescription
|
||||
#line 88 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 4869), Tuple.Create<System.Object, System.Int32>(item.JobTypeDescription
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 4564), false)
|
||||
, 4869), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 83 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 88 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.JobTypeId);
|
||||
|
||||
|
||||
@@ -671,7 +724,7 @@ WriteLiteral(">");
|
||||
WriteLiteral("</span></td>");
|
||||
|
||||
|
||||
#line 83 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 88 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -680,7 +733,7 @@ WriteLiteral("</span></td>");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 84 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 89 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowDevice)
|
||||
{
|
||||
|
||||
@@ -693,13 +746,13 @@ WriteLiteral(" class=\"device\"");
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 86 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 91 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 86 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 91 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (item.DeviceSerialNumber != null)
|
||||
{
|
||||
if (Authorization.Has(Claims.Device.Show))
|
||||
@@ -708,14 +761,14 @@ WriteLiteral(">\r\n");
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 89 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 94 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(Html.ActionLink(item.DeviceSerialNumber, MVC.Device.Show(item.DeviceSerialNumber), new { Title = item.DeviceModelDescription }));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 89 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 94 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -724,20 +777,20 @@ WriteLiteral(">\r\n");
|
||||
#line hidden
|
||||
WriteLiteral("<span");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 5128), Tuple.Create("\"", 5164)
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 5433), Tuple.Create("\"", 5469)
|
||||
|
||||
#line 91 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 5136), Tuple.Create<System.Object, System.Int32>(item.DeviceModelDescription
|
||||
#line 96 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 5441), Tuple.Create<System.Object, System.Int32>(item.DeviceModelDescription
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 5136), false)
|
||||
, 5441), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 91 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 96 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.DeviceSerialNumber);
|
||||
|
||||
|
||||
@@ -746,7 +799,7 @@ WriteLiteral(">");
|
||||
WriteLiteral("</span>");
|
||||
|
||||
|
||||
#line 91 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 96 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -761,7 +814,7 @@ WriteLiteral(" class=\"smallMessage\"");
|
||||
WriteLiteral(">N/A</span>");
|
||||
|
||||
|
||||
#line 94 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 99 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
@@ -769,7 +822,7 @@ WriteLiteral(">N/A</span>");
|
||||
WriteLiteral("</td>");
|
||||
|
||||
|
||||
#line 94 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 99 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -778,7 +831,7 @@ WriteLiteral("</td>");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 95 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 100 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowUser)
|
||||
{
|
||||
|
||||
@@ -791,13 +844,13 @@ WriteLiteral(" class=\"user\"");
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 97 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 102 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 97 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 102 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (item.UserId != null)
|
||||
{
|
||||
if (Authorization.Has(Claims.User.Show))
|
||||
@@ -806,14 +859,14 @@ WriteLiteral(">\r\n");
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 100 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 105 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(Html.ActionLink(string.Format("{0} ({1})", item.UserDisplayName, item.UserId), MVC.User.Show(item.UserId)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 100 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 105 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -821,14 +874,14 @@ WriteLiteral(">\r\n");
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 102 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 107 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(string.Format("{0} ({1})", item.UserDisplayName, item.UserId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 102 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 107 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -843,7 +896,7 @@ WriteLiteral(" class=\"smallMessage\"");
|
||||
WriteLiteral(">N/A</span>");
|
||||
|
||||
|
||||
#line 105 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 110 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
@@ -851,7 +904,7 @@ WriteLiteral(">N/A</span>");
|
||||
WriteLiteral("</td>");
|
||||
|
||||
|
||||
#line 105 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 110 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -860,7 +913,7 @@ WriteLiteral("</td>");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 106 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 111 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowTechnician)
|
||||
{
|
||||
|
||||
@@ -872,20 +925,20 @@ WriteLiteral(" class=\"technician\"");
|
||||
|
||||
WriteLiteral("><span");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 6116), Tuple.Create("\"", 6155)
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 6421), Tuple.Create("\"", 6460)
|
||||
|
||||
#line 107 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 6124), Tuple.Create<System.Object, System.Int32>(item.OpenedTechUserDisplayName
|
||||
#line 112 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 6429), Tuple.Create<System.Object, System.Int32>(item.OpenedTechUserDisplayName
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 6124), false)
|
||||
, 6429), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 107 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 112 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.OpenedTechUserId);
|
||||
|
||||
|
||||
@@ -894,7 +947,7 @@ WriteLiteral(">");
|
||||
WriteLiteral("</span></td>");
|
||||
|
||||
|
||||
#line 107 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 112 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -903,7 +956,7 @@ WriteLiteral("</span></td>");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 108 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 113 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.ShowLocation)
|
||||
{
|
||||
|
||||
@@ -911,12 +964,12 @@ WriteLiteral(" ");
|
||||
#line hidden
|
||||
WriteLiteral("<td");
|
||||
|
||||
WriteLiteral(" class=\"technician\"");
|
||||
WriteLiteral(" class=\"location\"");
|
||||
|
||||
WriteLiteral("><span>");
|
||||
|
||||
|
||||
#line 109 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 114 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(item.DeviceHeldLocation ?? "Unknown");
|
||||
|
||||
|
||||
@@ -925,7 +978,7 @@ WriteLiteral("><span>");
|
||||
WriteLiteral("</span></td>");
|
||||
|
||||
|
||||
#line 109 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 114 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -934,7 +987,7 @@ WriteLiteral("</span></td>");
|
||||
WriteLiteral(" </tr>");
|
||||
|
||||
|
||||
#line 110 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 115 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -943,7 +996,7 @@ WriteLiteral(" </tr>");
|
||||
WriteLiteral(" </tbody>\r\n </table>\r\n");
|
||||
|
||||
|
||||
#line 113 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 118 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
if (Model.HideClosedJobs && Model.Items.All(j => j.ClosedDate.HasValue))
|
||||
{
|
||||
|
||||
@@ -963,7 +1016,7 @@ WriteLiteral(" class=\"dataTables_showStatusClosed button small\"");
|
||||
WriteLiteral(">Show Closed Jobs (");
|
||||
|
||||
|
||||
#line 117 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 122 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
Write(Model.Items.Count());
|
||||
|
||||
|
||||
@@ -972,7 +1025,7 @@ WriteLiteral(">Show Closed Jobs (");
|
||||
WriteLiteral(")</a>\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 119 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 124 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -984,7 +1037,7 @@ WriteLiteral(")</a>\r\n </div>\r\n");
|
||||
WriteLiteral(" <h3>No jobs to display</h3>\r\n");
|
||||
|
||||
|
||||
#line 124 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
#line 129 "..\..\Views\Shared\_JobTableRender.cshtml"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -42,6 +42,14 @@
|
||||
{
|
||||
<li>@Html.ActionLink("Awaiting Technician Action", MVC.Job.AwaitingTechnicianAction())</li>
|
||||
}
|
||||
@if (Authorization.Has(Claims.Job.Lists.LongRunningJobs))
|
||||
{
|
||||
<li>@Html.ActionLink("Long Running Jobs", MVC.Job.LongRunning())</li>
|
||||
}
|
||||
@if (Authorization.Has(Claims.Job.Lists.StaleJobs))
|
||||
{
|
||||
<li>@Html.ActionLink("Stale Jobs", MVC.Job.Stale())</li>
|
||||
}
|
||||
@if (Authorization.Has(Claims.Job.Lists.DevicesReadyForReturn))
|
||||
{
|
||||
<li>@Html.ActionLink("Devices Ready for Return", MVC.Job.DevicesReadyForReturn())</li>
|
||||
|
||||
@@ -303,7 +303,7 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 45 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.DevicesReadyForReturn))
|
||||
if (Authorization.Has(Claims.Job.Lists.LongRunningJobs))
|
||||
{
|
||||
|
||||
|
||||
@@ -313,7 +313,7 @@ WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 47 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Devices Ready for Return", MVC.Job.DevicesReadyForReturn()));
|
||||
Write(Html.ActionLink("Long Running Jobs", MVC.Job.LongRunning()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -331,7 +331,7 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 49 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.Locations))
|
||||
if (Authorization.Has(Claims.Job.Lists.StaleJobs))
|
||||
{
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 51 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Device Held Locations", MVC.Job.Locations()));
|
||||
Write(Html.ActionLink("Stale Jobs", MVC.Job.Stale()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -359,7 +359,7 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 53 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingUserAction))
|
||||
if (Authorization.Has(Claims.Job.Lists.DevicesReadyForReturn))
|
||||
{
|
||||
|
||||
|
||||
@@ -369,7 +369,7 @@ WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 55 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Awaiting User Action", MVC.Job.AwaitingUserAction()));
|
||||
Write(Html.ActionLink("Devices Ready for Return", MVC.Job.DevicesReadyForReturn()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -387,6 +387,62 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 57 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.Locations))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 59 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Device Held Locations", MVC.Job.Locations()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 60 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 61 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingUserAction))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 63 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Awaiting User Action", MVC.Job.AwaitingUserAction()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 64 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 65 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinance))
|
||||
{
|
||||
if (Authorization.HasAny(Claims.Job.Lists.AwaitingFinanceCharge, Claims.Job.Lists.AwaitingFinancePayment, Claims.Job.Lists.AwaitingFinanceAgreementBreach, Claims.Job.Lists.AwaitingFinanceInsuranceProcessing))
|
||||
@@ -406,7 +462,7 @@ WriteLiteral(" class=\"fa fa-caret-right\"");
|
||||
WriteLiteral("></i>");
|
||||
|
||||
|
||||
#line 61 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 69 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Awaiting Finance", MVC.Job.AwaitingFinance()));
|
||||
|
||||
|
||||
@@ -415,13 +471,13 @@ WriteLiteral("></i>");
|
||||
WriteLiteral("\r\n <ul>\r\n");
|
||||
|
||||
|
||||
#line 63 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 71 "..\..\Views\Shared\_Layout.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 63 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 71 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinanceCharge))
|
||||
{
|
||||
|
||||
@@ -431,64 +487,8 @@ WriteLiteral("\r\n <ul>\r\n");
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 65 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Accounting Charge", MVC.Job.AwaitingFinanceCharge()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 66 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 67 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinancePayment))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 69 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Accounting Payment", MVC.Job.AwaitingFinancePayment()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 70 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 71 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinanceAgreementBreach))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 73 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Agreement Breach", MVC.Job.AwaitingFinanceAgreementBreach()));
|
||||
Write(Html.ActionLink("Accounting Charge", MVC.Job.AwaitingFinanceCharge()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -506,7 +506,7 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 75 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinanceInsuranceProcessing))
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinancePayment))
|
||||
{
|
||||
|
||||
|
||||
@@ -516,7 +516,7 @@ WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 77 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Insurance Processing", MVC.Job.AwaitingFinanceInsuranceProcessing()));
|
||||
Write(Html.ActionLink("Accounting Payment", MVC.Job.AwaitingFinancePayment()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -528,13 +528,69 @@ WriteLiteral("</li>\r\n");
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 79 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinanceAgreementBreach))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 81 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Agreement Breach", MVC.Job.AwaitingFinanceAgreementBreach()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 82 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 83 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AwaitingFinanceInsuranceProcessing))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 85 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Insurance Processing", MVC.Job.AwaitingFinanceInsuranceProcessing()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 86 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </ul>\r\n </li>\r" +
|
||||
"\n");
|
||||
|
||||
|
||||
#line 81 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 89 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -545,7 +601,7 @@ WriteLiteral(" </ul>\r\n
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 84 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 92 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Awaiting Finance", MVC.Job.AwaitingFinance()));
|
||||
|
||||
|
||||
@@ -554,64 +610,8 @@ WriteLiteral(" <li>");
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 85 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 87 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.DevicesAwaitingRepair))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 89 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Awaiting Device Repair", MVC.Job.DevicesAwaitingRepair()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 90 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 91 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AllOpen))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 93 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("All Open", MVC.Job.AllOpen()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 94 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -621,7 +621,7 @@ WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 95 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.RecentlyClosed))
|
||||
if (Authorization.Has(Claims.Job.Lists.DevicesAwaitingRepair))
|
||||
{
|
||||
|
||||
|
||||
@@ -631,7 +631,7 @@ WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 97 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Recently Closed", MVC.Job.RecentlyClosed()));
|
||||
Write(Html.ActionLink("Awaiting Device Repair", MVC.Job.DevicesAwaitingRepair()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -645,39 +645,21 @@ WriteLiteral("</li>\r\n");
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </ul>\r\n </li>\r\n");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 101 "..\..\Views\Shared\_Layout.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 101 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.HasAny(Claims.Device.Search, Claims.Device.Actions.Import, Claims.Device.Actions.Export, Claims.Device.Actions.EnrolDevices))
|
||||
#line 99 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.AllOpen))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 6391), Tuple.Create("\"", 6479)
|
||||
|
||||
#line 103 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 6399), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.Device.Name ? "active" : null
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 6399), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 103 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Devices", MVC.Device.Index(), accesskey: "2"));
|
||||
#line 101 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("All Open", MVC.Job.AllOpen()));
|
||||
|
||||
|
||||
#line default
|
||||
@@ -685,7 +667,7 @@ WriteLiteral(">");
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 104 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 102 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -694,7 +676,81 @@ WriteLiteral("</li>\r\n");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 103 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Job.Lists.RecentlyClosed))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li>");
|
||||
|
||||
|
||||
#line 105 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Recently Closed", MVC.Job.RecentlyClosed()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 106 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </ul>\r\n </li>\r\n");
|
||||
|
||||
|
||||
#line 109 "..\..\Views\Shared\_Layout.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 109 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.HasAny(Claims.Device.Search, Claims.Device.Actions.Import, Claims.Device.Actions.Export, Claims.Device.Actions.EnrolDevices))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <li");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 6876), Tuple.Create("\"", 6964)
|
||||
|
||||
#line 111 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 6884), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.Device.Name ? "active" : null
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 6884), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 111 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Devices", MVC.Device.Index(), accesskey: "2"));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 112 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 113 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.HasAny(Claims.User.Search))
|
||||
{
|
||||
|
||||
@@ -703,20 +759,20 @@ WriteLiteral(" ");
|
||||
#line hidden
|
||||
WriteLiteral(" <li");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 6692), Tuple.Create("\"", 6778)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 7177), Tuple.Create("\"", 7263)
|
||||
|
||||
#line 107 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 6700), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.User.Name ? "active" : null
|
||||
#line 115 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7185), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.User.Name ? "active" : null
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 6700), false)
|
||||
, 7185), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 107 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 115 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Users", MVC.User.Index(), accesskey: "3"));
|
||||
|
||||
|
||||
@@ -725,7 +781,7 @@ WriteLiteral(">");
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 108 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 116 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -733,21 +789,21 @@ WriteLiteral("</li>\r\n");
|
||||
#line hidden
|
||||
WriteLiteral(" <li");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 6892), Tuple.Create("\"", 6990)
|
||||
, Tuple.Create(Tuple.Create("", 6900), Tuple.Create("moveRight", 6900), true)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 7377), Tuple.Create("\"", 7475)
|
||||
, Tuple.Create(Tuple.Create("", 7385), Tuple.Create("moveRight", 7385), true)
|
||||
|
||||
#line 109 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 6909), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.Public.Name ? " active" : null
|
||||
#line 117 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7394), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.Public.Name ? " active" : null
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 6909), false)
|
||||
, 7394), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 109 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 117 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Reports", MVC.Public.Public.Index()));
|
||||
|
||||
|
||||
@@ -756,13 +812,13 @@ WriteLiteral(">");
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 110 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 118 "..\..\Views\Shared\_Layout.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 110 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 118 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.Config.Show))
|
||||
{
|
||||
|
||||
@@ -771,20 +827,20 @@ WriteLiteral("</li>\r\n");
|
||||
#line hidden
|
||||
WriteLiteral(" <li");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 7168), Tuple.Create("\"", 7256)
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 7653), Tuple.Create("\"", 7741)
|
||||
|
||||
#line 112 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7176), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.Config.Name ? "active" : null
|
||||
#line 120 "..\..\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7661), Tuple.Create<System.Object, System.Int32>((string)ViewContext.ViewData["MenuArea"] == MVC.Config.Name ? "active" : null
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 7176), false)
|
||||
, 7661), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 112 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 120 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Configuration", MVC.Config.Config.Index(), accesskey: "0"));
|
||||
|
||||
|
||||
@@ -793,7 +849,7 @@ WriteLiteral(">");
|
||||
WriteLiteral("</li>\r\n");
|
||||
|
||||
|
||||
#line 113 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 121 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
|
||||
@@ -806,21 +862,21 @@ WriteLiteral(" id=\"headerMenu\"");
|
||||
WriteLiteral(">\r\n <span>");
|
||||
|
||||
|
||||
#line 117 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 125 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.Has(Claims.User.Show))
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 118 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 126 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink(CurrentUser.ToString(), MVC.User.Show(CurrentUser.Id)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 118 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 126 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -828,14 +884,14 @@ WriteLiteral(">\r\n <span>");
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 120 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 128 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(CurrentUser.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 120 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 128 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
@@ -843,13 +899,13 @@ WriteLiteral(">\r\n <span>");
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
|
||||
#line 121 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 129 "..\..\Views\Shared\_Layout.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 121 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 129 "..\..\Views\Shared\_Layout.cshtml"
|
||||
if (Authorization.HasAny(Claims.Job.Search, Claims.Device.Search, Claims.User.Search))
|
||||
{
|
||||
using (Html.BeginForm(MVC.Search.Query(), FormMethod.Get))
|
||||
@@ -858,14 +914,14 @@ WriteLiteral("</span>\r\n");
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 124 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 132 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.TextBox("term", null, new { id = "SearchQuery", accesskey = "s", placeholder = "Search", data_quicksearchurl = Url.Action(MVC.API.Search.QuickQuery()) }));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 124 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 132 "..\..\Views\Shared\_Layout.cshtml"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -879,7 +935,7 @@ WriteLiteral(" id=\"layout_PageHeading\"");
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 128 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 136 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(CommonHelpers.Breadcrumbs(ViewBag.Title ?? string.Empty));
|
||||
|
||||
|
||||
@@ -894,7 +950,7 @@ WriteLiteral(">\r\n");
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 130 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 138 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(RenderBody());
|
||||
|
||||
|
||||
@@ -903,7 +959,7 @@ WriteLiteral(" ");
|
||||
WriteLiteral("\r\n </section>\r\n <footer>\r\n Disco v");
|
||||
|
||||
|
||||
#line 133 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 141 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Disco.Web.DiscoApplication.Version);
|
||||
|
||||
|
||||
@@ -914,7 +970,7 @@ WriteLiteral(" ");
|
||||
WriteLiteral("@ ");
|
||||
|
||||
|
||||
#line 133 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 141 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Disco.Web.DiscoApplication.OrganisationName);
|
||||
|
||||
|
||||
@@ -924,7 +980,7 @@ WriteLiteral(" | <a\r\n href=\"https://discoict.com.au/\" target=
|
||||
"om.au</a> | ");
|
||||
|
||||
|
||||
#line 134 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 142 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Credits", MVC.Public.Public.Credits()));
|
||||
|
||||
|
||||
@@ -933,7 +989,7 @@ WriteLiteral(" | <a\r\n href=\"https://discoict.com.au/\" target=
|
||||
WriteLiteral(" | ");
|
||||
|
||||
|
||||
#line 134 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 142 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Licence", MVC.Public.Public.Licence()));
|
||||
|
||||
|
||||
@@ -942,13 +998,13 @@ WriteLiteral(" | ");
|
||||
WriteLiteral("\r\n </footer>\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 137 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 145 "..\..\Views\Shared\_Layout.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 137 "..\..\Views\Shared\_Layout.cshtml"
|
||||
#line 145 "..\..\Views\Shared\_Layout.cshtml"
|
||||
Disco.Services.Plugins.Features.UIExtension.UIExtensions.ExecuteExtensionResult(this);
|
||||
|
||||
#line default
|
||||
|
||||
Reference in new issue
Block a user