2 This file is part of Moodle - http://moodle.org/
4 Moodle is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 Moodle is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 @template core_message/message_preferences
20 The message preferences page
22 Classes required for JS:
25 Data attibutes required for JS:
26 * All data attributes are required
28 Context variables required for this template:
29 * userid The logged in user id
30 * disableall If the user has disabled notifications
31 * components The list of notification components
32 * privacychoices The choice options for the contactable privacy setting
34 Example context (json):
42 "displayname": "Notices about minor problems",
43 "preferencekey": "message_provider_moodle_notices",
44 "onlinehelphtml": "<p>some help HTML</p>",
45 "offlinehelphtml": "<p>some help HTML</p>",
48 "displayname": "Popup notification",
54 "displayname": "When I'm logged in",
60 "displayname": "When I'm offline",
73 "text": "My contacts only",
78 "text": "Anyone within courses I am a member of",
84 <div class="preferences-page-container" data-region="preferences-page-container">
85 <h2>{{#str}} messagepreferences, message {{/str}}</h2>
86 <div class="privacy-setting-container"
87 data-user-id="{{userid}}"
88 data-region="privacy-setting-container"
89 data-preference-key="message_blocknoncontacts">
90 <p>{{#str}} contactableprivacy, message {{/str}}</p>
92 <input id="action-selection-option-{{value}}"
94 name="message_blocknoncontacts"
96 {{#checked}}checked="checked"{{/checked}}/>
97 <label for="action-selection-option-{{value}}">{{text}}</label>
101 <div class="preferences-container {{#disableall}}disabled{{/disableall}}"
102 data-user-id="{{userid}}"
103 data-region="preferences-container">
104 <table class="table table-hover preference-table" data-region="preference-table">
107 {{> message/message_preferences_component }}
114 require(['jquery', 'core_message/message_preferences'],
115 function($, MessagePreferences) {
117 new MessagePreferences($('[data-region="preferences-page-container"]'));