emile 10 months ago
parent 03f40cb8db
commit c22db8adcf

Binary file not shown.

@ -63,7 +63,7 @@ function app(socket) {
function initializeWebSocket() { function initializeWebSocket() {
const ticketId = document.getElementById('ticketId').textContent.trim(); const ticketId = document.getElementById('ticketId').textContent.trim();
const wsUrl = `ws://${window.location.host}/ws/ticketroom/${ticketId}/`; const wsUrl = `wss://${window.location.host}/ws/ticketroom/${ticketId}/`;
const socket = new WebSocket(wsUrl); const socket = new WebSocket(wsUrl);
socket.onopen = () => { socket.onopen = () => {

@ -0,0 +1,10 @@
from django.urls import path
from . import views
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('tickets/<str:ticket_number>/department/', views.add_ticket_department_modal, name='addticketdepartmentmodal'),
path('tickets/<str:ticket_number>/member/', views.add_ticket_member_modal, name='addticketmembermodal'),
]

@ -0,0 +1,27 @@
from django.shortcuts import render, get_object_or_404
from support.models import *
from osinacore.decorators import *
def add_ticket_department_modal(request):
context = {
}
return render(request, 'add_templates/add-ticket-department-modal.html', context)
def add_ticket_member_modal(request):
context = {
}
return render(request, 'add_templates/add-ticket-member-modal.html', context)

@ -20,11 +20,11 @@ from django.conf.urls.static import static
from django.conf import settings from django.conf import settings
urlpatterns = [ urlpatterns = [
path('add/', include('support.add.urls')),
path('tickets/<str:ticket_number>/', views.ticket_room, name='ticketroom'), path('tickets/<str:ticket_number>/', views.ticket_room, name='ticketroom'),
path('tickets/<str:ticket_number>/settings/', views.ticket_settings, name='ticketsettings'), path('tickets/<str:ticket_number>/settings/', views.ticket_settings, name='ticketsettings'),
path('add-ticket-department', views.add_ticket_department_modal, name='addticketdepartmentmodal'),
path('add-ticket-member', views.add_ticket_member_modal, name='addticketmembermodal'),
] ]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

@ -2,15 +2,30 @@ from django.shortcuts import render, get_object_or_404
from .models import * from .models import *
from .decorators import * from .decorators import *
from osinacore.decorators import * from osinacore.decorators import *
from django.http import Http404
# Create your views here. # Create your views here.
@ticket_member_required
def ticket_room(request, ticket_number): def ticket_room(request, ticket_number):
if hasattr(request.user, 'customerprofile'): ticket = get_object_or_404(Ticket, ticket_number=ticket_number)
if hasattr(request.user, 'customerprofile') and request.user.customerprofile == ticket.customer:
base_template = "customer_main.html" base_template = "customer_main.html"
else: elif hasattr(request.user, 'staffprofile'):
latest_department = TicketDepartment.objects.filter(ticket=ticket).order_by('-date_added').first()
ticket_department_staffs = latest_department.department.get_staff()
ticket_staffs = TicketStaff.objects.filter(ticket=ticket)
if any(request.user.staffprofile == staff.staff for staff in ticket_staffs):
base_template = "main.html"
elif request.user.staffprofile in ticket_department_staffs:
base_template = "main.html"
else:
raise Http404("You are not authorized to view this ticket.")
elif request.user.is_superuser:
base_template = "main.html" base_template = "main.html"
ticket = get_object_or_404(Ticket, ticket_number=ticket_number) else:
raise Http404("You are not authorized to view this ticket.")
ticket_updates = TicketUpdate.objects.filter(ticket=ticket).order_by('id') ticket_updates = TicketUpdate.objects.filter(ticket=ticket).order_by('id')
for update in TicketUpdate.objects.filter(ticket=ticket).exclude(added_by=request.user).order_by('id'): for update in TicketUpdate.objects.filter(ticket=ticket).exclude(added_by=request.user).order_by('id'):
if not TicketRead.objects.filter(ticket_update=update, user=request.user).exists(): if not TicketRead.objects.filter(ticket_update=update, user=request.user).exists():
@ -79,23 +94,3 @@ def ticket_settings(request, ticket_number):
@ticket_member_required
def add_ticket_department_modal(request):
context = {
}
return render(request, 'add_templates/add-ticket-department-modal.html', context)
@ticket_member_required
def add_ticket_member_modal(request):
context = {
}
return render(request, 'add_templates/add-ticket-member-modal.html', context)

Loading…
Cancel
Save