class SakaiInfo::SiteMembership

Attributes

role[R]
site[R]
user[R]

Public Class Methods

find_by_site_id(site_id) click to toggle source
# File lib/sakai-info/site.rb, line 538
def self.find_by_site_id(site_id)
  results = []
  DB.connect.fetch("select srrg.user_id, srr.role_name " +
                   "from sakai_realm_rl_gr srrg, sakai_realm_role srr, sakai_realm sr " +
                   "where srrg.role_key = srr.role_key " +
                   "and srrg.realm_key = sr.realm_key " +
                   "and sr.realm_id = '/site/' || ? ", site_id) do |row|
    results << SiteMembership.new(site_id, row[:user_id], row[:role_name])
  end
  results
end
find_by_user_id(user_id) click to toggle source
# File lib/sakai-info/site.rb, line 550
def self.find_by_user_id(user_id)
  results = []
  DB.connect.fetch("select substr(sr.realm_id,7) as site_id, srr.role_name as role_name " +
                   "from sakai_realm_rl_gr srrg, sakai_realm_role srr, sakai_realm sr " +
                   "where srrg.role_key = srr.role_key " +
                   "and srrg.realm_key = sr.realm_key " +
                   "and srrg.user_id = ? " +
                   "and sr.realm_id like '/site/%' " +
                   "and sr.realm_id not like '%/group/%'", user_id) do |row|
    results << SiteMembership.new(row[:site_id], user_id, row[:role_name])
  end
  results
end
new(site_id, user_id, role) click to toggle source
# File lib/sakai-info/site.rb, line 532
def initialize(site_id, user_id, role)
  @site = Site.find(site_id)
  @user = User.find(user_id)
  @role = AuthzRole.find(role)
end

Public Instance Methods

default_serialization() click to toggle source
# File lib/sakai-info/site.rb, line 564
def default_serialization
  {
    "site" => self.site.serialize(:summary),
    "user" => self.user.serialize(:summary),
    "role" => self.role.name
  }
end
site_summary_serialization() click to toggle source
# File lib/sakai-info/site.rb, line 591
def site_summary_serialization
  {
    "user_id" => self.user.id,
    "user_eid" => self.user.eid,
    "user_type" => self.user.type,
    "role" => self.role.name
  }
end
summary_serialization() click to toggle source
# File lib/sakai-info/site.rb, line 572
def summary_serialization
  {
    "site_id" => self.site.id,
    "site_title" => self.site.title,
    "user_id" => self.user.id,
    "user_eid" => self.user.eid,
    "user_type" => self.user.type,
    "role" => self.role.name
  }
end
user_summary_serialization() click to toggle source
# File lib/sakai-info/site.rb, line 583
def user_summary_serialization
  {
    "site_id" => self.site.id,
    "site_title" => self.site.title,
    "role" => self.role.name
  }
end