From: Michael Tremer Date: Tue, 21 Jan 2025 17:10:11 +0000 (+0000) Subject: events: Don't link to deleted items X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e91716e766f0bb980551f3cd97ee950e37673b15;p=pbs.git events: Don't link to deleted items Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/database.py b/src/buildservice/database.py index e19a5fa2..4f5ff7c8 100644 --- a/src/buildservice/database.py +++ b/src/buildservice/database.py @@ -429,8 +429,21 @@ class SoftDeleteMixin: A mixin that will automatically add a deleted_at column with a timestamp of when an object has been deleted. """ + + # Deleted At + deleted_at = Column(DateTime(timezone=False), nullable=True) + # Deleted? + + def is_deleted(self): + if self.deleted_at: + return True + + return False + + # Delete! + async def delete(self, deleted_by=None): """ Called to delete this object diff --git a/src/templates/events/macros.html b/src/templates/events/macros.html index b52896d8..38b24a17 100644 --- a/src/templates/events/macros.html +++ b/src/templates/events/macros.html @@ -247,16 +247,28 @@
{# Build #} {% if show_build and event.build and not event.job %} - - {{ event.build }} - + {% if event.build.is_deleted() %} + + {{ event.build }} + + {% else %} + + {{ event.build }} + + {% endif %} {% endif %} {# By Build #} {% if event.by_build %} - - {{ _("by %s") % event.by_build }} - + {% if event.by_build.is_deleted() %} + + {{ _("by %s") % event.by_build }} + + {% else %} + + {{ _("by %s") % event.by_build }} + + {% endif %} {% endif %} {# Build Group #} @@ -268,9 +280,15 @@ {# Job #} {% if event.job %} - - {{ event.job }} - + {% if event.job.is_deleted() %} + + {{ event.job }} + + {% else %} + + {{ event.job }} + + {% endif %} {% endif %} {# Package Name #} @@ -282,37 +300,67 @@ {# Mirror #} {% if event.mirror %} - - {{ event.mirror }} - + {% if event.mirror.is_deleted() %} + + {{ event.mirror }} + + {% else %} + + {{ event.mirror }} + + {% endif %} {% endif %} {# Repository #} {% if event.repo %} - - {{ event.repo }} - + {% if event.repo.is_deleted() %} + + {{ event.repo }} + + {% else %} + + {{ event.repo }} + + {% endif %} {% endif %} {# Release #} {% if event.release %} - - {{ event.release }} - + {% if event.release.is_deleted() %} + + {{ event.release }} + + {% else %} + + {{ event.release }} + + {% endif %} {% endif %} {# By User #} {% if not event.type == "build-comment" and event.by_user %} - - {{ _("by %s") % event.by_user }} - + {% if event.by_user.is_deleted() %} + + {{ _("by %s") % event.by_user }} + + {% else %} + + {{ _("by %s") % event.by_user }} + + {% endif %} {% endif %} {# Builder #} {% if show_builder and event.builder %} - - {{ event.builder }} - + {% if event.builder.is_deleted() %} + + {{ event.builder }} + + {% else %} + + {{ event.builder }} + + {% endif %} {% endif %}