| 
				
			 | 
			
			
				@@ -1,10 +1,10 @@ 
			 | 
		
	
		
			
			| 
				1
			 | 
			
				1
			 | 
			
			
				 class GroupsController < ApplicationController 
			 | 
		
	
		
			
			| 
				2
			 | 
			
				2
			 | 
			
			
				   include GroupsHelper 
			 | 
		
	
		
			
			| 
				3
			 | 
			
				
			 | 
			
			
				-  before_action :set_group, only: [:show, :edit, :update, :destroy, :create_default_subgroup, :update_default_subgroup, :destroy_default_subgroup] 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3
			 | 
			
			
				+  before_action :set_group, only: [:show, :edit, :update, :destroy, :create_default_subgroup, :update_default_subgroup, :destroy_default_subgroup, :mass_add_members, :process_mass_add_members] 
			 | 
		
	
		
			
			| 
				4
			 | 
			
				4
			 | 
			
			
				   before_action :set_default_subgroup, only: [:update_default_subgroup, :destroy_default_subgroup] 
			 | 
		
	
		
			
			| 
				5
			 | 
			
				
			 | 
			
			
				-  before_action :require_admin!, only: [:index, :process_mass_add_members, :mass_add_members] 
			 | 
		
	
		
			
			| 
				
			 | 
			
				5
			 | 
			
			
				+  before_action :require_admin!, only: [:index] 
			 | 
		
	
		
			
			| 
				6
			 | 
			
				6
			 | 
			
			
				   before_action :require_membership!, only: [:show] 
			 | 
		
	
		
			
			| 
				7
			 | 
			
				
			 | 
			
			
				-  before_action :require_leader!, only: [:edit, :update, :destroy, :create_default_subgroup, :update_default_subgroup, :destroy_default_subgroup] 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+  before_action :require_leader!, only: [:edit, :update, :destroy, :create_default_subgroup, :update_default_subgroup, :destroy_default_subgroup, :process_mass_add_members, :mass_add_members] 
			 | 
		
	
		
			
			| 
				8
			 | 
			
				8
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				9
			 | 
			
				9
			 | 
			
			
				   # GET /groups 
			 | 
		
	
		
			
			| 
				10
			 | 
			
				10
			 | 
			
			
				   # GET /groups.json 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -102,23 +102,21 @@ class GroupsController < ApplicationController 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				102
			 | 
			
			
				   end 
			 | 
		
	
		
			
			| 
				103
			 | 
			
				103
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				104
			 | 
			
				104
			 | 
			
			
				   def mass_add_members 
			 | 
		
	
		
			
			| 
				105
			 | 
			
				
			 | 
			
			
				-    @group = Group.find(params[:group_id]) 
			 | 
		
	
		
			
			| 
				106
			 | 
			
				105
			 | 
			
			
				   end 
			 | 
		
	
		
			
			| 
				107
			 | 
			
				106
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				108
			 | 
			
				107
			 | 
			
			
				   def process_mass_add_members 
			 | 
		
	
		
			
			| 
				109
			 | 
			
				
			 | 
			
			
				-    @group = Group.find(params[:group_id]) 
			 | 
		
	
		
			
			| 
				110
			 | 
			
				108
			 | 
			
			
				     require 'csv' 
			 | 
		
	
		
			
			| 
				111
			 | 
			
				109
			 | 
			
			
				     uploaded_io = params[:spreadsheet] 
			 | 
		
	
		
			
			| 
				112
			 | 
			
				110
			 | 
			
			
				     result = Person.from_csv(uploaded_io.read) 
			 | 
		
	
		
			
			| 
				113
			 | 
			
				111
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				114
			 | 
			
				112
			 | 
			
			
				     result.each do |p| 
			 | 
		
	
		
			
			| 
				115
			 | 
			
				113
			 | 
			
			
				       m = Member.find_by(person: p, group: @group) 
			 | 
		
	
		
			
			| 
				116
			 | 
			
				
			 | 
			
			
				-      if not m 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+      unless m 
			 | 
		
	
		
			
			| 
				117
			 | 
			
				115
			 | 
			
			
				         m = Member.new(person: p, group: @group) 
			 | 
		
	
		
			
			| 
				118
			 | 
			
				116
			 | 
			
			
				         m.save! 
			 | 
		
	
		
			
			| 
				119
			 | 
			
				117
			 | 
			
			
				       end 
			 | 
		
	
		
			
			| 
				120
			 | 
			
				118
			 | 
			
			
				     end 
			 | 
		
	
		
			
			| 
				121
			 | 
			
				
			 | 
			
			
				-    flash_message(:success, "#{result.count} people added to group") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+    flash_message(:success, I18n.t('groups.mass_add_success', count: result.count)) 
			 | 
		
	
		
			
			| 
				122
			 | 
			
				120
			 | 
			
			
				     redirect_to group_members_path(@group) 
			 | 
		
	
		
			
			| 
				123
			 | 
			
				121
			 | 
			
			
				   end 
			 | 
		
	
		
			
			| 
				124
			 | 
			
				122
			 | 
			
			
				  
			 |