show_my_org in organizations list - validation of org national_unique_id
This commit is contained in:
@@ -4,7 +4,7 @@ from django.contrib.auth.hashers import make_password
|
||||
from django.db.models import Q
|
||||
from rest_framework import serializers
|
||||
|
||||
from apps.authentication.exceptions import UserExistException
|
||||
from apps.authentication.exceptions import UserExistException, OrganizationNationalUniqueIDException
|
||||
from apps.authentication.models import (
|
||||
User,
|
||||
City,
|
||||
@@ -224,6 +224,17 @@ class OrganizationSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
extra_kwargs = {}
|
||||
|
||||
def validate(self, attrs):
|
||||
national_unique_id = self.context['request'].data['organization']['national_unique_id']
|
||||
|
||||
if not self.instance:
|
||||
if self.Meta.model.objects.filter(national_unique_id=national_unique_id).exists():
|
||||
raise OrganizationNationalUniqueIDException()
|
||||
if self.instance:
|
||||
if self.instance.national_unique_id != national_unique_id:
|
||||
if self.Meta.model.objects.filter(national_unique_id=national_unique_id).exists():
|
||||
raise OrganizationNationalUniqueIDException()
|
||||
|
||||
def to_representation(self, instance):
|
||||
""" Custom output """
|
||||
representation = super().to_representation(instance)
|
||||
|
||||
Reference in New Issue
Block a user