diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..73462a5a --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.5.1 diff --git a/README.md b/README.md index ce64bb4d..be58538d 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,13 @@ Greenlight is a simple front-end interface for your BigBlueButton server. At it' * Invite others to your room using a simple URL. * View recordings and share them with others. -Furthermore, Greenlight is completely configurable. This means you can turn on/off features to make Greenlight fit your specific use case. For more information on Greenlight and it's features, see our [documentation](http://docs.bigbluebutton.org/install/greenlight.html). +Interested? Try Greenlight out on our [demo server](https://demo.bigbluebutton.org/gl)! -For a overview of how GreenLight works, checkout our [Introduction to Greenlight Video](https://youtu.be/yGX3JCv7OVM). +Greenlight is also completely configurable. This means you can turn on/off features to make Greenlight fit your specific use case. For more information on Greenlight and its features, see our [documentation](http://docs.bigbluebutton.org/install/greenlight.html). + +For a overview of how Greenlight works, checkout our Introduction to Greenlight Video: + +[![GreenLight Overview](https://img.youtube.com/vi/Hso8yLzkqj8/0.jpg)](https://youtu.be/Hso8yLzkqj8) ## Installation on a BigBlueButton Server @@ -20,7 +24,7 @@ For information on installing Greenlight, checkout our [Installing Greenlight on ## Source Code & Contributing -GreenLight is built using Ruby on Rails. Many developers already know Rails well, and we wanted to create both a full front-end to BigBlueButton but also a reference implementation of how to fully leverage the [BigBlueButton API](http://docs.bigbluebutton.org/dev/api.html). +Greenlight is built using Ruby on Rails. Many developers already know Rails well, and we wanted to create both a full front-end to BigBlueButton but also a reference implementation of how to fully leverage the [BigBlueButton API](http://docs.bigbluebutton.org/dev/api.html). We invite you to build upon GreenLight and help make it better. See [Contributing to BigBlueButton](http://docs.bigbluebutton.org/support/faq.html#contributing-to-bigbluebutton). diff --git a/app/assets/stylesheets/main.scss b/app/assets/stylesheets/main.scss index 616e3290..27a3d0c4 100644 --- a/app/assets/stylesheets/main.scss +++ b/app/assets/stylesheets/main.scss @@ -21,3 +21,18 @@ transform: translateY(-50%); margin-top: 50%; } + +.or-line { + div { + width: 100%; + height: 16px; + border-bottom: 1px solid #d3d3d3; + text-align: center; + span { + font-size: 120%; + background-color: #ffffff; + padding: 0 10px; + color: #d3d3d3 + } + } +} diff --git a/app/assets/stylesheets/rooms.scss b/app/assets/stylesheets/rooms.scss index 42daca51..6066d2db 100644 --- a/app/assets/stylesheets/rooms.scss +++ b/app/assets/stylesheets/rooms.scss @@ -7,7 +7,7 @@ } .thumbnail { - height: 40% !important; + height: 60px !important; width: auto; } @@ -22,3 +22,7 @@ .home-indicator { font-size: 22px !important; } + +.btn-del-room { + width: 70% !important; +} diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 0f07f83b..d7f31433 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -56,7 +56,7 @@ class ApplicationController < ActionController::Base user_is_moderator: false, meeting_logout_url: request.base_url + logout_room_path(@room), meeting_recorded: true, - moderator_message: "#{invite_msg}\n\n #{request.base_url + relative_root + room_path(@room)}", + moderator_message: "#{invite_msg}\n\n #{request.base_url + room_path(@room)}", } end end diff --git a/app/controllers/rooms_controller.rb b/app/controllers/rooms_controller.rb index 218eea7e..57569b3a 100644 --- a/app/controllers/rooms_controller.rb +++ b/app/controllers/rooms_controller.rb @@ -65,8 +65,9 @@ class RoomsController < ApplicationController # DELETE /:room_uid def destroy + p @room # Don't delete the users home room. - @room.destroy if @room != current_user.main_room + @room.destroy if @room.owned_by?(current_user) && @room != current_user.main_room redirect_to current_user.main_room end @@ -90,14 +91,6 @@ class RoomsController < ApplicationController redirect_to @room end - # POST /:room_uid/home - def home - current_user.main_room = @room - current_user.save - - redirect_to @room - end - # POST /:room_uid/:record_id def update_recording meta = { diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index af6f531b..41a623d8 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -19,18 +19,6 @@ class SessionsController < ApplicationController end end - # POST /launch - def launch - # This will recieve a encoded POST from a launcher that - # contains the provider, and all user information. The - # launcher is what does the authentication, so we know - # that the user is who they say they are. We just need - # to use our secret to decode it and then log them in - # to GreenLight (or sign them up). - - # User.from_launch() - end - # GET/POST /auth/:provider/callback def omniauth user = User.from_omniauth(request.env['omniauth.auth']) diff --git a/app/models/user.rb b/app/models/user.rb index 019c4d74..a087c47f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -23,8 +23,8 @@ class User < ApplicationRecord # Generates a user from omniauth. def from_omniauth(auth) find_or_initialize_by(social_uid: auth['uid'], provider: auth['provider']).tap do |u| - u.name = send("#{auth['provider']}_name", auth) - u.username = send("#{auth['provider']}_username", auth) + u.name = send("#{auth['provider']}_name", auth) unless u.name + u.username = send("#{auth['provider']}_username", auth) unless u.username u.email = send("#{auth['provider']}_email", auth) u.image = send("#{auth['provider']}_image", auth) u.save! diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb index 5ce4ab45..57ca2794 100644 --- a/app/views/main/index.html.erb +++ b/app/views/main/index.html.erb @@ -12,7 +12,7 @@

Welcome to Greenlight.

A simple front end for your BigBlueButton Open Source Web Conferencing Server.

- <%= link_to "https://www.youtube.com/watch?v=yGX3JCv7OVM&feature=youtu.be", class: "p-3", target: "_blank" do %> + <%= link_to "https://youtu.be/Hso8yLzkqj8", class: "p-3", target: "_blank" do %>

Watch a tutorial on using Greenlight

<% end %> diff --git a/app/views/rooms/show.html.erb b/app/views/rooms/show.html.erb index 79500e11..f48df08c 100644 --- a/app/views/rooms/show.html.erb +++ b/app/views/rooms/show.html.erb @@ -48,6 +48,7 @@ <%= render "shared/components/room_block", room: room %> <% end %> + <%= render "shared/modals/delete_room_modal", room: room %> <% end %> <% end %> diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb index 61cef386..78e5217c 100644 --- a/app/views/shared/_header.html.erb +++ b/app/views/shared/_header.html.erb @@ -10,7 +10,7 @@ <%= image_tag("logo_with_text.png", class: "header-brand-img") %> <% end %> <% end %> - +
<% if current_user %> @@ -29,13 +29,13 @@ diff --git a/app/views/shared/components/_room_block.html.erb b/app/views/shared/components/_room_block.html.erb index 69d4b2d9..0a796d84 100644 --- a/app/views/shared/components/_room_block.html.erb +++ b/app/views/shared/components/_room_block.html.erb @@ -22,22 +22,21 @@
- diff --git a/app/views/shared/modals/_delete_room_modal.html.erb b/app/views/shared/modals/_delete_room_modal.html.erb new file mode 100644 index 00000000..5ce6854f --- /dev/null +++ b/app/views/shared/modals/_delete_room_modal.html.erb @@ -0,0 +1,25 @@ + diff --git a/app/views/shared/modals/_login_modal.html.erb b/app/views/shared/modals/_login_modal.html.erb index f6f2307c..5896d4fb 100644 --- a/app/views/shared/modals/_login_modal.html.erb +++ b/app/views/shared/modals/_login_modal.html.erb @@ -6,15 +6,19 @@

Login

- - <% configured_providers.each do |provider| %> - <%= link_to omniauth_login_url(provider), class: "btn btn-pill btn-#{provider} btn-block" do %> -  <%= "Login with #{provider.capitalize}" %> + + <% unless configured_providers.length.zero? %> + <% configured_providers.each do |provider| %> + <%= link_to omniauth_login_url(provider), class: "btn btn-pill btn-#{provider} btn-block" do %> +  <%= "Login with #{provider.capitalize}" %> + <% end %> <% end %> + +
+
or
+
<% end %> -
- <%= form_for(:session, url: create_session_path) do |f| %>
diff --git a/app/views/shared/settings/_account.html.erb b/app/views/shared/settings/_account.html.erb index 26504eb8..cc9669a5 100644 --- a/app/views/shared/settings/_account.html.erb +++ b/app/views/shared/settings/_account.html.erb @@ -18,7 +18,7 @@

<%= f.label "Provider", class: "form-label" %> - <%= f.text_field :provider, class: "form-control", value: @user.provider.capitalize, readonly: "" %> + <%= f.text_field :provider, class: "form-control", readonly: "" %> <%= f.label "Image", class: "form-label mt-5" %>
diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb index 56620103..06b3168d 100644 --- a/app/views/users/new.html.erb +++ b/app/views/users/new.html.erb @@ -28,7 +28,8 @@
<%= @user.errors.full_messages_for(:password_confirmation).first %>
<% end %>
diff --git a/config/routes.rb b/config/routes.rb index 924b1191..a43d1ff9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -24,9 +24,6 @@ Rails.application.routes.draw do patch '/:user_uid/edit', to: 'users#update', as: :update_user end - # Handles launches from a trusted launcher. - post '/launch', to: 'sessions#launch' - # Handles Omniauth authentication. match '/auth/:provider/callback', to: 'sessions#omniauth', via: [:get, :post], as: :omniauth_session get '/auth/failure', to: 'sessions#fail' @@ -39,7 +36,6 @@ Rails.application.routes.draw do post '/', to: 'rooms#join' post '/start', to: 'rooms#start', as: :start_room get '/logout', to: 'rooms#logout', as: :logout_room - post '/home', to: 'rooms#home', as: :make_home # Mange recordings. scope '/:record_id' do