Sha256: 135aad0e0a0534cad6ddae0e13b41199aa849c481f0ebdd387549ce3b84db98d

Contents?: true

Size: 1.33 KB

Versions: 8

Compression:

Stored size: 1.33 KB

Contents

# frozen-string-literal: true

module Rodauth
  Feature.define(:confirm_password, :ConfirmPassword) do
    notice_flash "Your password has been confirmed"
    error_flash "There was an error confirming your password"
    loaded_templates %w'confirm-password password-field'
    view 'confirm-password', 'Confirm Password'
    additional_form_tags
    button 'Confirm Password'
    before
    after

    auth_value_methods :confirm_password_redirect

    auth_methods :confirm_password

    route do
      require_account
      before_confirm_password_route

      request.get do
        confirm_password_view
      end

      request.post do
        if password_match?(param(password_param))
          transaction do
            before_confirm_password
            confirm_password
            after_confirm_password
          end
          set_notice_flash confirm_password_notice_flash
          redirect confirm_password_redirect
        else
          set_response_error_status(invalid_password_error_status)
          set_field_error(password_param, invalid_password_message)
          set_error_flash confirm_password_error_flash
          confirm_password_view
        end
      end
    end

    def confirm_password
      nil
    end

    def confirm_password_redirect
      session.delete(:confirm_password_redirect) || default_redirect
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rodauth-1.17.0 lib/rodauth/features/confirm_password.rb
rodauth-1.16.0 lib/rodauth/features/confirm_password.rb
rodauth-1.15.0 lib/rodauth/features/confirm_password.rb
rodauth-1.14.0 lib/rodauth/features/confirm_password.rb
rodauth-1.13.0 lib/rodauth/features/confirm_password.rb
rodauth-1.12.0 lib/rodauth/features/confirm_password.rb
rodauth-1.11.0 lib/rodauth/features/confirm_password.rb
rodauth-1.10.0 lib/rodauth/features/confirm_password.rb