diff options
author | ThibG <thib@sitedethib.com> | 2019-11-04 13:02:01 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2019-11-04 13:02:01 +0100 |
commit | 65e13cfacf0d1a862fbc4da44ad84b1522b01b34 (patch) | |
tree | 916e5fc1d96c29e34cce6d0f3297e75fc6d33d7f /app/models | |
parent | 1a12943924c8b49180c6daf44459130a219cdf5c (diff) |
Add abilityto add oneself to lists (#12271)
* Add ability to add oneself to lists * Change search results to include oneself when searching through followers * Mark follow relation as optional in ListAccount
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/account.rb | 4 | ||||
-rw-r--r-- | app/models/list_account.rb | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/app/models/account.rb b/app/models/account.rb index 05936def3..cae82da16 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -429,6 +429,8 @@ class Account < ApplicationRecord SELECT target_account_id FROM follows WHERE account_id = ? + UNION ALL + SELECT ? ) SELECT accounts.*, @@ -444,7 +446,7 @@ class Account < ApplicationRecord LIMIT ? OFFSET ? SQL - records = find_by_sql([sql, account.id, account.id, account.id, limit, offset]) + records = find_by_sql([sql, account.id, account.id, account.id, account.id, limit, offset]) else sql = <<-SQL.squish SELECT diff --git a/app/models/list_account.rb b/app/models/list_account.rb index 87b498224..785923c4c 100644 --- a/app/models/list_account.rb +++ b/app/models/list_account.rb @@ -6,13 +6,13 @@ # id :bigint(8) not null, primary key # list_id :bigint(8) not null # account_id :bigint(8) not null -# follow_id :bigint(8) not null +# follow_id :bigint(8) # class ListAccount < ApplicationRecord belongs_to :list belongs_to :account - belongs_to :follow + belongs_to :follow, optional: true validates :account_id, uniqueness: { scope: :list_id } @@ -21,6 +21,6 @@ class ListAccount < ApplicationRecord private def set_follow - self.follow = Follow.find_by(account_id: list.account_id, target_account_id: account.id) + self.follow = Follow.find_by!(account_id: list.account_id, target_account_id: account.id) unless list.account_id == account.id end end |