Fix account aliases page (#13452)
* Fix error not being displayed when adding an account alias, add error for self-references Co-Authored-By: Mélanie Chauvel (ariasuni) <perso@hack-libre.org> * Add “You have no aliases.” note in confusing empty aliases table Co-Authored-By: Mélanie Chauvel (ariasuni) <perso@hack-libre.org> Co-authored-by: Mélanie Chauvel (ariasuni) <perso@hack-libre.org>
This commit is contained in:
parent
490ff09c5a
commit
f7e011919e
3 changed files with 17 additions and 3 deletions
|
@ -18,6 +18,7 @@ class AccountAlias < ApplicationRecord
|
|||
validates :acct, presence: true, domain: { acct: true }
|
||||
validates :uri, presence: true
|
||||
validates :uri, uniqueness: { scope: :account_id }
|
||||
validate :validate_target_account
|
||||
|
||||
before_validation :set_uri
|
||||
after_create :add_to_account
|
||||
|
@ -44,4 +45,12 @@ class AccountAlias < ApplicationRecord
|
|||
def remove_from_account
|
||||
account.update(also_known_as: account.also_known_as.reject { |x| x == uri })
|
||||
end
|
||||
|
||||
def validate_target_account
|
||||
if uri.nil?
|
||||
errors.add(:acct, I18n.t('migrations.errors.not_found'))
|
||||
elsif ActivityPub::TagManager.instance.uri_for(account) == uri
|
||||
errors.add(:acct, I18n.t('migrations.errors.move_to_self'))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue