2013-10-26 14:56:55 +02:00
|
|
|
module Routes
|
|
|
|
class Post < Controller
|
|
|
|
def self.get(session)
|
2013-10-26 17:52:52 +02:00
|
|
|
define_posts(session)
|
|
|
|
session.options[:render] = 'posts/index'
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.define_posts(session)
|
2013-10-29 19:47:17 +01:00
|
|
|
page = (session.request.params['page'] || 0).to_i
|
|
|
|
per_page = (session.request.params['per_page'] || 10).to_i
|
2013-10-26 14:56:55 +02:00
|
|
|
posts = DB[:posts].
|
|
|
|
filter(:released => true).
|
2013-10-26 17:52:52 +02:00
|
|
|
select(:posts__id___post_id, :written, :title, :content, :username).
|
2013-10-26 14:56:55 +02:00
|
|
|
join(:accounts, :id___account_id => :account_id).
|
|
|
|
reverse_order(:written)
|
2013-10-26 17:52:52 +02:00
|
|
|
if session.options[:id]
|
|
|
|
posts = posts.where(:posts__id => session.options[:id])
|
|
|
|
end
|
2013-10-29 19:47:17 +01:00
|
|
|
session.options[:posts] = posts.limit(per_page, page * per_page)
|
2013-10-26 14:56:55 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|