aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/exim_log.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/exim_log.rb')
-rw-r--r--app/models/exim_log.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/models/exim_log.rb b/app/models/exim_log.rb
index cbe2277c5..4c3e104af 100644
--- a/app/models/exim_log.rb
+++ b/app/models/exim_log.rb
@@ -73,6 +73,27 @@ class EximLog < ActiveRecord::Base
end
end
+ def EximLog.load_postfix_log_data(f, done)
+ order = 0
+ emails = scan_for_postfix_queue_ids(f)
+ # Go back to the beginning of the file
+ f.rewind
+ f.each do |line|
+ order = order + 1
+ queue_id = extract_queue_id_from_syslog_line(line)
+ if emails.has_key?(queue_id)
+ emails[queue_id].each do |email|
+ info_request = InfoRequest.find_by_incoming_email(email)
+ if info_request
+ info_request.exim_logs.create!(:line => line, :order => order, :exim_log_done => done)
+ else
+ puts "Warning: Could not find request with email #{email}"
+ end
+ end
+ end
+ end
+ end
+
def EximLog.scan_for_postfix_queue_ids(f)
result = {}
f.each do |line|