This is an automated email from the ASF dual-hosted git repository. brondsem pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/allura.git
commit bba857652f0ffd50e47f5252d903bc952a770b9a Author: Dave Brondsema <[email protected]> AuthorDate: Thu Aug 3 12:59:24 2023 -0400 [#8516] avoid notifications when uninstalling a wiki; move Shortlink cleanup into base Artifact --- Allura/allura/model/artifact.py | 6 ++++-- ForgeTracker/forgetracker/model/ticket.py | 1 - ForgeWiki/forgewiki/model/wiki.py | 4 ---- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py index 6eaa12214..d84baf287 100644 --- a/Allura/allura/model/artifact.py +++ b/Allura/allura/model/artifact.py @@ -40,7 +40,7 @@ from allura.lib.search import SearchIndexable from .session import main_orm_session from .session import project_orm_session from .session import artifact_orm_session -from .index import ArtifactReference +from .index import ArtifactReference, Shortlink from .types import ACL, MarkdownCache from .project import AppConfig from .notification import MailFooter @@ -495,7 +495,9 @@ class Artifact(MappedClass, SearchIndexable): for att in self._get_attachments(unique_files_only=False, include_thumbnails=True): att.delete() session(att).flush(att) - ArtifactReference.query.remove(dict(_id=self.index_id())) + idx_id = self.index_id() + ArtifactReference.query.remove(dict(_id=idx_id)) + Shortlink.query.remove(dict(ref_id=idx_id)) super().delete() session(self).flush(self) session(self).imap.expunge(self) diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py index cded51127..3d358842f 100644 --- a/ForgeTracker/forgetracker/model/ticket.py +++ b/ForgeTracker/forgetracker/model/ticket.py @@ -1376,7 +1376,6 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact): discussion_disabled=self.discussion_disabled) def delete(self): - Shortlink.query.remove(dict(ref_id=self.index_id())) super().delete() self.globals.invalidate_bin_counts() diff --git a/ForgeWiki/forgewiki/model/wiki.py b/ForgeWiki/forgewiki/model/wiki.py index 1c386e75a..4b10c2a76 100644 --- a/ForgeWiki/forgewiki/model/wiki.py +++ b/ForgeWiki/forgewiki/model/wiki.py @@ -275,10 +275,6 @@ class Page(VersionedArtifact, ActivityObject): 'pending': False }).all() - def delete(self): - self.soft_delete() - super().delete() - def soft_delete(self): subject = '{} removed page {}'.format( context.user.username, self.title)
