test(assistance): Request Ticket API v2 ViewSet permission checks
ref: #15 #248 #365
This commit is contained in:
@ -107,7 +107,6 @@ class RequestAddTicketModelSerializer(
|
|||||||
'real_start_date',
|
'real_start_date',
|
||||||
'real_finish_date',
|
'real_finish_date',
|
||||||
'opened_by',
|
'opened_by',
|
||||||
'organization',
|
|
||||||
'project',
|
'project',
|
||||||
'milestone',
|
'milestone',
|
||||||
'subscribed_teams',
|
'subscribed_teams',
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from core.tests.abstract.test_ticket_viewset import Ticket, TicketViewSetPermissionsAPI
|
||||||
|
|
||||||
|
|
||||||
|
class TicketRequestPermissionsAPI(
|
||||||
|
TicketViewSetPermissionsAPI,
|
||||||
|
TestCase,
|
||||||
|
):
|
||||||
|
|
||||||
|
ticket_type = 'request'
|
||||||
|
|
||||||
|
ticket_type_enum = Ticket.TicketType.REQUEST
|
@ -145,7 +145,7 @@ class TicketModelSerializer(TicketBaseSerializer):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
||||||
self.validated_data['ticket_type'] = self._context['view'].ticket_type_id
|
self.validated_data['ticket_type'] = self._context['view']._ticket_type_id
|
||||||
|
|
||||||
except:
|
except:
|
||||||
|
|
||||||
@ -154,6 +154,15 @@ class TicketModelSerializer(TicketBaseSerializer):
|
|||||||
raise UnknownTicketType()
|
raise UnknownTicketType()
|
||||||
|
|
||||||
|
|
||||||
|
if 'view' in self._context:
|
||||||
|
|
||||||
|
if self._context['view'].action == 'create':
|
||||||
|
|
||||||
|
if hasattr(self._context['view'], 'request'):
|
||||||
|
|
||||||
|
self.validated_data['opened_by_id'] = self._context['view'].request.user.id
|
||||||
|
|
||||||
|
|
||||||
return is_valid
|
return is_valid
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user