scinote-web/app/controllers/activities_controller.rb

46 lines
1.2 KiB
Ruby
Raw Normal View History

2016-02-12 23:52:43 +08:00
class ActivitiesController < ApplicationController
include ActivityHelper
2016-02-12 23:52:43 +08:00
def index
@vars = local_vars
2016-02-12 23:52:43 +08:00
respond_to do |format|
format.json do
render json: {
more_url: local_vars.fetch(:more_activities_url),
html: render_to_string(
partial: 'list.html.erb', locals: @vars
)
2016-02-12 23:52:43 +08:00
}
end
format.html
2016-02-12 23:52:43 +08:00
end
end
private
def local_vars
page = (params[:page] || 1).to_i
activities = current_user.last_activities
.page(page)
.per(Constants::ACTIVITY_AND_NOTIF_SEARCH_LIMIT)
unless activities.last_page?
2018-01-06 00:08:00 +08:00
more_url = url_for(
activities_url(
format: :json,
page: page + 1,
last_activity: activities.last.id
)
)
end
2018-01-06 00:08:00 +08:00
# send last activity date of the previus batch
previous_activity = Activity.find_by_id(params[:last_activity])
previus_date = previous_activity.created_at.to_date if previous_activity
{
activities: activities,
more_activities_url: more_url,
2018-01-06 00:08:00 +08:00
page: page,
previous_activity_created_at: previus_date
}
2016-02-12 23:52:43 +08:00
end
end