Getting Category's custom field value from Topic

I have created custom category field enable_bump_topic (by example of @SamSaffron’s discourse-solved plugin). But I don’t seem to get how could I access this custom field when on Topic. I created canBump computed property for Topic (https://github.com/jannolii/discourse-bump-topic/blob/master/assets/javascripts/discourse/initializers/extend-topic-for-bump-button.js.es6) but I only get value out from Category’s custom field when I first visit Category and open Edit form and then go to this Categroy’s topic. If I go directly to Topic I get undefined when try to access custom_fields. It’s like custom_fields doesn’t exist before I go and look at the Category settings.

What am I missing? What am I not getting?

My (still very raw) project: https://github.com/jannolii/discourse-bump-topic

You need to add it to the serializer of the page you want it to be, or make an additional request to an endpoint that will give you this value.

Thanks. Could there be an example where custom field is being added to a serializer? Quick scan didn’t reveal such thing being used in some popular plugins

https://github.com/xfalcox/discourse-signatures/blob/master/plugin.rb#L20-L26

Here code it’s adding a new field to the post serializer. You need something similar, but adding a new field to the topic serializer I think.

3 Likes

Thanks a lot! Now I’m starting to get somewhere :wink: