Skip to content

Commit 496b7d5

Browse files
committed
Source/Collection last latest version force delete on org delete
1 parent d69a87c commit 496b7d5

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

core/common/models.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ def versions(self):
447447
def is_content_privately_referred():
448448
return False
449449

450-
def delete(self, using=None, keep_parents=False):
450+
def delete(self, using=None, keep_parents=False, force=False): # pylint: disable=arguments-differ
451451
if self.is_content_privately_referred():
452452
raise ValidationError(dict(detail=CONTENT_REFERRED_PRIVATELY.format(self.mnemonic)))
453453

@@ -458,10 +458,11 @@ def delete(self, using=None, keep_parents=False):
458458
else:
459459
if self.is_latest_version:
460460
prev_version = self.prev_version
461-
if not prev_version:
461+
if not force and not prev_version:
462462
raise ValidationError(dict(detail=CANNOT_DELETE_ONLY_VERSION))
463-
prev_version.is_latest_version = True
464-
prev_version.save()
463+
if prev_version:
464+
prev_version.is_latest_version = True
465+
prev_version.save()
465466

466467
from core.pins.models import Pin
467468
Pin.objects.filter(resource_type__model=self.resource_type.lower(), resource_id=self.id).delete()

core/common/tasks.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ def delete_organization(org_id):
3333
org.delete()
3434
logger.info('Purge complete!')
3535
except Exception as ex:
36-
print("****", ex)
3736
logger.info('Org delete failed for %s with exception %s', org.mnemonic, ex.args)
3837

3938

core/orgs/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ def delete(self, using=None, keep_parents=False):
7575
for source in self.source_set.all():
7676
self.batch_delete(source.concepts_set)
7777
self.batch_delete(source.mappings_set)
78-
source.delete()
78+
source.delete(force=True)
7979
for collection in self.collection_set.all():
8080
self.batch_delete(collection.references)
81-
collection.delete()
81+
collection.delete(force=True)
8282
self.delete_pins()
8383
self.delete_client_configs()
8484

0 commit comments

Comments
 (0)