refactor(core): Move ticket validation from is_valid -> validate method
ref: #248 #368 #374
This commit is contained in:
@ -137,22 +137,7 @@ class TicketModelSerializer(TicketBaseSerializer):
|
||||
]
|
||||
|
||||
|
||||
def is_valid(self, *, raise_exception=False):
|
||||
|
||||
is_valid: bool = False
|
||||
|
||||
is_valid = super().is_valid(raise_exception=raise_exception)
|
||||
|
||||
try:
|
||||
|
||||
self.validated_data['ticket_type'] = self._context['view']._ticket_type_id
|
||||
|
||||
except:
|
||||
|
||||
is_valid = False
|
||||
|
||||
raise UnknownTicketType()
|
||||
|
||||
def validate(self, data):
|
||||
|
||||
if 'view' in self._context:
|
||||
|
||||
@ -160,10 +145,19 @@ class TicketModelSerializer(TicketBaseSerializer):
|
||||
|
||||
if hasattr(self._context['view'], 'request'):
|
||||
|
||||
self.validated_data['opened_by_id'] = self._context['view'].request.user.id
|
||||
data['opened_by_id'] = self._context['view'].request.user.id
|
||||
|
||||
|
||||
return is_valid
|
||||
if hasattr(self._context['view'], '_ticket_type_id'):
|
||||
|
||||
data['ticket_type'] = self._context['view']._ticket_type_id
|
||||
|
||||
else:
|
||||
|
||||
raise UnknownTicketType()
|
||||
|
||||
|
||||
return data
|
||||
|
||||
|
||||
|
||||
|
@ -220,6 +220,12 @@ class TicketViewSetPermissionsAPI(
|
||||
user = self.triage_user
|
||||
)
|
||||
|
||||
user_settings = UserSettings.objects.get(user=self.triage_user)
|
||||
|
||||
user_settings.default_organization = self.organization
|
||||
|
||||
user_settings.save()
|
||||
|
||||
|
||||
self.import_user = User.objects.create_user(username="test_user_import", password="password")
|
||||
teamuser = TeamUsers.objects.create(
|
||||
@ -228,6 +234,14 @@ class TicketViewSetPermissionsAPI(
|
||||
)
|
||||
|
||||
|
||||
user_settings = UserSettings.objects.get(user=self.import_user)
|
||||
|
||||
user_settings.default_organization = self.organization
|
||||
|
||||
user_settings.save()
|
||||
|
||||
|
||||
|
||||
self.different_organization_user = User.objects.create_user(username="test_different_organization_user", password="password")
|
||||
|
||||
|
||||
@ -290,8 +304,14 @@ class TicketViewSetPermissionsAPI(
|
||||
url = reverse(self.app_namespace + ':' + self.url_name + '-list')
|
||||
|
||||
|
||||
data = self.add_data.copy()
|
||||
|
||||
data.update({
|
||||
'opened_by': self.import_user.id
|
||||
})
|
||||
|
||||
client.force_login(self.import_user)
|
||||
response = client.post(url, data=self.add_data)
|
||||
response = client.post(url, data=data)
|
||||
|
||||
assert response.status_code == 201
|
||||
|
||||
|
Reference in New Issue
Block a user