Merge branch 'MDL-73169-integration-master' of git://github.com/mihailges/moodle
[moodle.git] / message / templates / message_preferences.mustache
blobe966969c7e48d78690e62545fb84d80321b22e8d
1 {{!
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/>.
17 {{!
18     @template core_message/message_preferences
20     The message preferences page
22     Classes required for JS:
23     * None
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):
35     {
36         "userid": 1,
37         "disableall": 0,
38         "components": [
39             {
40                 "notifications": [
41                     {
42                         "displayname": "Notices about minor problems",
43                         "preferencekey": "message_provider_moodle_notices",
44                         "processors": [
45                             {
46                                 "displayname": "Popup notification",
47                                 "name": "popup",
48                                 "locked": 0,
49                                 "userconfigured": 1,
50                                 "enabled": 1
51                             }
52                         ]
53                     }
54                 ]
55             }
56         ],
57         "privacychoices": [
58             {
59                 "value": 1,
60                 "text": "My contacts only",
61                 "checked": 0
62             },
63             {
64                 "value": 2,
65                 "text": "Anyone within courses I am a member of",
66                 "checked": 1
67             }
68         ]
69     }
71 <div class="preferences-page-container" data-region="preferences-page-container">
72     <h2>{{#str}} messagepreferences, message {{/str}}</h2>
73     <div class="privacy-setting-container"
74          data-user-id="{{userid}}"
75          data-region="privacy-setting-container"
76          data-preference-key="message_blocknoncontacts">
77         <p>{{#str}} contactableprivacy, message {{/str}}</p>
78        {{#privacychoices}}
79         <input id="action-selection-option-{{value}}"
80                type="radio"
81                name="message_blocknoncontacts"
82                value="{{value}}"
83                {{#checked}}checked="checked"{{/checked}}/>
84         <label for="action-selection-option-{{value}}">{{text}}</label>
85         <br>
86        {{/privacychoices}}
87     </div><br>
88     <div class="preferences-container {{#disableall}}disabled{{/disableall}}"
89         data-user-id="{{userid}}"
90         data-region="preferences-container">
91         <table class="table preference-table" data-region="preference-table">
92             <tbody>
93                 {{#components}}
94                     {{> message/message_preferences_component }}
95                 {{/components}}
96             </tbody>
97         </table>
98     </div>
99 </div>
100 {{#js}}
101 require(['jquery', 'core_message/message_preferences'],
102     function($, MessagePreferences) {
104     new MessagePreferences($('[data-region="preferences-page-container"]'));
106 {{/js}}