Browse Source
It was possible for Users to grant themselves flags and permissions. These operations now require Admin privileges, and are only implemented by services.user.updateForAdmin. The services.user.update method no longer has any logic to alter flags and/or permissions.pull/1/head
5 changed files with 119 additions and 48 deletions
@ -1,43 +1,74 @@ |
|||||
extends ../layouts/main |
extends ../layouts/main |
||||
block content |
block content |
||||
|
|
||||
.uk-margin |
include ../../comment/components/comment-review |
||||
.uk-text-large= userAccount.displayName || userAccount.email |
|
||||
div= userAccount.username |
div(uk-grid).uk-grid-small |
||||
|
div(class="uk-width-1-1 uk-width-2-3@l") |
||||
form(method="POST", action=`/admin/user/${userAccount._id}`).uk-form |
form(method="POST", action=`/admin/user/${userAccount._id}`).uk-form |
||||
input(type="hidden", name="username", value= userAccount.username) |
input(type="hidden", name="username", value= userAccount.username) |
||||
input(type="hidden", name="displayName", value= userAccount.displayName) |
input(type="hidden", name="displayName", value= userAccount.displayName) |
||||
.uk-margin |
.uk-card.uk-card-secondary.uk-card-small |
||||
div(uk-grid) |
.uk-card-header |
||||
div(class="uk-width-1-1 uk-width-1-2@m") |
if userAccount.displayName |
||||
fieldset |
.uk-text-large= userAccount.displayName |
||||
legend Flags |
div |
||||
|
a(href=`mailto:${userAccount.email}`)= userAccount.email |
||||
|
div |
||||
|
a(href=`/user/${userAccount._id}`) @#{userAccount.username} |
||||
|
|
||||
|
.uk-card-body |
||||
.uk-margin |
.uk-margin |
||||
div(uk-grid).uk-grid-small |
label(for="bio").uk-form-label.sr-only Bio |
||||
label |
textarea(id="bio", name="bio", rows="4", placeholder= "Bio is empty", disabled= !userAccount.bio || (userAccount.bio.length === 0)).uk-textarea.uk-resize-vertical= userAccount.bio |
||||
input(id="is-admin", name="isAdmin", type="checkbox", checked= userAccount.flags.isAdmin) |
|
||||
| Admin |
|
||||
label |
|
||||
input(id="is-moderator", name="isModerator", type="checkbox", checked= userAccount.flags.isModerator) |
|
||||
| Moderator |
|
||||
|
|
||||
div(class="uk-width-1-1 uk-width-1-2@m") |
|
||||
fieldset |
|
||||
legend Permissions |
|
||||
.uk-margin |
.uk-margin |
||||
div(uk-grid).uk-grid-small |
div(uk-grid) |
||||
label |
div(class="uk-width-1-1 uk-width-1-2@m") |
||||
input(id="can-login", name="canLogin", type="checkbox", checked= userAccount.permissions.canLogin) |
fieldset |
||||
| Can Login |
legend Flags |
||||
label |
.uk-margin |
||||
input(id="can-chat", name="canChat", type="checkbox", checked= userAccount.permissions.canChat) |
div(uk-grid).uk-grid-small |
||||
| Can Chat |
label |
||||
label |
input(id="is-admin", name="isAdmin", type="checkbox", checked= userAccount.flags.isAdmin) |
||||
input(id="can-comment", name="canComment", type="checkbox", checked= userAccount.permissions.canComment) |
| Admin |
||||
| Can Comment |
label |
||||
label |
input(id="is-moderator", name="isModerator", type="checkbox", checked= userAccount.flags.isModerator) |
||||
input(id="can-report", name="canReport", type="checkbox", checked= userAccount.permissions.canReport) |
| Moderator |
||||
| Can Report |
|
||||
|
div(class="uk-width-1-1 uk-width-1-2@m") |
||||
button(type="submit").uk-button.uk-button-primary Update User |
fieldset |
||||
|
legend Permissions |
||||
|
.uk-margin |
||||
|
div(uk-grid).uk-grid-small |
||||
|
label |
||||
|
input(id="can-login", name="canLogin", type="checkbox", checked= userAccount.permissions.canLogin) |
||||
|
| Can Login |
||||
|
label |
||||
|
input(id="can-chat", name="canChat", type="checkbox", checked= userAccount.permissions.canChat) |
||||
|
| Can Chat |
||||
|
label |
||||
|
input(id="can-comment", name="canComment", type="checkbox", checked= userAccount.permissions.canComment) |
||||
|
| Can Comment |
||||
|
label |
||||
|
input(id="can-report", name="canReport", type="checkbox", checked= userAccount.permissions.canReport) |
||||
|
| Can Report |
||||
|
label |
||||
|
input(id="can-author-pages", name="canAuthorPages", type="checkbox", checked= userAccount.permissions.canAuthorPages) |
||||
|
| Can Author Pages |
||||
|
label |
||||
|
input(id="can-author-posts", name="canAuthorPosts", type="checkbox", checked= userAccount.permissions.canAuthorPosts) |
||||
|
| Can Author Posts |
||||
|
|
||||
|
button(type="submit").uk-button.dtp-button-primary.uk-display-block.uk-width-1-1 Update User |
||||
|
|
||||
|
div(class="uk-width-1-1 uk-width-1-3@l") |
||||
|
|
||||
|
.uk-card.uk-card-secondary.uk-card-small |
||||
|
.uk-card-header |
||||
|
h4.uk-card-title #{userAccount.displayName || userAccount.username}'s Comments |
||||
|
.uk-card-body |
||||
|
ul.uk-list.uk-list-divider |
||||
|
each comment in recentComments |
||||
|
li |
||||
|
+renderCommentReview(comment) |
Loading…
Reference in new issue