Added Google calendar button (#429)

* implement first version of the recording authentication, redirecting to the playback URL with the jwt token

* set default recording visibility by environment variable

* use the http header, if present, to determine the client ip address

* fix email verification when disabled

* revert playback component to link_to, change method to get

* remove unnecessary variable

* Added "Add to Google Calendar" button on Room page

* Added Google Calendar button enable to env.sample

* Updated CSS for the Google Calendar Button row

* Added correct translation when copying room link

* Fixed new Google Calendar button mobile display

* GRN-80: Allow local accounts on multitenant (#428)

* Changed the way the omniauth providers are declared

* Allow local authentication for multitenant mode based on customer settings

* Cleanead up code mandated by rubocop

* Completed implementation for signin and added the one for signup

* Fixed issue with rubocop

* Renamed customer_name to lb_user

* Renamed lb_user -> user_domain, fixed issue with signup controller, email verification WAS NOT implemented

* Completed implementation of email_verification

* Fixed rubocop issue

* Final update

* Fix for test with loadbalancer

* Make sure loadbalancer mockup is only used when env defined

* Fix for test on rooms_controller

* Fixed most of the test failing on multitenant env

* Fixed issue detected by rubocop

* Fixed issue with activation tockens not working on resend

* Fixed new issue found by rubocop

* Updated travis script

* Harcoded credentials for mockup

* Updated expectation on start_session

* Fixed issue with duplication of home room

* Updated script for rubocop

* Restored Gemfile

* Update sample.env

* Update sample.env
This commit is contained in:
Rafael Baldasso Audibert 2019-05-13 18:05:31 -03:00 committed by Jesus Federico
parent d7b9e7a322
commit d8f6c3f872
8 changed files with 48 additions and 18 deletions

View File

@ -32,10 +32,10 @@ $(document).on('turbolinks:load', function(){
if (success) {
inviteURL.blur();
copy.addClass('btn-success');
copy.html("<i class='fas fa-check'></i> Copy")
copy.html("<i class='fas fa-check'></i> <%= I18n.t("copied") %>")
setTimeout(function(){
copy.removeClass('btn-success');
copy.html("<i class='fas fa-copy'></i> Copy")
copy.html("<i class='fas fa-copy'></i> <%= I18n.t("copy") %>")
}, 2000)
}
});

View File

@ -105,7 +105,7 @@ a {
}
.invite-link-input {
width: 45%;
width: 100%;
}
.no-border-top {

View File

@ -17,4 +17,9 @@
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
module RoomsHelper
# Helper to generate the path to a Google Calendar event creation
# It will have its title set as the room name, and the location as the URL to the room
def google_calendar_path
"http://calendar.google.com/calendar/r/eventedit?text=#{@room.name}&location=#{request.base_url + request.fullpath}"
end
end

View File

@ -15,8 +15,8 @@
<div class="background pb-1">
<div class="container">
<div class="row pt-7">
<div class="col-lg-9 col-sm-12">
<div class="row pt-9">
<div class="col-lg-8 col-sm-12">
<div id="room-title" class="display-3 form-inline <%= 'edit_hover_class' if current_user.main_room != @room %>">
<h1 contenteditable=false id="user-text" class="display-3 text-left mb-3 font-weight-400"><%= @room.name %></h1>
<% if current_user.main_room == @room %>
@ -27,20 +27,36 @@
</div>
<h4 class="text-left mb-6"><%= @room.sessions %> <%= t("room.sessions") %> | <%= @recordings.length %> <%= t("room.recordings") %></h4>
<label class="form-label"><%= t("room.invite_participants") %></label>
<form class="form-inline">
<div class="input-icon invite-link-input">
<span class="input-icon-addon">
<i class="fas fa-link"></i>
</span>
<input id="invite-url" type="text" class="form-control w-100" value="<%= request.base_url + @room.invite_path %>" readonly="">
<div class="row">
<div class="col-lg-5 col-md-12 mt-2 pr-0">
<div class="input-icon invite-link-input">
<span class="input-icon-addon">
<i class="fas fa-link"></i>
</span>
<input id="invite-url" type="text" class="form-control w-100" value="<%= request.base_url + @room.invite_path %>" readonly="">
</div>
</div>
<div id="copy" class="btn btn-primary mx-2">
<i class="fas fa-copy"></i>
<%= t("copy") %>
<div class="col-lg-7 col-md-12 pr-0">
<div class="row">
<div class="col-sm-6">
<a href="#" id="copy" class="btn btn-primary btn-block mt-2">
<i class="fas fa-copy"></i>
<%= t("copy") %>
</a>
</div>
<div class="col-sm-6 pl-0">
<% if Rails.configuration.enable_google_calendar_button %>
<a href="<%= google_calendar_path %>" target="__blank" id="schedule" class="btn btn-primary btn-block mt-2">
<i class="fas fa-calendar-plus"></i>
<%= t("add_to_google_calendar") %>
</a>
<% end %>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="col-lg-3 col-sm-12 force-bottom mt-5">
<div class="offset-lg-1 col-lg-3 col-sm-12 force-bottom mt-5 pr-0">
<% if @is_running %>
<%= button_to t("room.join"), room_path(@room), class: "btn btn-primary btn-block px-7 start-button float-right" %>
<% else %>

View File

@ -39,7 +39,7 @@
<% end %>
</td>
<% end %>
<td id="recording-length" class="text-left" data-full-length="<%=recording[:playbacks].first[:length]%>">
<td id="recording-length" class="text-left" data-full-length="<%= recording[:playbacks].empty? ? 0 : recording[:playbacks].first[:length]%>">
<%= recording_length(recording[:playbacks]) %>
</td>
<td id="recording-users" class="text-left">
@ -63,7 +63,7 @@
</div>
</td>
<td>
<% sorted_formats = recording[:playbacks].sort_by! {|p| p[:type]} %>
<% sorted_formats = recording[:playbacks].sort_by! { |p| p[:type] } %>
<% sorted_formats.each do |p| %>
<%= link_to t("recording.format.#{p[:type]}"), p[:url], class: "btn btn-sm btn-primary", target: "_blank" %>
<% end %>

View File

@ -111,5 +111,8 @@ module Greenlight
# Whether the user has defined the variables required for recaptcha
config.recaptcha_enabled = ENV['RECAPTCHA_SITE_KEY'].present? && ENV['RECAPTCHA_SECRET_KEY'].present?
# Show/hide "Add to Google Calendar" button in the room page
config.enable_google_calendar_button = (ENV['ENABLE_GOOGLE_CALENDAR_BUTTON'] == "true")
end
end

View File

@ -62,12 +62,14 @@ en:
uid: User ID
username: Username
title: Manage Users
add_to_google_calendar: "Add to Google Calendar"
bigbluebutton: BigBlueButton
bigbluebutton_exception: Oops, there was an error when starting the meeting!
cancel: Cancel
cookies:
cookie_info: Cookies help us deliver our services. By using our services, you agree to our use of cookies.
cookie_button: I Agree
copied: Copied
copy: Copy
default_admin: You are still using the default password for this account. Please click <a href="%{edit_link}">here</a> to change it
delete: Delete

View File

@ -139,6 +139,10 @@ PAGINATION_NUMBER=25
# Default is set to 10 rows
NUMBER_OF_ROWS=10
# Specify if you want to display the Google Calendar button
# ENABLE_GOOGLE_CALENDAR_BUTTON=true|false
ENABLE_GOOGLE_CALENDAR_BUTTON=
# Comment this out to send logs to STDOUT in production instead of log/production.log .
#
# RAILS_LOG_TO_STDOUT=true