Course Request Manager

Blocks ::: block_cmanager
Maintained by Michael Milette
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:
96 sites
19 downloads
46 fans
Current versions available: 3

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:

  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
  8. View request history etc.
  9. Design custom notification emails
  10. Set fields to mandatory or optional
  11. 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.

Screenshots

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

Contributors

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

Comments RSS

Comments

  • John Keisers
    Tue, 26 Mar 2013, 7:52 PM
    Fields sdded to the form after the initial form creation end up on top of the page. In course-new.php, the query

    $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.
  • John Keisers
    Tue, 26 Mar 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.
  • ross anderson
    Thu, 1 Aug 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?
  • Kyle Goslin
    Fri, 2 Aug 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!
  • Kyle Goslin
    Fri, 2 Aug 2013, 6:14 PM
    @ross anderson - This has been fixed and will be in the next release. Thank you for the feedback!
  • Josh Trutwin
    Tue, 10 Sept 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()
  • Kyle Goslin
    Wed, 11 Sept 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.
  • Chris Chapman
    Thu, 12 Sept 2013, 4:40 PM
    just installed on 2.5 any reason the images dont display on the block- I havnt changed any settings yet.
  • Kyle Goslin
    Thu, 12 Sept 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!)
  • Josh Trutwin
    Fri, 13 Sept 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));
    }
    $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
  • Kyle Goslin
    Fri, 20 Sept 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,
    Kyle.
  • Josh Trutwin
    Mon, 30 Sept 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.

    Josh
  • Alexander Deichman
    Sun, 24 Nov 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?
  • Alexander Deichman
    Sun, 24 Nov 2013, 11:51 AM
    I have posted a suggestion on github for changes in block_cmanager.php
  • Guido Roessling
    Wed, 19 Feb 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...
Please login to post comments