mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-17 05:50:25 +01:00
Merge branch 'master' into v1.7.x
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"sorting.oldest-to-newest": "Oldest to Newest",
|
||||
"sorting.newest-to-oldest": "Newest to Oldest",
|
||||
"sorting.most-votes": "Most Votes",
|
||||
"sorting.most-posts": "Most Posts",
|
||||
"sorting.topic-default": "Default Topic Sorting",
|
||||
"restrictions": "Posting Restrictions",
|
||||
"restrictions.post-queue": "Enable post queue",
|
||||
|
||||
@@ -40,7 +40,7 @@ categoriesController.list = function (req, res, next) {
|
||||
categories: categoryData,
|
||||
};
|
||||
|
||||
if (req.path.startsWith('/api/categories') || req.path.startsWith('/categories')) {
|
||||
if (req.originalUrl.startsWith(nconf.get('relative_path') + '/api/categories') || req.originalUrl.startsWith(nconf.get('relative_path') + '/categories')) {
|
||||
data.breadcrumbs = helpers.buildBreadcrumbs([{ text: data.title }]);
|
||||
}
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ categoryController.get = function (req, res, callback) {
|
||||
return helpers.redirect(res, categoryData.link);
|
||||
}
|
||||
|
||||
buildBreadcrumbs(categoryData, next);
|
||||
buildBreadcrumbs(req, categoryData, next);
|
||||
},
|
||||
function (categoryData, next) {
|
||||
if (!categoryData.children.length) {
|
||||
@@ -148,7 +148,7 @@ categoryController.get = function (req, res, callback) {
|
||||
], callback);
|
||||
};
|
||||
|
||||
function buildBreadcrumbs(categoryData, callback) {
|
||||
function buildBreadcrumbs(req, categoryData, callback) {
|
||||
var breadcrumbs = [
|
||||
{
|
||||
text: categoryData.name,
|
||||
@@ -160,7 +160,9 @@ function buildBreadcrumbs(categoryData, callback) {
|
||||
helpers.buildCategoryBreadcrumbs(categoryData.parentCid, next);
|
||||
},
|
||||
function (crumbs, next) {
|
||||
categoryData.breadcrumbs = crumbs.concat(breadcrumbs);
|
||||
if (req.originalUrl.startsWith(nconf.get('relative_path') + '/api/category') || req.originalUrl.startsWith(nconf.get('relative_path') + '/category')) {
|
||||
categoryData.breadcrumbs = crumbs.concat(breadcrumbs);
|
||||
}
|
||||
next(null, categoryData);
|
||||
},
|
||||
], callback);
|
||||
|
||||
@@ -37,7 +37,7 @@ pubsub.on('config:update', configUpdated);
|
||||
configUpdated();
|
||||
|
||||
module.exports = function (req, res, next) {
|
||||
if (req.path !== '/' && req.path !== '/api/') {
|
||||
if (req.path !== '/' && req.path !== '/api/' && req.path !== '/api') {
|
||||
return next();
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ module.exports = function (req, res, next) {
|
||||
});
|
||||
}
|
||||
|
||||
req.url = req.path + route;
|
||||
req.url = req.path + (!req.path.endsWith('/') ? '/' : '') + route;
|
||||
next();
|
||||
});
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@ popularController.get = function (req, res, next) {
|
||||
term: term,
|
||||
};
|
||||
|
||||
if (req.path.startsWith('/api/popular') || req.path.startsWith('/popular')) {
|
||||
if (req.originalUrl.startsWith(nconf.get('relative_path') + '/api/popular') || req.originalUrl.startsWith(nconf.get('relative_path') + '/popular')) {
|
||||
var breadcrumbs = [{ text: termToBreadcrumb[term] }];
|
||||
|
||||
if (req.params.term) {
|
||||
|
||||
@@ -71,7 +71,7 @@ recentController.get = function (req, res, next) {
|
||||
var pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage));
|
||||
data.pagination = pagination.create(page, pageCount, req.query);
|
||||
|
||||
if (req.path.startsWith('/api/recent') || req.path.startsWith('/recent')) {
|
||||
if (req.originalUrl.startsWith(nconf.get('relative_path') + '/api/recent') || req.originalUrl.startsWith(nconf.get('relative_path') + '/recent')) {
|
||||
data.breadcrumbs = helpers.buildBreadcrumbs([{ text: '[[recent:title]]' }]);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async');
|
||||
var nconf = require('nconf');
|
||||
var querystring = require('querystring');
|
||||
|
||||
var pagination = require('../pagination');
|
||||
@@ -64,8 +65,7 @@ unreadController.get = function (req, res, next) {
|
||||
data.categories = results.watchedCategories.categories;
|
||||
data.selectedCategory = results.watchedCategories.selectedCategory;
|
||||
data.selectedCids = results.watchedCategories.selectedCids;
|
||||
|
||||
if (req.path.startsWith('/api/unread') || req.path.startsWith('/unread')) {
|
||||
if (req.originalUrl.startsWith(nconf.get('relative_path') + '/api/unread') || req.originalUrl.startsWith(nconf.get('relative_path') + '/unread')) {
|
||||
data.breadcrumbs = helpers.buildBreadcrumbs([{ text: '[[unread:title]]' }]);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<select class="form-control" data-field="categoryTopicSort">
|
||||
<option value="oldest_to_newest">[[admin/settings/post:sorting.oldest-to-newest]]</option>
|
||||
<option value="newest_to_oldest">[[admin/settings/post:sorting.newest-to-oldest]]</option>
|
||||
<option value="most_votes">[[admin/settings/post:sorting.most-votes]]</option>
|
||||
<option value="most_posts">[[admin/settings/post:sorting.most-posts]]</option>
|
||||
</select>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -120,6 +120,16 @@ describe('Controllers', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('should load not load breadcrumbs on home page route', function (done) {
|
||||
request(nconf.get('url') + '/api', { json: true }, function (err, res, body) {
|
||||
assert.ifError(err);
|
||||
assert.equal(res.statusCode, 200);
|
||||
assert(body);
|
||||
assert(!body.breadcrumbs);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should redirect to custom homepage', function (done) {
|
||||
meta.configs.set('homePageRoute', 'groups', function (err) {
|
||||
assert.ifError(err);
|
||||
|
||||
Reference in New Issue
Block a user