diff --git a/app/models/post.rb b/app/models/post.rb index 6af603919e3aa8aa9363665156c05d6230d658a2..aea6804d3557df07d8d1d796794bb5851f427be8 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -36,6 +36,7 @@ class Post < ActiveRecord::Base t.add :user_like t.add :mentioned_people t.add :photos + t.add :nsfw end xml_attr :provider_display_name @@ -125,4 +126,8 @@ class Post < ActiveRecord::Base def comment_email_subject I18n.t('notifier.a_post_you_shared') end + + def nsfw + self.author.profile.nsfw? + end end diff --git a/app/models/status_message.rb b/app/models/status_message.rb index 3e6611e719ee11017f9b04e13aa737ff64f1050e..838f268ec7377cb701e7b2c850552d85bdcf0411 100644 --- a/app/models/status_message.rb +++ b/app/models/status_message.rb @@ -63,9 +63,8 @@ class StatusMessage < Post self.photos << Photo.where(:id => photo_ids, :author_id => self.author_id).all end - - def nsfw? - self.raw_message.match(/#nsfw/i) + def nsfw + self.raw_message.match(/#nsfw/i) || super end def formatted_message(opts={}) diff --git a/features/step_definitions/posts_steps.rb b/features/step_definitions/posts_steps.rb index 4ff04041ef41a96836378b0f6fac3c49b1561063..60adfa1b1d3bc1731eb602fccc90b5ff68d85c59 100644 --- a/features/step_definitions/posts_steps.rb +++ b/features/step_definitions/posts_steps.rb @@ -1,5 +1,4 @@ Then /^the post "([^"]*)" should be marked nsfw$/ do |text| - pending assert_nsfw(text) end diff --git a/public/javascripts/app/views/post_view.js b/public/javascripts/app/views/post_view.js index 1db0c217850afabf80f045780796eb075bfe96f5..c722ceed84639eb4f5d6555aafe0ae1aa749f634 100644 --- a/public/javascripts/app/views/post_view.js +++ b/public/javascripts/app/views/post_view.js @@ -49,8 +49,7 @@ app.views.Post = app.views.StreamObject.extend({ presenter : function() { return _.extend(this.defaultPresenter(), { - authorIsCurrentUser : this.authorIsCurrentUser(), - nsfw : this.nsfw() + authorIsCurrentUser : this.authorIsCurrentUser() }) }, @@ -107,9 +106,5 @@ app.views.Post = app.views.StreamObject.extend({ authorIsCurrentUser : function() { return this.model.get("author").id != (!!app.user() && app.user().id) - }, - - nsfw : function() { - return this.model.get("text") !== null && this.model.get("text").match(/#nsfw/i) } });