mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-30 18:46:01 +01:00
fix: #7385 better handling for errors in Adv>Databases
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
"mongo.bytes-out": "Bytes Out",
|
"mongo.bytes-out": "Bytes Out",
|
||||||
"mongo.num-requests": "Number of Requests",
|
"mongo.num-requests": "Number of Requests",
|
||||||
"mongo.raw-info": "MongoDB Raw Info",
|
"mongo.raw-info": "MongoDB Raw Info",
|
||||||
|
"mongo.unauthorized": "NodeBB was unable to query the MongoDB database for relevant statistics. Please ensure that the user in use by NodeBB contains the "clusterMonitor" role for the "admin" database.",
|
||||||
|
|
||||||
"redis": "Redis",
|
"redis": "Redis",
|
||||||
"redis.version": "Redis Version",
|
"redis.version": "Redis Version",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ var nconf = require('nconf');
|
|||||||
|
|
||||||
var databaseController = module.exports;
|
var databaseController = module.exports;
|
||||||
|
|
||||||
databaseController.get = function (req, res, next) {
|
databaseController.get = function (req, res) {
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function (next) {
|
function (next) {
|
||||||
async.parallel({
|
async.parallel({
|
||||||
@@ -35,8 +35,15 @@ databaseController.get = function (req, res, next) {
|
|||||||
},
|
},
|
||||||
}, next);
|
}, next);
|
||||||
},
|
},
|
||||||
function (results) {
|
], function (err, results) {
|
||||||
res.render('admin/advanced/database', results);
|
Object.assign(results, { error: err });
|
||||||
},
|
|
||||||
], next);
|
// Override mongo error with more human-readable error
|
||||||
|
if (err.name === 'MongoError' && err.codeName === 'Unauthorized') {
|
||||||
|
err.friendlyMessage = '[[admin/advanced/database:mongo.unauthorized]]';
|
||||||
|
delete results.mongo;
|
||||||
|
}
|
||||||
|
|
||||||
|
res.render('admin/advanced/database', results);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
<div class="row database">
|
<div class="row database">
|
||||||
<div class="col-sm-9">
|
<div class="col-sm-9">
|
||||||
|
<!-- IF error -->
|
||||||
|
<div class="alert alert-warning">
|
||||||
|
{error.friendlyMessage}
|
||||||
|
<hr />
|
||||||
|
<code>{error.errmsg}</code>
|
||||||
|
</div>
|
||||||
|
<!-- END -->
|
||||||
<!-- IF mongo -->
|
<!-- IF mongo -->
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading"><i class="fa fa-hdd-o"></i> [[admin/advanced/database:mongo]]</div>
|
<div class="panel-heading"><i class="fa fa-hdd-o"></i> [[admin/advanced/database:mongo]]</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user