data, logs, logs-content, story, story-content: Added permission check in UI to hide disallowed actions.

This commit is contained in:
2018-10-13 12:31:05 +02:00
parent 5187704b02
commit 8345d1fc91
22 changed files with 158 additions and 43 deletions
@@ -0,0 +1,24 @@
module.exports = class {
onCreate() {
this.state = {
permitted: false
}
}
onInput(input) {
console.log(input.user, input.permission)
if (!input.user || !input.user.loggedIn) {
this.state.permitted = false
return
}
if (input.author != null && input.author != "" && input.user.name === input.author) {
this.state.permitted = input.user.permissions.includes("member")
} else if (Array.isArray(input.permission)) {
this.state.permitted = input.user.permissions.find(p => input.permission.includes(p))
} else {
this.state.permitted = input.user.permissions.includes(input.permission)
}
}
}
@@ -0,0 +1,3 @@
<if(state.permitted)>
<include(input.renderBody) />
</if>
+5 -3
View File
@@ -1,11 +1,13 @@
<div class="menu">
<include(input.renderBody) />
<div class="menu-body">
<include(input.renderBody) />
</div>
<if(input.user != null)>
<menu-gap />
<menu-header>User</menu-header>
<menu-header key="user">User</menu-header>
<menu-link if(!input.user.loggedIn) icon="L" href="/auth/login" on-click("loginClicked")>Login</menu-link>
<menu-link if(input.user.loggedIn) icon="L" href="/auth/logout" on-click("logoutClicked")>Logout <span class="weak">(${input.user.name})</span></menu-link>
</if>
</if>
<else-if(!input.allowNoUser)>
<menu-blurb class="error">input.user is missing!</menu-blurb>
</else-if>