FEATURE: serialize and update category custom_fields

- send to client
- update from client
This commit is contained in:
Sam Saffron 2015-06-10 06:07:37 +10:00
parent 79027c2775
commit e3fa27a01c
4 changed files with 10 additions and 2 deletions

View File

@ -75,7 +75,8 @@ Discourse.Category = Discourse.Model.extend({
parent_category_id: this.get('parent_category_id'),
logo_url: this.get('logo_url'),
background_url: this.get('background_url'),
allow_badges: this.get('allow_badges')
allow_badges: this.get('allow_badges'),
custom_fields: this.get('custom_fields')
},
type: this.get('id') ? 'PUT' : 'POST'
});

View File

@ -146,6 +146,7 @@ class CategoriesController < ApplicationController
:background_url,
:allow_badges,
:slug,
:custom_fields => [params[:custom_fields].try(:keys)],
:permissions => [*p.try(:keys)])
end
end

View File

@ -10,7 +10,8 @@ class CategorySerializer < BasicCategorySerializer
:email_in_allow_strangers,
:can_delete,
:cannot_delete_reason,
:allow_badges
:allow_badges,
:custom_fields
def group_permissions
@group_permissions ||= begin

View File

@ -162,8 +162,12 @@ describe CategoriesController do
permissions: {
"everyone" => readonly,
"staff" => create_post
},
custom_fields: {
"dancing" => "frogs"
}
expect(response.status).to eq(200)
@category.reload
expect(@category.category_groups.map{|g| [g.group_id, g.permission_type]}.sort).to eq([
@ -173,6 +177,7 @@ describe CategoriesController do
expect(@category.slug).to eq("hello-category")
expect(@category.color).to eq("ff0")
expect(@category.auto_close_hours).to eq(72)
expect(@category.custom_fields).to eq({"dancing" => "frogs"})
end
end
end