From 3dcda98321f56135581d913348b79ab4ed3cebea Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Wed, 10 Jul 2024 06:53:05 +0000
Subject: [PATCH] switch language before sending personal notifications after a
 questionnaire is answered, fixes #4385

Closes #4385

Merge request studip/studip!3194
---
 app/controllers/questionnaire.php | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/app/controllers/questionnaire.php b/app/controllers/questionnaire.php
index 94e4d049ba8..fa90ac28afe 100644
--- a/app/controllers/questionnaire.php
+++ b/app/controllers/questionnaire.php
@@ -939,15 +939,18 @@ class QuestionnaireController extends AuthenticatedController
                 $anonymous_answer->store();
             }
             if (!$answered_before && !$this->questionnaire['anonymous'] && ($this->questionnaire['user_id'] !== $GLOBALS['user']->id)) {
-                $url = URLHelper::getURL("dispatch.php/questionnaire/evaluate/" . $this->questionnaire->getId(), [], true);
+                setTempLanguage($this->questionnaire->user_id);
+
                 PersonalNotifications::add(
-                    $this->questionnaire['user_id'],
-                    $url,
-                    sprintf(_("%s hat an der Befragung '%s' teilgenommen."), $GLOBALS['user']->getFullName(), $this->questionnaire['title']),
-                    "questionnaire_" . $this->questionnaire->getId(),
+                    $this->questionnaire->user_id,
+                    URLHelper::getURL('dispatch.php/questionnaire/evaluate/' . $this->questionnaire->id, [], true),
+                    sprintf(_("%s hat an der Befragung '%s' teilgenommen."), $GLOBALS['user']->getFullName(), $this->questionnaire->title),
+                    "questionnaire_" . $this->questionnaire->id,
                     Icon::create('vote'),
                     true
                 );
+
+                restoreLanguage();
             }
         }
 
-- 
GitLab