From: Michael Tremer Date: Thu, 13 Oct 2022 10:18:20 +0000 (+0000) Subject: events: Include build comments X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f76c9f8323ee044ea0669e497064af37bc148f9;p=pbs.git events: Include build comments Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index 157f0cd2..c3ac0574 100644 --- a/Makefile.am +++ b/Makefile.am @@ -229,6 +229,7 @@ templates_eventsdir = $(templatesdir)/events dist_templates_events_modules_DATA = \ src/templates/events/modules/list.html \ + src/templates/events/modules/build-comment.html \ src/templates/events/modules/system-message.html \ src/templates/events/modules/user-message.html diff --git a/src/buildservice/events.py b/src/buildservice/events.py index 10251206..329b1a92 100644 --- a/src/buildservice/events.py +++ b/src/buildservice/events.py @@ -49,6 +49,7 @@ EVENTS_VIEW = """ builds.created_at AS t, 4 AS priority, builds.id AS build, + NULL::integer AS build_comment, builds.owner_id AS by_user FROM builds @@ -69,11 +70,27 @@ EVENTS_VIEW = """ ELSE 4 END AS priority, builds.id AS build, + NULL AS build_comment, NULL AS by_user FROM builds WHERE builds.finished_at IS NOT NULL + + UNION ALL + + -- Build Comments + SELECT + 'build-comment' AS type, + build_comments.created_at AS t, + 4 AS priority, + build_comments.build_id AS build, + build_comments.id AS build_comment, + build_comments.user_id AS by_user + FROM + build_comments + WHERE + deleted IS FALSE ) """ @@ -82,7 +99,10 @@ class Events(base.Object): def map(self): return { # Builds - "build" : self.backend.builds.get_by_id, + "build" : self.backend.builds.get_by_id, + + # Build Comments + "build_comment" : self.backend.builds.comments.get_by_id, # Users "by_user" : self.backend.users.get_by_id, diff --git a/src/templates/events/modules/build-comment.html b/src/templates/events/modules/build-comment.html new file mode 100644 index 00000000..00c6fd47 --- /dev/null +++ b/src/templates/events/modules/build-comment.html @@ -0,0 +1,5 @@ +{% extends "user-message.html" %} + +{% block content %} + {% module Text(comment.text) %} +{% end %} diff --git a/src/templates/events/modules/list.html b/src/templates/events/modules/list.html index 0485758e..52b8246f 100644 --- a/src/templates/events/modules/list.html +++ b/src/templates/events/modules/list.html @@ -1,5 +1,7 @@ {% for event in events %} - {% if event.by_user %} + {% if event.build_comment %} + {% module EventBuildComment(event) %} + {% elif 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 18b92668..0d9108a5 100644 --- a/src/templates/events/modules/system-message.html +++ b/src/templates/events/modules/system-message.html @@ -2,14 +2,16 @@ {% block thumbnail %}{% end block %}
- {% if event.type == "build-created" %} -

- {{ _("Build created") }} -

- {% else %} -

- {{ _("- Unknown Event -") }} -

+ {% block content %} + {% if event.type == "build-created" %} +

+ {{ _("Build created") }} +

+ {% else %} +

+ {{ _("- Unknown Event -") }} +

+ {% end %} {% end %} diff --git a/src/web/__init__.py b/src/web/__init__.py index 51207def..65bbd503 100644 --- a/src/web/__init__.py +++ b/src/web/__init__.py @@ -59,6 +59,7 @@ class Application(tornado.web.Application): # Events "EventsList" : events.ListModule, + "EventBuildComment" : events.BuildCommentModule, "EventSystemMessage" : events.SystemMessageModule, "EventUserMessage" : events.UserMessageModule, diff --git a/src/web/events.py b/src/web/events.py index 79e13185..7b4a3088 100644 --- a/src/web/events.py +++ b/src/web/events.py @@ -28,6 +28,12 @@ class ListModule(ui_modules.UIModule): return self.render_string("events/modules/list.html", events=events) +class BuildCommentModule(ui_modules.UIModule): + def render(self, event): + return self.render_string("events/modules/build-comment.html", + event=event, comment=event.build_comment) + + class UserMessageModule(ui_modules.UIModule): def render(self, event): return self.render_string("events/modules/user-message.html", event=event)