class UserPasswordsController < Spree::UserPasswordsController layout 'darkswarm' before_filter :set_admin_redirect, only: :edit def create render_unconfirmed_response && return if user_unconfirmed? self.resource = resource_class.send_reset_password_instructions(params[resource_name]) if resource.errors.empty? set_flash_message(:success, :send_instructions) if is_navigational_format? respond_with resource, location: spree.login_path else respond_to do |format| format.html do respond_with_navigational(resource) { render :new } end format.js do render json: { error: t('email_not_found') }, status: :not_found end end end end private def set_admin_redirect session["spree_user_return_to"] = params[:return_to] if params[:return_to] end def render_unconfirmed_response render json: { error: t('email_unconfirmed') }, status: :unauthorized end def user_unconfirmed? user = Spree::User.find_by_email(params[:spree_user][:email]) user && !user.confirmed? end end