Browse Source

Fixes bug when adding users by class see #5684

Julio Montoya 12 years ago
parent
commit
dc9a4064b9
2 changed files with 6 additions and 5 deletions
  1. 5 4
      main/inc/lib/usergroup.lib.php
  2. 1 1
      main/user/class.php

+ 5 - 4
main/inc/lib/usergroup.lib.php

@@ -233,7 +233,7 @@ class UserGroup extends Model {
      * @param   int     usergroup id
      * @param   array   list of course ids (integers)
      */
-    function subscribe_courses_to_usergroup($usergroup_id, $list) {
+    function subscribe_courses_to_usergroup($usergroup_id, $list, $delete_groups = true) {
         $current_list = self::get_courses_by_usergroup($usergroup_id);
         $user_list    = self::get_users_by_usergroup($usergroup_id);
 
@@ -253,8 +253,10 @@ class UserGroup extends Model {
                 }
             }
         }
-
-        self::unsubscribe_courses_from_usergroup($usergroup_id, $delete_items);
+        
+        if ($delete_groups) {
+            self::unsubscribe_courses_from_usergroup($usergroup_id, $delete_items);
+        }
 
         //Addding new relationships
         if (!empty($new_items)) {
@@ -265,7 +267,6 @@ class UserGroup extends Model {
                         CourseManager::subscribe_user($user_id, $course_info['code']);
                     }
                 }
-
                 $params = array('course_id'=>$course_id, 'usergroup_id'=>$usergroup_id);
                 Database::insert($this->usergroup_rel_course_table, $params);
             }

+ 1 - 1
main/user/class.php

@@ -54,7 +54,7 @@ if (api_is_allowed_to_edit()) {
         case 'add_class_to_course':
             $id = $_GET['id'];
             if (!empty($id)) {
-                $usergroup->subscribe_courses_to_usergroup($id, array(api_get_course_int_id()));
+                $usergroup->subscribe_courses_to_usergroup($id, array(api_get_course_int_id()), false);
             }
             break;
         case 'remove_class_from_course':