Newer
Older
# licensed under the Affero General Public License version 3. See
# the COPYRIGHT file.
Daniel Vincent Grippi
a validé
Raphael
a validé
module Diaspora
module UserModules
module Querying
def find_visible_post_by_id( id )
self.raw_visible_posts.find id
Raphael
a validé
end
def visible_posts( opts = {} )
if opts[:by_members_of]
return raw_visible_posts if opts[:by_members_of] == :all
aspect = self.aspects.find_by_id( opts[:by_members_of].id )
aspect.posts
elsif opts[:from]
self.raw_visible_posts.find_all_by_person_id(opts[:from].id, :order => 'created_at DESC')
Raphael
a validé
end
end
def visible_person_by_id( id )
id = id.to_id
return self.person if id == self.person.id
result = friends.detect{|x| x.id == id }
result = visible_people.detect{|x| x.id == id } unless result
result
end
id = id.to_id
aspects.detect{|x| x.id == id }
Raphael
a validé
end
def album_by_id( id )
id = id.to_id
albums.detect{|x| x.id == id }
end
def aspects_with_post( id )
self.aspects.find_all_by_post_ids( id.to_id )
Raphael
a validé
end
Raphael
a validé
id = person.id.to_id
Raphael
a validé
end
Raphael
a validé
people = []
aspects.each{ |aspect|
people = people | aspect.people
Raphael
a validé
}
people
end
Raphael
a validé
end
def albums_by_aspect aspect
aspect == :all ? raw_visible_posts.find_all_by__type("Album") : aspect.posts.find_all_by__type("Album")
Raphael
a validé
end
end
end