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