diff options
| -rw-r--r-- | app/assets/javascripts/modal_confirmation.js | 31 | ||||
| -rw-r--r-- | app/models/referential_cloning.rb | 3 | ||||
| -rw-r--r-- | spec/models/referential_cloning_spec.rb | 1 |
3 files changed, 35 insertions, 0 deletions
diff --git a/app/assets/javascripts/modal_confirmation.js b/app/assets/javascripts/modal_confirmation.js new file mode 100644 index 000000000..e82a8a81b --- /dev/null +++ b/app/assets/javascripts/modal_confirmation.js @@ -0,0 +1,31 @@ +$(document).ready(() => { + $.rails.allowAction = (link) => { + let message = link.data('confirm') + if (!message) return true + showConfirmModal(link) + return false + } + + let showConfirmModal = (link) => { + let message = link.data('confirm') + let html = `<div class="modal fade" id="confirmationDialog" tabindex="1" role="dialog"> + <div class="modal-container"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <h4 class="modal-title"> ${I18n.t('warning')} </h4> + </div> + <div class="modal-body"> + <p>${message}</p> + </div> + <div class="modal-footer"> + <a data-dismiss="modal" class="btn">${I18n.t('cancel')}</a> + <a data-dismiss="modal" class="btn btn-primary" data-method=${link.data('method')} href=${link.attr('href')}>${I18n.t('ok')}</a> + </div> + </div> + </div> + </div> + </div> ` + $(html).modal() + } +})
\ No newline at end of file diff --git a/app/models/referential_cloning.rb b/app/models/referential_cloning.rb index cb8ad3630..72f8342b0 100644 --- a/app/models/referential_cloning.rb +++ b/app/models/referential_cloning.rb @@ -90,6 +90,9 @@ class ReferentialCloning < ApplicationModel event :failed, after: :update_ended_at do transitions :from => :pending, :to => :failed + after do + target_referential.failed! + end end end diff --git a/spec/models/referential_cloning_spec.rb b/spec/models/referential_cloning_spec.rb index b017a37e9..6e1063251 100644 --- a/spec/models/referential_cloning_spec.rb +++ b/spec/models/referential_cloning_spec.rb @@ -74,6 +74,7 @@ RSpec.describe ReferentialCloning, :type => :model do expect(referential_cloning).to receive(:clone!).and_raise("#fail") referential_cloning.clone_with_status! expect(referential_cloning.status).to eq("failed") + expect(referential_cloning.target_referential.state).to eq(:failed) end end |
