diff --git a/app/controllers/epp/domains_controller.rb b/app/controllers/epp/domains_controller.rb index fa0003756..46012a738 100644 --- a/app/controllers/epp/domains_controller.rb +++ b/app/controllers/epp/domains_controller.rb @@ -103,13 +103,19 @@ module Epp def update authorize! :update, @domain, @password - updated = @domain.update(params[:parsed_frame], current_user) + updated = Domain.transaction(isolation: isolation_level) do + @domain.update(params[:parsed_frame], current_user) + end (handle_errors(@domain) && return) unless updated pending = @domain.epp_pending_update.present? render_epp_response "/epp/domains/success#{'_pending' if pending}" end + def isolation_level + :serializable unless Rails.env.test? + end + def delete authorize! :delete, @domain, @password