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';
|
'use strict';
|
||||||
|
|
||||||
define('admin/manage/admins-mods', [
|
define('admin/manage/admins-mods', [
|
||||||
'translator', 'benchpress', 'autocomplete', 'api',
|
'translator', 'benchpress', 'autocomplete', 'api', 'bootbox',
|
||||||
], function (translator, Benchpress, autocomplete, api) {
|
], function (translator, Benchpress, autocomplete, api, bootbox) {
|
||||||
var AdminsMods = {};
|
var AdminsMods = {};
|
||||||
|
|
||||||
AdminsMods.init = function () {
|
AdminsMods.init = function () {
|
||||||
@@ -44,7 +44,7 @@ define('admin/manage/admins-mods', [
|
|||||||
});
|
});
|
||||||
|
|
||||||
autocomplete.user($('#global-mod-search'), function (ev, ui) {
|
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]]');
|
app.alertSuccess('[[admin/manage/users:alerts.make-global-mod-success]]');
|
||||||
$('#global-mod-search').val('');
|
$('#global-mod-search').val('');
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ define('admin/manage/admins-mods', [
|
|||||||
$('.global-moderator-area').prepend(html);
|
$('.global-moderator-area').prepend(html);
|
||||||
$('#no-global-mods-warning').addClass('hidden');
|
$('#no-global-mods-warning').addClass('hidden');
|
||||||
});
|
});
|
||||||
});
|
}).catch(app.alertError);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.global-moderator-area').on('click', '.remove-user-icon', function () {
|
$('.global-moderator-area').on('click', '.remove-user-icon', function () {
|
||||||
@@ -71,7 +71,7 @@ define('admin/manage/admins-mods', [
|
|||||||
if (!$('.global-moderator-area').children().length) {
|
if (!$('.global-moderator-area').children().length) {
|
||||||
$('#no-global-mods-warning').removeClass('hidden');
|
$('#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}"]`);
|
const categoryEl = listEl.querySelector(`li[data-cid="${cid}"]`);
|
||||||
categoryEl.classList[disabled ? 'add' : 'remove']('disabled');
|
categoryEl.classList[disabled ? 'add' : 'remove']('disabled');
|
||||||
$(categoryEl).find('li a[data-action="toggle"]').first().translateText(disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]');
|
$(categoryEl).find('li a[data-action="toggle"]').first().translateText(disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]');
|
||||||
})));
|
}).catch(app.alertError)));
|
||||||
};
|
};
|
||||||
|
|
||||||
function itemDidAdd(e) {
|
function itemDidAdd(e) {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ define('admin/manage/category', [
|
|||||||
timeout: 5000,
|
timeout: 5000,
|
||||||
});
|
});
|
||||||
updateHash = {};
|
updateHash = {};
|
||||||
});
|
}).catch(app.alertError);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@@ -103,7 +103,7 @@ define('admin/manage/category', [
|
|||||||
modal.modal('hide');
|
modal.modal('hide');
|
||||||
app.alertSuccess('[[admin/manage/categories:alert.purge-success]]');
|
app.alertSuccess('[[admin/manage/categories:alert.purge-success]]');
|
||||||
ajaxify.go('admin/manage/categories');
|
ajaxify.go('admin/manage/categories');
|
||||||
});
|
}).catch(app.alertError);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
@@ -215,7 +215,7 @@ define('admin/manage/category', [
|
|||||||
$('button[data-action="removeParent"]').parent().addClass('hide');
|
$('button[data-action="removeParent"]').parent().addClass('hide');
|
||||||
$('button[data-action="changeParent"]').parent().addClass('hide');
|
$('button[data-action="changeParent"]').parent().addClass('hide');
|
||||||
$('button[data-action="setParent"]').removeClass('hide');
|
$('button[data-action="setParent"]').removeClass('hide');
|
||||||
});
|
}).catch(app.alertError);
|
||||||
});
|
});
|
||||||
$('button[data-action="toggle"]').on('click', function () {
|
$('button[data-action="toggle"]').on('click', function () {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
@@ -226,7 +226,7 @@ define('admin/manage/category', [
|
|||||||
$this.translateText(!disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]');
|
$this.translateText(!disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]');
|
||||||
$this.toggleClass('btn-primary', !disabled).toggleClass('btn-danger', disabled);
|
$this.toggleClass('btn-primary', !disabled).toggleClass('btn-danger', disabled);
|
||||||
$this.attr('data-disabled', disabled ? 0 : 1);
|
$this.attr('data-disabled', disabled ? 0 : 1);
|
||||||
});
|
}).catch(app.alertError);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ define('admin/manage/category', [
|
|||||||
$('button[data-action="setParent"]').addClass('hide');
|
$('button[data-action="setParent"]').addClass('hide');
|
||||||
var buttonHtml = '<i class="fa ' + parent.icon + '"></i> ' + parent.name;
|
var buttonHtml = '<i class="fa ' + parent.icon + '"></i> ' + parent.name;
|
||||||
$('button[data-action="changeParent"]').html(buttonHtml).parent().removeClass('hide');
|
$('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(() => {
|
api.del('/groups/' + ajaxify.data.group.slug + '/membership/' + uid).then(() => {
|
||||||
userRow.slideUp().remove();
|
userRow.slideUp().remove();
|
||||||
});
|
}).catch(app.alertError);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ define('admin/manage/uploads', ['uploader', 'api'], function (uploader, api) {
|
|||||||
path: file.attr('data-path'),
|
path: file.attr('data-path'),
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
file.remove();
|
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) {
|
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());
|
$('[data-uid=' + uid + '] .group-area').append(html.find('.group-area').html());
|
||||||
});
|
});
|
||||||
});
|
}).catch(app.alertError);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
modal.on('click', '.group-area a', function () {
|
modal.on('click', '.group-area a', function () {
|
||||||
@@ -102,7 +102,7 @@ define('admin/manage/users', [
|
|||||||
var uid = $(this).parents('[data-uid]').attr('data-uid');
|
var uid = $(this).parents('[data-uid]').attr('data-uid');
|
||||||
api.del('/groups/' + slugify(groupName) + '/membership/' + uid).then(() => {
|
api.del('/groups/' + slugify(groupName) + '/membership/' + uid).then(() => {
|
||||||
groupCard.remove();
|
groupCard.remove();
|
||||||
});
|
}).catch(app.alertError);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -122,7 +122,7 @@ define('admin/manage/users', [
|
|||||||
return api.put('/users/' + uid + '/ban');
|
return api.put('/users/' + uid + '/ban');
|
||||||
})).then(() => {
|
})).then(() => {
|
||||||
onSuccess('[[admin/manage/users:alerts.ban-success]]', '.ban', true);
|
onSuccess('[[admin/manage/users:alerts.ban-success]]', '.ban', true);
|
||||||
});
|
}).catch(app.alertError);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -161,7 +161,7 @@ define('admin/manage/users', [
|
|||||||
});
|
});
|
||||||
})).then(() => {
|
})).then(() => {
|
||||||
onSuccess('[[admin/manage/users:alerts.ban-success]]', '.ban', true);
|
onSuccess('[[admin/manage/users:alerts.ban-success]]', '.ban', true);
|
||||||
});
|
}).catch(app.alertError);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ define('forum/account/edit', [
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateHeader(res.picture);
|
updateHeader(res.picture);
|
||||||
});
|
}).catch(app.alertError);
|
||||||
|
|
||||||
return false;
|
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) => {
|
api.put('/users/' + userData.uid, userData).then((res) => {
|
||||||
btn.removeClass('disabled').find('i').addClass('hide');
|
btn.removeClass('disabled').find('i').addClass('hide');
|
||||||
ajaxify.go('user/' + res.userslug + '/edit');
|
ajaxify.go('user/' + res.userslug + '/edit');
|
||||||
});
|
}).catch(app.alertError);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ define('forum/account/edit/username', [
|
|||||||
}
|
}
|
||||||
|
|
||||||
ajaxify.go('user/' + userslug + '/edit');
|
ajaxify.go('user/' + userslug + '/edit');
|
||||||
});
|
}).catch(app.alertError);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ define('forum/account/header', [
|
|||||||
}
|
}
|
||||||
|
|
||||||
ajaxify.refresh();
|
ajaxify.refresh();
|
||||||
});
|
}).catch(app.alertError);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -169,7 +169,7 @@ define('forum/account/header', [
|
|||||||
function unbanAccount() {
|
function unbanAccount() {
|
||||||
api.del('/users/' + ajaxify.data.theirid + '/ban').then(() => {
|
api.del('/users/' + ajaxify.data.theirid + '/ban').then(() => {
|
||||||
ajaxify.refresh();
|
ajaxify.refresh();
|
||||||
});
|
}).catch(app.alertError);
|
||||||
}
|
}
|
||||||
|
|
||||||
function flagAccount() {
|
function flagAccount() {
|
||||||
|
|||||||
@@ -106,11 +106,11 @@ define('forum/groups/details', [
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'join': // intentional fall-throughs!
|
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;
|
break;
|
||||||
|
|
||||||
case 'leave':
|
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;
|
break;
|
||||||
|
|
||||||
// TODO (14/10/2020): rewrite these to use api module and merge with above 2 case blocks
|
// 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,
|
name: name,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
ajaxify.go('groups/' + res.slug);
|
ajaxify.go('groups/' + res.slug);
|
||||||
});
|
}).catch(app.alertError);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ define('forum/groups/memberlist', ['api'], function (api) {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
} else {
|
} 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