From ba4e6767f72d69548f31d053878f9c0e6d1c77aa Mon Sep 17 00:00:00 2001 From: Bilal Date: Mon, 14 Sep 2020 17:32:45 +0300 Subject: [PATCH] create live meeting when Conference button is clicked --- app/controllers/live_meetings_controller.rb | 5 ++++ app/models/broadcast.rb | 9 ------- app/views/public/live_meetings/show.html.erb | 26 +++++++++++--------- config/locales/en.yml | 3 +++ config/locales/es.yml | 3 +++ 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/app/controllers/live_meetings_controller.rb b/app/controllers/live_meetings_controller.rb index e946f1b..d6488d1 100644 --- a/app/controllers/live_meetings_controller.rb +++ b/app/controllers/live_meetings_controller.rb @@ -1,6 +1,11 @@ class LiveMeetingsController < ApplicationController def show authorize broadcast = Broadcast.find(params[:broadcast_id]) + if broadcast.project.live_meeting_url.blank? + room = Daily.create_room + room_url = room['url'] + broadcast.project.update live_meeting_url: room_url + end @live_meeting_url = broadcast.project.live_meeting_url end end \ No newline at end of file diff --git a/app/models/broadcast.rb b/app/models/broadcast.rb index 90a114b..a27d801 100644 --- a/app/models/broadcast.rb +++ b/app/models/broadcast.rb @@ -14,7 +14,6 @@ class Broadcast < ApplicationRecord # Should we use callbacks for this, or something else? after_create :create_mux_live_stream - after_create :create_live_meeting_if_not_created after_destroy :destroy_mux_live_stream pg_search_scope :search, { @@ -60,14 +59,6 @@ class Broadcast < ApplicationRecord self.save! end - def create_live_meeting_if_not_created - if project.live_meeting_url.blank? - room = Daily.create_room - room_url = room['url'] - project.update live_meeting_url: room_url - end - end - def destroy_mux_live_stream begin stream = MuxLiveStream.new diff --git a/app/views/public/live_meetings/show.html.erb b/app/views/public/live_meetings/show.html.erb index 0a91f26..c7f2880 100644 --- a/app/views/public/live_meetings/show.html.erb +++ b/app/views/public/live_meetings/show.html.erb @@ -1,13 +1,17 @@ -<%= javascript_include_tag "https://unpkg.com/@daily-co/daily-js" %> +<% if @live_meeting_url.present? %> + <%= javascript_include_tag "https://unpkg.com/@daily-co/daily-js" %> -<%= javascript_tag nonce: true do %> - callFrame = window.DailyIframe.createFrame({ - showLeaveButton: true, - iframeStyle: { - position: 'fixed', - width: '100%', - height: '90%' - } - }); - callFrame.join({ url: '<%= @live_meeting_url %>' }); + <%= javascript_tag nonce: true do %> + callFrame = window.DailyIframe.createFrame({ + showLeaveButton: true, + iframeStyle: { + position: 'fixed', + width: '100%', + height: '90%' + } + }); + callFrame.join({ url: '<%= @live_meeting_url %>' }); + <% end %> +<% else %> +

<%= t '.meeting_not_ready_message' %>

<% end %> \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index d390728..e79edbf 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1390,6 +1390,9 @@ en: heading: Photos signature: heading: Signature + live_meetings: + show: + meeting_not_ready_message: Live meeting is not yet ready. Please contact project manager. release_template_imports: create: error: There was a problem with importing selected templates diff --git a/config/locales/es.yml b/config/locales/es.yml index 78f4ccc..6c5452f 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -632,6 +632,9 @@ es: show: choose_project: ¿Qué proyecto de la lista de abajo asistirá? welcome_html: Bienvenidos a la plataforma de firma autorizaciónes de %{name} + live_meetings: + show: + meeting_not_ready_message: Live meeting is not yet ready. Please contact project manager. (ES) shared: print: Print (ES) talent_releases: