From 12adea7b83f7f4d89aa6719bbac000bc6f7d2e19 Mon Sep 17 00:00:00 2001 From: Andy Zhao Date: Fri, 13 Apr 2018 22:09:02 -0400 Subject: [PATCH] Andy/misc/small adjustments (#208) * Fix bad user_id error handling * Remove spam user from index and remove old path --- app/controllers/internal/users_controller.rb | 2 ++ app/services/user_role_service.rb | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/controllers/internal/users_controller.rb b/app/controllers/internal/users_controller.rb index 674bee291..aecbd9053 100644 --- a/app/controllers/internal/users_controller.rb +++ b/app/controllers/internal/users_controller.rb @@ -49,7 +49,9 @@ class Internal::UsersController < Internal::ApplicationController comment.destroy! end user.articles.each &:destroy! + user.remove_from_index! user.save! + user.update!(old_username: nil) rescue => e flash[:error] = e.message end diff --git a/app/services/user_role_service.rb b/app/services/user_role_service.rb index dddef2b5a..2bd879e8b 100644 --- a/app/services/user_role_service.rb +++ b/app/services/user_role_service.rb @@ -14,20 +14,20 @@ class UserRoleService end def update_tag_moderators(user_ids, tag) - users = user_ids.map { |id| User.find(id) } + users = user_ids.map do |id| + User.find(id) + rescue + tag.errors[:moderator_ids] << ": user id #{id} was not found" + end + return false if !tag.errors[:moderator_ids].blank? # Andy: Don't have to worry about comparing old and new values. tag.tag_moderator_ids.each do |id| User.find(id).remove_role(:tag_moderator, tag) - puts "removed #{id}" end users.each do |user| user.add_role(:tag_moderator, tag) - puts "added #{user.id}" end return true - rescue ActiveRecord::RecordNotFound - tag.errors[:moderator_ids] << ": user #{id} was not found" - return false end private