Example #1
0
                $record = new stdClass();
                $record2 = new stdClass();
                 $position_lp = new stdClass();
                 $position_lp->learning_plan = $value;
                 $position_lp->position = $position;
                 $position_lp->timecreated = time();
                 $position_lp->timemodified = time();
                 $position_lp->usermodified = $USER->id;
                 $DB->insert_record('local_position_lp',$position_lp);
                 $lp_record = $DB->get_record('learning_learningplan',array('id'=>$value));
                $record->lp_id = $value;
                $record->assignee_id = $USER->id;
                $userids = $DB->get_fieldset_sql('select userid from {local_userdata} where position='.$position.'');
                foreach ($userids as $formtid) {
                    $record->u_id = $formtid;
                    $training = learningplan_training($value);
                    foreach ($training as $train) {
                        $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST);
                        //$manualenrol = enrol_get_plugin('manual');
                        //$enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'manual'));
                        //$manualenrol->enrol_user($enrol, $record->u_id,$studentroleid);
                       /*
						 * Enrol users to the existing learning plan courses with "learning_plan" enrolment method
						 */
						$lplanenrol = new enrol_learning_plan_plugin;

                        $enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'learning_plan'));

                        $lplanenrol->enrol_user($enrol, $record->u_id,$studentroleid,$lp_record->startdate,$lp_record->enddate);
                        $record2->lpt_id = $train->id;
                        $record2->u_id = $record->u_id;
/**
 * process the mass enrolment
 * @param csv_import_reader $cir  an import reader created by caller
 * @param Object $course  a course record from table mdl_course
 * @param Object $context  course context instance
 * @param Object $data    data from a moodleform 
 * @return string  log of operations 
 */
function bulk_enroll($cir,   $data) {
    global $CFG,$DB,$USER;
    require_once ($CFG->dirroot . '/group/lib.php');

    $result = '';
    
    $roleid = $data->roleassign;
    $useridfield = $data->firstcolumn;

    $enrollablecount = 0;
    $createdgroupscount = 0;
    $createdgroupingscount = 0;
    $createdgroups = '';
    $createdgroupings = '';
    
    $plugin = enrol_get_plugin('manual');
    
    // init csv import helper
    $cir->init();
    while ($fields = $cir->next()) {
        $a = new StdClass();
        if (empty ($fields))
            continue;
        
        // 1rst column = id Moodle (idnumber,username or email)    
        // get rid on eventual double quotes unfortunately not done by Moodle CSV importer 
            $fields[0]= str_replace('"', '', trim($fields[0]));
           $fields[1]= str_replace('"', '', trim($fields[1]));
        if (!$lplan = $DB->get_record('learning_learningplan', array('shortname' => $fields[0]))) {
            $result .= '<div class="alert alert-error">'.get_string('im:learningplan_unknown', 'block_learning_plan', $fields[1] ). '</div>';
            continue;
        }
        
        if (!$user = $DB->get_record('user', array($useridfield => $fields[1]))) {
            $result .= '<div class="alert alert-error">'.get_string('im:user_unknown', 'block_learning_plan', $fields[1] ). '</div>';
            continue;
        }
        if(!$DB->record_exists_sql("select id from {local_userdata} where costcenterid=$lplan->costcenter AND userid=$user->id")){
          echo  $costcentername = $DB->get_field('local_costcenter','fullname',array('id'=>$lplan->costcenter));
            $cs_object = new stdClass();
            $cs_object->csname = $costcentername;
            $cs_object->user   = fullname($user);
            $result .= '<div class="alert alert-error">'.get_string('im:user_notcostcenter', 'local_mass_enroll',$cs_object ). '</div>';
            continue; 
        }
        //already enroled ?
        if ($DB->record_exists('learning_user_learningplan',array('u_id'=>$user->id, 'lp_id'=>$lplan->id))) {
            $result .= '<div class="alert alert-error">'.get_string('im:already_in', 'local_mass_enroll', fullname($user)). '</div>';

        } else {
                $record = new stdClass();
                $record2 = new stdClass();
                $record->lp_id = $lplan->id;
                $record->assignee_id = $USER->id;
                    $record->u_id = $user->id;
                    $training = learningplan_training($lplan->id);
					if(!empty($training)){
                    foreach ($training as $train) {
                        $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST);
                        $manualenrol = enrol_get_plugin('manual');
                        $enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'manual'));
                        $manualenrol->enrol_user($enrol, $user->id,$studentroleid,$lplan->startdate,$lplan->enddate);
                        $record2->lpt_id = $train->id;
                        $record2->u_id = $user->id;
						$record2->timemodified = time();
                        // Insert in learning_user_trainingplan
                        $DB->insert_record('learning_user_trainingplan', $record2);
                    }
					}
                    $record->timemodified = time();
                    // Insert in learning_user_learningplan
                    if(!$DB->record_exists('learning_user_learningplan',array('lp_id'=>$lplan->id,'u_id'=>$user->id)))
                    $DB->insert_record('learning_user_learningplan', $record);
                $result .= '<div class="alert alert-success">'.get_string('im:enrolled_ok', 'local_mass_enroll', fullname($user)).'</div>';
            $enrollablecount++;
        }
    }
    $result .= '<br />';

    $result .= get_string('im:stats_i', 'local_mass_enroll', $enrollablecount) . "";
 
    return $result;
}
Example #3
0
            }
            echo $OUTPUT->confirm(get_string('record_delete', 'block_learning_plan'), '/blocks/learning_plan/view.php?viewpage=4&rem=rem&delete=' . $id . '&id=' . $lp, '/blocks/learning_plan/view.php?viewpage=4');
        }
        break;
    case ASSIGN_PLANTOUSER:
        if ($fromform = data_submitted()) {
                // Insert Record
                $record = new stdClass();
                $record2 = new stdClass();
                $record->lp_id = $fromform->l_id;
                $record->assignee_id = $USER->id;
				$lp_record = $DB->get_record('learning_learningplan',array('id'=>$fromform->l_id));
				$studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST);
                foreach ($fromform->u_id as $formtid) {
                    $record->u_id = $formtid;
                    $training = learningplan_training($fromform->l_id);
					if(!empty($training)){
                    foreach ($training as $train) {
						/*
						 * Enrol users to the existing learning plan courses
						 */
						$lplanenrol = new enrol_learning_plan_plugin;
                        $enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'learning_plan'));
                        $lplanenrol->enrol_user($enrol, $record->u_id,$studentroleid,$lp_record->startdate,$lp_record->enddate);
                        $record2->lpt_id = $train->id;
                        $record2->u_id = $record->u_id;
						$record2->timemodified = time();
                        // Insert in learning_user_trainingplan
                        $DB->insert_record('learning_user_trainingplan', $record2);
                    }
					}
Example #4
0
function lp_unassigninguser_fromlearningplan($fromform, $lp) {
    global $DB, $USER, $PAGE;
    $flag = 0;

    foreach ($fromform as $user) {
        //
        $training = learningplan_training($user->lp_id);
        foreach ($training as $train) {
            $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST);
            $manualenrol = enrol_get_plugin('manual');
            $enrol = $DB->get_record('enrol', array('courseid' => $train->t_id, 'enrol' => 'manual'));
            $manualenrol->unenrol_user($enrol, $record->u_id, $studentroleid);
        }

        $DB->delete_records('learning_user_learningplan', array('u_id' => $user->u_id, 'lp_id' => $user->lp_id));

        $flag = 1;
    }


    return $flag;
}