diff options
Diffstat (limited to 'app/models/account_domain_permission.rb')
-rw-r--r-- | app/models/account_domain_permission.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/app/models/account_domain_permission.rb b/app/models/account_domain_permission.rb index 2606c4133..9e77950f2 100644 --- a/app/models/account_domain_permission.rb +++ b/app/models/account_domain_permission.rb @@ -7,6 +7,7 @@ # account_id :bigint(8) not null # domain :string default(""), not null # visibility :integer default("public"), not null +# sticky :boolean default(FALSE), not null # class AccountDomainPermission < ApplicationRecord @@ -40,7 +41,7 @@ class AccountDomainPermission < ApplicationRecord domain_permissions = normalize(domain_permissions) permissions = find_by(domain: domain_permissions[:domain]) if permissions.present? - permissions.update(**domain_permissions) + permissions.update(**domain_permissions) unless permissions.sticky? && %w(direct limited private).include?(domain_permissions[:visibility].to_s) else create(**domain_permissions) end @@ -51,7 +52,7 @@ class AccountDomainPermission < ApplicationRecord domain_permissions = normalize(domain_permissions) permissions = find_by(domain: domain_permissions[:domain]) if permissions.present? - permissions.update!(**domain_permissions) + permissions.update!(**domain_permissions) unless permissions.sticky? && %w(direct limited private).include?(domain_permissions[:visibility].to_s) else create!(**domain_permissions) end |