/** * * @global $DB $DB * @param grade_item $item * @return boolean|groups_grouping grouping alterd with extra fields from blended: mmaxmembers */ function blended_get_grouping(grade_item $item, $blended) { global $DB; $agrupamiento_tarea = $DB->get_record('blended_assign_grouping', array('id_item' => $item->id)); if (!$agrupamiento_tarea) { // No hemos asignado en blended if ($item->itemtype == 'mod' && $item->itemmodule == 'assign') { // hay una asignación en moodle // $modgrouping = $DB->get_field('course_modules','groupingid',array('instance'=>$item->iteminstance)); $modgrouping = $DB->get_field('assign', 'teamsubmissiongroupingid', array('id' => $item->iteminstance)); if ($modgrouping) { $agrupamiento_tarea = new stdClass(); $agrupamiento_tarea->id_grouping; $grouping = groups_get_grouping_by_id($item->courseid, $agrupamiento_tarea->id_grouping); blended_assign_grouping($item, $agrupamiento_tarea, null, $blended->nummembers); } } else { // no es mod y no está configurado con blended return false; } } if (!isset($grouping)) { $grouping = groups_get_grouping_by_id($item->courseid, $agrupamiento_tarea->id_grouping); } if ($grouping) { $grouping->maxmembers = isset($agrupamiento_tarea->maxmembers) ? $agrupamiento_tarea->maxmembers : $blended->nummembers; return $grouping; } else { return false; } }
echo $OUTPUT->box($strcreatenewgroupingnotify); } else { /*Si el tipo de acci�n recogida es 'sobreescribir' procedente de updateTeams,php, se sobreescribir�n los grupos del agrupamiento ya existente*/ if ($action == 'sobreescribir') { //Obtenci�n del valor del id del agrupamiento $groupingid = blended_get_groupingid($item); //Llamada a la funci�n que me borra el agrupamiento blended_delete_teams($item); } else { print_error('unknownaction', 'blended', null, $action); } } } if ($item !== null) { blended_assign_grouping($item, $grouping, null, $nummembers); } // Finish the page ------------------------------------------------- if ($itemid == -1) { echo $OUTPUT->continue_button(new moodle_url('/mod/blended/view.php', array('id' => $id))); // redirect(new moodle_url('/mod/blended/view.php',array('id'=>$id))); } else { echo $OUTPUT->continue_button(new moodle_url('/mod/blended/teams/introgrades.php', array('id' => $id, 'itemid' => $itemid))); // redirect(new moodle_url('/mod/blended/teams/introgrades.php',array('id'=>$id,'itemid'=>$itemid))); } echo $OUTPUT->footer(); ?> <br /> <script type="text/javascript"> <!--
} // Fin if-else } // end if user is leader } else { if ($action == 'newusergroup' && $blended->teammethod != TEAMS_BY_TEACHERS) { $name_team = optional_param('name_team', '', PARAM_ALPHANUMEXT); //nombre equipo $groupingid = blended_get_groupingid($item); if (!$groupingid) { // create a default grouping $itemname = blended_get_item_name($item); $grouping_name = "{$itemname} Teams"; $groupingid = blended_create_unique_grouping($grouping_name, $course); $grouping = groups_get_grouping($groupingid); blended_assign_grouping($item, $grouping, $USER->id, null); } $members = array($USER->id => $USER); $teamid = blended_add_new_group($course->id, $name_team, $members, $groupingid); blended_set_team_leaderid($teamid, $USER->id); $a = new stdClass(); $a->username = fullname($USER); $a->teamname = $name_team; echo $OUTPUT->notification(get_string('userenrolledtoteam', 'blended', $a)); } else { if ($action == 'signup' && $blended->teammethod != TEAMS_BY_TEACHERS) { //Comprobar que: //-no esta en otro equipo //- que el tamaño no supere el tamaño maximo propuesto por el profesor $id_team = required_param('team', PARAM_INT); //id equipo