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, 2.7


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 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!
  • Picture of Jürg Hoerner
    Wed, Aug 6, 2014, 2:46 AM
    In 2.7 Configuration are not saved. As example: New discription of a Short Name.
    Also new fields are not saved.
    DB postgres not tested on my sql DB
  • Picture of Jürg Hoerner
    Wed, Aug 6, 2014, 2:51 AM
    I can save configurations on the second page.
  • Picture of Mia M
    Thu, Aug 21, 2014, 7:35 PM
    Question - since most of my form fields are required I would rather not use red for the required field text. How to change that? I would then just put an asterisk next to each required field. I can't seem to find an attribute for this in the CSS or the form code.
  • Daniel
    Sun, Nov 2, 2014, 9:19 PM
    Even activating the course requests and connecting me with the name of a teacher I get the following message: error/Sorry you cannot request a course

    Thank you for your response.
  • Daniel
    Wed, Nov 5, 2014, 4:41 PM
    Are you there?
  • Daniel
    Tue, Nov 11, 2014, 7:45 PM
    Version 4.2 seems to generate an error on 2.7.2 but version 4.1 seems to work.
    To be continued ...
  • Picture of Chris Chapman
    Fri, Nov 28, 2014, 7:55 PM
    Hi, have been using this block successfully for a while, but now want a new member of staff with 'manager' role to deal with requests, have looked at all permissions and for the life of me cant get it show admin options! any ideas?
1 2 3
Please login to post comments