FEATURE: Allow columns on group members page to be sortable.

This commit is contained in:
Guo Xiang Tan
2016-12-07 17:28:43 +08:00
parent 7e47fdf8da
commit a2da2971af
9 changed files with 158 additions and 25 deletions

View File

@ -72,12 +72,27 @@ class GroupsController < ApplicationController
def members
group = find_group(:group_id)
limit = (params[:limit] || 50).to_i
limit = (params[:limit] || 20).to_i
offset = params[:offset].to_i
order = {}
if params[:order] && %w{last_posted_at last_seen_at}.include?(params[:order])
order.merge!({ params[:order] => params[:asc].blank? ? 'ASC' : 'DESC' })
end
total = group.users.count
members = group.users.order('NOT group_users.owner').order(:username_lower).limit(limit).offset(offset)
owners = group.users.order(:username_lower).where('group_users.owner')
members = group.users
.order('NOT group_users.owner')
.order(order)
.order(:username_lower)
.limit(limit)
.offset(offset)
owners = group.users
.order(order)
.order(:username_lower)
.where('group_users.owner')
render json: {
members: serialize_data(members, GroupUserSerializer),