diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 879e3bca..b1d68ee6 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -9,10 +9,10 @@ def nice_datetime(datetime) end end - def nice_datetime_with_time(datetime, keep_year: false) - if datetime.today? + def nice_datetime_with_time(datetime, full_date: false) + if datetime.today? && !full_date l(datetime, format: '%H:%M') - elsif datetime.year == Date.current.year && !keep_year + elsif datetime.year == Date.current.year && !full_date l(datetime, format: '%e. %b %H:%M') else l(datetime, format: '%e. %b %Y %H:%M') diff --git a/app/jobs/fs/download_sent_message_job.rb b/app/jobs/fs/download_sent_message_job.rb index 3743c329..d1b1fb47 100644 --- a/app/jobs/fs/download_sent_message_job.rb +++ b/app/jobs/fs/download_sent_message_job.rb @@ -1,13 +1,15 @@ module Fs class DownloadSentMessageJob < ApplicationJob def perform(fs_message_id, box:, fs_client: FsEnvironment.fs_client) - return if box.messages.where("metadata ->> 'fs_message_id' = ?", fs_message_id).any? + return if box.messages.where.not(type: 'Fs::MessageDraft').where("metadata ->> 'fs_message_id' = ?", fs_message_id).any? fs_api = fs_client.api(api_connection: box.api_connection, box: box) raw_message = fs_api.fetch_sent_message(fs_message_id) - Fs::Message.create_outbox_message_with_thread!(raw_message, box: box) + message = Fs::Message.create_outbox_message_with_thread!(raw_message, box: box) + + DownloadSentMessageRelatedMessagesJob.set(wait: 3.minutes).perform_later(message) end end end diff --git a/app/jobs/fs/download_sent_message_related_messages_job.rb b/app/jobs/fs/download_sent_message_related_messages_job.rb index 7727a047..cbdb5981 100644 --- a/app/jobs/fs/download_sent_message_related_messages_job.rb +++ b/app/jobs/fs/download_sent_message_related_messages_job.rb @@ -6,9 +6,9 @@ def perform(outbox_message, from: nil, to: nil, fs_client: FsEnvironment.fs_clie 0.step do |k| received_messages = fs_api.fetch_received_messages(sent_message_id: outbox_message.metadata['fs_message_id'], page: k + 1, count: batch_size, from: from, to: to) - received_messages['messages'].each do |received_message| - ::Fs::DownloadReceivedMessageJob.perform_later(received_message['message_id'], box: outbox_message.box) - end + received_messages['messages'].each do |received_message| + ::Fs::DownloadReceivedMessageJob.perform_later(received_message['message_id'], box: outbox_message.box) + end break if received_messages['messages'].size < batch_size end diff --git a/app/models/fs/message.rb b/app/models/fs/message.rb index 753ca52a..bc68e774 100644 --- a/app/models/fs/message.rb +++ b/app/models/fs/message.rb @@ -44,6 +44,8 @@ def self.create_outbox_message_with_thread!(raw_message, box:) update_html_visualization(message) EventBus.publish(:message_created, message) + + message end private diff --git a/app/views/fs/messages/_delivery_report.html.erb b/app/views/fs/messages/_delivery_report.html.erb index 11db7758..bb573ab2 100644 --- a/app/views/fs/messages/_delivery_report.html.erb +++ b/app/views/fs/messages/_delivery_report.html.erb @@ -52,7 +52,7 @@ @@ -62,7 +62,7 @@ diff --git a/app/views/fs/messages/_generic_message.html.erb b/app/views/fs/messages/_generic_message.html.erb index 3e0c8bd4..10b910fb 100644 --- a/app/views/fs/messages/_generic_message.html.erb +++ b/app/views/fs/messages/_generic_message.html.erb @@ -52,7 +52,7 @@ diff --git a/app/views/fs/messages/_submission.html.erb b/app/views/fs/messages/_submission.html.erb index c674b32d..bed56cd7 100644 --- a/app/views/fs/messages/_submission.html.erb +++ b/app/views/fs/messages/_submission.html.erb @@ -34,7 +34,7 @@