From 05e936bbe4220e46789a21f40897a0a89fe3da7a Mon Sep 17 00:00:00 2001 From: Clark Winkelmann Date: Mon, 21 Feb 2022 15:56:51 +0100 Subject: [PATCH] Make frontend use gate output instead of hard-coded logic Hide nickname from edit modal if user cannot edit --- extensions/nicknames/extend.php | 5 ++--- extensions/nicknames/js/src/forum/index.js | 11 ++++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/extensions/nicknames/extend.php b/extensions/nicknames/extend.php index 62fc2a6ba..8a8ca7eb8 100644 --- a/extensions/nicknames/extend.php +++ b/extensions/nicknames/extend.php @@ -35,9 +35,8 @@ return [ ->listen(Saving::class, SaveNicknameToDatabase::class), (new Extend\ApiSerializer(UserSerializer::class)) - ->attribute('canEditOwnNickname', function ($serializer, $user) { - $actor = $serializer->getActor(); - return $actor->id === $user->id && $serializer->getActor()->can('editOwnNickname', $user); + ->attribute('canEditNickname', function (UserSerializer $serializer, User $user) { + return $serializer->getActor()->can('editNickname', $user); }), (new Extend\Settings()) diff --git a/extensions/nicknames/js/src/forum/index.js b/extensions/nicknames/js/src/forum/index.js index 6afd12c1a..65f6ae95f 100644 --- a/extensions/nicknames/js/src/forum/index.js +++ b/extensions/nicknames/js/src/forum/index.js @@ -11,12 +11,12 @@ import Stream from 'flarum/common/utils/Stream'; import NickNameModal from './components/NicknameModal'; app.initializers.add('flarum/nicknames', () => { - User.prototype.canEditOwnNickname = Model.attribute('canEditOwnNickname'); + User.prototype.canEditNickname = Model.attribute('canEditNickname'); extend(SettingsPage.prototype, 'accountItems', function (items) { if (app.forum.attribute('displayNameDriver') !== 'nickname') return; - if (this.user.canEditOwnNickname()) { + if (this.user.canEditNickname()) { items.add( 'changeNickname',