Use ActsAsList#update_order in AssignmentGroups#reorder
refs CNVS-8955 Test plan: * Try to reorder assignment groups in the assignment index page (old one and draft state). * Reload the page. * The groups should be arranged in your new order. Change-Id: I61f637202e954575b500411ea2f7da4d962c4cdf Reviewed-on: https://gerrit.instructure.com/25984 Tested-by: Jenkins <jenkins@instructure.com> Reviewed-by: Cameron Sutter <csutter@instructure.com> QA-Review: Caleb Guanzon <cguanzon@instructure.com> Product-Review: Cameron Matheson <cameron@instructure.com>
This commit is contained in:
parent
e839e14755
commit
97be53eddd
|
@ -118,17 +118,10 @@ class AssignmentGroupsController < ApplicationController
|
|||
def reorder
|
||||
if authorized_action(@context.assignment_groups.new, @current_user, :update)
|
||||
order = params[:order].split(',')
|
||||
ids = []
|
||||
order.each_index do |idx|
|
||||
id = order[idx]
|
||||
group = @context.assignment_groups.active.find_by_id(id) if id.present?
|
||||
if group
|
||||
group.move_to_bottom
|
||||
ids << group.id
|
||||
end
|
||||
end
|
||||
@context.assignment_groups.first.update_order(order)
|
||||
respond_to do |format|
|
||||
format.json { render :json => {:reorder => true, :order => ids}, :status => :ok }
|
||||
new_order = @context.assignment_groups.pluck(:id)
|
||||
format.json { render :json => {:reorder => true, :order => new_order}, :status => :ok }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -70,16 +70,13 @@ describe AssignmentGroupsController do
|
|||
|
||||
it "should reorder assignment groups" do
|
||||
course_with_teacher_logged_in(:active_all => true)
|
||||
g1 = course_group
|
||||
g2 = course_group
|
||||
g1.position.should eql(1)
|
||||
g2.position.should eql(2)
|
||||
groups = 3.times.map { course_group }
|
||||
groups.map(&:position).should == [1, 2, 3]
|
||||
g1, g2, _ = groups
|
||||
post 'reorder', :course_id => @course.id, :order => "#{g2.id},#{g1.id}"
|
||||
response.should be_success
|
||||
g1.reload
|
||||
g2.reload
|
||||
g1.position.should eql(2)
|
||||
g2.position.should eql(1)
|
||||
groups.each &:reload
|
||||
groups.map(&:position).should == [2, 1, 3]
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue