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.
27 lines
942 B
27 lines
942 B
var user = null; |
|
async function handleUser(response){ |
|
if (response.status == UNAUTHORIZED) { |
|
redirect('login.html?return_to='+encodeURIComponent(window.location.href)); |
|
return; |
|
} |
|
if (response.ok){ |
|
user = await response.json(); |
|
fetch(web+"/navigation.html").then(handleNavigation); |
|
} |
|
} |
|
|
|
async function handleNavigation(response){ |
|
if (response.ok){ |
|
var content = await response.text(); |
|
var nav = document.getElementsByTagName('nav')[0]; |
|
nav.innerHTML = content; |
|
var links = nav.getElementsByTagName('a'); |
|
for (var index = 0; index < links.length; index++){ |
|
var link = links[index]; |
|
var clazz = link.hasAttribute('class') ? link.getAttribute("class") : null; |
|
if (clazz != null && !user.permissions.includes(clazz)) nav.removeChild(link); |
|
} |
|
} |
|
} |
|
|
|
fetch(user_controller+"/",{method:'POST'}).then(handleUser); |