Skip to content

Commit

Permalink
update to handle preloading category custom fields
Browse files Browse the repository at this point in the history
  • Loading branch information
angusmcleod committed Mar 19, 2019
1 parent df8e1fd commit 5017187
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions plugin.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
Discourse.filters.push(:calendar) Discourse.filters.push(:calendar)
Discourse.anonymous_filters.push(:calendar) Discourse.anonymous_filters.push(:calendar)


register_svg_icon "rss" if respond_to?(:register_svg_icon)

load File.expand_path('../models/events_timezone_default_site_setting.rb', __FILE__) load File.expand_path('../models/events_timezone_default_site_setting.rb', __FILE__)
load File.expand_path('../models/events_timezone_display_site_setting.rb', __FILE__) load File.expand_path('../models/events_timezone_display_site_setting.rb', __FILE__)


Expand Down Expand Up @@ -49,12 +51,18 @@
Category.register_custom_field_type('events_calendar_enabled', :boolean) Category.register_custom_field_type('events_calendar_enabled', :boolean)
Category.register_custom_field_type('events_min_trust_to_create', :integer) Category.register_custom_field_type('events_min_trust_to_create', :integer)
Category.register_custom_field_type('events_required', :boolean) Category.register_custom_field_type('events_required', :boolean)
add_to_serializer(:basic_category, :events_enabled) { object.events_enabled }
add_to_serializer(:basic_category, :events_event_label_no_text) { object.custom_fields['events_event_label_no_text'] } [
add_to_serializer(:basic_category, :events_agenda_enabled) { object.events_agenda_enabled } "events_enabled",
add_to_serializer(:basic_category, :events_calendar_enabled) { object.events_calendar_enabled } "events_event_label_no_text",
add_to_serializer(:basic_category, :events_min_trust_to_create) { object.events_min_trust_to_create } "events_agenda_enabled",
add_to_serializer(:basic_category, :events_required) { object.events_required } "events_calendar_enabled",
"events_min_trust_to_create",
"events_required"
].each do |key|
Site.preloaded_category_custom_fields << key if Site.respond_to? :preloaded_category_custom_fields
add_to_serializer(:basic_category, key.to_sym) { object.send(key) }
end


class ::Category class ::Category
def events_min_trust_to_create def events_min_trust_to_create
Expand Down Expand Up @@ -96,6 +104,14 @@ def events_required
false false
end end
end end

def events_event_label_no_text
if self.custom_fields['events_event_label_no_text'] != nil
self.custom_fields['events_event_label_no_text']
else
false
end
end
end end


module EventsSiteSettingExtension module EventsSiteSettingExtension
Expand Down Expand Up @@ -496,7 +512,7 @@ def event_ics(opts = {})
end end
e.summary = t.title e.summary = t.title
e.description = t.excerpt e.description = t.excerpt
e.url = calendar_url e.url = t.url
end end
end end
end end
Expand Down

0 comments on commit 5017187

Please sign in to comment.