Sha256: 453eb5f5539ab2af1e31a563bf1c4f609d04259853b01e6658e4794cd8fb3b98

Contents?: true

Size: 1.22 KB

Versions: 7

Compression:

Stored size: 1.22 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, on: :save, after: :process_subcards,
                         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, on: :save, before: :approve do
  unless content.length > 3
    errors.add :password, 'must be at least 4 characters'
  end
end

event :validate_password_present, on: :update, before: :approve 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.17.4 mod/05_standard/set/right/password.rb
card-1.17.3 mod/05_standard/set/right/password.rb
card-1.17.2 mod/05_standard/set/right/password.rb
card-1.17.1 mod/05_standard/set/right/password.rb
card-1.17.0 mod/05_standard/set/right/password.rb
card-1.16.15 mod/05_standard/set/right/password.rb
card-1.16.14 mod/05_standard/set/right/password.rb