Skip to content

Commit

Permalink
feat: keep query string when redirecting category
Browse files Browse the repository at this point in the history
  • Loading branch information
barisusakli committed May 25, 2021
1 parent 963a9fe commit 77dde41
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/controllers/category.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const helpers = require('./helpers');
const utils = require('../utils');
const translator = require('../translator');
const analytics = require('../analytics');
const qs = require('querystring');

const categoryController = module.exports;

Expand Down Expand Up @@ -42,15 +43,15 @@ categoryController.get = async function (req, res, next) {
return next();
}
if (topicIndex < 0) {
return helpers.redirect(res, `/category/${categoryFields.slug}`);
return helpers.redirect(res, `/category/${categoryFields.slug}?${qs.stringify(req.query)}`);
}

if (!userPrivileges.read) {
return helpers.notAllowed(req, res);
}

if (!res.locals.isAPI && !req.params.slug && (categoryFields.slug && categoryFields.slug !== `${cid}/`)) {
return helpers.redirect(res, `/category/${categoryFields.slug}`, true);
return helpers.redirect(res, `/category/${categoryFields.slug}?${qs.stringify(req.query)}`, true);
}

if (categoryFields.link) {
Expand Down Expand Up @@ -86,7 +87,7 @@ categoryController.get = async function (req, res, next) {
}

if (topicIndex > Math.max(categoryData.topic_count - 1, 0)) {
return helpers.redirect(res, `/category/${categoryData.slug}/${categoryData.topic_count}`);
return helpers.redirect(res, `/category/${categoryData.slug}/${categoryData.topic_count}?${qs.stringify(req.query)}`);
}
const pageCount = Math.max(1, Math.ceil(categoryData.topic_count / userSettings.topicsPerPage));
if (userSettings.usePagination && currentPage > pageCount) {
Expand Down

0 comments on commit 77dde41

Please sign in to comment.