Commit b15873ec authored by John Red Medrano's avatar John Red Medrano

{dev bugfix} added validation on update of user and application

parent 590ea23e
...@@ -175,6 +175,7 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -175,6 +175,7 @@ class UserViewSet(viewsets.ModelViewSet):
return Response(message, return Response(message,
status=status.HTTP_400_BAD_REQUEST) status=status.HTTP_400_BAD_REQUEST)
@rms.AccountValidation
@rms.user_create @rms.user_create
@transaction.atomic @transaction.atomic
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
......
...@@ -13,6 +13,7 @@ from app.applicationlayer.utils import ( ...@@ -13,6 +13,7 @@ from app.applicationlayer.utils import (
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from app.applicationlayer.management.application import serializer from app.applicationlayer.management.application import serializer
from app.applicationlayer.management.application.table_filters import ApplicationFilterSet from app.applicationlayer.management.application.table_filters import ApplicationFilterSet
from django.db import IntegrityError
class ApplicationViewSet(viewsets.ModelViewSet): class ApplicationViewSet(viewsets.ModelViewSet):
...@@ -82,9 +83,11 @@ class ApplicationViewSet(viewsets.ModelViewSet): ...@@ -82,9 +83,11 @@ class ApplicationViewSet(viewsets.ModelViewSet):
return Response(status=status.HTTP_204_NO_CONTENT) return Response(status=status.HTTP_204_NO_CONTENT)
@decorators.rms.ApplicationValidation
@decorators.rms.application_crate @decorators.rms.application_crate
@transaction.atomic @transaction.atomic
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False) partial = kwargs.pop('partial', False)
instance = self.get_object() instance = self.get_object()
...@@ -104,3 +107,8 @@ class ApplicationViewSet(viewsets.ModelViewSet): ...@@ -104,3 +107,8 @@ class ApplicationViewSet(viewsets.ModelViewSet):
) )
return Response(serializer.data) return Response(serializer.data)
except IntegrityError as e:
return Response(
{"message": "Cannot delete or update this reocrd it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment