Merge branch 'MDL-37396_m23' of git://github.com/rwijaya/moodle into MOODLE_23_STABLE

This commit is contained in:
Dan Poltawski
2013-02-18 14:27:51 +08:00
3 changed files with 24 additions and 6 deletions
+3 -2
View File
@@ -272,9 +272,10 @@ class course_enrolment_manager {
* @param bool $searchanywhere
* @param int $page Defaults to 0
* @param int $perpage Defaults to 25
* @param int $addedenrollment Defaults to 0
* @return array Array(totalusers => int, users => array)
*/
public function get_potential_users($enrolid, $search='', $searchanywhere=false, $page=0, $perpage=25) {
public function get_potential_users($enrolid, $search='', $searchanywhere=false, $page=0, $perpage=25, $addedenrollment=0) {
global $DB, $CFG;
// Add some additional sensible conditions
@@ -312,7 +313,7 @@ class course_enrolment_manager {
$order = ' ORDER BY u.lastname ASC, u.firstname ASC';
$params['enrolid'] = $enrolid;
$totalusers = $DB->count_records_sql($countfields . $sql, $params);
$availableusers = $DB->get_records_sql($fields . $sql . $order, $params, $page*$perpage, $perpage);
$availableusers = $DB->get_records_sql($fields . $sql . $order, $params, ($page*$perpage) - $addedenrollment, $perpage);
return array('totalusers'=>$totalusers, 'users'=>$availableusers);
}
+3 -1
View File
@@ -67,7 +67,9 @@ switch ($action) {
$enrolid = required_param('enrolid', PARAM_INT);
$search = optional_param('search', '', PARAM_RAW);
$page = optional_param('page', 0, PARAM_INT);
$outcome->response = $manager->get_potential_users($enrolid, $search, true, $page);
$addedenrollment = optional_param('enrolcount', 0, PARAM_INT);
$perpage = optional_param('perpage', 25, PARAM_INT); // This value is hard-coded to 25 in quickenrolment.js
$outcome->response = $manager->get_potential_users($enrolid, $search, true, $page, $perpage, $addedenrollment);
$extrafields = get_extra_user_fields($context);
foreach ($outcome->response['users'] as &$user) {
$user->picture = $OUTPUT->user_picture($user);
+18 -3
View File
@@ -22,7 +22,9 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
DEFAULTDURATION : 'defaultDuration',
ASSIGNABLEROLES : 'assignableRoles',
DISABLEGRADEHISTORY : 'disableGradeHistory',
RECOVERGRADESDEFAULT : 'recoverGradesDefault'
RECOVERGRADESDEFAULT : 'recoverGradesDefault',
ENROLCOUNT : 'enrolCount',
PERPAGE : 'perPage'
};
/** CSS classes for nodes in structure **/
var CSS = {
@@ -304,6 +306,9 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
params['action'] = 'searchusers';
params['search'] = this.get(UEP.SEARCH).get('value');
params['page'] = this.get(UEP.PAGE);
params['enrolcount'] = this.get(UEP.ENROLCOUNT);
params['perpage'] = this.get(UEP.PERPAGE);
if (this.get(UEP.MULTIPLE)) {
alert('oh no there are multiple');
} else {
@@ -371,7 +376,7 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
var content = create('<div class="'+CSS.SEARCHRESULTS+'"></div>')
.append(create('<div class="'+CSS.TOTALUSERS+'">'+usersstr+'</div>'))
.append(users);
if (result.response.totalusers > (this.get(UEP.PAGE)+1)*25) {
if (result.response.totalusers > (this.get(UEP.PAGE)+1)*this.get(UEP.PERPAGE)) {
var fetchmore = create('<div class="'+CSS.MORERESULTS+'"><a href="#">'+M.str.enrol.ajaxnext25+'</a></div>');
fetchmore.on('click', this.search, this, true);
content.append(fetchmore)
@@ -379,7 +384,7 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
this.setContent(content);
Y.delegate("click", this.enrolUser, users, '.'+CSS.USER+' .'+CSS.ENROL, this, args);
} else {
if (result.response.totalusers <= (this.get(UEP.PAGE)+1)*25) {
if (result.response.totalusers <= (this.get(UEP.PAGE)+1)*this.get(UEP.PERPAGE)) {
this.get(UEP.BASE).one('.'+CSS.MORERESULTS).remove();
}
}
@@ -415,6 +420,8 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
args.userNode.addClass(CSS.ENROLLED);
args.userNode.one('.'+CSS.ENROL).remove();
this.set(UEP.REQUIREREFRESH, true);
var countenrol = this.get(UEP.ENROLCOUNT)+1;
this.set(UEP.ENROLCOUNT, countenrol);
}
} catch (e) {
new M.core.exception(e);
@@ -527,6 +534,14 @@ YUI.add('moodle-enrol_manual-quickenrolment', function(Y) {
},
recoverGradesDefault : {
value : ''
},
enrolCount : {
value : 0,
validator : Y.Lang.isNumber
},
perPage : {
value: 25,
Validator: Y.Lang.isNumber
}
}
});