Compare commits
6 Commits
master
...
add-notice
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4204e2fa3 | ||
|
|
afbde109d2 | ||
|
|
43e996299a | ||
|
|
9ce7d97c51 | ||
|
|
8f83943ac2 | ||
|
|
fb32746c81 |
@@ -17,6 +17,7 @@ $(document).on "turbolinks:load", ->
|
||||
when "video_status_update" then @showVideoStatusUpdate(data.content)
|
||||
when "download_status_update" then @showDownloadStatusUpdate(data.content)
|
||||
when "conference_recording_ready" then @showDownloadStatusUpdate(data.content)
|
||||
when "appearance_matching_flash_message" then @showMatchingStatusUpdate(data.content)
|
||||
|
||||
showVideoStatusUpdate: (content) ->
|
||||
$("[data-ujs-target='video-analysis-msg']").replaceWith content
|
||||
@@ -24,3 +25,7 @@ $(document).on "turbolinks:load", ->
|
||||
showDownloadStatusUpdate: (content) ->
|
||||
$(".flash-message").html content
|
||||
$(".toast").toast('show')
|
||||
|
||||
showMatchingStatusUpdate: (content) ->
|
||||
$(".flash-message").html content
|
||||
$(".toast").toast('show')
|
||||
|
||||
@@ -33,4 +33,15 @@ class ProjectsChannel < ApplicationCable::Channel
|
||||
content = ApplicationController.render partial: 'application/flash', locals: { flash: flash }
|
||||
broadcast_to project, event: :conference_recording_ready, content: content
|
||||
end
|
||||
|
||||
def self.appearance_matching_flash_message(project, message, flash_type = :notice)
|
||||
if (flash_type == :notice)
|
||||
flash = OpenStruct.new notice: message
|
||||
else
|
||||
flash = OpenStruct.new alert: message
|
||||
end
|
||||
content = ApplicationController.render partial: 'application/flash', locals: { flash: flash }
|
||||
|
||||
broadcast_to project, event: :appearance_matching_flash_message, content: content
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,7 +6,10 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
def perform(project, attachments)
|
||||
filtered_attachments_object = filter_attachments attachments
|
||||
|
||||
return if filtered_attachments_object[:keys].blank?
|
||||
if filtered_attachments_object[:keys].blank?
|
||||
ProjectsChannel.appearance_matching_flash_message project, failed_message, :alert
|
||||
return
|
||||
end
|
||||
|
||||
matching_request = MatchingRequest.create project: project, attachments: filtered_attachments_object[:signed_ids]
|
||||
|
||||
@@ -17,6 +20,8 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
handle_matches matches, project, key_signed_id_hash
|
||||
handle_unmatches matches, project, key_signed_id_hash
|
||||
matching_request.destroy
|
||||
|
||||
ProjectsChannel.appearance_matching_flash_message project, success_message
|
||||
end
|
||||
|
||||
private
|
||||
@@ -113,4 +118,12 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
signed_ids: filtered_attachments_signed_ids
|
||||
}
|
||||
end
|
||||
|
||||
def success_message
|
||||
I18n.t 'appearance_releases.create.matching_completed'
|
||||
end
|
||||
|
||||
def failed_message
|
||||
I18n.t 'appearance_releases.create.matching_failed'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<!-- Position toasts -->
|
||||
<div class="position-absolute" style="top: 0.5rem; right: 0.5rem;">
|
||||
<% if flash.alert.present? %>
|
||||
<div class="toast fade show bg-black text-white toast-min-w-border-radius" data-autohide="false">
|
||||
<div id="flash-message" class="toast fade show bg-black text-white toast-min-w-border-radius" data-autohide="false">
|
||||
<div class="toast-body toast-border-left-danger">
|
||||
<button type="button" class="close text-white ml-2" data-dismiss="toast">×</button>
|
||||
<p><%= flash.alert.html_safe %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% elsif flash.notice.present? %>
|
||||
<div class="toast fade show bg-black text-white toast-min-w-border-radius" data-autohide="false">
|
||||
<div id="flash-message" class="toast fade show bg-black text-white toast-min-w-border-radius" data-autohide="false">
|
||||
<div class="toast-body toast-border-left-primary">
|
||||
<button type="button" class="close text-white ml-2" data-dismiss="toast">×</button>
|
||||
<p><%= flash.notice.html_safe %></p>
|
||||
@@ -19,4 +19,3 @@
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -151,6 +151,8 @@ en:
|
||||
failed_import: Failed to create appearance release for files listed below
|
||||
matching_started: Matching started
|
||||
no_attachments: Failed to import - no attachments
|
||||
matching_completed: Matching completed. Reload page to see new releases
|
||||
matching_failed: Matching failed
|
||||
edit:
|
||||
heading: Edit Appearance Release
|
||||
form:
|
||||
|
||||
@@ -58,6 +58,8 @@ es:
|
||||
failed_import: Failed to create appearance release for files listed below (ES)
|
||||
matching_started: Matching started (ES)
|
||||
no_attachments: Failed to import - no attachments (ES)
|
||||
matching_completed: Matching completed (ES)
|
||||
matching_failed: Matching failed (ES)
|
||||
form:
|
||||
guardian_2_info:
|
||||
heading: Second Guardian Information (if company requires) (ES)
|
||||
|
||||
@@ -13,6 +13,7 @@ describe MatchAppearanceReleasesJob do
|
||||
it "returns if no attachment is sent" do
|
||||
expect(MatchingRequest).not_to receive(:create)
|
||||
attachments = []
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), failure_flash_message, :alert)
|
||||
MatchAppearanceReleasesJob.perform_now project, attachments
|
||||
end
|
||||
|
||||
@@ -20,6 +21,7 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(MatchingRequest).not_to receive(:create)
|
||||
dummy_video = create(:video)
|
||||
attachments = [dummy_video.file.blob.signed_id]
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), failure_flash_message, :alert)
|
||||
MatchAppearanceReleasesJob.perform_now project, attachments
|
||||
end
|
||||
|
||||
@@ -44,6 +46,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
expect {
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
}.to change{AppearanceRelease.count}.by(1)
|
||||
@@ -73,6 +77,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
expect {
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
}.to change{AppearanceRelease.count}.by(1)
|
||||
@@ -109,6 +115,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
|
||||
expect(AppearanceRelease.last.identifier).to eq mock_match.identifier
|
||||
@@ -144,6 +152,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
expect {
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
}.to change{AppearanceRelease.count}.by(2)
|
||||
@@ -187,6 +197,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
|
||||
expect(AppearanceRelease.last.identifier).to eq mock_match.identifier
|
||||
@@ -228,6 +240,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
|
||||
expect(AppearanceRelease.last.identifier).to eq mock_match.identifier
|
||||
@@ -275,6 +289,8 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(BrayniacAI::QrMatching).to receive(:create!).with(qr_matching_payload).and_return(qr_matching_mock_response)
|
||||
expect(dummy_matching_request).to receive(:destroy)
|
||||
|
||||
expect(ProjectsChannel).to receive(:appearance_matching_flash_message).with(kind_of(Project), success_flash_message)
|
||||
|
||||
MatchAppearanceReleasesJob.perform_now project, signed_ids
|
||||
|
||||
releases = AppearanceRelease.last(2)
|
||||
@@ -288,4 +304,14 @@ describe MatchAppearanceReleasesJob do
|
||||
expect(releases[1].contract.attached?).to eq true
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def success_flash_message
|
||||
I18n.t 'appearance_releases.create.matching_completed'
|
||||
end
|
||||
|
||||
def failure_flash_message
|
||||
I18n.t 'appearance_releases.create.matching_failed'
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user