Skip to content

Commit 01fd31c

Browse files
committed
Remove unnecessary comments
1 parent fea4ae6 commit 01fd31c

File tree

4 files changed

+91
-43
lines changed

4 files changed

+91
-43
lines changed

tickets/forms.py

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,54 @@
11
from django import forms
2+
from django.contrib.auth.models import User
23
from .models import Ticket, Comment
34

5+
# ChoiceField choices
46
TICKET_TYPES = (('Bug', 'Bug'), ('Feature', 'Feature'))
7+
PRIORITIES = (('Low', 'Low'), ('Medium', 'Medium'), ('High', 'High'))
8+
STATUSES = (('New', 'New'), ('In Progress', 'In Progress'),
9+
('Resolved', 'Resolved'), ('Cancelled', 'Cancelled'))
10+
11+
12+
# ? not used
13+
# class DateInput(forms.DateInput):
14+
# input_type = 'date'
515

616

717
class AddTicketForm(forms.ModelForm):
8-
ticket_type = forms.ChoiceField(choices=TICKET_TYPES, required=True)
9-
# tags = forms.CharField(required=False)
18+
ticket_type = forms.ChoiceField(
19+
choices=TICKET_TYPES, required=True, label='Ticket Type')
20+
priority = forms.ChoiceField(choices=PRIORITIES, required=True)
21+
status = forms.ChoiceField(choices=STATUSES, required=True)
22+
23+
class Meta:
24+
model = Ticket
25+
widgets = {
26+
'summary': forms.TextInput(attrs={'placeholder': 'Summary'}),
27+
'description': forms.Textarea(attrs={'placeholder': 'Add a description',
28+
'rows': 4}),
29+
}
30+
fields = ('ticket_type', 'summary',
31+
'description', 'priority',
32+
'status', 'tags', 'screenshot')
33+
34+
35+
class EditTicketForm(forms.ModelForm):
36+
# Same as Add except for AddTicketForm
37+
ticket_type = forms.ChoiceField(
38+
choices=TICKET_TYPES, required=True, label='Ticket Type')
39+
assigned_to = forms.ModelChoiceField(User.objects, label='Assign to')
40+
priority = forms.ChoiceField(choices=PRIORITIES, required=True)
41+
status = forms.ChoiceField(choices=STATUSES, required=True)
1042

1143
class Meta:
1244
model = Ticket
1345
widgets = {
1446
'summary': forms.TextInput(attrs={'placeholder': 'Summary'}),
15-
'description': forms.Textarea(attrs={'placeholder': 'Details', 'rows': 4}),
16-
# 'tags': forms.TextInput(attrs={'placeholder': 'eg. Project Alpha, Testing'}),
47+
'description': forms.Textarea(attrs={'placeholder': 'Add a description', 'rows': 4}),
1748
}
18-
fields = ('ticket_type', 'summary', 'description', 'tags')
49+
fields = ('ticket_type', 'summary',
50+
'description', 'priority',
51+
'status', 'tags', 'assigned_to', 'screenshot')
1952

2053

2154
class AddCommentForm(forms.ModelForm):
@@ -27,7 +60,6 @@ class Meta:
2760
'comment_body': forms.Textarea(attrs={'placeholder': 'Leave a comment', 'rows': 3})
2861
}
2962
labels = {
30-
# 'comment_body': ('test'),
3163
'comment_body': '',
3264
}
3365
error_messages = {

tickets/models.py

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,57 @@
11
from django.db import models
22
from django.contrib.auth import get_user_model
33
from django.contrib.auth.models import User
4-
from datetime import datetime
54
from taggit.managers import TaggableManager
65
from simple_history.models import HistoricalRecords
6+
import datetime
77

8-
# Create your models here.
98

9+
# Select Dropdown Options
1010
TICKET_TYPES = (('Bug', 'Bug'), ('Feature', 'Feature'))
11+
PRIORITIES = (('Low', 'Low'), ('Medium', 'Medium'), ('High', 'High'))
12+
STATUSES = (('New', 'New'), ('In Progress', 'In Progress'),
13+
('Resolved', 'Resolved'), ('Cancelled', 'Cancelled'))
14+
15+
# Ticket Model
1116

1217

1318
class Ticket(models.Model):
1419
ticket_type = models.CharField(max_length=10, choices=TICKET_TYPES)
1520
summary = models.CharField(max_length=300)
1621
created_date = models.DateTimeField(auto_now_add=True)
17-
status = models.CharField(max_length=50, default='New')
18-
priority = models.CharField(max_length=50, default='Medium')
19-
submitted_by = models.ForeignKey(User, on_delete=models.CASCADE)
20-
assigned_to = models.CharField(max_length=200, default='Unassigned')
22+
resolved_date = models.DateTimeField(null=True, default=None)
23+
status = models.CharField(max_length=50, default='New', choices=STATUSES)
24+
priority = models.CharField(
25+
max_length=50, default='Medium', choices=PRIORITIES)
26+
submitted_by = models.ForeignKey(
27+
User, on_delete=models.CASCADE, related_name='submitted_by')
28+
assigned_to = models.ForeignKey(
29+
User, on_delete=models.CASCADE, related_name='assigned_to', default=1)
2130
description = models.TextField()
2231
tags = TaggableManager(blank=True)
2332
upvotes = models.IntegerField(default=0)
33+
screenshot = models.ImageField(
34+
upload_to='tickets/', null=True, blank=True)
2435
history = HistoricalRecords()
2536

37+
def age(self):
38+
created_date_only = self.created_date.date()
39+
return int((datetime.date.today() - created_date_only).days)
40+
41+
def days_to_resolve(self):
42+
if self.resolved_date:
43+
return int((self.resolved_date.date() - self.created_date.date()).days)
44+
else:
45+
return None
46+
2647
def __str__(self):
2748
return self.summary
2849

2950
class Meta:
3051
verbose_name_plural = "Tickets"
31-
# attachments = models.CharField(maximum_length=200)
3252

3353

54+
# Comment Model
3455
class Comment(models.Model):
3556
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE)
3657
user = models.ForeignKey(User, on_delete=models.CASCADE)
@@ -42,10 +63,3 @@ def __str__(self):
4263

4364
class Meta:
4465
verbose_name_plural = "Comments"
45-
46-
47-
# class ChangeHistory(models.Model):
48-
# ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE)
49-
# user = models.ForeignKey(User, on_delete=models.CASCADE)
50-
# date = models.DateTimeField(auto_now_add=True)
51-
# field?

tickets/serializers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55

66
class TicketSerializer(serializers.ModelSerializer):
7+
78
class Meta:
89
model = Ticket
910
fields = ('ticket_type', 'summary', 'description',
10-
'priority', 'assigned_to', 'status', 'upvotes', 'created_date')
11+
'priority', 'assigned_to', 'status', 'upvotes',
12+
'created_date', 'age', 'days_to_resolve')

tickets/views.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -132,30 +132,30 @@ def delete_ticket(request, pk=None):
132132
@login_required()
133133
def kanban(request):
134134
"""Show KANBAN View"""
135-
sort_field = request.GET.get(
136-
'sort_by') if 'sort_by' in request.GET else '-id'
135+
# my_tickets_only = request.GET.get('my_tickets_only')
136+
# if my_tickets_only == 'true':
137+
# tickets = Ticket.objects.filter(
138+
# Q(assigned_to=request.user.id) | Q(submitted_by=request.user.id))
139+
# else:
137140
tickets = Ticket.objects.filter()
138-
# New tickets count
139-
new_tickets_count = Ticket.objects.filter(
140-
status='New').count()
141-
# In Progress tickets count
142-
in_progress_tickets_count = Ticket.objects.filter(
143-
status='In Progress').count()
144-
# Resolved tickets count
145-
resolved_tickets_count = Ticket.objects.filter(
146-
status='Resolved').count()
147-
# Cancelled tickets count
148-
cancelled_tickets_count = Ticket.objects.filter(
149-
status='Cancelled').count()
150-
# My tickets count
151-
my_tickets_count = Ticket.objects.filter(
152-
submitted_by=request.user.id).count()
141+
142+
new_tickets = tickets.filter(
143+
status='New')
144+
145+
in_progress_tickets = tickets.filter(
146+
status='In Progress')
147+
148+
resolved_tickets = tickets.filter(
149+
status='Resolved')
150+
151+
cancelled_tickets = tickets.filter(
152+
status='Cancelled')
153+
153154
return render(request, 'kanban.html', {'tickets': tickets,
154-
'new_tickets_count': new_tickets_count,
155-
'in_progress_tickets_count': in_progress_tickets_count,
156-
'resolved_tickets_count': resolved_tickets_count,
157-
'cancelled_tickets_count': cancelled_tickets_count,
158-
'my_tickets_count': my_tickets_count
155+
'new_tickets': new_tickets,
156+
'in_progress_tickets': in_progress_tickets,
157+
'resolved_tickets': resolved_tickets,
158+
'cancelled_tickets': cancelled_tickets,
159159
})
160160

161161

0 commit comments

Comments
 (0)