$mform->setType('emailcontent', PARAM_RAW);
$mform->addHelpButton('emailcontent', 'emailcontent', 'mod_attendance');
- $users = get_users_by_capability(context_course::instance($COURSE->id), 'mod/attendance:viewreports');
+ $users = get_users_by_capability(context_course::instance($COURSE->id), 'mod/attendance:warningemails');
$options = array();
foreach ($users as $user) {
$options[$user->id] = fullname($user);
if (!empty($record->thirdpartyemails)) {
$sendto = explode(',', $record->thirdpartyemails);
$record->percent = round($record->percent * 100)."%";
+ $context = context_module::instance($record->cmid);
foreach ($sendto as $senduser) {
- if (empty($thirdpartynotifications[$senduser])) {
- $thirdpartynotifications[$senduser] = array();
- }
- if (!isset($thirdpartynotifications[$senduser][$record->aid.'_'.$record->userid])) {
- $thirdpartynotifications[$senduser][$record->aid.'_'.$record->userid] = get_string('thirdpartyemailtext', 'attendance', $record);
+ // Check user is allowed to receive warningemails.
+ if (has_capability('mod/attendance:warningemails', $context, $senduser)) {
+ if (empty($thirdpartynotifications[$senduser])) {
+ $thirdpartynotifications[$senduser] = array();
+ }
+ if (!isset($thirdpartynotifications[$senduser][$record->aid . '_' . $record->userid])) {
+ $thirdpartynotifications[$senduser][$record->aid . '_' . $record->userid] = get_string('thirdpartyemailtext', 'attendance', $record);
+ }
+ } else {
+ mtrace("user".$senduser. "does not have capablity in cm".$record->cmid);
}
}
}
'manager' => CAP_ALLOW
)
),
+ // Users that can receive extra warning e-mails.
+ 'mod/attendance:warningemails' => array(
+ 'riskbitmask' => RISK_DATALOSS,
+
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_MODULE,
+ 'archetypes' => array(
+ 'teacher' => CAP_ALLOW,
+ 'editingteacher' => CAP_ALLOW,
+ 'manager' => CAP_ALLOW
+ )
+ )
);
$string['attendance:view'] = 'Viewing Attendances';
$string['attendance:viewreports'] = 'Viewing Reports';
$string['attendance:viewsummaryreports'] = 'View course summary reports';
+$string['attendance:warningemails'] = 'Can be subscribed to emails with at-risk users';
$string['attendance_already_submitted'] = 'You may not self register attendance that has already been set.';
$string['attendancedata'] = 'Attendance data';
$string['attendanceforthecourse'] = 'Attendance for the course';
*/
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2017062200;
+$plugin->version = 2017062201;
$plugin->requires = 2017042100;
$plugin->release = '3.3.9';
$plugin->maturity = MATURITY_ALPHA;