123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
- class Transaction::BackgroundJob
- def initialize(item, params = {})
- =begin
- {
- object: 'Ticket',
- type: 'update',
- ticket_id: 123,
- via_web: true,
- changes: {
- 'attribute1' => [before,now],
- 'attribute2' => [before,now],
- }
- },
- =end
- @item = item
- @params = params
- end
- def perform
- Setting.where(area: 'Transaction::Backend').order(:name).each {|setting|
- backend = Setting.get(setting.name)
- begin
- UserInfo.current_user_id = nil
- integration = Kernel.const_get(backend).new(@item, @params)
- integration.perform
- rescue => e
- Rails.logger.error 'ERROR: ' + setting.inspect
- Rails.logger.error 'ERROR: ' + e.inspect
- end
- }
- end
- def self.run(item, params = {})
- generic = new(item, params)
- generic.perform
- end
- end
|