app/models/pageflow/membership.rb in pageflow-14.3.0 vs app/models/pageflow/membership.rb in pageflow-14.4.0
- old
+ new
@@ -9,11 +9,11 @@
belongs_to :account,
-> { where(pageflow_memberships: {entity_type: 'Pageflow::Account'}) },
foreign_key: 'entity_id',
optional: true
- validates :user, :entity, :role, presence: true
+ validates :entity, :role, presence: true
validates :user_id, uniqueness: {scope: [:entity_type, :entity_id]}
validate :account_membership_exists, if: :on_entry?
validates :role,
inclusion: {in: %w(previewer editor publisher manager)},
if: :on_entry?
@@ -36,12 +36,11 @@
end
private
def account_membership_exists
- unless user.accounts.include?(entity.account)
- errors[:base] << 'Entry Membership misses presupposed Membership on account of entry'
- end
+ errors[:base] << 'Entry Membership misses presupposed Membership on account of entry' if
+ user.present? && !user.accounts.include?(entity.account)
end
def on_entry?
entity_type == 'Pageflow::Entry'
end