mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-11 00:15:46 +01:00
feat: add back error handling for a number of api calls
This commit is contained in:
@@ -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);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 = '<i class="fa ' + parent.icon + '"></i> ' + parent.name;
|
||||
$('button[data-action="changeParent"]').html(buttonHtml).parent().removeClass('hide');
|
||||
});
|
||||
}).catch(app.alertError);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -26,7 +26,7 @@ define('admin/manage/uploads', ['uploader', 'api'], function (uploader, api) {
|
||||
path: file.attr('data-path'),
|
||||
}).then(() => {
|
||||
file.remove();
|
||||
});
|
||||
}).catch(app.alertError);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -55,7 +55,7 @@ define('forum/account/edit', [
|
||||
}
|
||||
|
||||
updateHeader(res.picture);
|
||||
});
|
||||
}).catch(app.alertError);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
|
||||
@@ -38,7 +38,7 @@ define('forum/account/edit/username', [
|
||||
}
|
||||
|
||||
ajaxify.go('user/' + userslug + '/edit');
|
||||
});
|
||||
}).catch(app.alertError);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -16,7 +16,7 @@ define('forum/groups/list', [
|
||||
name: name,
|
||||
}).then((res) => {
|
||||
ajaxify.go('groups/' + res.slug);
|
||||
});
|
||||
}).catch(app.alertError);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user