Skip to content

Commit 7238095

Browse files
committed
Remove unnecessary comments from tickets app
1 parent 147e1db commit 7238095

File tree

4 files changed

+49
-47
lines changed

4 files changed

+49
-47
lines changed

tickets/forms.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
('Resolved', 'Resolved'), ('Cancelled', 'Cancelled'))
1010

1111

12-
# ? not used
13-
# class DateInput(forms.DateInput):
14-
# input_type = 'date'
15-
16-
1712
class AddTicketForm(forms.ModelForm):
1813
ticket_type = forms.ChoiceField(
1914
choices=TICKET_TYPES, required=True, label='Ticket Type')
@@ -57,7 +52,7 @@ class Meta:
5752
model = Comment
5853
fields = ('comment_body',)
5954
widgets = {
60-
'comment_body': forms.Textarea(attrs={'placeholder': 'Leave a comment', 'rows': 3})
55+
'comment_body': forms.Textarea(attrs={'placeholder': 'Leave a comment', 'rows': 2})
6156
}
6257
labels = {
6358
'comment_body': '',

tickets/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Ticket(models.Model):
3131
tags = TaggableManager(blank=True)
3232
upvotes = models.IntegerField(default=0)
3333
screenshot = models.ImageField(
34-
upload_to='tickets/', null=True, blank=True)
34+
upload_to='tickets/', null=True, default=None, blank=True)
3535
history = HistoricalRecords()
3636

3737
def age(self):

tickets/urls.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,4 @@
1616
url(r'^(?P<pk>\d+)/$', views.view_ticket, name='view_ticket'),
1717
url(r'^upvote/(?P<pk>\d+)/$', views.upvote, name='upvote'),
1818
url(r'^edit_ticket/(?P<pk>\d+)/$', views.edit_ticket, name='edit_ticket'),
19-
url(r'^delete_ticket/(?P<pk>\d+)/$',
20-
views.delete_ticket, name='delete_ticket'),
2119
]

tickets/views.py

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
from django.contrib.auth.decorators import login_required
55
from django.db.models import Q, Sum, Count
66
from .models import Ticket, Comment, HistoricalTicket
7+
from accounts.models import Profile
8+
from django.contrib.auth.models import User
79
from .forms import AddTicketForm, AddCommentForm, EditTicketForm
810
from rest_framework import viewsets
911
from .serializers import TicketSerializer
12+
from django.utils.safestring import mark_safe
1013
import datetime
1114

1215

@@ -41,6 +44,7 @@ def view_ticket(request, pk):
4144
delta = new_record.diff_against(old_record)
4245
for change in delta.changes:
4346
if (change.field != 'upvotes'):
47+
# if (change.field != 'upvotes' and change.field != 'image'):
4448
test_change = {
4549
'field': change.field,
4650
'new_value': change.new,
@@ -70,9 +74,26 @@ def view_ticket(request, pk):
7074

7175
@login_required()
7276
def add_ticket(request, pk=None):
73-
"""Add Ticket"""
77+
"""User Adds Ticket (Bug or Feature)"""
78+
# If user has BASIC account, check if user has reached 10 ticket submission limit in current month
79+
user = get_object_or_404(User, id=request.user.id)
80+
user_profile = get_object_or_404(Profile, user_id=request.user.id)
81+
if not user_profile.is_pro_user:
82+
today = datetime.datetime.today()
83+
start_date = datetime.datetime(today.year, today.month, 1)
84+
end_date = datetime.datetime(
85+
today.year + int(today.month / 12), ((today.month % 12) + 1), 1)
86+
tickets_submitted_this_month = Ticket.objects.filter(
87+
submitted_by_id=user, created_date__range=(start_date, end_date)).count()
88+
if tickets_submitted_this_month > 9:
89+
messages.warning(
90+
request, "You have reached the 10 ticket monthly limit - Go PRO for unlimited tickets.")
91+
return redirect('checkout')
92+
else:
93+
messages.info(
94+
request, mark_safe("Note: You have submitted <b>" + str(tickets_submitted_this_month) + "</b> of <b>10</b> free tickets this month. <a href='/checkout/'>Go PRO</a> for unlimited."))
7495
ticket = get_object_or_404(Ticket, pk=pk) if pk else None
75-
# On Submit
96+
7697
if (request.method == "POST"):
7798
form = AddTicketForm(request.POST, request.FILES, instance=ticket)
7899
if form.is_valid():
@@ -102,7 +123,7 @@ def upvote(request, pk=None):
102123

103124
@login_required()
104125
def edit_ticket(request, pk=None):
105-
"""Get and Edit a Ticket"""
126+
"""Edit a Ticket"""
106127
# Get ticket
107128
ticket = get_object_or_404(Ticket, pk=pk) if pk else None
108129
if (request.method == "POST"):
@@ -120,43 +141,31 @@ def edit_ticket(request, pk=None):
120141
return render(request, 'edit_ticket.html', {'form': form, 'ticket': ticket})
121142

122143

123-
# Not currently used
124-
@login_required()
125-
def delete_ticket(request, pk=None):
126-
"""Deletes a ticket"""
127-
ticket = get_object_or_404(Ticket, pk=pk) if pk else None
128-
ticket.delete()
129-
return redirect(view_tickets)
130-
131-
132144
@login_required()
133145
def kanban(request):
134-
"""Show KANBAN View"""
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:
140-
tickets = Ticket.objects.filter()
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-
154-
return render(request, 'kanban.html', {'tickets': tickets,
155-
'new_tickets': new_tickets,
156-
'in_progress_tickets': in_progress_tickets,
157-
'resolved_tickets': resolved_tickets,
158-
'cancelled_tickets': cancelled_tickets,
159-
})
146+
"""Show KANBAN View (PRO Feature)"""
147+
# Ensure user is PRO user
148+
user = get_object_or_404(Profile, user_id=request.user.id)
149+
if not user.is_pro_user:
150+
messages.warning(
151+
request, "Upgrade your account to unlock KANBAN View.")
152+
return redirect('checkout')
153+
else:
154+
tickets = Ticket.objects.filter()
155+
new_tickets = tickets.filter(
156+
status='New')
157+
in_progress_tickets = tickets.filter(
158+
status='In Progress')
159+
resolved_tickets = tickets.filter(
160+
status='Resolved')
161+
cancelled_tickets = tickets.filter(
162+
status='Cancelled')
163+
return render(request, 'kanban.html', {'tickets': tickets,
164+
'new_tickets': new_tickets,
165+
'in_progress_tickets': in_progress_tickets,
166+
'resolved_tickets': resolved_tickets,
167+
'cancelled_tickets': cancelled_tickets,
168+
})
160169

161170

162171
@login_required()

0 commit comments

Comments
 (0)