Sha256: 487a1c8126579b23ef5216ece4d5570b556029d14c12a5cee88a1151534ed1c7

Contents?: true

Size: 680 Bytes

Versions: 8

Compression:

Stored size: 680 Bytes

Contents

require 'orange-core/carton'

class OrangeUser < Orange::Carton
  id
  admin do
    title :name
    text :open_id
  end
  
  has n, :orange_sites, :through => Resource
  
  def allowed?(packet)
    subsite_access = packet['subsite'].blank? ? false : self.orange_sites.first(:id => packet['subsite'].id)
    site_access = self.orange_sites.first(:id => packet['site'].id)
    if(!site_access.blank?)
      true
    elsif !packet['subsite'].blank? && subsite_access
      true
    else  
      # nil out invalid user
      packet.session['user.id'] = nil
      packet['user.id'] = nil
      false
    end
  end
end

class OrangeSite 
  has n, :orange_users, :through => Resource
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
orange-more-0.7.3 lib/orange-more/administration/cartons/user.rb
orange-more-0.7.2 lib/orange-more/administration/cartons/user.rb
orange-more-0.7.1 lib/orange-more/administration/cartons/user.rb
orange-more-0.6.5 lib/orange-more/administration/cartons/user.rb
orange-more-0.6.4 lib/orange-more/administration/cartons/user.rb
orange-more-0.6.3 lib/orange-more/administration/cartons/user.rb
orange-more-0.6.2 lib/orange-more/administration/cartons/user.rb
orange-more-0.6.0 lib/orange-more/administration/cartons/user.rb