Course Request Manager

Blocks ::: block_cmanager
Maintained by Kyle Goslin, Daniel McSweeneyDaniel Mc Sweeney
Do you struggle to manage requests for moodle courses from your users? No more!! Course Request Manager allows you to create custom request forms with mandatory or optional fields. The tool allows for quick approval of course requests and can automatically send users details of their new courses including enrollment keys etc. Simplify your admin role by installing this essential plugin!
Latest release:
148 sites
45 fans
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. Quick approve requests
  3. Auto assign request authors as teachers on approved courses
  4. Manage multiple course requests
  5. Automatically send confirmation emails
  6. Attach comments to requests
  7. Bulk request operations (new in version 3)
  8. View request history etc
  9. Design custom notification emails
  10. Set fields to mandatory or optional (new in version 3)
  11. Allow manager and course creator roles to approve requests (new in version 4.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 (screen casts for version 4.x will follow)

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.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7
Screenshot #8
Screenshot #9


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

Comments RSS

Show comments
  • Mon, Dec 5, 2016, 2:34 PM

    I would like to add the file upload element to the plugin so that the person requesting a course can also upload a file on the second form. Could you please tell me which files to edit so that I can do this?

    Thank you very much smile
  • Tue, Apr 4, 2017, 11:57 PM

    We are wanting to use this plugin, however upon clicking/using any of the links within the block regardless of where we set the block to appear on the page, the block expands at the far right of the screen making the format of the page/site and block pretty unreadable. We are using the adaptable theme with the latest version of Moodle.
  • Hi! Congratulations for the awesome plugin.

    Do you plan to update for Moodle 3.1 and 3.3?

    Thank you!
  • Fri, Sep 15, 2017, 7:11 AM
    For the record, I made the change suggested by Daniel on May 3, 2016 and the installation occurred in 3.2 without any problem. I'm now testing the plugin, which I've never used before, so I'm also getting to know it.
  • Thu, Sep 28, 2017, 8:57 PM
    On Moodle 3.2.5, when I try to 'approve' a request as Admin, I've got this error: "coursecat".Any idea to fix that?

    Thanks you.
  • Thu, Oct 12, 2017, 5:29 AM
    event after adding $plugin->component = 'block_cmanager'; in moodle 3.3 their is no luck plugin not able to install
  • Ricardo Caiado
    Fri, Sep 14, 2018, 8:29 PM

    I'm unable to install CRM. I've got this error message:

    Debug info: Errors found in XMLDB file: PATH attribute does not match file directory: blocks/cmanager/db
    Error code: ddlxmlfileerror
    Stack trace:

    line 352 of /lib/ddl/database_manager.php: ddl_exception thrown
    line 368 of /lib/ddl/database_manager.php: call to database_manager->load_xmldb_file()
    line 970 of /lib/upgradelib.php: call to database_manager->install_from_xmldb_file()
    line 514 of /lib/upgradelib.php: call to upgrade_plugins_blocks()
    line 1857 of /lib/upgradelib.php: call to upgrade_plugins()
    line 694 of /admin/index.php: call to upgrade_noncore()

    Any idea?

  • Mon, Sep 17, 2018, 4:10 PM
    I have the same error message. I assume you are not running Windows - the PATH attribute in blocks/cmanager/db/install.xml uses a backslash (\, used only by Windows) instead of the multi-platform slash (/) as the path separator. After replacing this in install.xml (line 2), the installation proceeded as expected.
  • Mon, Sep 17, 2018, 5:43 PM
    Thanks for that Guido! Changes have been made to the current release of cmanager for this.

  • Ricardo Caiado
    Mon, Sep 17, 2018, 7:00 PM
    Installation sucesssful!
  • Ricardo Caiado
    Mon, Sep 17, 2018, 8:36 PM
    But I got this error message when I click on "/blocks/cmanager/cmanager_admin_arch.php"

    Debug info: ERROR: LIMIT #,# syntax is not supported
    LINE 3: ... order by id desc LIMIT 0, 1...
    HINT: Use separate LIMIT and OFFSET clauses.
    SELECT * FROM mdl_block_cmanager_records
    WHERE status = 'COMPLETE' OR status = 'REQUEST DENIED'
    order by id desc LIMIT 0, 10
    [array (
    Error code: dmlreadexception
    Stack trace:

    line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
    line 248 of /lib/dml/pgsql_native_moodle_database.php: call to moodle_database->query_end()
    line 859 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->query_end()
    line 220 of /blocks/cmanager/cmanager_admin_arch.php: call to pgsql_native_moodle_database->get_records_sql()
    line 204 of /lib/formslib.php: call to block_cmanager_adminarch_form->definition()
    line 244 of /blocks/cmanager/cmanager_admin_arch.php: call to moodleform->__construct()

    Moodle 3.5.2+
    Apache 2.4
    PHP 7
    Postgresql 9.3

  • Mon, Sep 17, 2018, 8:43 PM
    The LIMIT in Postgresql is different from the MySQL version. There an SQL command in cmanager_admin_arch.php that references the LIMIT command. Line 218: you can remove "desc LIMIT $fromLimit, $toLimit" until a workout is made for this.
  • Ricardo Caiado
    Mon, Sep 17, 2018, 8:57 PM
    Thanks! It workout!
  • Tue, Mar 31, 2020, 10:04 PM
    Just to see where this is all going: are you planning to continue updating and supporting the block/module/plugin ? If yes, I will be sharing multiple error messages I get with my 3.8.2+
  • Mon, Feb 15, 2021, 1:30 AM
    Hi, thanks for the block, I am asking if there is any plan to support moodle 3.10?
1 2 3 4 5
Please login to post comments