Allow group creation in course from classes (usergroups) - ref #5679

skala
Hubert Borderiou 13 years ago
parent 9873487734
commit d0fdea57a9
  1. 11
      main/group/group_creation.php
  2. 17
      main/inc/lib/groupmanager.lib.php

@ -286,15 +286,16 @@ EOT;
/*
* Show form to generate groups from classes subscribed to the course
*/
/*
$classes = ClassManager :: get_classes_in_course($_course['sysCode']);
$options['where'] = array(" usergroup.course_id = ? " => api_get_real_course_id());
$obj = new UserGroup();
$classes = $obj->get_usergroup_in_course($options);
if (count($classes) > 0) {
echo '<b>'.get_lang('GroupsFromClasses').'</b>';
echo '<blockquote>';
echo '<p>'.get_lang('GroupsFromClassesInfo').'</p>';
echo '<ul>';
foreach ($classes as $index => $class) {
$number_of_users = count(ClassManager :: get_users($class['id']));
$number_of_users = count($obj->get_users_by_usergroup($class['id']));
echo '<li>';
echo $class['name'];
echo ' ('.$number_of_users.' '.get_lang('Users').')';
@ -318,12 +319,12 @@ EOT;
$create_class_groups_form->addElement('hidden', 'group_category');
}
$create_class_groups_form->addElement('submit', 'submit', get_lang('Ok'));
$defaults['group_category'] = DEFAULT_GROUP_CATEGORY;
$defaults['group_category'] = GroupManager::DEFAULT_GROUP_CATEGORY;
$defaults['action'] = 'create_class_groups';
$create_class_groups_form->setDefaults($defaults);
$create_class_groups_form->display();
echo '</blockquote>';
}*/
}
}

@ -199,6 +199,8 @@ class GroupManager {
$course_id = api_get_course_int_id();
$currentCourseRepository = $_course['path'];
echo "HUBC category_id=$category_id ";
$category = self :: get_category($category_id);
@ -346,18 +348,15 @@ class GroupManager {
*/
public static function create_class_groups ($category_id) {
global $_course;
$classes = ClassManager::get_classes_in_course($_course['sysCode']);
$options['where'] = array(" usergroup.course_id = ? " => api_get_real_course_id());
$obj = new UserGroup();
$classes = $obj->get_usergroup_in_course($options);
$group_ids = array();
foreach($classes as $index => $class)
{
$users = ClassManager::get_users($class['id']);
$group_id = self::create_group($class['name'],$category_id,0,count($users));
$user_ids = array();
foreach($users as $index_user => $user)
{
$user_ids[] = $user['user_id'];
}
self::subscribe_users($user_ids,$group_id);
$users_ids = $obj->get_users_by_usergroup($class['id']);
$group_id = self::create_group($class['name'],$category_id,0,count($users_ids));
self::subscribe_users($users_ids,$group_id);
$group_ids[] = $group_id;
}
return $group_ids;

Loading…
Cancel
Save