app/models/foreman_tasks/lock.rb in foreman-tasks-0.5.5 vs app/models/foreman_tasks/lock.rb in foreman-tasks-0.5.6

- old
+ new

@@ -11,10 +11,24 @@ RESERVED_LOCK_NAMES = [LINK_LOCK_NAME, OWNER_LOCK_NAME, ALL_LOCK_NAME] class LockConflict < StandardError attr_reader :required_lock, :conflicting_locks def initialize(required_lock, conflicting_locks) - super("required lock: #{required_lock} conflicts wiht #{conflicting_locks.inspect}") + header = <<-TXT.gsub(/^ *\|/, '') + |Required lock is already taken by other running tasks. + |Please inspect their state, fix their errors nad resume them. + | + |Required lock: #{required_lock.name} + |Conflicts with tasks: + TXT + url_helpers = Rails.application.routes.url_helpers + conflicting_tasks = conflicting_locks. + map(&:task). + uniq. + map { |task| "- #{Setting['foreman_url'] + url_helpers.foreman_tasks_task_path(task)}" }. + join("\n") + + super header + conflicting_tasks @required_lock = required_lock @conflicting_locks = conflicting_locks end end