# by_user
# builder
# repository
+# release
# bug
# error
# points
builds.owner_id AS by_user,
NULL::integer AS builder,
NULL::integer AS repository,
+ NULL::integer AS release,
NULL::integer AS bug,
NULL::text AS error,
NULL::integer AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
builds.deleted_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
builds.deprecated_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
build_comments.user_id AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
build_bugs.added_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
build_bugs.bug_id AS bug,
NULL AS error,
NULL AS points
build_bugs.removed_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
build_bugs.bug_id AS bug,
NULL AS error,
NULL AS points
repository_builds.added_by AS by_user,
NULL AS builder,
repository_builds.repo_id AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
repository_builds.removed_by AS by_user,
NULL AS builder,
repository_builds.repo_id AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
build_points.user_id AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
build_points.points AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
jobs.builder_id AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
jobs.builder_id AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
jobs.aborted_by AS by_user,
jobs.builder_id AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
jobs.builder_id AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
builders.created_by AS by_user,
builders.id AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
builders.deleted_by AS by_user,
builders.id AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
UNION ALL
+ -- Releases Created
+ SELECT
+ 'release-created' AS type,
+ releases.created_at AS t,
+ 1 AS priority,
+ NULL AS build,
+ NULL AS by_build,
+ NULL AS build_comment,
+ NULL AS build_group,
+ NULL AS job,
+ NULL AS package_name,
+ NULL AS mirror,
+ NULL AS user,
+ releases.created_by AS by_user,
+ NULL AS builder,
+ NULL AS repository,
+ releases.id AS release,
+ NULL AS bug,
+ NULL AS error,
+ NULL AS points
+ FROM
+ releases
+
+ UNION ALL
+
+ -- Releases Deleted
+ SELECT
+ 'release-deleted' AS type,
+ releases.deleted_at AS t,
+ 1 AS priority,
+ NULL AS build,
+ NULL AS by_build,
+ NULL AS build_comment,
+ NULL AS build_group,
+ NULL AS job,
+ NULL AS package_name,
+ NULL AS mirror,
+ NULL AS user,
+ releases.deleted_by AS by_user,
+ NULL AS builder,
+ NULL AS repository,
+ releases.id AS release,
+ NULL AS bug,
+ NULL AS error,
+ NULL AS points
+ FROM
+ releases
+ WHERE
+ deleted_at IS NOT NULL
+
+ UNION ALL
+
+ -- Releases Released
+ SELECT
+ 'release-released' AS type,
+ releases.released_at AS t,
+ CASE WHEN releases.stable IS TRUE
+ THEN 5 ELSE 4 END AS priority,
+ NULL AS build,
+ NULL AS by_build,
+ NULL AS build_comment,
+ NULL AS build_group,
+ NULL AS job,
+ NULL AS package_name,
+ NULL AS mirror,
+ NULL AS user,
+ NULL AS by_user,
+ NULL AS builder,
+ NULL AS repository,
+ releases.id AS release,
+ NULL AS bug,
+ NULL AS error,
+ NULL AS points
+ FROM
+ releases
+ WHERE
+ released_at IS NOT NULL
+ AND
+ released_at <= CURRENT_TIMESTAMP
+
+ UNION ALL
+
-- Mirrors Created
SELECT
'mirror-created' AS type,
mirrors.created_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
mirrors.deleted_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
NULL AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
mirror_status_changes.error AS error,
NULL AS points
release_monitorings.created_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
release_monitorings.deleted_by AS by_user,
NULL AS builder,
NULL AS repository,
+ NULL AS release,
NULL AS bug,
NULL AS error,
NULL AS points
# Mirrors
"mirror" : self.backend.mirrors.get_by_id,
+ # Releases
+ "release" : self.backend.distros.releases.get_by_id,
+
# Repositories
"repository" : self.backend.repos.get_by_id,
<p class="icon is-large has-text-danger">
<i class="fa-solid fa-2x fa-binoculars"></i>
</p>
+ {% elif event.type == "release-created" %}
+ <p class="icon is-large has-text-success">
+ <i class="fa-solid fa-2x fa-box"></i>
+ </p>
+ {% elif event.type == "release-deleted" %}
+ <p class="icon is-large has-text-danger">
+ <i class="fa-solid fa-2x fa-box"></i>
+ </p>
+ {% elif event.type == "release-released" %}
+ <p class="icon is-large has-text-info">
+ <i class="fa-solid fa-2x fa-cake-candles"></i>
+ </p>
{% else %}
<p class="icon is-large has-text-light">
<i class="fa-solid fa-2x fa-question"></i>
{{ _("Release Monitoring has been enabled for %s") % event.package_name }}
{% elif event.type == "release-monitoring-deleted" %}
{{ _("Release Monitoring has been disabled for %s") % event.package_name }}
+ {% elif event.type == "release-created" %}
+ {{ _("Release Created")}}
+ {% elif event.type == "release-deleted" %}
+ {{ _("Release Deleted") }}
+ {% elif event.type == "release-released" %}
+ {{ _("Release of %s") % event.release }}
{% else %}
{{ _("- Unknown Event %s -") % event.type }}
{% end %}
</a>
{% end %}
+ {# Release #}
+ {% if event.release %}
+ <a class="level-item" href="{{ event.release.url }}">
+ {{ event.release }}
+ </a>
+ {% end %}
+
{# By User #}
{% if not event.type == "build-comment" and event.by_user %}
<a class="level-item" href="/users/{{ event.by_user.name }}">