feat: Enhance ticketing system with categories, templates, SLA tracking, and fix frontend integration
- Add ticket categories (billing, technical, feature_request, etc.) with type-specific options - Add TicketTemplate and CannedResponse models for quick ticket creation - Implement SLA tracking with due_at and first_response_at fields - Add is_platform_admin and is_customer helper functions to fix permission checks - Register models in Django admin with filters and fieldsets - Enhance signals with error handling for WebSocket notifications - Fix frontend API URLs for templates and canned responses - Update PlatformSupport page to use real ticketing API - Add comprehensive i18n translations for all ticket fields 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -83,18 +83,23 @@
|
||||
"tickets": {
|
||||
"title": "Support Tickets",
|
||||
"description": "Manage your support requests and inquiries.",
|
||||
"descriptionOwner": "Manage support tickets for your business",
|
||||
"descriptionStaff": "View and create support tickets",
|
||||
"newTicket": "New Ticket",
|
||||
"errorLoading": "Error loading tickets",
|
||||
"subject": "Subject",
|
||||
"description": "Description",
|
||||
"status": "Status",
|
||||
"priority": "Priority",
|
||||
"category": "Category",
|
||||
"ticketType": "Ticket Type",
|
||||
"assignee": "Assignee",
|
||||
"assignedTo": "Assigned to",
|
||||
"createdAt": "Created At",
|
||||
"unassigned": "Unassigned",
|
||||
"noTicketsFound": "No tickets found.",
|
||||
"noTicketsFound": "No tickets found",
|
||||
"noTicketsInStatus": "No tickets with this status",
|
||||
"ticketDetails": "Ticket Details",
|
||||
"categoryPlaceholder": "e.g., Billing, Technical, Feature Request",
|
||||
"createTicket": "Create Ticket",
|
||||
"updateTicket": "Update Ticket",
|
||||
"comments": "Comments",
|
||||
@@ -103,14 +108,47 @@
|
||||
"addCommentPlaceholder": "Add a comment...",
|
||||
"internalComment": "Internal Comment",
|
||||
"postComment": "Post Comment",
|
||||
"priority.low": "Low",
|
||||
"priority.medium": "Medium",
|
||||
"priority.high": "High",
|
||||
"priority.urgent": "Urgent",
|
||||
"status.open": "Open",
|
||||
"status.in_progress": "In Progress",
|
||||
"status.resolved": "Resolved",
|
||||
"status.closed": "Closed"
|
||||
"tabs": {
|
||||
"all": "All",
|
||||
"open": "Open",
|
||||
"inProgress": "In Progress",
|
||||
"awaitingResponse": "Awaiting Response",
|
||||
"resolved": "Resolved",
|
||||
"closed": "Closed"
|
||||
},
|
||||
"priorities": {
|
||||
"low": "Low",
|
||||
"medium": "Medium",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"statuses": {
|
||||
"open": "Open",
|
||||
"in_progress": "In Progress",
|
||||
"awaiting_response": "Awaiting Response",
|
||||
"resolved": "Resolved",
|
||||
"closed": "Closed"
|
||||
},
|
||||
"types": {
|
||||
"platform": "Platform Support",
|
||||
"customer": "Customer Inquiry",
|
||||
"staff_request": "Staff Request",
|
||||
"internal": "Internal"
|
||||
},
|
||||
"categories": {
|
||||
"billing": "Billing & Payments",
|
||||
"technical": "Technical Issue",
|
||||
"feature_request": "Feature Request",
|
||||
"account": "Account & Settings",
|
||||
"appointment": "Appointment Issue",
|
||||
"refund": "Refund Request",
|
||||
"complaint": "Complaint",
|
||||
"general_inquiry": "General Inquiry",
|
||||
"time_off": "Time Off Request",
|
||||
"schedule_change": "Schedule Change",
|
||||
"equipment": "Equipment Issue",
|
||||
"other": "Other"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
|
||||
Reference in New Issue
Block a user