diff --git a/app/controllers/user_admin_controller.rb b/app/controllers/user_admin_controller.rb --- a/app/controllers/user_admin_controller.rb +++ b/app/controllers/user_admin_controller.rb @@ -60,6 +60,8 @@ lines = params[:user_list] note = [] + error_note = [] + ok_user = [] lines.split("\n").each do |line| items = line.chomp.split(',') @@ -101,18 +103,36 @@ :remark => remark}) end user.activated = true - user.save - if added_random_password - note << "'#{login}' (+)" + if user.save + if added_random_password + note << "'#{login}' (+)" + else + note << login + end + ok_user << user else - note << login + error_note << "#{login}" end + end end + + #add to group + if params[:add_to_group] + group = Group.where(id: params[:group_id]).first + if group + group.users << ok_user + end + end + + # show flash flash[:success] = 'User(s) ' + note.join(', ') + ' were successfully created. ' + '( (+) - created with random passwords.)' + if error_note.size > 0 + flash[:error] = "Following user(s) failed to be created: " + error_note.join(', ') + end redirect_to :action => 'index' end