partition tickets by event
This commit is contained in:
parent
90f47fa9d6
commit
8dd56dd859
8 changed files with 85 additions and 20 deletions
|
@ -56,7 +56,7 @@ def reply(request, pk):
|
|||
@api_view(['POST'])
|
||||
@permission_classes([IsAuthenticated])
|
||||
@permission_required('tickets.add_issuethread_manual', raise_exception=True)
|
||||
def manual_ticket(request):
|
||||
def manual_ticket(request, event_slug):
|
||||
if 'name' not in request.data:
|
||||
return Response({'status': 'error', 'message': 'missing name'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
if 'sender' not in request.data:
|
||||
|
@ -66,8 +66,16 @@ def manual_ticket(request):
|
|||
if 'body' not in request.data:
|
||||
return Response({'status': 'error', 'message': 'missing body'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
event = None
|
||||
if event_slug != 'none':
|
||||
try:
|
||||
event = Event.objects.get(slug=event_slug)
|
||||
except:
|
||||
return Response({'status': 'error', 'message': 'invalid event'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
issue = IssueThread.objects.create(
|
||||
name=request.data['name'],
|
||||
event=event,
|
||||
manually_created=True,
|
||||
)
|
||||
email = Email.objects.create(
|
||||
|
@ -122,8 +130,8 @@ router.register(r'tickets', IssueViewSet, basename='issues')
|
|||
router.register(r'shipping_vouchers', ShippingVoucherViewSet, basename='shipping_vouchers')
|
||||
|
||||
urlpatterns = ([
|
||||
re_path(r'tickets/states/$', get_available_states, name='get_available_states'),
|
||||
re_path(r'^tickets/(?P<pk>\d+)/reply/$', reply, name='reply'),
|
||||
re_path(r'^tickets/(?P<pk>\d+)/comment/$', add_comment, name='add_comment'),
|
||||
re_path(r'^tickets/manual/$', manual_ticket, name='manual_ticket'),
|
||||
re_path(r'^tickets/states/$', get_available_states, name='get_available_states'),
|
||||
re_path(r'^(?P<event_slug>[\w-]+)/tickets/manual/$', manual_ticket, name='manual_ticket'),
|
||||
] + router.urls)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue