From 1afd215050cd47a1dc7a07f85d974207f96c3f12 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 4 Nov 2020 14:11:45 -0500 Subject: [PATCH] feat: add back error handling for a number of api calls --- public/src/admin/manage/admins-mods.js | 10 +++++----- public/src/admin/manage/categories.js | 2 +- public/src/admin/manage/category.js | 10 +++++----- public/src/admin/manage/group.js | 2 +- public/src/admin/manage/uploads.js | 2 +- public/src/admin/manage/users.js | 8 ++++---- public/src/client/account/edit.js | 2 +- public/src/client/account/edit/email.js | 2 +- public/src/client/account/edit/username.js | 2 +- public/src/client/account/header.js | 4 ++-- public/src/client/groups/details.js | 4 ++-- public/src/client/groups/list.js | 2 +- public/src/client/groups/memberlist.js | 2 +- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/public/src/admin/manage/admins-mods.js b/public/src/admin/manage/admins-mods.js index 9f451f61f3..37ed9ad7ed 100644 --- a/public/src/admin/manage/admins-mods.js +++ b/public/src/admin/manage/admins-mods.js @@ -1,8 +1,8 @@ 'use strict'; define('admin/manage/admins-mods', [ - 'translator', 'benchpress', 'autocomplete', 'api', -], function (translator, Benchpress, autocomplete, api) { + 'translator', 'benchpress', 'autocomplete', 'api', 'bootbox', +], function (translator, Benchpress, autocomplete, api, bootbox) { var AdminsMods = {}; AdminsMods.init = function () { @@ -44,7 +44,7 @@ define('admin/manage/admins-mods', [ }); autocomplete.user($('#global-mod-search'), function (ev, ui) { - api.put('/groups/global-moderators/membership/' + ui.item.user.uid, () => { + api.put('/groups/global-moderators/membership/' + ui.item.user.uid).then(() => { app.alertSuccess('[[admin/manage/users:alerts.make-global-mod-success]]'); $('#global-mod-search').val(''); @@ -56,7 +56,7 @@ define('admin/manage/admins-mods', [ $('.global-moderator-area').prepend(html); $('#no-global-mods-warning').addClass('hidden'); }); - }); + }).catch(app.alertError); }); $('.global-moderator-area').on('click', '.remove-user-icon', function () { @@ -71,7 +71,7 @@ define('admin/manage/admins-mods', [ if (!$('.global-moderator-area').children().length) { $('#no-global-mods-warning').removeClass('hidden'); } - }); + }).catch(app.alertError); } }); }); diff --git a/public/src/admin/manage/categories.js b/public/src/admin/manage/categories.js index f833f4d28f..ff7484ec83 100644 --- a/public/src/admin/manage/categories.js +++ b/public/src/admin/manage/categories.js @@ -198,7 +198,7 @@ define('admin/manage/categories', [ const categoryEl = listEl.querySelector(`li[data-cid="${cid}"]`); categoryEl.classList[disabled ? 'add' : 'remove']('disabled'); $(categoryEl).find('li a[data-action="toggle"]').first().translateText(disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]'); - }))); + }).catch(app.alertError))); }; function itemDidAdd(e) { diff --git a/public/src/admin/manage/category.js b/public/src/admin/manage/category.js index c02414fb54..e19a5f1df9 100644 --- a/public/src/admin/manage/category.js +++ b/public/src/admin/manage/category.js @@ -58,7 +58,7 @@ define('admin/manage/category', [ timeout: 5000, }); updateHash = {}; - }); + }).catch(app.alertError); return false; }); @@ -103,7 +103,7 @@ define('admin/manage/category', [ modal.modal('hide'); app.alertSuccess('[[admin/manage/categories:alert.purge-success]]'); ajaxify.go('admin/manage/categories'); - }); + }).catch(app.alertError); return false; }, @@ -215,7 +215,7 @@ define('admin/manage/category', [ $('button[data-action="removeParent"]').parent().addClass('hide'); $('button[data-action="changeParent"]').parent().addClass('hide'); $('button[data-action="setParent"]').removeClass('hide'); - }); + }).catch(app.alertError); }); $('button[data-action="toggle"]').on('click', function () { var $this = $(this); @@ -226,7 +226,7 @@ define('admin/manage/category', [ $this.translateText(!disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]'); $this.toggleClass('btn-primary', !disabled).toggleClass('btn-danger', disabled); $this.attr('data-disabled', disabled ? 0 : 1); - }); + }).catch(app.alertError); }); }; @@ -287,7 +287,7 @@ define('admin/manage/category', [ $('button[data-action="setParent"]').addClass('hide'); var buttonHtml = ' ' + parent.name; $('button[data-action="changeParent"]').html(buttonHtml).parent().removeClass('hide'); - }); + }).catch(app.alertError); }); }); }; diff --git a/public/src/admin/manage/group.js b/public/src/admin/manage/group.js index 8eaa88a920..0d2ff00403 100644 --- a/public/src/admin/manage/group.js +++ b/public/src/admin/manage/group.js @@ -130,7 +130,7 @@ define('admin/manage/group', [ } api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + uid).then(() => { userRow.slideUp().remove(); - }); + }).catch(app.alertError); }); break; default: diff --git a/public/src/admin/manage/uploads.js b/public/src/admin/manage/uploads.js index 7380f2b2d8..253e5ac1af 100644 --- a/public/src/admin/manage/uploads.js +++ b/public/src/admin/manage/uploads.js @@ -26,7 +26,7 @@ define('admin/manage/uploads', ['uploader', 'api'], function (uploader, api) { path: file.attr('data-path'), }).then(() => { file.remove(); - }); + }).catch(app.alertError); }); }); }; diff --git a/public/src/admin/manage/users.js b/public/src/admin/manage/users.js index 4cf6a089ec..ee81254b79 100644 --- a/public/src/admin/manage/users.js +++ b/public/src/admin/manage/users.js @@ -90,7 +90,7 @@ define('admin/manage/users', [ app.parseAndTranslate('admin/partials/manage_user_groups', { users: [{ groups: [ui.item.group] }] }, function (html) { $('[data-uid=' + uid + '] .group-area').append(html.find('.group-area').html()); }); - }); + }).catch(app.alertError); }); }); modal.on('click', '.group-area a', function () { @@ -102,7 +102,7 @@ define('admin/manage/users', [ var uid = $(this).parents('[data-uid]').attr('data-uid'); api.del('/groups/' + slugify(groupName) + '/membership/' + uid).then(() => { groupCard.remove(); - }); + }).catch(app.alertError); return false; }); }); @@ -122,7 +122,7 @@ define('admin/manage/users', [ return api.put('/users/' + uid + '/ban'); })).then(() => { onSuccess('[[admin/manage/users:alerts.ban-success]]', '.ban', true); - }); + }).catch(app.alertError); } }); }); @@ -161,7 +161,7 @@ define('admin/manage/users', [ }); })).then(() => { onSuccess('[[admin/manage/users:alerts.ban-success]]', '.ban', true); - }); + }).catch(app.alertError); }, }, }, diff --git a/public/src/client/account/edit.js b/public/src/client/account/edit.js index 6db92ea4bb..c95909d9af 100644 --- a/public/src/client/account/edit.js +++ b/public/src/client/account/edit.js @@ -55,7 +55,7 @@ define('forum/account/edit', [ } updateHeader(res.picture); - }); + }).catch(app.alertError); return false; } diff --git a/public/src/client/account/edit/email.js b/public/src/client/account/edit/email.js index a21be3f46b..b7561af08e 100644 --- a/public/src/client/account/edit/email.js +++ b/public/src/client/account/edit/email.js @@ -29,7 +29,7 @@ define('forum/account/edit/email', ['forum/account/header', 'api'], function (he api.put('/users/' + userData.uid, userData).then((res) => { btn.removeClass('disabled').find('i').addClass('hide'); ajaxify.go('user/' + res.userslug + '/edit'); - }); + }).catch(app.alertError); return false; }); diff --git a/public/src/client/account/edit/username.js b/public/src/client/account/edit/username.js index 56bc52c619..923b9ab13f 100644 --- a/public/src/client/account/edit/username.js +++ b/public/src/client/account/edit/username.js @@ -38,7 +38,7 @@ define('forum/account/edit/username', [ } ajaxify.go('user/' + userslug + '/edit'); - }); + }).catch(app.alertError); return false; }); diff --git a/public/src/client/account/header.js b/public/src/client/account/header.js index 316e6a409c..66a42f994a 100644 --- a/public/src/client/account/header.js +++ b/public/src/client/account/header.js @@ -158,7 +158,7 @@ define('forum/account/header', [ } ajaxify.refresh(); - }); + }).catch(app.alertError); }, }, }, @@ -169,7 +169,7 @@ define('forum/account/header', [ function unbanAccount() { api.del('/users/' + ajaxify.data.theirid + '/ban').then(() => { ajaxify.refresh(); - }); + }).catch(app.alertError); } function flagAccount() { diff --git a/public/src/client/groups/details.js b/public/src/client/groups/details.js index 493750b671..90df269834 100644 --- a/public/src/client/groups/details.js +++ b/public/src/client/groups/details.js @@ -106,11 +106,11 @@ define('forum/groups/details', [ break; case 'join': // intentional fall-throughs! - api.put('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined).then(() => ajaxify.refresh()); + api.put('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined).then(() => ajaxify.refresh()).catch(app.alertError); break; case 'leave': - api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined).then(() => ajaxify.refresh()); + api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + (uid || app.user.uid), undefined).then(() => ajaxify.refresh()).catch(app.alertError); break; // TODO (14/10/2020): rewrite these to use api module and merge with above 2 case blocks diff --git a/public/src/client/groups/list.js b/public/src/client/groups/list.js index e0fc142f91..7538c0c645 100644 --- a/public/src/client/groups/list.js +++ b/public/src/client/groups/list.js @@ -16,7 +16,7 @@ define('forum/groups/list', [ name: name, }).then((res) => { ajaxify.go('groups/' + res.slug); - }); + }).catch(app.alertError); } }); }); diff --git a/public/src/client/groups/memberlist.js b/public/src/client/groups/memberlist.js index 4864cb9d60..679f270cbc 100644 --- a/public/src/client/groups/memberlist.js +++ b/public/src/client/groups/memberlist.js @@ -84,7 +84,7 @@ define('forum/groups/memberlist', ['api'], function (api) { done(); }); } else { - Promise.all(uids.map(uid => api.put('/groups/' + ajaxify.data.group.slug + '/membership/' + uid))).then(done); + Promise.all(uids.map(uid => api.put('/groups/' + ajaxify.data.group.slug + '/membership/' + uid))).then(done).catch(app.alertError); } }