mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-05 22:26:07 +00:00
33 lines
843 B
Ruby
33 lines
843 B
Ruby
# frozen_string_literal: true
|
|
|
|
class UserPasswordsController < Spree::UserPasswordsController
|
|
layout 'darkswarm'
|
|
|
|
def create
|
|
return render_unconfirmed_response if user_unconfirmed?
|
|
|
|
self.resource = resource_class.send_reset_password_instructions(raw_params[resource_name])
|
|
|
|
if resource.errors.empty?
|
|
@message, @type = [t(:password_reset_sent), :success]
|
|
render :create
|
|
else
|
|
@message, @type = [t(:email_not_found), :alert]
|
|
render :create, status: :not_found
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def render_unconfirmed_response
|
|
@message, @type, @unconfirmed, @tab = [t(:email_unconfirmed), :alert, true, 'forgot']
|
|
|
|
render :create, status: :unprocessable_entity
|
|
end
|
|
|
|
def user_unconfirmed?
|
|
user = Spree::User.find_by(email: params.dig(:spree_user, :email))
|
|
user && !user.confirmed?
|
|
end
|
|
end
|