diff --git a/classes/event/course_module_instance_list_viewed.php b/classes/event/course_module_instance_list_viewed.php
new file mode 100644
index 0000000..b3935e0
--- /dev/null
+++ b/classes/event/course_module_instance_list_viewed.php
@@ -0,0 +1,50 @@
+.
+
+/**
+ * The mod_attendance instance list viewed event.
+ *
+ * @package mod_attendance
+ * @copyright 2018 Dan Marsden
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace mod_attendance\event;
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * The mod_attendance instance list viewed event class.
+ *
+ * @package mod_attendance
+ * @copyright 2018 Dan Marsden
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class course_module_instance_list_viewed extends \core\event\course_module_instance_list_viewed {
+ /**
+ * Create the event from course record.
+ *
+ * @param \stdClass $course
+ * @return course_module_instance_list_viewed
+ */
+ public static function create_from_course(\stdClass $course) {
+ $params = array(
+ 'context' => \context_course::instance($course->id)
+ );
+ $event = \mod_attendance\event\course_module_instance_list_viewed::create($params);
+ $event->add_record_snapshot('course', $course);
+ return $event;
+ }
+}
diff --git a/index.php b/index.php
index f699052..245b4e0 100644
--- a/index.php
+++ b/index.php
@@ -30,11 +30,64 @@ $course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST);
require_login($course);
$PAGE->set_url('/mod/attendance/index.php', array('id' => $id));
+$PAGE->set_pagelayout('incourse');
-// TODO: check if this is correct behaviour - other modules list all the instances of the module in the course.
-if ($att = get_all_instances_in_course('attendance', $course, null, true)) {
- $att = array_pop($att);
- redirect("view.php?id=$att->coursemodule");
+\mod_attendance\event\course_module_instance_list_viewed::create_from_course($course)->trigger();
+
+// Print the header.
+$strplural = get_string("modulename", "attendance");
+$PAGE->navbar->add($strplural);
+$PAGE->set_title($strplural);
+$PAGE->set_heading($course->fullname);
+echo $OUTPUT->header();
+echo $OUTPUT->heading(format_string($strplural));
+
+$context = context_course::instance($course->id);
+
+require_capability('mod/attendance:view', $context);
+
+if (! $atts = get_all_instances_in_course("attendance", $course)) {
+ $url = new moodle_url('/course/view.php', array('id'=>$course->id));
+ notice(get_string('thereareno', 'moodle', $strplural), $url);
+ die;
+}
+
+$usesections = course_format_uses_sections($course->format);
+
+// Print the list of instances,
+
+$timenow = time();
+$strname = get_string("name");
+
+$table = new html_table();
+
+if ($usesections) {
+ $strsectionname = get_string('sectionname', 'format_'.$course->format);
+ $table->head = array ($strsectionname, $strname);
+ $table->align = array ("center", "left");
} else {
- print_error('notfound', 'attendance');
+ $table->head = array ($strname);
+ $table->align = array ("left");
}
+
+foreach ($atts as $att) {
+ //get the responses of each feedback
+ $viewurl = new moodle_url('/mod/attendance/view.php', array('id'=>$att->coursemodule));
+
+ $dimmedclass = $att->visible ? '' : 'class="dimmed"';
+ $link = ''.$att->name.'';
+
+ if ($usesections) {
+ $tabledata = array (get_section_name($course, $att->section), $link);
+ } else {
+ $tabledata = array ($link);
+ }
+
+ $table->data[] = $tabledata;
+}
+
+echo "
";
+
+echo html_writer::table($table);
+
+echo $OUTPUT->footer();
\ No newline at end of file
diff --git a/version.php b/version.php
index 584c9a6..5f83ac7 100644
--- a/version.php
+++ b/version.php
@@ -23,7 +23,7 @@
*/
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2018072700;
+$plugin->version = 2018072701;
$plugin->requires = 2018050800; // Requires 3.5.
$plugin->release = '3.5.1';
$plugin->maturity = MATURITY_ALPHA;