From 7c7c233c1c56e0b57aa1789412899647401f3889 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Tue, 20 Dec 2016 15:14:35 +0800 Subject: [PATCH] FIX: Can't update `Groups#allow_membership_requests` in admin. --- app/controllers/admin/groups_controller.rb | 4 ++++ spec/controllers/admin/groups_controller_spec.rb | 9 +++++++-- spec/integration/groups_spec.rb | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin/groups_controller.rb b/app/controllers/admin/groups_controller.rb index 3b5445f0704..d2a93629fc6 100644 --- a/app/controllers/admin/groups_controller.rb +++ b/app/controllers/admin/groups_controller.rb @@ -71,6 +71,10 @@ class Admin::GroupsController < Admin::AdminController group.bio_raw = group_params[:bio_raw] if group_params[:bio_raw] group.full_name = group_params[:full_name] if group_params[:full_name] + if group_params[:allow_membership_requests] + group.allow_membership_requests = group_params[:allow_membership_requests] + end + if group.save Group.reset_counters(group.id, :group_users) diff --git a/spec/controllers/admin/groups_controller_spec.rb b/spec/controllers/admin/groups_controller_spec.rb index dacdde2568e..732d07c3ad2 100644 --- a/spec/controllers/admin/groups_controller_spec.rb +++ b/spec/controllers/admin/groups_controller_spec.rb @@ -88,14 +88,19 @@ describe Admin::GroupsController do it "ignore name change on automatic group" do expect do - xhr :put, :update, { id: 1, group: { name: "WAT", visible: "true" } } - end.to_not change { GroupHistory.count } + xhr :put, :update, { id: 1, group: { + name: "WAT", + visible: "true", + allow_membership_requests: "true" + } } + end.to change { GroupHistory.count }.by(1) expect(response).to be_success group = Group.find(1) expect(group.name).not_to eq("WAT") expect(group.visible).to eq(true) + expect(group.allow_membership_requests).to eq(true) end it "doesn't launch the 'automatic group membership' job when it's not retroactive" do diff --git a/spec/integration/groups_spec.rb b/spec/integration/groups_spec.rb index bedeb75e0ac..a38d556768e 100644 --- a/spec/integration/groups_spec.rb +++ b/spec/integration/groups_spec.rb @@ -84,6 +84,8 @@ describe "Groups" do end it "should be able update the group" do + group.update!(allow_membership_requests: false) + expect do xhr :put, "/groups/#{group.id}", { group: { flair_bg_color: 'FFF',