mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-17 11:11:04 +01:00
feat: #3783, min/max tags per category
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
var validator = require('validator');
|
||||
const validator = require('validator');
|
||||
|
||||
var db = require('../database');
|
||||
const db = require('../database');
|
||||
const meta = require('../meta');
|
||||
|
||||
const intFields = [
|
||||
'cid', 'parentCid', 'disabled', 'isSection', 'order',
|
||||
'topic_count', 'post_count', 'numRecentReplies',
|
||||
'minTags', 'maxTags',
|
||||
];
|
||||
|
||||
module.exports = function (Categories) {
|
||||
@@ -59,6 +61,21 @@ function modifyCategory(category, fields) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!fields.length || fields.includes('minTags')) {
|
||||
const useDefault = !category.hasOwnProperty('minTags') ||
|
||||
category.minTags === null ||
|
||||
category.minTags === '' ||
|
||||
!parseInt(category.minTags, 10);
|
||||
category.minTags = useDefault ? meta.config.minimumTagsPerTopic : category.minTags;
|
||||
}
|
||||
if (!fields.length || fields.includes('maxTags')) {
|
||||
const useDefault = !category.hasOwnProperty('maxTags') ||
|
||||
category.maxTags === null ||
|
||||
category.maxTags === '' ||
|
||||
!parseInt(category.maxTags, 10);
|
||||
category.maxTags = useDefault ? meta.config.maximumTagsPerTopic : category.maxTags;
|
||||
}
|
||||
|
||||
db.parseIntFields(category, intFields, fields);
|
||||
|
||||
if (category.hasOwnProperty('name')) {
|
||||
|
||||
Reference in New Issue
Block a user