Fix FK violation on kiosk intake submission: set JobPriorityId

ProcessSubmissionAsync was creating a Job without JobPriorityId, leaving
it as 0 which violates the FK to JobPriorityLookups. Look up the NORMAL
priority the same way JobsController does everywhere else.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-13 21:36:53 -04:00
parent f1d7054b3e
commit 4a8778504f
@@ -586,10 +586,13 @@ public class KioskController : Controller
: "RemoteIntake";
}
// 3. Create Job in Pending status
var statuses = await _lookupCache.GetJobStatusLookupsAsync(companyId);
// 3. Create Job in Pending status with Normal priority
var statuses = await _lookupCache.GetJobStatusLookupsAsync(companyId);
var pendingStatus = statuses.FirstOrDefault(s => s.StatusCode == AppConstants.StatusCodes.Job.Pending);
var priorities = await _lookupCache.GetJobPriorityLookupsAsync(companyId);
var normalPriority = priorities.FirstOrDefault(p => p.PriorityCode == "NORMAL") ?? priorities.FirstOrDefault();
var jobNumber = await GenerateJobNumberAsync(companyId);
var job = new Job
{
@@ -597,6 +600,7 @@ public class KioskController : Controller
CustomerId = customer!.Id,
JobNumber = jobNumber,
JobStatusId = pendingStatus?.Id ?? 1,
JobPriorityId = normalPriority?.Id ?? 1,
SpecialInstructions = session.JobDescription,
Description = $"Walk-in intake — {session.CustomerFirstName} {session.CustomerLastName}".Trim()
};