mirror of
https://github.com/discourse/discourse.git
synced 2025-06-06 21:54:46 +08:00
Add site setting category support
This commit is contained in:
@ -103,21 +103,25 @@ Discourse.SiteSetting = Discourse.Model.extend({
|
||||
|
||||
Discourse.SiteSetting.reopenClass({
|
||||
|
||||
/**
|
||||
Retrieve all settings from the server
|
||||
|
||||
@method findAll
|
||||
**/
|
||||
findAll: function() {
|
||||
var result = Em.A();
|
||||
Discourse.ajax("/admin/site_settings").then(function (settings) {
|
||||
return Discourse.ajax("/admin/site_settings").then(function (settings) {
|
||||
// Group the results by category
|
||||
var categoryNames = [],
|
||||
categories = {},
|
||||
result = Em.A();
|
||||
_.each(settings.site_settings,function(s) {
|
||||
s.originalValue = s.value;
|
||||
result.pushObject(Discourse.SiteSetting.create(s));
|
||||
if (!categoryNames.contains(s.category)) {
|
||||
categoryNames.pushObject(s.category);
|
||||
categories[s.category] = Em.A();
|
||||
}
|
||||
categories[s.category].pushObject(Discourse.SiteSetting.create(s));
|
||||
});
|
||||
result.set('diags', settings.diags);
|
||||
_.each(categoryNames, function(n) {
|
||||
result.pushObject({nameKey: n, name: I18n.t('admin.site_settings.categories.' + n),siteSettings: categories[n]});
|
||||
});
|
||||
return result;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
|
||||
update: function(key, value) {
|
||||
@ -126,6 +130,7 @@ Discourse.SiteSetting.reopenClass({
|
||||
data: { value: value }
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user