MDL-68788 core_notification: Check if the user is logged in

This commit is contained in:
Mathew May 2020-05-21 16:24:46 +08:00
parent 1afe68f382
commit eff7ef2cd2
4 changed files with 11 additions and 6 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -292,8 +292,9 @@ export const exception = async ex => {
*
* @param {Number} contextId
* @param {Array} notificationList
* @param {Boolean} userLoggedIn
*/
export const init = (contextId, notificationList) => {
export const init = (contextId, notificationList, userLoggedIn) => {
currentContextId = contextId;
// Setup the message target region if it isn't setup already
@ -302,8 +303,11 @@ export const init = (contextId, notificationList) => {
// Add provided notifications.
addNotifications(notificationList);
// If the user is not logged in then we can not fetch anything for them.
if (userLoggedIn) {
// Perform an initial poll for any new notifications.
fetchNotifications();
}
};
// To maintain backwards compatability we export default here.

View file

@ -1414,7 +1414,8 @@ class core_renderer extends renderer_base {
if (!empty($this->page->context->id)) {
$this->page->requires->js_call_amd('core/notification', 'init', array(
$this->page->context->id,
\core\notification::fetch_as_array($this)
\core\notification::fetch_as_array($this),
isloggedin()
));
}
$footer = str_replace($this->unique_end_html_token, $this->page->requires->get_end_code(), $footer);