fix encoding for category excerpt

fix missing secure category topics in categories page
This commit is contained in:
Sam 2013-06-05 11:22:47 +10:00
parent 5e305eaf0a
commit 9a57aaaaa9
4 changed files with 27 additions and 2 deletions

View File

@ -31,7 +31,7 @@
{{#if hasExcerpt}} {{#if hasExcerpt}}
<div class="topic-excerpt"> <div class="topic-excerpt">
{{excerpt}} {{{excerpt}}}
{{#if excerptTruncated}} {{#if excerptTruncated}}
{{#unless canClearPin}}<a href="{{lastReadUrl}}">{{i18n read_more}}</a>{{/unless}} {{#unless canClearPin}}<a href="{{lastReadUrl}}">{{i18n read_more}}</a>{{/unless}}
{{/if}} {{/if}}

View File

@ -17,7 +17,13 @@ class CategoryFeaturedTopic < ActiveRecord::Base
CategoryFeaturedTopic.transaction do CategoryFeaturedTopic.transaction do
CategoryFeaturedTopic.delete_all(category_id: c.id) CategoryFeaturedTopic.delete_all(category_id: c.id)
query = TopicQuery.new(nil, per_page: SiteSetting.category_featured_topics)
# fake an admin
admin = User.new
admin.admin = true
admin.id = -1
query = TopicQuery.new(admin, per_page: SiteSetting.category_featured_topics)
results = query.list_category(c) results = query.list_category(c)
if results.present? if results.present?
results.topic_ids.each_with_index do |topic_id, idx| results.topic_ids.each_with_index do |topic_id, idx|

View File

@ -56,6 +56,7 @@ class ListableTopicSerializer < BasicTopicSerializer
end end
def excerpt def excerpt
# excerpt should be hoisted into topic, this is an N+1 query ... yuck
object.posts.by_post_number.first.try(:excerpt, 220, strip_links: true) || nil object.posts.by_post_number.first.try(:excerpt, 220, strip_links: true) || nil
end end

View File

@ -5,5 +5,23 @@ describe CategoryFeaturedTopic do
it { should belong_to :category } it { should belong_to :category }
it { should belong_to :topic } it { should belong_to :topic }
it "should feature topics for a secure category" do
# so much dancing, I am thinking fixures make sense here.
user = Fabricate(:user)
user.change_trust_level!(:basic)
category = Fabricate(:category)
category.deny(:all)
category.allow(Group[:trust_level_1])
category.save
post = PostCreator.create(user, raw: "this is my new post 123 post", title: "hello world")
CategoryFeaturedTopic.feature_topics_for(category)
CategoryFeaturedTopic.count.should == 1
end
end end