docs
0
# Ticket System
1
2
Support ticket management system for customer service and issue tracking. Provides comprehensive ticket lifecycle management with priority levels, status tracking, and template support.
3
4
## Capabilities
5
6
### Ticket Management
7
8
Core ticket entity for managing customer support requests and internal issues.
9
10
```python { .api }
11
class AbstractTicket(CremeEntity):
12
"""
13
Abstract base class for support tickets.
14
15
Fields:
16
- number: Unique ticket number (TicketNumber)
17
- title: Ticket title/summary
18
- description: Detailed ticket description
19
- status: Current ticket status (Status)
20
- priority: Ticket priority level (Priority)
21
- criticity: Ticket criticality level (Criticity)
22
- solution: Solution/resolution description
23
"""
24
25
class Ticket(AbstractTicket):
26
"""Default concrete ticket model."""
27
28
def get_ticket_model():
29
"""Returns the active Ticket model for this project."""
30
31
def ticket_model_is_custom() -> bool:
32
"""Returns True if custom Ticket model is configured."""
33
```
34
35
### Ticket Templates
36
37
Templates for creating standardized tickets with predefined content.
38
39
```python { .api }
40
class AbstractTicketTemplate(CremeEntity):
41
"""
42
Abstract base class for ticket templates.
43
44
Fields:
45
- title: Template title
46
- description: Template description content
47
- status: Default status for tickets created from template
48
- priority: Default priority level
49
- criticity: Default criticality level
50
"""
51
52
class TicketTemplate(AbstractTicketTemplate):
53
"""Default concrete ticket template model."""
54
55
def get_tickettemplate_model():
56
"""Returns the active TicketTemplate model for this project."""
57
58
def tickettemplate_model_is_custom() -> bool:
59
"""Returns True if custom TicketTemplate model is configured."""
60
```
61
62
### Support Classification
63
64
Priority, status, and criticality classification for ticket organization.
65
66
```python { .api }
67
class Priority(CremeModel):
68
"""Ticket priority levels (Low, Normal, High, etc.)."""
69
70
class Status(CremeModel):
71
"""Ticket status options (Open, In Progress, Closed, etc.)."""
72
73
class Criticity(CremeModel):
74
"""Ticket criticality levels (Minor, Major, Critical, etc.)."""
75
76
class TicketNumber(CremeModel):
77
"""Auto-generated unique ticket numbering system."""
78
```
79
80
## Imports
81
82
```python
83
from creme.tickets import get_ticket_model, get_tickettemplate_model
84
from creme.tickets.models import Ticket, TicketTemplate, Priority, Status, Criticity
85
```
86
87
## Settings Configuration
88
89
Configure ticket models in settings.py:
90
91
```python
92
# Ticket model settings
93
TICKETS_TICKET_MODEL = 'tickets.Ticket' # Default ticket model
94
TICKETS_TEMPLATE_MODEL = 'tickets.TicketTemplate' # Default template model
95
TICKETS_TICKET_FORCE_NOT_CUSTOM = False
96
TICKETS_TEMPLATE_FORCE_NOT_CUSTOM = False
97
```