Skip to content

Commit 5a4da43

Browse files
authored
Merge pull request #27 from epochtalk/todos
Todos
2 parents f33bb2f + 026e741 commit 5a4da43

File tree

4 files changed

+25
-16
lines changed

4 files changed

+25
-16
lines changed

src/components/modals/posts/MoveThread.vue

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
<template>
2-
<modal :name="$options.name" :show="show" @close="close()">
2+
<modal :name="$options.name" :show="show" @close="close()" :focusInput="focusInput">
33
<template v-slot:header>Move Thread</template>
44
<template v-slot:body>
55
<form name="$parent.form" class="css-form" novalidate>
66
<label>Select a board to move this thread to:</label>
77
<div class="control-full-width">
8-
<!-- TODO(boka): modal-focus="{{PostsParentCtrl.showMoveThreadModal}}" -->
9-
<select name="boards" id="moveThreadBoards" v-model="newBoard">
8+
<select name="boards" id="moveThreadBoards" v-model="newBoard" ref="focusInput" class="boards-select">
109
<optgroup v-for="(boards, parentName) in boardsMovelist" :label="parentName" :key="parentName">
1110
<option v-for="board in boards" :value="board" :key="decode(board.name)">{{decode(board.name)}}</option>
1211
</optgroup>
@@ -52,7 +51,8 @@ export default {
5251
const v = reactive({
5352
threadId: props.threadId,
5453
boardsMovelist: {},
55-
newBoard: null
54+
newBoard: null,
55+
focusInput: null
5656
})
5757
5858
boardsApi.movelist()
@@ -74,3 +74,9 @@ export default {
7474
}
7575
}
7676
</script>
77+
<style lang="scss">
78+
.boards-select:focus {
79+
border-color: darken($border-color, 10%);
80+
background-color: $color-highlighted;
81+
}
82+
</style>

src/components/modals/posts/PurgePost.vue

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
<template v-slot:body>
66
<form action="." class="css-form">
7-
<h3 class="thin-underline">Purge Post</h3>
87
<p>Are you sure you want to permanently delete this post?</p>
98
<div class="clear">
109
<button id="purge-btn" class="fill-row" @click.prevent="purgePost()" type="submit">

src/components/modals/posts/Report.vue

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55

66
<template v-slot:body>
77
<form action="." class="css-form" @submit.prevent="submitReport()">
8-
<h3 class="thin-underline">Purge Post</h3>
98
<p v-if="canReportPosts && canReportUsers && !selectedPost.reported">Which would you like to report?</p>
10-
<!-- TODO(boka): default radio button choice -->
119
<input v-if="canReportUsers" type="radio" ref="focusInput" name="reportPost" v-model="offendingId" :value="selectedPost.user.id" id="reportUser" required checked="true"><label v-if="canReportUsers" for="reportUser">{{selectedPost.user.username}}</label>
1210
<input v-if="canReportPosts" type="radio" name="reportPost" v-model="offendingId" :value="selectedPost.id" id="reportPost" required><label v-if="canReportPosts" for="reportPost">{{selectedPost.user.username}}'s Post</label>
1311
<label>Reason for Report</label>

src/views/Messages.vue

+15-9
Original file line numberDiff line numberDiff line change
@@ -304,17 +304,18 @@ export default {
304304
}
305305
}
306306
const addQuote = message => console.log(message)
307-
const canDeleteConversation = () => v.loggedIn && $auth.permissionUtils.hasPermission('conversations.delete.allow')
308-
309-
const canDeleteMessage = (messageUserId) => {
307+
const canDeleteConversation = () => v.loggedIn && v.controlAccess.deleteConversations
308+
const canDeleteMessage = messageSenderId => {
310309
if (!v.loggedIn) return false
311-
if (!$auth.permissionUtils.hasPermission('messages.delete.allow')) return false
312-
return messageUserId === v.authedUser.id || $auth.permissionUtils.hasPermission('messages.delete.bypass.owner')
313-
}
310+
if (!v.controlAccess.deleteMessages) return false
314311
315-
const canCreateConversation = () => v.loggedIn && $auth.permissionUtils.hasPermission('conversations.create.allow')
316-
317-
const canCreateMessage = () => v.loggedIn && $auth.permissionUtils.hasPermission('messages.create.allow')
312+
// check message ownership/bypass
313+
if (messageSenderId === v.authedUser.id) return true
314+
else if (v.controlAccess.ownerBypassDeleteMessages) return true
315+
else return false
316+
}
317+
const canCreateConversation = () => v.loggedIn && v.controlAccess.createConversations
318+
const canCreateMessage = () => v.loggedIn && v.controlAccess.createMessages
318319
319320
// Stops split view in mobile from breaking after creating new conversation
320321
// Hacky, handle mobile split view
@@ -362,6 +363,11 @@ export default {
362363
showEditor: false,
363364
editorConvoMode: false,
364365
controlAccess: {
366+
createConversations: $auth.permissionUtils.hasPermission('conversations.create.allow'),
367+
deleteConversations: $auth.permissionUtils.hasPermission('conversations.delete.allow'),
368+
createMessages: $auth.permissionUtils.hasPermission('messages.create.allow'),
369+
deleteMessages: $auth.permissionUtils.hasPermission('messages.delete.allow'),
370+
ownerBypassDeleteMessages: $auth.permissionUtils.hasPermission('messages.delete.bypass.owner'),
365371
reportMessages: $auth.permissionUtils.hasPermission('reports.createMessageReport')
366372
}
367373
})

0 commit comments

Comments
 (0)