Moodle plugins directory: Course Request Manager | Moodle.org
Course Request Manager
Update (January 2022): Please note that I recently adopted this plugin. Until I update this page with an updated version of the plugin, description, documentation and screenshots, please feel free to download an updated version of Course Request Manager from GitHub which is compatible with Moodle 3.7+. Please report any issues in the Issue Tracker.
Description
Course Request Manager is a real timesaver for site admins who needs to process requests for new course setups. The Course Request Manager block allows the administrators to easily design and deploy custom course request forms that can be used by users with appropriate permissions.
Unlike the moodle core request feature, which uses a single text box for information on the request, Course Request Manager allows the administrator to design course request forms with up to 15 form fields for gathering request data from a user. Form elements may include text areas, text fields, drop-down lists, checkboxes etc. Forms can be created and managed using a simple and easy-to-use form editor.
The block is ideally suited for administrators who want to deploy an internal moodle request system and avoid requests sent via email or other communication methods. It aims to improve on the core request feature by adding the ability to custom design request forms.
Features
The Course Request Manager block contains a suite of features for managing, approving and commenting on requests:
- Design custom request forms
- Quick approve requests
- Auto-assign request authors as teachers on approved courses
- Manage multiple course requests
- Automatically send confirmation emails
- Attach comments to requests
- Bulk request operations
- View request history etc.
- Design custom notification emails
- Set fields to mandatory or optional
- Allow manager and course creator roles to approve requests
The block is designed to improve workflow in managing and approving course requests.
This plugin was initially developed by Daniel McSweeney and Kyle Goslin from the Institute of Technology Blanchardstown, Dublin.
$formFields = $DB->get_records('block_cmanager_formfields',array('formid'=>$formId));
should be:
$formFields = $DB->get_records('block_cmanager_formfields', array('formid'=>$formId), $sort='position ASC');
Thank you.
Cannot downgrade block_cmanager from 2013041131 to 2013041131.
Debug info:
Error code: cannotdowngrade
Stack trace: ◦line 258 of /lib/upgradelib.php: downgrade_exception thrown
◦line 30 of /blocks/cmanager/db/upgrade.php: call to upgrade_block_savepoint()
◦line 813 of /lib/upgradelib.php: call to xmldb_block_cmanager_upgrade()
◦line 362 of /lib/upgradelib.php: call to upgrade_plugins_blocks()
◦line 1544 of /lib/upgradelib.php: call to upgrade_plugins()
◦line 349 of /admin/index.php: call to upgrade_noncore()
Site Administration -> Plugins -> Enrolments -> Self enrolment -> Add instance to new courses
Then there is a bug in that the user provided enrollment key is not shown on the course edit page. The reason is that when the new course is created it adds a self-enrollmnet method automatically with a random key. When CRM adds it's self-enrollment method with the key provided by the user, it is not first in the default sort order so it is effectively hidden. I worked around this by adding this hack code to lib/course_lib.php before you call $DB->insert_record('enrol', $enrollmentRecord);
// disable all other existing self enrol methods, including any auto generated when
// new course created due to the "Add instance to new courses" setting being enabled for self enrollments.
// This way the new record added below will be the active one.
$rs = $DB->get_recordset('enrol', array('enrol' => 'self', 'courseid' => $nid));
foreach ($rs as $self_enrol) {
$DB->update_record('enrol', array('id' => $self_enrol->id, 'status' => 1));
}
$rs->close();
It would be nice if CRM could handle this situation. Let me know if you have any questions about the issue or if you prefer a bud filed.
Josh
In Moodle 2.5 a new field had been added called "customint6", this cause some issues with CRM, as before this it did not exist!
A new version of CRM is available now resolving the self enrollment issues!
Thank you,
Kyle.
Josh