Compare commits

...

2 Commits

Author SHA1 Message Date
Bilal
062e81fed3 update label 2020-07-15 12:34:02 +02:00
Senad Uka
7f49f31ebf Master sync 2020-07-15 11:58:34 +02:00
9 changed files with 60 additions and 21 deletions

View File

@@ -33,6 +33,11 @@ class BroadcastsController < ApplicationController
end
def update
unless params.has_key?(:broadcast)
@broadcast.regenerate_token
redirect_to([@project, @broadcast], notice: t('.reset_notice')) and return
end
@broadcast.update(broadcast_params)
@files = @broadcast.files.order("created_at DESC").paginate(page: 1)

View File

@@ -102,6 +102,7 @@
<i class="fa fa-clipboard"></i>
Copy URL
</button>
<%= link_to t('.actions.reset_url'), [@project, @broadcast], method: :patch, class: "btn btn-danger" %>
</div>
<% else %>
<input type="text" class="form-control" value="<%= broadcast_url(@broadcast.token) %>" readonly>
@@ -110,6 +111,7 @@
<i class="fa fa-clipboard"></i>
Copy URL
</button>
<%= link_to t('.actions.reset_url'), [@project, @broadcast], method: :patch, class: "btn btn-danger" %>
</div>
<% end %>
</div>

View File

@@ -7,7 +7,7 @@
<dl>
<%= description_list_pair t('.description_labels.producer'), releasable.project.account.name %>
<%= description_list_pair t('.description_labels.production'), releasable.project.name %>
<%= description_list_pair t('.description_labels.employee_issued_to'), releasable.name %>
<%= description_list_pair t('.description_labels.issued_to'), releasable.name %>
<%= description_list_pair t('.description_labels.issued_by'), releasable.approved_by_user_name %>
<%= description_list_pair t('.description_labels.date_issued'), releasable.approved_at %>
</dl>

View File

@@ -217,6 +217,9 @@ en:
new:
heading:
Create Live Stream
show:
actions:
reset_url: Reset URL
splash:
actions:
book_demo: Schedule a Demo
@@ -235,6 +238,8 @@ en:
share_stream: Share live stream link with clients
stream_from_mobile_app: Stream from ME Suite Mobile app, or via a professional camera
stream_multiple_cameras: Stream multiple cameras at one time
update:
reset_notice: The Share URL has been reset, and the previous URL will no longer work. Please click "Copy URL" and share it again with those who you want to have access to this live stream
bulk_taggings:
new_bulk_tag_modal:
submit: Add
@@ -301,8 +306,8 @@ en:
for_office_use_only:
description_labels:
date_issued: Date Issued
employee_issued_to: Employee Issued To
issued_by: Issued By
issued_to: Issued To
producer: Producer
production: Production
heading: For Office Use Only

View File

@@ -81,6 +81,9 @@ es:
do_not_copy_warning: "Do not copy (ES)"
serial_number_label: "Serial Number (ES)"
broadcasts:
show:
actions:
reset_url: Reset URL (ES)
splash:
actions:
book_demo: Schedule a Demo
@@ -99,6 +102,8 @@ es:
share_stream: Share live stream link with clients
stream_from_mobile_app: Stream from ME Suite Mobile app, or via a professional camera
stream_multiple_cameras: Stream multiple cameras at one time
update:
reset_notice: The Share URL has been reset, and the previous URL will no longer work. Please click "Copy URL" and share it again with those who you want to have access to this live stream
contract_templates:
blank_contracts:
create:
@@ -133,8 +138,8 @@ es:
for_office_use_only:
description_labels:
date_issued: Date Issued (ES)
employee_issued_to: Employee Issued To (ES)
issued_by: Issued By (ES)
issued_to: Issued To (ES)
producer: Producer (ES)
production: Production (ES)
heading: For Office Use Only (ES)

View File

@@ -9,20 +9,6 @@ SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
--
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
--
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
--
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
--
-- Name: fuzzystrmatch; Type: EXTENSION; Schema: -; Owner: -
--

View File

@@ -203,6 +203,15 @@ RSpec.describe BroadcastsController, type: :controller do
expect(BroadcastsChannel).to have_received(:broadcast_file_upload_updates)
end
it "regenerates token if #update is called without broadcast param" do
old_token = broadcast.token
patch :update, params: { project_id: project.id, id: broadcast.id }
expect(response).to redirect_to [project, broadcast]
expect(flash.notice).to eq token_reset_notice
expect(Broadcast.last.token).not_to eq old_token
end
end
describe "#destroy" do
@@ -252,4 +261,8 @@ RSpec.describe BroadcastsController, type: :controller do
def create_stream
t 'broadcasts.splash.actions.create_stream'
end
def token_reset_notice
t 'broadcasts.update.reset_notice'
end
end

View File

@@ -63,6 +63,21 @@ feature 'User managing broadcasts' do
expect(page).to have_content(recording.download_file_name)
end
scenario 'Clicking Reset URL regenerates broadcast token' do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
old_token = broadcast.token
visit project_broadcast_path(project, broadcast)
expect(page).to have_content reset_url
expect(page).to have_xpath "//input[@readonly][@value='#{broadcast_url(old_token)}']"
click_link reset_url
expect(Broadcast.last.token).not_to eq old_token
expect(page).to have_xpath "//input[@readonly][@value='#{broadcast_url(Broadcast.last.token)}']"
expect(page).to have_content token_reset_notice
end
scenario 'user can go back and forth between live session and previous sessions', js: true do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
recording = create(:broadcast_recording, broadcast: broadcast)
@@ -189,4 +204,12 @@ feature 'User managing broadcasts' do
def create_stream
t 'broadcasts.splash.actions.create_stream'
end
def reset_url
t 'broadcasts.show.actions.reset_url'
end
def token_reset_notice
t 'broadcasts.update.reset_notice'
end
end

View File

@@ -260,7 +260,7 @@ feature "User managing medical releases" do
expect(pdf_body).to have_content for_office_use_only.upcase
expect(pdf_body).to have_content producer_label
expect(pdf_body).to have_content production_label
expect(pdf_body).to have_content employee_issued_to_label
expect(pdf_body).to have_content issued_to_label
expect(pdf_body).to have_content issued_by_label
expect(pdf_body).to have_content date_issued
expect(pdf_body).to have_content 'Big Joe'
@@ -282,7 +282,7 @@ feature "User managing medical releases" do
expect(pdf_body).not_to have_content for_office_use_only.upcase
expect(pdf_body).not_to have_content producer_label
expect(pdf_body).not_to have_content production_label
expect(pdf_body).not_to have_content employee_issued_to_label
expect(pdf_body).not_to have_content issued_to_label
expect(pdf_body).not_to have_content issued_by_label
expect(pdf_body).not_to have_content date_issued
expect(pdf_body).not_to have_content 'Big Joe'
@@ -580,8 +580,8 @@ feature "User managing medical releases" do
t 'contracts.for_office_use_only.description_labels.production'
end
def employee_issued_to_label
t 'contracts.for_office_use_only.description_labels.employee_issued_to'
def issued_to_label
t 'contracts.for_office_use_only.description_labels.issued_to'
end
def issued_by_label