Skip to content

Commit

Permalink
temp-commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jon-nfc committed Sep 11, 2024
1 parent c9d0515 commit 38e44c5
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 18 deletions.
17 changes: 17 additions & 0 deletions app/core/forms/ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ def __init__(self, request, *args, **kwargs):
self.fields['organization'].widget = self.fields['organization'].hidden_widget()


# self.fields['subscribed_users'].widget = self.fields['subscribed_users'].hidden_widget()


original_fields = self.fields.copy()
ticket_type = []

Expand Down Expand Up @@ -201,6 +204,20 @@ def is_valid(self) -> bool:

raise ValidationError('Ticket Type must be set')

# if self.instance.id is None:

# if 'subscribed_users' in self.cleaned_data:

# if self.request.user.id not in self.cleaned_data['subscribed_users']:

# self.cleaned_data['subscribed_users'] = self.cleaned_data['subscribed_users'] + [self.request.user.id]

# else:

# self.cleaned_data.update({
# 'subscribed_users': [self.request.user.id]
# })


return is_valid

Expand Down
36 changes: 20 additions & 16 deletions app/core/models/ticket/markdown.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,31 +75,35 @@ def build_ticket_html(self, match):

ticket_id = match.group(1)

if hasattr(self, 'ticket'):
try:
if hasattr(self, 'ticket'):

ticket = self.ticket.__class__.objects.get(pk=ticket_id)
ticket = self.ticket.__class__.objects.get(pk=ticket_id)

else:
else:

ticket = self.__class__.objects.get(pk=ticket_id)
ticket = self.__class__.objects.get(pk=ticket_id)

project_id = str('0')
project_id = str('0')

if ticket.project:
if ticket.project:

project_id = str(ticket.project.id).lower()
project_id = str(ticket.project.id).lower()

context: dict = {
'id': ticket.id,
'name': ticket,
'ticket_type': str(ticket.get_ticket_type_display()).lower(),
'ticket_status': str(ticket.get_status_display()).lower(),
'project_id': project_id,
}
context: dict = {
'id': ticket.id,
'name': ticket,
'ticket_type': str(ticket.get_ticket_type_display()).lower(),
'ticket_status': str(ticket.get_status_display()).lower(),
'project_id': project_id,
}

html_link = render_to_string('core/ticket/renderers/ticket_link.html.j2', context)
html_link = render_to_string('core/ticket/renderers/ticket_link.html.j2', context)

return str(html_link)
return str(html_link)
except:

return str('#' + ticket_id)



Expand Down
31 changes: 30 additions & 1 deletion app/core/models/ticket/ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
from django.db import models
from django.db.models import Q, signals, Sum
from django.forms import ValidationError
from django.db.models.signals import post_save
from django.dispatch import receiver

from access.fields import AutoCreatedField, AutoLastModifiedField
from access.models import TenancyObject, Team
Expand Down Expand Up @@ -812,15 +814,26 @@ def related_tickets(self) -> list(dict()):

def save(self, force_insert=False, force_update=False, using=None, update_fields=None):

# if self.id is None:

# self.subscribed_users.set([self.opened_by.id])
# self.subscribed_users.set([self.opened_by.id])

before = {}

try:
before = self.__class__.objects.get(pk=self.pk).__dict__.copy()
if self.id is not None:
before = self.__class__.objects.get(pk=self.pk).__dict__.copy()
except Exception:
pass


super().save(force_insert=force_insert, force_update=force_update, using=using, update_fields=update_fields)

# if len(before) == 0:

# self.subscribed_users.add(self.opened_by)

after = self.__dict__.copy()

changed_fields: list = []
Expand Down Expand Up @@ -1084,6 +1097,22 @@ def action_comment_ticket_teams(self, sender, instance, action, reverse, model,
comment.save()


@receiver(post_save, sender=Ticket)
def add_user_as_watcher(sender, instance, created, **kwargs):

# # if len(before) == 0:

# # self.subscribed_users.add(self.opened_by.id)
if created:

obj = Ticket.objects.get(pk=instance.pk)

obj.subscribed_users.add(obj.opened_by.id)

obj.save()

a = 'a'


class RelatedTickets(TenancyObject):

Expand Down
12 changes: 11 additions & 1 deletion app/core/views/ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,17 @@ def get_initial(self):

def get_success_url(self, **kwargs):

return reverse('Assistance:_ticket_request_view', args=(self.kwargs['ticket_type'], self.kwargs['pk'],))
if self.kwargs['ticket_type'] == 'request':

return reverse('Assistance:_ticket_request_view', args=(self.kwargs['ticket_type'],self.object.id,))

elif self.kwargs['ticket_type'] == 'project_task':

return reverse('Project Management:_project_task_view', args=(self.kwargs['project_id'], self.kwargs['ticket_type'],self.object.id,))

else:

return reverse('ITIM:_ticket_' + str(self.kwargs['ticket_type']).lower() + '_view', args=(self.kwargs['ticket_type'],self.object.id,))


class Delete(DeleteView):
Expand Down

0 comments on commit 38e44c5

Please sign in to comment.