diff options
author | Valentin Ouvrard <valentin210594@gmail.com> | 2017-04-08 13:39:09 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-08 13:39:09 +1100 |
commit | 3e4eb9c95fc8d8f3fff1db90215d5050214adc59 (patch) | |
tree | c9f709f2582f8fe97c72b4faa8bc0811bbbb4deb /app/models/status.rb | |
parent | 93e53a3311c33b218d1cf7ae26b74056dfabc909 (diff) | |
parent | fc7b8307190b8f472b526d99bc10db58153850d5 (diff) |
Merge branch 'master' into master
Diffstat (limited to 'app/models/status.rb')
-rw-r--r-- | app/models/status.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/app/models/status.rb b/app/models/status.rb index daf128572..7e3dd3e28 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -62,8 +62,12 @@ class Status < ApplicationRecord reply? ? :comment : :note end + def proper + reblog? ? reblog : self + end + def content - reblog? ? reblog.text : text + proper.text end def target @@ -161,9 +165,9 @@ class Status < ApplicationRecord return where.not(visibility: [:private, :direct]) if account.nil? if target_account.blocking?(account) # get rid of blocked peeps - where('1 = 0') + none elsif account.id == target_account.id # author can see own stuff - where('1 = 1') + all elsif account.following?(target_account) # followers can see followers-only stuff, but also things they are mentioned in joins('LEFT OUTER JOIN mentions ON statuses.id = mentions.status_id AND mentions.account_id = ' + account.id.to_s) .where('statuses.visibility != ? OR mentions.id IS NOT NULL', Status.visibilities[:direct]) |