diff --git a/lib/gitlab/email/receiver.rb b/lib/gitlab/email/receiver.rb index 3dd3bd0270702b81f0cddc8664186f3c83227c5a..5b55a045cbe9784a29fecdb2eb663344b6994251 100644 --- a/lib/gitlab/email/receiver.rb +++ b/lib/gitlab/email/receiver.rb @@ -76,16 +76,11 @@ module Gitlab end def validate_permission(author, project, permission) - if author - if author.blocked? - raise UserBlockedError - elsif project.nil? || !author.can?(permission, project) - # TODO: Give project not found error if author cannot read project - raise UserNotAuthorizedError - end - else - raise UserNotFoundError - end + raise UserNotFoundError unless author + raise UserBlockedError if author.blocked? + # TODO: Give project not found error if author cannot read project + raise UserNotAuthorizedError if project.nil? || + !author.can?(permission, project) end # Find the first matched user in database from email From: section