Esempio n. 1
0
/**
 * 
 * @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;
    }
}
Esempio n. 2
0
        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