Add carried-over jobs section to Daily Board and fix tip visibility

Non-terminal jobs scheduled for past dates now appear in a red 'Carried
Over' section at the top of today's board so they can't silently disappear.
Also added alert-permanent to the board tip so the layout doesn't auto-dismiss it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-09 15:34:39 -04:00
parent bc9de38da3
commit 61866e1d1e
4 changed files with 168 additions and 1 deletions
@@ -107,6 +107,29 @@ public class JobsPriorityController : Controller
.ThenBy(m => m.ScheduledDate)
.ToList();
// Load overdue jobs only when viewing today — past-date navigation shows that day as-is
if (today == DateTime.Today)
{
var overdueJobs = await _unitOfWork.Jobs.GetOverdueScheduledJobsAsync();
ViewBag.OverdueJobs = overdueJobs.Select(j => new JobDailyPriorityDto
{
Id = 0,
JobId = j.Id,
JobNumber = j.JobNumber,
CustomerName = j.Customer.CompanyName ?? $"{j.Customer.ContactFirstName} {j.Customer.ContactLastName}".Trim(),
StatusDisplayName = j.JobStatus.DisplayName,
StatusColorClass = j.JobStatus.ColorClass,
JobPriorityId = j.JobPriorityId,
PriorityDisplayName = j.JobPriority.DisplayName,
PriorityColorClass = j.JobPriority.ColorClass,
AssignedUserId = j.AssignedUserId,
AssignedWorkerName = j.AssignedUser?.FullName,
ScheduledDate = j.ScheduledDate,
DueDate = j.DueDate,
DisplayOrder = int.MaxValue
}).ToList();
}
ViewBag.ScheduledDate = today;
ViewBag.MaintenanceItems = maintenanceItems;
ViewBag.PrioritiesJson = priorities.OrderBy(p => p.DisplayOrder)