Skip to content

Commit 9818768

Browse files
[#267] Improvements
1 parent 1c72453 commit 9818768

12 files changed

+680
-520
lines changed

src/openklant/components/klantinteracties/admin/partijen.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,11 @@ def clean(self):
3939
"code_register": cleaned_data["partij_identificator_code_register"],
4040
}
4141

42-
PartijIdentificatorTypesValidator(
43-
partij_identificator=partij_identificator
44-
).validate()
45-
46-
queryset = PartijIdentificator.objects.exclude()
47-
if self.instance:
48-
queryset = queryset.exclude(pk=self.instance.pk)
42+
PartijIdentificatorTypesValidator()(partij_identificator)
4943

5044
PartijIdentificatorUniquenessValidator(
51-
instance=self.instance,
52-
partij_identificator=partij_identificator,
45+
code_soort_object_id=partij_identificator["code_soort_object_id"],
5346
sub_identificator_van=cleaned_data["sub_identificator_van"],
54-
partij=cleaned_data["partij"],
5547
)()
5648

5749
return cleaned_data

src/openklant/components/klantinteracties/api/serializers/partijen.py

+27-15
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
PartijIdentificatorTypesValidator,
4747
PartijIdentificatorUniquenessValidator,
4848
)
49+
from openklant.utils.decorators import handle_db_exceptions
4950
from openklant.utils.serializers import get_field_instance_by_uuid, get_field_value
5051

5152

@@ -371,10 +372,7 @@ class Meta:
371372
"code_soort_object_id": {"required": True},
372373
"object_id": {"required": True},
373374
}
374-
375-
def validate(self, attrs):
376-
PartijIdentificatorTypesValidator(partij_identificator=attrs)()
377-
return super().validate(attrs)
375+
validators = []
378376

379377

380378
class PartijIdentificatorSerializer(
@@ -420,26 +418,40 @@ class Meta:
420418
}
421419

422420
def validate(self, attrs):
423-
instance = getattr(self, "instance", None)
424421
partij_identificator = get_field_value(self, attrs, "partij_identificator")
425-
426422
sub_identificator_van = get_field_instance_by_uuid(
427423
self, attrs, "sub_identificator_van", PartijIdentificator
428424
)
429-
partij = get_field_instance_by_uuid(self, attrs, "partij", Partij)
430-
425+
PartijIdentificatorTypesValidator()(partij_identificator)
431426
PartijIdentificatorUniquenessValidator(
432-
instance=instance,
433-
partij_identificator=partij_identificator,
427+
code_soort_object_id=partij_identificator["code_soort_object_id"],
434428
sub_identificator_van=sub_identificator_van,
435-
partij=partij,
436429
)()
430+
return super().validate(attrs)
437431

438-
attrs["sub_identificator_van"] = get_field_instance_by_uuid(
439-
self, attrs, "sub_identificator_van", PartijIdentificator
432+
@handle_db_exceptions
433+
@transaction.atomic
434+
def update(self, instance, validated_data):
435+
validated_data["sub_identificator_van"] = get_field_instance_by_uuid(
436+
self, validated_data, "sub_identificator_van", PartijIdentificator
440437
)
441-
attrs["partij"] = get_field_instance_by_uuid(self, attrs, "partij", Partij)
442-
return super().validate(attrs)
438+
validated_data["partij"] = get_field_instance_by_uuid(
439+
self, validated_data, "partij", Partij
440+
)
441+
442+
return super().update(instance, validated_data)
443+
444+
@handle_db_exceptions
445+
@transaction.atomic
446+
def create(self, validated_data):
447+
validated_data["sub_identificator_van"] = get_field_instance_by_uuid(
448+
self, validated_data, "sub_identificator_van", PartijIdentificator
449+
)
450+
validated_data["partij"] = get_field_instance_by_uuid(
451+
self, validated_data, "partij", Partij
452+
)
453+
454+
return super().create(validated_data)
443455

444456

445457
class PartijSerializer(NestedGegevensGroepMixin, PolymorphicSerializer):

0 commit comments

Comments
 (0)