From cbd80615be5dc85b048864e3b68f9f4adcc9e20d Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 23 Mar 2023 07:31:31 -0700 Subject: [PATCH] Owner/name unique constraint violation should exclude self --- src-ui/messages.xlf | 27 ++++++++++--------- .../management-list.component.ts | 7 ++++- src/documents/serialisers.py | 3 ++- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index edc2926ae1..6fe9898767 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -1505,7 +1505,7 @@ src/app/components/manage/management-list/management-list.component.ts - 208 + 213 src/app/components/manage/settings/settings.component.html @@ -2700,7 +2700,7 @@ src/app/components/manage/management-list/management-list.component.ts - 204 + 209 @@ -3817,36 +3817,39 @@ 147 - - Error occurred while saving : . + + Error occurred while saving . src/app/components/manage/management-list/management-list.component.ts - 171 + 174,176 + + + Successfully updated . src/app/components/manage/management-list/management-list.component.ts - 182,184 + 181 - - Successfully updated . + + Error occurred while saving : . src/app/components/manage/management-list/management-list.component.ts - 176 + 187,189 Do you really want to delete the ? src/app/components/manage/management-list/management-list.component.ts - 191 + 196 Associated documents will not be deleted. src/app/components/manage/management-list/management-list.component.ts - 206 + 211 @@ -3855,7 +3858,7 @@ )"/> src/app/components/manage/management-list/management-list.component.ts - 219,221 + 224,226 diff --git a/src-ui/src/app/components/manage/management-list/management-list.component.ts b/src-ui/src/app/components/manage/management-list/management-list.component.ts index 65cce3d201..ec169fdd00 100644 --- a/src-ui/src/app/components/manage/management-list/management-list.component.ts +++ b/src-ui/src/app/components/manage/management-list/management-list.component.ts @@ -167,8 +167,13 @@ export abstract class ManagementListComponent activeModal.componentInstance.succeeded.subscribe({ next: () => { if (activeModal.componentInstance.error) { + const errorDetail = activeModal.componentInstance.error.error + ? activeModal.componentInstance.error.error[0] + : null this.toastService.showInfo( - $localize`Error occurred while saving ${this.typeName} : ${activeModal.componentInstance.error}.` + $localize`Error occurred while saving ${this.typeName}${ + errorDetail ? ': ' + errorDetail : '' + }.` ) } else { this.reloadData() diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index 4e2fafe344..38eca0ffe9 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -78,10 +78,11 @@ class MatchingModelSerializer(serializers.ModelSerializer): if hasattr(self, "user") else None ) + pk = self.instance.pk if hasattr(self.instance, "pk") else None if ("name" in data or "owner" in data) and self.Meta.model.objects.filter( name=name, owner=owner, - ).exists(): + ).exclude(pk=pk).exists(): raise serializers.ValidationError( {"error": "Object violates owner / name unique constraint"}, ) -- 2.47.2