Sha256: aaf60e38aff44fb24900271f0068b76f825a443f586678785021b342c667b6eb

Contents?: true

Size: 975 Bytes

Versions: 3

Compression:

Stored size: 975 Bytes

Contents

require 'rails_admin/config/fields'
require 'rails_admin/config/fields/types'
require 'rails_admin/config/fields/types/password'

# Register a custom field factory for devise model
RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
  if properties.name == :encrypted_password
    extensions = %i[password_salt reset_password_token remember_token]
    fields << RailsAdmin::Config::Fields::Types.load(:password).new(parent, :password, properties)
    fields << RailsAdmin::Config::Fields::Types.load(:password).new(parent, :password_confirmation, properties)
    extensions.each do |ext|
      properties = parent.abstract_model.properties.detect { |p| ext == p.name }
      next unless properties

      field = fields.detect { |f| f.name == ext }
      unless field
        RailsAdmin::Config::Fields.default_factory.call(parent, properties, fields)
        field = fields.last
      end
      field.hide
    end
    true
  else
    false
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_admin-3.0.0 lib/rails_admin/config/fields/factories/devise.rb
rails_admin-3.0.0.rc4 lib/rails_admin/config/fields/factories/devise.rb
rails_admin-3.0.0.rc3 lib/rails_admin/config/fields/factories/devise.rb