You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
3.0 KiB

{{!
This file is part of Moodle - http://moodle.org/
Moodle is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Moodle is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
}}
{{!
@template tool_policy/guestconsent
Template for the guest consent message.
Classes required for JS:
* eupopup
* policyactions
Data attributes required for JS:
-
Context variables required for this template:
* pluginbaseurl
* returnurl - urlencoded URL to return to
* haspolicies - true if there are guest policies; false otherwise
* policies - array of policy documents
Example context (json):
{
"pluginbaseurl": "https://example.com",
"returnurl": "/",
"haspolicies": true,
"policies": [
{
"id": 1,
"name": "Terms &amp; conditions"
}
]
}
}}
{{#js}}
require(['jquery', 'tool_policy/jquery-eu-cookie-law-popup', 'tool_policy/policyactions'], function($, Popup, ActionsMod) {
// Initialise the guest popup.
$(document).ready(function() {
// Only show message if there is some policy related to guests.
{{#haspolicies}}
// Get localised messages.
var textmessage = "{{# str }} guestconsentmessage, tool_policy {{/ str }}" +
"<ul>{{#policies}}" +
"<li>" +
"<a href=\"{{pluginbaseurl}}/view.php?versionid={{id}}{{#returnurl}}&amp;returnurl={{.}}{{/returnurl}}\" " +
" data-action=\"view\" data-versionid=\"{{id}}\" data-behalfid=\"1\" >" +
"{{{name}}}" +
"</a>" +
"</li>" +
"{{/policies}}" +
"</ul>";
var continuemessage = "{{# str }} guestconsent:continue, tool_policy {{/ str }}";
// Initialize popup.
$(document.body).addClass('eupopup');
if ($(".eupopup").length > 0) {
$(document).euCookieLawPopup().init({
popupPosition: 'bottom',
popupTitle: '',
popupText: textmessage,
buttonContinueTitle: continuemessage,
buttonLearnmoreTitle: '',
compactStyle: true,
});
}
{{/haspolicies}}
// Initialise the JS for the modal window which displays the policy versions.
ActionsMod.init();
});
});
{{/js}}