test(assistance): Request Ticket API v2 ViewSet permission checks

ref: #15 #248 #365
This commit is contained in:
2024-10-28 16:54:15 +09:30
parent 28805ed727
commit 846eb79c6e
3 changed files with 23 additions and 2 deletions

View File

@ -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',

View File

@ -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

View File

@ -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