If announcement is in a group avoid loading other groups BT#14824

pull/2688/merge
Julio Montoya 7 years ago
parent aaa968be1f
commit 62894c17bf
  1. 2
      main/announcements/announcements.php
  2. 6
      main/inc/lib/AnnouncementManager.php
  3. 4
      main/inc/lib/course.lib.php

@ -474,7 +474,7 @@ switch ($action) {
$announcementInfo = AnnouncementManager::get_by_id($courseId, $id);
if (isset($announcementInfo) && !empty($announcementInfo)) {
$to = AnnouncementManager::load_edit_users('announcement', $id);
$to = AnnouncementManager::loadEditUsers('announcement', $id);
$defaults = [
'title' => $announcementInfo['title'],

@ -1122,12 +1122,13 @@ class AnnouncementManager
*
* @return array
*/
public static function load_edit_users($tool, $id)
public static function loadEditUsers($tool, $id)
{
$table = Database::get_course_table(TABLE_ITEM_PROPERTY);
$tool = Database::escape_string($tool);
$id = (int) $id;
$courseId = api_get_course_int_id();
$groupId = api_get_group_id();
$sql = "SELECT to_user_id, to_group_id FROM $table
WHERE c_id = $courseId AND tool='$tool' AND ref = $id";
@ -1137,6 +1138,9 @@ class AnnouncementManager
while ($row = Database::fetch_array($result)) {
// This is the iid of c_group_info
$toGroup = $row['to_group_id'];
if (!empty($groupId) && $groupId != $toGroup) {
continue;
}
switch ($toGroup) {
// it was send to one specific user
case null:

@ -6050,8 +6050,8 @@ class CourseManager
*/
public static function addGroupMultiSelect($form, $groupInfo, $to = [])
{
$group_users = GroupManager::get_subscribed_users($groupInfo);
$array = self::buildSelectOptions([$groupInfo], $group_users, $to);
$groupUsers = GroupManager::get_subscribed_users($groupInfo);
$array = self::buildSelectOptions([$groupInfo], $groupUsers, $to);
$result = [];
foreach ($array as $content) {

Loading…
Cancel
Save