Note: You are currently viewing documentation for Moodle 2.6. Up-to-date documentation for the latest stable version of Moodle may be available here: ELIS Class request and approval.

ELIS Class request and approval

From MoodleDocs

ELIS Class Request

The ELIS Class Request block is designed to enable managers to request new training courses or new classes of existing courses from a central training organization with the general workflow below:

elis classrequest workflow.png


In the example above:

  1. A department decides they would like the training department or registrar to provide a new course that is not currently available to them.
  2. They then go to a configurable request form and fill in the fields the site administrator has setup - these can be standard fields or custom fields that the administrator has setup, for example units, dates and times, department, location, etc.
  3. The Training Department is notified that there is a new course request, and can approve or deny the request.
  4. If they approve, the class is created and the requesting user is set as the Class Manager.
  5. The Class then appears on the requesting user's list of classes they manage, and they can now enroll users in the class, etc.


The subsequent pages in this document explain each step in more detail.

Class Request Settings

To access the class request settings go to the Settings block > Site Administration > Plugins > Blocks > Class Request. That will open the following screen.

elis classrequest settings.png
  1. If this is set to a role, then the person who requests a new course will be assigned this role on the Roles tab of the new course, if the course request is approved.
  2. If this is set to a role, then the person who requests a new class will be assigned this role on the Roles tab of the new class, if the class request is approved.
  3. If this is checked , then the new ELIS class will have a Moodle course created for it from the template course set in the ELIS Course settings *(if there is one).
  4. If this is checked the the request form shows Course fields from the ELIS course settings page and custom fields.
  5. If this is checked the request form shows Class fields from the ELIS class settings page and custom fields.
  6. If this is checked, when a new course is approved a class of that course will be created. If it is not set, then no class will be created when the course is approved.
  7. Select the Save changes button to save any changes made to the settings.


Assigning Roles

Site administrators will have full access to the class request capabilities. Other users that need class request capabilities should be assigned a role with one or more of the class request permissions allowed. There are three class request permissions, they're located in the Class Request section of the permissions listing.

  1. Approve class request - block/course_request:approve
  2. Configure class request form - block/course_request:config
  3. Request creation of new classes - block/course_request:request
elis classrequest permissions.png

Creating Roles


Note: this is a set of example roles for using the Class Request/Approval system - Remote-Learner can set up roles for you as part of your ELIS training session from Remote-Learner learning services. If you wish to have Class Request/Approval roles setup for you, please let us know.

The following 3 roles will be used to demonstrate how to setup and use Class Request/Approval. The first role, Site Manager, will be assigned to a user similar to an admin user, but with less permissions. The Site Manager will manage class approval and class creation.

The Request Manager and Class Manager roles will be used together, these roles will be used by the class requester. The combination of the two roles gives the user the necessary permissions and restrictions. This user is intended to have class request permissions at the site level, but only have access to manage classes that they requested and that were approved. That is why two roles are needed, one for site level access and one for class level access. The class requester will be assigned the Request Manager role at the site level, then when classes the user requested are approved the Site Manager will assign the requester the Class Manager role in approved classes.

If a role is assigned the class request and class approval permissions then users in that role will have their class request automatically approved when submitted.

Class requests can be filtered by ELIS components - for example a Request Manager might be given permission to request classes only from courses in programs she/he is assigned to. To utilize this feature, assign the Request Manager (or similar role) below at the ELIS Programs level instead of at the site level.

Site Manager

This role will be used to manage all class request and create classes. It is assigned at the system level. To create this role go to the Settings block > Site Administration > Users > Permissions > Define roles > then select the 'Add a new role' button at the bottom of the page.

The following image shows the beginning of the add a role page. I've added the role's name and shortname, and set the following permissions to allow for this role:

  • Class Request
    • Approve class requests
    • Configure class request form
    • Request creation of new classes
  • ELIS Program
    • Set all the ELIS program permissions to allow except the notifications and delete users permissions.
  • Course Categories
    • Manage categories
    • See hidden categories
    • Create courses
  • Course
    • View courses without participation
    • View hidden courses
    • View hidden sections
    • Hide/show courses
    • Assign roles to users - this permission allows this role to assign roles in new classes, e.g., a class manager
elis classrequest sitemanagerrole.png

An additional setting must be enabled once this role is created. Select the Allow role assignments tab to open a page where this role can be given permission to assign selected roles.

elis classrequest sitemanagerrole2.png

Users assigned to this role can edit the class request page, approve/deny pending requests, and assign roles in the new classes.

To assign this role to a user at the site level go to the Administration block > Site Administration > Users > Permissions > Assign system roles.

The following image is showing the view the Site Manager role has of the Class Request block.

elis classrequest block.png

Request Manager

This role will be used to give the class requester access to the Class Request block. It is assigned at the system level. This role has one permission in the Class Request section, request creation of new classes.

elis classrequest requestmanagerrole.png

The following image is showing the view the Request Manager role will have of the Class Request block. User's assigned to this role will be able to access the Class Request Page only. From the class request page users assigned this role will be able to request courses and classes.

Note: If a role has "Allow" set for both "Request Creation of New Classes" and "Approve Class Requests", then classes are created automatically when requested. This setting turns the Class Request block into a customizable Class Creation form.

elis classrequest block requester.png

Class Manager

This role will be used to give the Request Manager access to classes and permission to manage class enrollments. It is assigned to a user in classes that they requested and were approved. This role could be assigned at the site level also, giving the user access to manage all class enrollments. I've set the following two permissions to allow for this role:

  • ELIS Program
    • Manage class enrollments
    • View classes
elis classrequest classmanagerrole.png
  1. Set this to allow if you want the Enrollment Manager to be able to enroll any user on the site
  2. Set this to allow (and don't set #1 to allow) to enable the Class Manager to only enroll users in the same organizational user set(s) as she/he is a member of.
  3. Set this to allow to enable the user to view classes - if you don't set "View classes" to allow for this role, then the user won't be able to see his/her classes in ELIS.


The following pages will demonstrate how these roles will be used with Class Request/Approval.

Class Request Edit Form

The Edit Request Page allows the user to add/delete custom course and class fields from the Create New Request form. In order to add custom course and class fields the settings must be enabled. To enable the settings go to the Site Administration block > Modules > Blocks > Class Request and select the checkboxes for "Use Course Fields" and "Use Class Fields".

Any user assigned a role with the permission for editing the class request page is able to edit the class request page by selecting the Edit Request Page link from the Class Request block. For this example I've logged in as a user assigned the Site Manager role at the system level.

elis classrequestblock editlink.png

Edit Request Page

The following image shows the Edit Request page.

elis classrequest editrequestpage.png
  1. These are Course fields you have already added to the form (if you have turned off Course Field display in the settings, you won't see these on the form) - to change the value of an existing field, select a new value from the drop down menu and apply changes.
  2. If you want more course fields on the form, you can use this button to add another one.
  3. If you want to delete a custom field that has already been added to the form select the Delete button.
  4. These are Class fields you have already added to the form (if you have turned off Class Field display in the settings, you won't see these on the form).
  5. If you want more class fields on the form, you can use this button to add another one.
  6. Click "Apply changes" to update the form, "Revert changes" will reset the form back to where it was when you started.

If you see a blank drop down after adding a class or course field, that is because no custom Class or Course fields have been added to the site.

Adding Custom Class Fields

To add custom class fields you have to go to the Program Management block > Admin > Custom fields. Select the Class tab at the top of the page, then select the Create a new field button.

There must be a category on this screen for the Create a new field button to appear, because the new field must be assigned to a category. If there isn't a category there will be one extra step, create a category. Select the 'Create a new category' button, give the new category a name, then Save Changes.

The next two images show the create a new field screen. There are two required settings, the shortname and name.

elis classrequest createclassfield.png

This second image is showing the settings for this new field.

elis classrequest createclassfield2.png

Notes for custom class fields:

  • If you use text as the data type, and checkbox as the input control type, the custom field will be presented as a list or multi-select list if multivalued is selected.
  • If you use "Boolean (Yes/No)" as the datatype, and checkbox as the input control type, the custom field will be presented as a checkbox.


Once I save changes, the custom field is added to the Class tab of the Custom Fields section.

elis classrequest customclassfields.png

The process is the same as for custom class fields, use the Course tab instead of the class tab.