FIX: Better handling of Group model state (#8356)

The group card and group members page were affecting each other and were
leaking members list and the query parameters which led to bad UX
experience and sub-optimal performance (client made more queries because
it was loading fewer members).

This commit refactors the group model to make it more consistent, remove
dead code, move error handling outside of model.
This commit is contained in:
Dan Ungureanu
2019-11-18 14:59:28 +02:00
committed by GitHub
parent acb8d6f946
commit 352d43b101
13 changed files with 188 additions and 325 deletions

View File

@ -208,20 +208,11 @@ class GroupsController < ApplicationController
guardian.ensure_can_see_group_members!(group)
limit = (params[:limit] || 20).to_i
limit = (params[:limit] || 50).to_i
offset = params[:offset].to_i
if limit < 0
raise Discourse::InvalidParameters.new(:limit)
end
if limit > 1000
raise Discourse::InvalidParameters.new(:limit)
end
if offset < 0
raise Discourse::InvalidParameters.new(:offset)
end
raise Discourse::InvalidParameters.new(:limit) if limit < 0 || limit > 1000
raise Discourse::InvalidParameters.new(:offset) if offset < 0
dir = (params[:desc] && !params[:desc].blank?) ? 'DESC' : 'ASC'
order = ""