Sha256: fd82f6ce9c0db7411ccebfbd64cc7e2521a57a84ffc87ad4a092a83162471e8f

Contents?: true

Size: 804 Bytes

Versions: 68

Compression:

Stored size: 804 Bytes

Contents

module Pageflow
  # Specialized User class containing invitation logic used by in the
  # users admin.
  class InvitedUser < User
    before_create :prepare_invitation
    after_create :send_invitation

    def send_invitation!
      prepare_invitation
      save(validate: false)
      send_invitation
    end

    private

    def prepare_invitation
      @token = generate_reset_password_token
    end

    def generate_reset_password_token
      raw, enc = Devise.token_generator.generate(self.class, :reset_password_token)

      self.reset_password_token = enc
      self.reset_password_sent_at = Time.now.utc

      raw
    end

    def password_required?
      false
    end

    def send_invitation
      UserMailer.invitation(user: self, password_token: @token).deliver_later
    end
  end
end

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
pageflow-17.0.4 app/models/pageflow/invited_user.rb
pageflow-17.0.3 app/models/pageflow/invited_user.rb
pageflow-17.0.2 app/models/pageflow/invited_user.rb
pageflow-17.0.1 app/models/pageflow/invited_user.rb
pageflow-17.0.0 app/models/pageflow/invited_user.rb
pageflow-16.2.0 app/models/pageflow/invited_user.rb
pageflow-16.1.0 app/models/pageflow/invited_user.rb
pageflow-16.0.0 app/models/pageflow/invited_user.rb
pageflow-15.8.0 app/models/pageflow/invited_user.rb
pageflow-14.5.2 app/models/pageflow/invited_user.rb
pageflow-15.7.1 app/models/pageflow/invited_user.rb
pageflow-15.7.0 app/models/pageflow/invited_user.rb
pageflow-15.6.1 app/models/pageflow/invited_user.rb
pageflow-15.6.0 app/models/pageflow/invited_user.rb
pageflow-15.5.0 app/models/pageflow/invited_user.rb
pageflow-15.4.0 app/models/pageflow/invited_user.rb
pageflow-15.3.0 app/models/pageflow/invited_user.rb
pageflow-15.2.2 app/models/pageflow/invited_user.rb
pageflow-15.2.1 app/models/pageflow/invited_user.rb
pageflow-15.2.0 app/models/pageflow/invited_user.rb