Sha256: a88262311c8307d2b13ca122c39b756559ee70b19cf2f2ca13757d6100c7e8ac

Contents?: true

Size: 1.57 KB

Versions: 5

Compression:

Stored size: 1.57 KB

Contents

# -*- encoding : utf-8 -*-
class Card; module Set; module Right; module Email; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/right/email.rb ~~~~~~~~~~~
#event :
include All::Permissions::Accounts

view :raw do |args|
  case
  when card.real?          ; card.content
  when card.left.account   ; card.left.account.email #this supports legacy behavior (should be moved to User+*email+*type plus right)
  else ''
  end
end

view :core, :raw

event :validate_email, :after=>:approve, :on=>:save do
  if content.present? && content !~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
    errors.add :content, 'must be valid address'
  end
end

event :validate_unique_email, :after=>:validate_email, :on=>:save do
  if content.present?
    Auth.as_bot do
      wql = { :right_id=>Card::EmailID, :eq=>content }
      wql[:not] = { :id => id } if id
      if Card.search( wql ).first
        errors.add :content, 'must be unique'
      end
    end
  end
end

event :downcase_email, :before=>:approve, :on=>:save do
  if content and content != content.downcase
    self.content = content.downcase
  end
end

def email_required?
  !built_in?
end

def ok_to_read
  if is_own_account? or Auth.always_ok?
    true
  else
    deny_because "viewing email is restricted to administrators and account holders"
  end
end

def is_own_account?
  cardname.parts[0].to_name.key == Auth.as_card.cardname.key
end

# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/right/email.rb ~~~~~~~~~~~
end;end;end;end;

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
card-1.16.6 tmpsets/set/mod007-05_standard/right/email.rb
card-1.16.5 tmpsets/set/mod007-05_standard/right/email.rb
card-1.16.4 tmpsets/set/mod007-05_standard/right/email.rb
card-1.16.3 tmpsets/set/mod007-05_standard/right/email.rb
card-1.16.2 tmpsets/set/mod007-05_standard/right/email.rb