feat: created first ticket class

This commit is contained in:
2025-05-03 00:46:47 +02:00
parent 3fe2151588
commit b8b9443d8a
6 changed files with 57 additions and 9 deletions

View File

@@ -1,3 +1,5 @@
from django.contrib import admin
# Register your models here.
from .models import Ticket
admin.site.register(Ticket)

View File

@@ -1,3 +1,28 @@
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Ticket(models.Model):
STATUS_CHOICES = [
('open', 'Offen'),
('in_progress', 'In Bearbeitung'),
('closed', 'Geschlossen'),
]
PRIORITY_CHOICES = [
('low', 'Niedrig'),
('medium', 'Mittel'),
('high', 'Hoch'),
]
title = models.CharField(max_length=200)
description = models.TextField()
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='open')
priority = models.CharField(max_length=10, choices=PRIORITY_CHOICES, default='medium')
created_by = models.ForeignKey(User, related_name='tickets_created', on_delete=models.CASCADE)
assigned_to = models.ForeignKey(User, related_name='tickets_assigned', null=True, blank=True, on_delete=models.SET_NULL)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return f"[{self.get_priority_display()}] {self.title} ({self.get_status_display()})"

10
ticketsystem/urls.py Normal file
View File

@@ -0,0 +1,10 @@
from django.urls import path
from . import views
urlpatterns = [
# /ticketsystem/
path("", views.index, name="index"),
# /ticketsystem/detail/
path("<int:ticket_id>/", views.detail, name="detail"),
]

View File

@@ -1,3 +1,12 @@
from django.shortcuts import render
from django.http import HttpResponse
from .models import Ticket
# Create your views here.
def index(request):
latest_ticket_list = Ticket.objects.order_by("-created_at")[:5]
output = ", ".join([t.title for t in latest_ticket_list])
return HttpResponse(output)
def detail(request, ticket_id):
return HttpResponse("You're looking at Ticket %s." % ticket_id)