Skip to content
jpeak5 edited this page Nov 13, 2013 · 7 revisions

The UES enrollment module fires off several events that can be handled by outside blocks and modules. This is particularly useful for maintaining database integrity or modifying the enrollment process:

Core Events

Core events are events already being fire within Moodle. These events are fired from UES to maintain consistent behavior from UES and Moodle.

  • User Events

  • user_created

  • user_updated: only Moodle fields ... this excludes meta information

  • user_enrolled

  • user_unenrolled

  • Role Events

  • role_assigned

  • role_unassigned

  • Course Events

  • course_created

  • Group Events

  • groups_group_created

  • groups_group_deleted

  • groups_member_added

  • groups_member_removed

UES Events

The UES fires its own events. The primary goal of these events is to allow extensions to modify or observe the enrollment process without having to change the UES core code. The secondary goal is to allow extensions to maintain database integrity (namely if a semester is manually removed or something similar).

###Custom Events

event description
ues_semester_process A ues_semester object is about to be stored in the database.
ues_course_process A ues_course object is about to be stored in the database.
ues_section_process A ues_section object is about to be stored in the database.
ues_teacher_process A ues_teacher object is about to be stored in the database, and/or marked to be enrolled during manifestation.
ues_student_process A ues_student object is about to be stored in the database, and/or marked to be enrolled during manifestation.
ues_teacher_release A ues_teacher object is about to be marked as pending to be unenrolled
ues_student_release A ues_student object is about to be marked as pending to be unenrolled
ues_primary_change One teacher was demoted and another promoted to the primary instructor role. Handle a collection containing a section, old_teacher and new_teacher, which is a ues_section and ues_teacher objects.
ues_teacher_enroll A teacher is enrolled into a section during manifestation. Handle a collection containing a teacher and section, which is a ues_teacher object and a ues_section, respectively.
ues_student_enroll A student is enrolled into a section during manifestation. Handle a collection containing a student and section, which is a ues_student object and a ues_section, respectively.
ues_teacher_unenroll opposite of enroll
ues_student_unenroll opposite of enroll
ues_course_create denotes this course was created by UES
ues_group_emptied denotes that the group was emptied as a result of a section drop or something similar
ues_course_severed This event is fired when a course in Moodle will be dropped from automatic enrollment
ues_semester_drop A Moodle admin manually deleted a ues_semester and all associated data.
ues_section_drop Happens during the semester drop. An extension can choose to handle a section instead of a semester.
ues_course_settings_navigation Fired when loading the settings block. Handlers of this event are given the navigation node and the enrollment instance.
ues_course_edit_form Gives extensions the ability to add controls in the course Edit settings form.
ues_course_edit_validation Gives extensions the ability to validation their own additions

###Subplugin integration

event Description
ues_list_provider handlers would add their plugin to $data->plugins
ues_load_{name}_provider handlers would change the $data->provider_class appropriately, and load any library code needed by the provider.
Clone this wiki locally