From: Michael Tremer Date: Thu, 13 Oct 2022 10:33:59 +0000 (+0000) Subject: events: Add build watchers X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1a5366ddc2ff8f4bc4aec7bf13aa1cbe6995f7b;p=pbs.git events: Add build watchers Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/events.py b/src/buildservice/events.py index 329b1a92..08c8730a 100644 --- a/src/buildservice/events.py +++ b/src/buildservice/events.py @@ -39,6 +39,7 @@ log = logging.getLogger("pakfire.buildservice.events") # t (timestamp) # priority # build +# user # by_user # EVENTS_VIEW = """ @@ -50,6 +51,7 @@ EVENTS_VIEW = """ 4 AS priority, builds.id AS build, NULL::integer AS build_comment, + NULL::integer AS user, builds.owner_id AS by_user FROM builds @@ -71,6 +73,7 @@ EVENTS_VIEW = """ END AS priority, builds.id AS build, NULL AS build_comment, + NULL AS user, NULL AS by_user FROM builds @@ -86,11 +89,42 @@ EVENTS_VIEW = """ 4 AS priority, build_comments.build_id AS build, build_comments.id AS build_comment, + NULL AS user, build_comments.user_id AS by_user FROM build_comments WHERE deleted IS FALSE + + UNION ALL + + -- Build Watchers added + SELECT + 'build-watcher-added' AS type, + build_watchers.added_at AS t, + 1 AS priority, + build_watchers.build_id AS build, + NULL AS build_comment, + build_watchers.user_id AS user, + NULL AS by_user + FROM + build_watchers + + UNION ALL + + -- Build Watchers removed + SELECT + 'build-watcher-removed' AS type, + build_watchers.deleted_at AS t, + 1 AS priority, + build_watchers.build_id AS build, + NULL AS build_comment, + build_watchers.user_id AS user, + NULL AS by_user + FROM + build_watchers + WHERE + deleted_at IS NOT NULL ) """ @@ -105,6 +139,7 @@ class Events(base.Object): "build_comment" : self.backend.builds.comments.get_by_id, # Users + "user" : self.backend.users.get_by_id, "by_user" : self.backend.users.get_by_id, } diff --git a/src/templates/events/modules/list.html b/src/templates/events/modules/list.html index 52b8246f..9c2fee40 100644 --- a/src/templates/events/modules/list.html +++ b/src/templates/events/modules/list.html @@ -1,7 +1,7 @@ {% for event in events %} {% if event.build_comment %} {% module EventBuildComment(event) %} - {% elif event.by_user %} + {% elif event.user or event.by_user %} {% module EventUserMessage(event) %} {% else %} {% module EventSystemMessage(event) %} diff --git a/src/templates/events/modules/system-message.html b/src/templates/events/modules/system-message.html index 0d9108a5..5638b6e1 100644 --- a/src/templates/events/modules/system-message.html +++ b/src/templates/events/modules/system-message.html @@ -3,15 +3,17 @@
{% block content %} - {% if event.type == "build-created" %} -

+

+ {% if event.type == "build-created" %} {{ _("Build created") }} -

- {% else %} -

+ {% elif event.type == "build-watcher-added" %} + {{ _("%s started watching this build") % event.user }} + {% elif event.type == "build-watcher-removed" %} + {{ _("%s stopped watching this build") % event.user }} + {% else %} {{ _("- Unknown Event -") }} -

- {% end %} + {% end %} +

{% end %} diff --git a/src/templates/events/modules/user-message.html b/src/templates/events/modules/user-message.html index ddf902e5..f5303d15 100644 --- a/src/templates/events/modules/user-message.html +++ b/src/templates/events/modules/user-message.html @@ -1,9 +1,11 @@ {% extends "system-message.html" %} {% block thumbnail %} + {% set user = event.user or event.by_user %} +
- {{ event.by_user }} + {{ user }}
{% end block %} @@ -11,9 +13,11 @@ {% block time %} {{ locale.format_date(event.t) }} - ‐ + {% if event.by_user %} + ‐ - - {{ _("by %s") % event.by_user }} - + + {{ _("by %s") % event.by_user }} + + {% end %} {% end block %}