Files
openfoodnetwork/app/controllers/concerns/manager_invitations.rb
Maikel Linke 0dabca583f Set stronger secret password for managers
And avoid depending on Devise for this.
2025-12-12 15:17:57 +11:00

20 lines
597 B
Ruby

# frozen_string_literal: true
module ManagerInvitations
extend ActiveSupport::Concern
def create_new_manager(email, enterprise)
password = SecureRandom.base58(64)
new_user = Spree::User.create(email:, unconfirmed_email: email, password:)
new_user.reset_password_token = Devise.friendly_token
# Same time as used in Devise's lib/devise/models/recoverable.rb.
new_user.reset_password_sent_at = Time.now.utc
if new_user.save
enterprise.users << new_user
EnterpriseMailer.manager_invitation(enterprise, new_user).deliver_later
end
new_user
end
end