Add assignment dropdown on ticket creation and fix Discord webhook URLs

- Add APP_DOMAIN config for correct Discord webhook ticket links
- Add "Assign To" dropdown on create ticket form
- Update TicketModel.createTicket() to support assigned_to field
- Update documentation for APP_DOMAIN requirement

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-05 10:24:00 -05:00
parent e8b2f670b9
commit 019eaf8980
9 changed files with 56 additions and 7 deletions

View File

@@ -376,8 +376,8 @@ class TicketModel {
error_log("Ticket ID generation used fallback after {$maxAttempts} random attempts");
}
$sql = "INSERT INTO tickets (ticket_id, title, description, status, priority, category, type, created_by, visibility, visibility_groups)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$sql = "INSERT INTO tickets (ticket_id, title, description, status, priority, category, type, created_by, assigned_to, visibility, visibility_groups)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $this->conn->prepare($sql);
@@ -388,6 +388,7 @@ class TicketModel {
$type = $ticketData['type'] ?? 'Issue';
$visibility = $ticketData['visibility'] ?? 'public';
$visibilityGroups = $ticketData['visibility_groups'] ?? null;
$assignedTo = !empty($ticketData['assigned_to']) ? (int)$ticketData['assigned_to'] : null;
// Validate visibility
$allowedVisibilities = ['public', 'internal', 'confidential'];
@@ -409,7 +410,7 @@ class TicketModel {
}
$stmt->bind_param(
"sssssssiss",
"sssssssiiss",
$ticket_id,
$ticketData['title'],
$ticketData['description'],
@@ -418,6 +419,7 @@ class TicketModel {
$category,
$type,
$createdBy,
$assignedTo,
$visibility,
$visibilityGroups
);