Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 0.56 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. has_and_belongs_to_many_relationship but only for non-admin users
  2. class Company
  3.   def self.for_user
  4.     if User.current.is_admin?
  5.        Company.all
  6.     else
  7.        User.companies
  8.     end
  9.   end
  10. end
  11.        
  12. class User < ActiveRecord::Base
  13.   has_and_belongs_to_many :companies
  14. end
  15.  
  16. class Admin < User
  17.   def companies
  18.     Companies.all
  19.   end
  20. end
  21.        
  22. class User
  23.   has_and_belongs_to_many :companies do
  24.     def visible
  25.       if proxy_owner.can? "company:view_all"
  26.         Company.scoped
  27.       else
  28.         self
  29.       end
  30.     end
  31.   end
  32. end
  33.        
  34. User.find(x).companies.visible