Skip to content

Commit

Permalink
feat: allow unban/unmute on flag details page. closes #10593
Browse files Browse the repository at this point in the history
  • Loading branch information
barisusakli committed May 16, 2022
1 parent b17a81b commit 9acdc68
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 7 deletions.
18 changes: 12 additions & 6 deletions public/src/client/account/header.js
Expand Up @@ -57,8 +57,12 @@ define('forum/account/header', [
components.get('account/mute').on('click', function () {
muteAccount(ajaxify.data.theirid);
});
components.get('account/unban').on('click', unbanAccount);
components.get('account/unmute').on('click', unmuteAccount);
components.get('account/unban').on('click', function () {
unbanAccount(ajaxify.data.theirid);
});
components.get('account/unmute').on('click', function () {
unmuteAccount(ajaxify.data.theirid);
});
components.get('account/delete-account').on('click', handleDeleteEvent.bind(null, 'account'));
components.get('account/delete-content').on('click', handleDeleteEvent.bind(null, 'content'));
components.get('account/delete-all').on('click', handleDeleteEvent.bind(null, 'purge'));
Expand All @@ -73,6 +77,8 @@ define('forum/account/header', [
// TODO: This exported method is used in forum/flags/detail -- refactor??
AccountHeader.banAccount = banAccount;
AccountHeader.muteAccount = muteAccount;
AccountHeader.unbanAccount = unbanAccount;
AccountHeader.unmuteAccount = unmuteAccount;

function hidePrivateLinks() {
if (!app.user.uid || app.user.uid !== parseInt(ajaxify.data.theirid, 10)) {
Expand Down Expand Up @@ -176,8 +182,8 @@ define('forum/account/header', [
});
}

function unbanAccount() {
api.del('/users/' + ajaxify.data.theirid + '/ban').then(() => {
function unbanAccount(theirid) {
api.del('/users/' + theirid + '/ban').then(() => {
ajaxify.refresh();
}).catch(alerts.error);
}
Expand Down Expand Up @@ -223,8 +229,8 @@ define('forum/account/header', [
});
}

function unmuteAccount() {
api.del('/users/' + ajaxify.data.theirid + '/mute').then(() => {
function unmuteAccount(theirid) {
api.del('/users/' + theirid + '/mute').then(() => {
ajaxify.refresh();
}).catch(alerts.error);
}
Expand Down
8 changes: 8 additions & 0 deletions public/src/client/flags/detail.js
Expand Up @@ -69,10 +69,18 @@ define('forum/flags/detail', [
AccountHeader.banAccount(uid, ajaxify.refresh);
break;

case 'unban':
AccountHeader.unbanAccount(uid);
break;

case 'mute':
AccountHeader.muteAccount(uid, ajaxify.refresh);
break;

case 'unmute':
AccountHeader.unmuteAccount(uid);
break;

case 'delete-account':
AccountsDelete.account(uid, ajaxify.refresh);
break;
Expand Down
2 changes: 1 addition & 1 deletion src/posts/user.js
Expand Up @@ -104,7 +104,7 @@ module.exports = function (Posts) {
'uid', 'username', 'fullname', 'userslug',
'reputation', 'postcount', 'topiccount', 'picture',
'signature', 'banned', 'banned:expire', 'status',
'lastonline', 'groupTitle',
'lastonline', 'groupTitle', 'mutedUntil',
];
const result = await plugins.hooks.fire('filter:posts.addUserFields', {
fields: fields,
Expand Down
4 changes: 4 additions & 0 deletions src/user/data.js
Expand Up @@ -252,6 +252,10 @@ module.exports = function (User) {
user.banned = false;
}
}

if (user.hasOwnProperty('mutedUntil')) {
user.muted = user.mutedUntil > Date.now();
}
}));

return await plugins.hooks.fire('filter:users.get', users);
Expand Down

0 comments on commit 9acdc68

Please sign in to comment.