Your Moodle version

Blocks: Course Request Manager

Maintained by Picture of Kyle Goslin Kyle Goslin, Daniel McSweeney Daniel Mc Sweeney
This block allows administrators to design custom course request forms with up to 15 form fields. It improves workflow by providing users with access to a centralized course request facility and allows administrators to manage all course requests from one simple admin page.
Moodle 2.1, 2.2, 2.3, 2.4, 2.5, 2.6


A real time saver for site admins who needs to process requests for new course setups.  The course request manager block allows the admin to easily design and deploy custom course request forms which 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, check boxes 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.



The block also contains a suite of features for managing, approving and commenting on requests.

  1. Design custom request forms
  2. Manage course requests
  3. Bulk approval of course requests (new in version 3)
  4. Automatically send confirmation emails
  5. Attach comments to requests
  6. Bulk request operations (new in version 3)
  7. View request history etc
  8. Design custom notification emails
  9. Set fields to mandatory or optional (new in version 3)

The block is designed to improve workflow in managing and approving course requests.

It has been developed by Daniel McSweeney and Kyle Goslin from the Institute of Technology Blanchardstown, Dublin


== Screencasts (Version 3) ==

A series of short screencasts on the setup and use of course request manager version 3.x for moodle

Setting the admin settings
A quick overview of the various administrator settings for course request manager.

eMail Configuration
Setting the eMail configuration options for the course request manager block for moodle 2.

Setting up  the request form - page 1
Setting the configuration options for the first page of the course request form.

Setting up  the request form - page 2
Setting the configuration options for the second page of the course request form.

Making Requests - User Perspective
An overview of the request process from an end user perspective.

Managing Requests - Admin Perspective
An overview of the request management process from an administrator perspective.




Picture of Kyle Goslin
Kyle Goslin (Lead maintainer)
Daniel McSweeney
Daniel Mc Sweeney
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of John Keisers
    Tue, Mar 26, 2013, 8:04 PM
    There seems to be an issue with escaping the values of items added to drop-down lists in the forms. I had to escape the apostrophe chaacter using the numeric character reference.
  • Picture of ross anderson
    Thu, Aug 1, 2013, 3:37 AM
    Ive just installed this on a standard 2.5 install with the 'Clean' theme. Just about everything works fine apart from the form fields on Page 2 of the request form. Every time i add a new field, type in the name and click save it asks me to either 'stay on page' or 'leave the page'. Whichever one i click it wipes the name out of the field. Ive tried this on chrome, Firefox and Safari all on the Mac. Also tried on an ipad but doesn't save the field. Any ideas?
  • Picture of Kyle Goslin
    Fri, Aug 2, 2013, 6:14 PM
    @John Keisers - thank you for the comments regarding the escaping. This has been fixed and will be in the next release!
  • Picture of Kyle Goslin
    Fri, Aug 2, 2013, 6:14 PM
    @ross anderson - This has been fixed and will be in the next release. Thank you for the feedback!
  • Picture of Josh Trutwin
    Tue, Sep 10, 2013, 10:51 PM
    Anyone else get this error when they attempt to upgrade database?

    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()
  • Picture of Kyle Goslin
    Wed, Sep 11, 2013, 4:45 PM
    @Josh The minimum required Moodle was made lower, and moodle seems to handle it funny, If you remove the older version of CRM (the one from the blocks admin page) and then add the new one, this problem should be resolved.
  • Picture of Chris Chapman
    Thu, Sep 12, 2013, 4:40 PM
    just installed on 2.5 any reason the images dont display on the block- I havnt changed any settings yet.
  • Picture of Kyle Goslin
    Thu, Sep 12, 2013, 5:10 PM
    @Chris if you can send over a URL to the image (the URL thats now showing, I can take a look!)
  • Picture of Josh Trutwin
    Fri, Sep 13, 2013, 1:30 AM
    Thanks @Kyle Goslin - that worked, though I had to dump the cmanager tables and re-import them after the new version installed. I was hoping it would fix an issue I'm having. If I have this Admin setting enabled:

    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));

    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.

  • Picture of Kyle Goslin
    Fri, Sep 20, 2013, 8:08 PM
    Thank you @Josh for the update!

    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,
  • Picture of Josh Trutwin
    Mon, Sep 30, 2013, 9:40 AM
    Kyle, for what it's worth my patches were against moodle 2.4. I haven't tried the module yet with 2.5, we are waiting to upgrade until next term. Thanks.

  • Picture of Alexander Deichman
    Sun, Nov 24, 2013, 10:47 AM
    I'm having some difficulties with visual styles of this plugin/block. I use Moodle 2.5 with Splash theme. In the block, the images are referenced directly following a certain assumption of plug-in location. Ex.: "../blocks/cmanager/icons/make_req.ico" In my case, I get an X. Could it be possible to modify the block and use image.php to get the files?
  • Picture of Alexander Deichman
    Sun, Nov 24, 2013, 11:51 AM
    I have posted a suggestion on github for changes in block_cmanager.php
  • Picture of Guido Roessling
    Wed, Feb 19, 2014, 5:11 PM
    I would appreciate if the enrolment key were optional, so that the administrator could select side-wide that no enrolment key is requested. This would work better for our local installation...
  • Picture of Kyle Goslin
    Tue, Apr 1, 2014, 11:18 PM
    @Guido - This will be in version 4.0. Thank you!
1 2
Please login to post comments