Cleanup in the registrations controller
While working on #371638 (closed) and from discussions in !107302 (comment 1276680327)
After some local testing it was found that we have some code paths that aren't executed, specifically the super call in the create method here:
app/controllers/registrations_controller.rb
def create
set_resource_fields
super do |new_user|
accept_pending_invitations if new_user.persisted?
persist_accepted_terms_if_required(new_user)
set_role_required(new_user)
send_custom_confirmation_instructions
track_weak_password_error(new_user, self.class.name, 'create')
if pending_approval?
NotificationService.new.new_instance_access_request(new_user)
end
after_request_hook(new_user)
yield new_user if block_given?
end
# Devise sets a flash message on both successful & failed signups,
# but we only want to show a message if the resource is blocked by a pending approval.
flash[:notice] = nil unless resource.blocked_pending_approval?
rescue Gitlab::Access::AccessDeniedError
redirect_to(new_user_session_path)
end
This never gets executed as this will only yield
if block_given?
and the only reference to this was removed in 5ad0cf1c