From cd830a2fab3f3c640daeb55e024324b56c079557 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <mjankowski@thoughtbot.com>
Date: Mon, 8 May 2017 17:08:55 -0400
Subject: [PATCH] Improve error message for non-existent user being made an
 admin (#2929)

---
 lib/tasks/mastodon.rake | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index 290b28098..b71c578a6 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -18,11 +18,15 @@ namespace :mastodon do
   desc 'Turn a user into an admin, identified by the USERNAME environment variable'
   task make_admin: :environment do
     include RoutingHelper
+    account_username = ENV.fetch('USERNAME')
+    user = User.joins(:account).where(accounts: { username: account_username })
 
-    user = Account.find_local(ENV.fetch('USERNAME')).user
-    user.update(admin: true)
-
-    puts "Congrats! #{user.account.username} is now an admin. \\o/\nNavigate to #{edit_admin_settings_url} to get started"
+    if user.present?
+      user.update(admin: true)
+      puts "Congrats! #{account_username} is now an admin. \\o/\nNavigate to #{edit_admin_settings_url} to get started"
+    else
+      puts "User could not be found; please make sure an Account with the `#{account_username}` username exists."
+    end
   end
 
   desc 'Manually confirms a user with associated user email address stored in USER_EMAIL environment variable.'
-- 
GitLab