Sha256: 30841053a5bb91d0e9d58cdb1ae4351d17532eb513af15921300b6672e2512bd

Contents?: true

Size: 725 Bytes

Versions: 2

Compression:

Stored size: 725 Bytes

Contents

class GuestUser < User
  
  def initialize(attributes={})
    super({:login => "guest", :first_name => "Anonymous", :last_name => "User"}.merge(attributes))
    @guest = true
  end
    
  def able_to?(*name)
    group && group.permissions.count(:conditions => ["name in (?)", name.map(&:to_s)]) > 0
  end
  
  def able_to_view?(page)
    group && !!(group.sections.include?(page.section))
  end
  
  def able_to_edit?(section)
    false
  end
  
  def group
    @group ||= Group.find_by_code("guest")
  end
  
  def groups
    [group]
  end
  
  #You shouldn't be able to save a guest user
  def update_attribute(name, value)
    false
  end
  def update_attributes(attrs={})
    false
  end
  def save
    false
  end
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nate-browsercms-3.0.210 app/models/guest_user.rb
nate-browsercms-3.0.211 app/models/guest_user.rb