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)

Reply via email to