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
@@ -6,14 +6,16 @@
<label>Full Name</label>
<input key="name" placeholder="" class="big" on-change("change", "name") value=state.values.name />
<label>IRC Nick</label>
<input key="nick" placeholder="" on-change("change", "nick") value=state.values.nick />
<label>Short Name</label>
<input key="shortName" placeholder="(Optional)" on-change("change", "shortName") value=state.values.shortName />
<label>IRC Nick</label>
<input key="nick" placeholder="" class="big" on-change("change", "nick") value=state.values.nick />
<label>Author</label>
<input key="author" placeholder=(input.user.name) on-change("change", "author") value=state.values.author />
<if-permitted user=input.user permission="character.add">
<label>Author</label>
<input key="author" placeholder=(input.user.name) on-change("change", "author") value=state.values.author />
</if-permitted>
<label>Description</label>
<textarea key="description" placeholder="Description" on-change("change", "description") value=state.values.description />
@@ -1,5 +1,5 @@
<compact-list>
<compact-list-item for(channel in input.channels) key=(channel.name.replace("'", "_APOS_"))>
<channel data=channel on-edited("emit", "edited", channel)/>
<channel data=channel user=input.user on-edited("emit", "edited", channel)/>
</compact-list-item>
</compact-list>
@@ -4,7 +4,9 @@
<compact-list-property long label="Location" weak=(input.data.locationName === "") value=(input.data.locationName || "None") />
<compact-list-property short weak=!input.data.logged short label="Logged" value=(input.data.logged ? "On" : "Off") />
<compact-list-options>
<a on-click("open", "edit")>Edit</a>
<if-permitted user=input.user permission="channel.edit">
<a on-click("open", "edit")>Edit</a>
</if-permitted>
</compact-list-options>
<edit-channel-modal enabled=(state.modal === "edit") channel=input.data on-edited("emit", "edited") on-close("close") />
</if>
@@ -1,6 +1,6 @@
<data-menu categories=input.categories selected=(input.selected || {}) user=input.user on-open("open") />
<main>
<channel-list channels=state.channels on-edited("channelEdited") />
<channel-list channels=state.channels user=input.user on-edited("channelEdited") />
</main>
<add-channel-modal enabled=(state.modal === "channel.add") user=input.user on-added("channelAdded") on-close("close") />
<add-character-modal enabled=(state.modal === "character.add") user=input.user on-close("close") />
@@ -1,6 +1,7 @@
<compact-list>
<compact-list-item for(character in input.characters) key=character.id id=character.id>
<character data=character
user=input.user
on-removed("emit", "removed", character)
on-edited("emit", "edited", character)
on-nicks("emit", "nicks", character)
@@ -4,9 +4,13 @@
<compact-list-property long label="Name" value=input.data.name />
<compact-list-property short label="Author" value=input.data.author />
<compact-list-options long>
<a key="edit" on-click("open", "edit", input.data)>Edit</a>
<a key="nicks" on-click("open", "nicks", input.data)>Nicks</a>
<if-permitted user=input.user author=input.data.author permission="character.edit">
<a key="edit" on-click("open", "edit", input.data)>Edit</a>
<a key="nicks" on-click("open", "nicks", input.data)>Nicks</a>
</if-permitted>
<if-permitted user=input.user author=input.data.author permission="character.remove">
<a key="remove" on-click("open", "remove", input.data)>Remove</a>
</if-permitted>
</compact-list-options>
<remove-character-modal enabled=(state.modal === "remove") character=input.data on-removed("emit", "removed") on-close("close") />
<edit-character-modal enabled=(state.modal === "edit") character=input.data on-edited("emit", "edited") on-close("close") />
@@ -1,6 +1,6 @@
<data-menu categories=input.categories selected=(input.selected || {}) user=input.user on-open("open") />
<main>
<character-list characters=state.characters on-removed("characterRemoved") on-edited("characterEdited") on-nicks("characterNicksChanged") />
<character-list user=input.user characters=state.characters on-removed("characterRemoved") on-edited("characterEdited") on-nicks("characterNicksChanged") />
</main>
<add-character-modal enabled=(state.modal === "character.add") user=input.user on-added("characterAdded") on-close("close") />
<add-channel-modal enabled=(state.modal === "channel.add") user=input.user on-close("close") />
@@ -3,7 +3,13 @@
<menu-link key="characters" selected=input.selected.characters icon="C" href="/data/characters/">Characters</menu-link>
<menu-link key="channels" selected=input.selected.channels icon="#" href="/data/channels/">Channels</menu-link>
<menu-gap />
<menu-header>Add</menu-header>
<menu-link dark key="characters_add" icon="+" on-click("emit", "open", "character.add")>Character</menu-link>
<menu-link dark key="channels_add" icon="+" on-click("emit", "open", "channel.add")>Channel</menu-link>
<if-permitted user=input.user permission=["member", "character.add", "channel.add"]>
<menu-header>Add</menu-header>
<if-permitted user=input.user permission=["character.add", "member"]>
<menu-link dark key="characters_add" icon="+" on-click("emit", "open", "character.add")>Character</menu-link>
</if-permitted>
<if-permitted user=input.user permission="channel.add">
<menu-link dark key="channels_add" icon="+" on-click("emit", "open", "channel.add")>Channel</menu-link>
</if-permitted>
</if-permitted>
</menu>