|
@@ -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
|
|