diff options
| author | Moritz Strohm <strohm@data-quest.de> | 2024-09-02 07:50:49 +0000 |
|---|---|---|
| committer | Moritz Strohm <strohm@data-quest.de> | 2024-09-02 07:50:49 +0000 |
| commit | f00164f6f8b823872d0934830a466aeb2af7114b (patch) | |
| tree | e810d56f7ad1ec8f1e1dd17affd0954f5a54aaf0 /lib/classes/StudygroupModel.php | |
| parent | afadde64a6a2017eabb36a3bdef412bb2d2692ba (diff) | |
StEP 3209, re #3209
Merge request studip/studip!2179
Diffstat (limited to 'lib/classes/StudygroupModel.php')
| -rw-r--r-- | lib/classes/StudygroupModel.php | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/lib/classes/StudygroupModel.php b/lib/classes/StudygroupModel.php index 051ada7..9fd44b3 100644 --- a/lib/classes/StudygroupModel.php +++ b/lib/classes/StudygroupModel.php @@ -87,7 +87,7 @@ class StudygroupModel ); // Post equivalent notifications to a regular course - $seminar = Seminar::getInstance($sem_id); + $seminar = Course::find($sem_id); NotificationCenter::postNotification( 'CourseDidGetMember', $seminar, $accept_user_id ); @@ -154,7 +154,7 @@ class StudygroupModel ); // Post equivalent notifications to a regular course - $seminar = Seminar::getInstance($sem_id); + $seminar = Course::find($sem_id); NotificationCenter::postNotification('CourseDidChangeMember', $seminar, $user->id); NotificationCenter::postNotification('UserDidLeaveCourse', $sem_id, $user->id); } @@ -514,30 +514,37 @@ class StudygroupModel */ public static function applicationNotice($sem_id, $user_id) { - $sem = new Seminar($sem_id); - $dozenten = $sem->getMembers(); - $tutors = $sem->getMembers('tutor'); - $recipients = []; - $msging = new messaging(); - - foreach (array_merge($dozenten, $tutors) as $uid => $user) { - $recipients[] = $user['username']; - } + $course = Course::find($sem_id); + $msging = new messaging(); + + //Get all those with tutor and dozent status to inform them + //about the application: + $stmt = DBManager::get()->prepare( + "SELECT `username` + FROM `auth_user_md5` + JOIN `seminar_user` USING (`user_id`) + WHERE `seminar_user`.`seminar_id` = :course_id + AND `seminar_user`.`status` IN ('dozent', 'tutor')" + ); + $stmt->execute(['course_id' => $course->id]); + $recipients = $stmt->fetchAll(); - if (mb_strlen($sem->getName()) > 32) //cut subject if to long - $subject = sprintf(_('[Studiengruppe: %s...]'), mb_substr($sem->getName(), 0, 30)); - else - $subject = sprintf(_('[Studiengruppe: %s]'), $sem->getName()); + //Limit the subject prefix size in case of a long course name: + if (mb_strlen($course->name) > 32) { + $subject = sprintf(_('[Studiengruppe: %s...]'), mb_substr($course->name, 0, 30)); + } else { + $subject = sprintf(_('[Studiengruppe: %s]'), $course->name); + } if (StudygroupModel::isInvited($user_id, $sem_id)) { $subject .= ' ' . _('Einladung akzeptiert'); $message = sprintf( _("%s hat die Einladung zur Studiengruppe %s akzeptiert. Klicken Sie auf den folgenden Link, um direkt zur Studiengruppe zu gelangen.\n\n [Direkt zur Studiengruppe]%s"), get_fullname($user_id), - $sem->getName(), + $course->name, URLHelper::getlink( - "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members/?cid={$sem->id}", - ['cid' => $sem->id] + "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members", + ['cid' => $course->id] ) ); } else { @@ -545,10 +552,10 @@ class StudygroupModel $message = sprintf( _("%s möchte der Studiengruppe %s beitreten. Klicken Sie auf den folgenden Link, um direkt zur Studiengruppe zu gelangen.\n\n [Direkt zur Studiengruppe]%s"), get_fullname($user_id), - $sem->getName(), + $course->name, URLHelper::getlink( - "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members/?cid={$sem->id}", - ['cid' => $sem->id] + "{$GLOBALS['ABSOLUTE_URI_STUDIP']}dispatch.php/course/studygroup/members", + ['cid' => $course->id] ) ); } |
