Sha256: 0cda6f90ff2f9c2e74245ca9fb7f8f37d485ed5009bfc9ceaa9de1ba12b45730

Contents?: true

Size: 1.17 KB

Versions: 7

Compression:

Stored size: 1.17 KB

Contents

include All::Permissions::Accounts

view :editor do
  card.content = ''

  # HACK
  autocomplete = if @parent && @parent.card.name == '*signin+*account'
                   'on'
                 else
                   'off'
                 end
  password_field :content, class: 'card-content', autocomplete: autocomplete
end

view :raw do
  '<em>encrypted</em>'
end

event :encrypt_password, :store,
      on: :save, changed: :content,
      when: proc { !Card::Env[:no_password_encryptions] } do
  # no_password_encryptions = hack for import - fix with api for ignoring events
  salt = left && left.salt
  # HACK: fix with better ORM handling
  salt = Card::Env[:salt] unless salt.present?
  self.content = Auth.encrypt content, salt

  # errors.add :password, 'need a valid salt'
  # turns out we have a lot of existing account without a salt.
  # not sure when that broke??
end

event :validate_password, :validate,
      on: :save do
  unless content.length > 3
    errors.add :password, 'must be at least 4 characters'
  end
end

event :validate_password_present, :prepare_to_validate, on: :update do
  abort :success if content.blank?
end

def ok_to_read
  own_account? ? true : super
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
card-1.18.6 mod/05_standard/set/right/password.rb
card-1.18.5 mod/05_standard/set/right/password.rb
card-1.18.4 mod/05_standard/set/right/password.rb
card-1.18.3 mod/05_standard/set/right/password.rb
card-1.18.2 mod/05_standard/set/right/password.rb
card-1.18.1 mod/05_standard/set/right/password.rb
card-1.18.0 mod/05_standard/set/right/password.rb