Implemented refresh URL

This commit is contained in:
jfederico 2016-10-18 16:23:52 -04:00
parent e9f77b4e2e
commit 0d216adc52
6 changed files with 46 additions and 15 deletions

View File

@ -15,6 +15,23 @@
}
});
});
$('#url_form_button').click (function (event) {
$.ajax({
url : $(this).data ('url'),
dataType : "json",
async : true,
type : 'GET',
success : function(data) {
$('#meeting_url').html(data.response.meeting_url);
$('#text_meeting_url a').href(data.response.meeting_url);
$('#text_meeting_url span').html(data.response.meeting_url);
},
error : function(xhr, status, error) {
},
complete : function(xhr, status) {
}
});
});
};
$(document).on("turbolinks:load", function() {

View File

@ -20,9 +20,6 @@ class BbbController < ApplicationController
end
end
def close
end
private
def render_response(messageKey, message, status, response={})
respond_to do |format|

View File

@ -2,7 +2,18 @@ class LandingController < ApplicationController
include LandingHelper
def index
@meeting_token = params[:id] || @meeting_token = rand.to_s[2..10]
@meeting_url = meeting_url(@meeting_token)
@refreshable = (params[:resource] == 'meeting' && !params.has_key?(:id))
@meeting_token = params[:id] || @meeting_token = new_meeting_token
@meeting_url = landing_url(@meeting_token)
end
# GET /token.json
def new_meeting
respond_to do |format|
meeting_url = landing_url(new_meeting_token)
logger.info meeting_url
format.json { render :json => { :messageKey => "ok", :message => "New meeting URL created", :status => :ok, :response => { :meeting_url => meeting_url} }, :status => status }
end
end
end

View File

@ -1,9 +1,5 @@
module LandingHelper
def meeting_url(meeting_token)
_meeting_url = "#{request.original_url}"
_meeting_url += "meeting" if ( request.original_url == "#{request.base_url}/" )
_meeting_url += "/" unless _meeting_url.end_with?('/')
_meeting_url += "#{meeting_token}" if !params.has_key?(:id)
_meeting_url.gsub(/\/+$/, '')
def new_meeting_token
rand.to_s[2..10]
end
end

View File

@ -6,11 +6,20 @@
<div class="container">
<div class="jumbotron">
<!-- Meeting URL -->
<% if @refreshable %>
<h4 class="display-3">
<div id="landing_page_url" class="center-block">
<span id="meeting_url"><%= @meeting_url %></span>
<form id="url_form" class="form-inline">
<div class="form-group">
<span id="meeting_url"><%= @meeting_url %></span>
</div>
<button id="url_form_button" type="button" class="btn btn-default" data-url="<%= new_meeting_url() %>">
<span class="glyphicon glyphicon-refresh"></span>
</button>
</form>
</div>
</h4>
<% end %>
<!-- Join form -->
<div id="landing_page_join">
@ -27,7 +36,7 @@
<figure class=highlight><pre><figcaption class="text" data-lang="text">
<p>Hi Everyone</p>
<p>The meeting will be at this URL</p>
<p><a href="<%= @meeting_url %>"><span id="meeting_url"><%= @meeting_url %></a></p>
<p><a id="text_meeting_url" href="<%= @meeting_url %>"><span id="text_meeting_url"><%= @meeting_url %></a></p>
<p>Please join!</p>
</figcaption></pre></figure>

View File

@ -1,10 +1,11 @@
Rails.application.routes.draw do
get 'bbb/join/:id', to: 'bbb#join', as: :bbb_join
get 'meeting(/:id)', to: 'landing#index'
get '/meeting/new', to: 'landing#new_meeting', as: :new_meeting
get '/meeting(/:id)', to: 'landing#index', as: :landing, :resource => "meeting"
get '/auth/:provider/callback', to: 'sessions#create'
get '/logout', to: 'sessions#destroy'
root to: 'landing#index'
root to: 'landing#index', :resource => "meeting"
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end