From e52453576dc84ae641fc31a264c608544d919e14 Mon Sep 17 00:00:00 2001
From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de>
Date: Sun, 24 Jul 2022 20:49:23 +0000
Subject: [PATCH] restore JS handler for "mark all news as read", fixes #1362

Closes #1362

Merge request studip/studip!839
---
 app/controllers/news.php                            | 2 +-
 lib/modules/NewsWidget.php                          | 2 +-
 resources/assets/javascripts/bootstrap/startpage.js | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/controllers/news.php b/app/controllers/news.php
index 3621f4d3f1c..9e685ea4765 100644
--- a/app/controllers/news.php
+++ b/app/controllers/news.php
@@ -187,7 +187,7 @@ class NewsController extends StudipController
             }
         }
 
-        $this->render_nothing();
+        $this->render_json(true);
     }
 
     /**
diff --git a/lib/modules/NewsWidget.php b/lib/modules/NewsWidget.php
index 5d12608b5da..440d13d84d4 100644
--- a/lib/modules/NewsWidget.php
+++ b/lib/modules/NewsWidget.php
@@ -35,7 +35,7 @@ class NewsWidget extends CorePlugin implements PortalPlugin
 
         if (StudipNews::CountUnread() > 0) {
             $navigation = new Navigation('', 'dispatch.php/news/visit_all');
-            $navigation->setImage(Icon::create('refresh', 'clickable', ["title" => _('Alle als gelesen markieren')]));
+            $navigation->setImage(Icon::create('refresh', 'clickable', ["title" => _('Alle als gelesen markieren')]), ['class' => 'visit-all']);
             $icons[] = $navigation;
         }
 
diff --git a/resources/assets/javascripts/bootstrap/startpage.js b/resources/assets/javascripts/bootstrap/startpage.js
index 2af7955ac71..8d2ff930a2f 100644
--- a/resources/assets/javascripts/bootstrap/startpage.js
+++ b/resources/assets/javascripts/bootstrap/startpage.js
@@ -5,7 +5,7 @@ STUDIP.domReady(() => {
 });
 
 // Add handler for "read all" on news widget
-$(document).on('click', '#start-index a[href*="newswidget/read_all"]', function(event) {
+$(document).on('click', '#start-index .visit-all', function(event) {
     var icon = $(this),
         url = icon.attr('href'),
         widget = icon.closest('.studip-widget');
-- 
GitLab