v1.18.x
Julian Lam 9 years ago
parent ba89cf1164
commit a275aaeaf5

@ -152,6 +152,22 @@ define('admin/manage/categories', ['vendor/jquery/serializeObject/jquery.ba-seri
* @param parentId {number} parent category identifier * @param parentId {number} parent category identifier
*/ */
function renderList(categories, container, parentId){ function renderList(categories, container, parentId){
// Translate category names if needed
var count = 0;
categories.forEach(function(category, idx, parent) {
translator.translate(category.name, function(translated) {
if (category.name !== translated) {
category.name = translated;
}
++count;
if (count === parent.length) {
continueRender();
}
});
});
function continueRender() {
templates.parse('admin/partials/categories/category-rows', { templates.parse('admin/partials/categories/category-rows', {
cid: parentId, cid: parentId,
categories: categories categories: categories
@ -175,6 +191,7 @@ define('admin/manage/categories', ['vendor/jquery/serializeObject/jquery.ba-seri
}); });
}); });
} }
}
return Categories; return Categories;
}); });

@ -155,6 +155,12 @@ define('admin/manage/category', [
} else { } else {
$('a[href="#analytics"]').on('shown.bs.tab', Category.setupGraphs); $('a[href="#analytics"]').on('shown.bs.tab', Category.setupGraphs);
} }
// Fix the input field for the category name, as it can contain a translation key
var nameInput = $('#cid-' + ajaxify.data.cid + '-name');
if (ajaxify.data.category.name !== nameInput.val()) {
$('#cid-' + ajaxify.data.category.cid + '-name').val(ajaxify.data.category.name);
}
}; };
Category.setupPrivilegeTable = function() { Category.setupPrivilegeTable = function() {

@ -4,6 +4,7 @@
var async = require('async'), var async = require('async'),
db = require('../database'), db = require('../database'),
utils = require('../../public/src/utils'), utils = require('../../public/src/utils'),
translator = require('../../public/src/modules/translator'),
plugins = require('../plugins'); plugins = require('../plugins');
module.exports = function(Categories) { module.exports = function(Categories) {
@ -27,7 +28,9 @@ module.exports = function(Categories) {
if (modifiedFields.hasOwnProperty('name')) { if (modifiedFields.hasOwnProperty('name')) {
modifiedFields.slug = cid + '/' + utils.slugify(modifiedFields.name); translator.translate(modifiedFields.name, function(translated) {
modifiedFields.slug = cid + '/' + utils.slugify(translated);
});
} }
plugins.fireHook('filter:category.update', {category: modifiedFields}, function(err, categoryData) { plugins.fireHook('filter:category.update', {category: modifiedFields}, function(err, categoryData) {

Loading…
Cancel
Save