From 232114585b9408767855df6c66ce36033ef79108 Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Fri, 24 Feb 2023 14:55:55 +0000
Subject: [PATCH] fix ordering of news by priority, fixes #1636

Closes #1636

Merge request studip/studip!1448
---
 lib/models/StudipNews.class.php | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/models/StudipNews.class.php b/lib/models/StudipNews.class.php
index bae4cd9618a..593c0df2e24 100644
--- a/lib/models/StudipNews.class.php
+++ b/lib/models/StudipNews.class.php
@@ -103,9 +103,9 @@ class StudipNews extends SimpleORMap implements PrivacyObject
                   INNER JOIN news USING (news_id)
                   WHERE range_id = ? {$clause} ";
         if (Config::get()->SORT_NEWS_BY_CHDATE) {
-            $query .= "ORDER BY prio DESC, chdate DESC, date DESC, topic ASC";
+            $query .= "ORDER BY IF(prio = 0, 6, prio) DESC, chdate DESC, date DESC, topic ASC";
         } else {
-            $query .= "ORDER BY prio DESC, date DESC, chdate DESC, topic ASC";
+            $query .= "ORDER BY IF(prio = 0, 6, prio) DESC, date DESC, chdate DESC, topic ASC";
         }
         $statement = DBManager::get()->prepare($query);
         $statement->execute([$range_id]);
@@ -152,9 +152,9 @@ class StudipNews extends SimpleORMap implements PrivacyObject
                   FROM news
                   WHERE user_id = ? ";
         if (Config::get()->SORT_NEWS_BY_CHDATE) {
-            $query .= "ORDER BY prio DESC, chdate DESC, date DESC";
+            $query .= "ORDER BY IF(prio = 0, 6, prio) DESC, chdate DESC, date DESC";
         } else {
-            $query .= "ORDER BY prio DESC, date DESC, chdate DESC";
+            $query .= "ORDER BY IF(prio = 0, 6, prio) prio DESC, date DESC, chdate DESC";
         }
         $statement = DBManager::get()->prepare($query);
         $statement->execute([$user_id]);
-- 
GitLab