forked from External/greenlight
Rework for generalizing some methods
This commit is contained in:
parent
8d6904e183
commit
12aac189a8
|
@ -3,7 +3,6 @@ require 'digest/sha1'
|
||||||
|
|
||||||
class ApplicationController < ActionController::Base
|
class ApplicationController < ActionController::Base
|
||||||
protect_from_forgery with: :exception
|
protect_from_forgery with: :exception
|
||||||
include ApplicationHelper
|
|
||||||
|
|
||||||
def current_user
|
def current_user
|
||||||
@current_user ||= User.find_by(id: session[:user_id])
|
@current_user ||= User.find_by(id: session[:user_id])
|
||||||
|
|
|
@ -1,33 +1,51 @@
|
||||||
class LandingController < ApplicationController
|
class LandingController < ApplicationController
|
||||||
|
|
||||||
def meeting
|
def index
|
||||||
@refreshable = (params[:resource] == 'meetings' && !params.has_key?(:id))
|
if params[:resource] == 'meetings'
|
||||||
@meeting_token = params[:id] || @meeting_token = helpers.new_meeting_token
|
render_meeting
|
||||||
@resource = params[:resource]
|
elsif params[:resource] == 'rooms'
|
||||||
@resource_url = meeting_url(@meeting_token)
|
render_room
|
||||||
|
else
|
||||||
|
render 'errors/error'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /token.json
|
# GET /token.json
|
||||||
def new_meeting
|
def new_meeting
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
meeting_url = meeting_url(helpers.new_meeting_token)
|
meeting_url = resource_url('meetings', helpers.new_meeting_token)
|
||||||
format.json { render :json => { :messageKey => "ok", :message => "New meeting URL created", :status => :ok, :response => { :meeting_url => meeting_url} }, :status => status }
|
format.json { render :json => { :messageKey => "ok", :message => "New meeting URL created", :status => :ok, :response => { :meeting_url => meeting_url} }, :status => status }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def room
|
def meeting
|
||||||
@room_name = params[:name]
|
render_meeting
|
||||||
@user = User.find_by(username: @room_name)
|
|
||||||
@meeting_token = @room_name
|
|
||||||
@resource = "rooms"
|
|
||||||
@resource_url = room_url(@meeting_token)
|
|
||||||
if @user.nil?
|
|
||||||
redirect_to root_path
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def room
|
||||||
|
render_room
|
||||||
end
|
end
|
||||||
|
|
||||||
def admin?
|
def admin?
|
||||||
@user == current_user
|
@user == current_user
|
||||||
end
|
end
|
||||||
helper_method :admin?
|
helper_method :admin?
|
||||||
|
private
|
||||||
|
def render_meeting
|
||||||
|
@resource = params[:resource]
|
||||||
|
@meeting_token = params[:id] || @meeting_token = helpers.new_meeting_token
|
||||||
|
@refreshable = (params[:resource] == 'meetings' && !params.has_key?(:id))
|
||||||
|
render :action => 'meeting'
|
||||||
|
end
|
||||||
|
|
||||||
|
def render_room
|
||||||
|
@resource = params[:resource]
|
||||||
|
@meeting_token = params[:id]
|
||||||
|
@user = User.find_by(username: @meeting_token)
|
||||||
|
if @user.nil?
|
||||||
|
redirect_to root_path
|
||||||
|
end
|
||||||
|
render :action => 'room'
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,7 +3,7 @@ class SessionsController < ApplicationController
|
||||||
@user = User.from_omniauth(request.env['omniauth.auth'])
|
@user = User.from_omniauth(request.env['omniauth.auth'])
|
||||||
if @user.persisted?
|
if @user.persisted?
|
||||||
session[:user_id] = @user.id
|
session[:user_id] = @user.id
|
||||||
redirect_to controller: 'landing', action: 'room', name: @user.username
|
redirect_to controller: 'landing', action: 'room', id: @user.username
|
||||||
else
|
else
|
||||||
@user.save!
|
@user.save!
|
||||||
session[:user_id] = @user.id
|
session[:user_id] = @user.id
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<div id="landing_page_url" class="center-block">
|
<div id="landing_page_url" class="center-block">
|
||||||
<form id="url_form" class="form-inline">
|
<form id="url_form" class="form-inline">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<span id="meeting_url"><%= @resource_url %></span>
|
<span id="meeting_url"><%= resource_url(@resource, @meeting_token) %></span>
|
||||||
</div>
|
</div>
|
||||||
<% if @refreshable %>
|
<% if @refreshable %>
|
||||||
<button id="url_form_button" type="button" class="btn btn-default" data-url="<%= new_meeting_path() %>">
|
<button id="url_form_button" type="button" class="btn btn-default" data-url="<%= new_meeting_path() %>">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<figure class=highlight><pre><figcaption class="text" data-lang="text">
|
<figure class=highlight><pre><figcaption class="text" data-lang="text">
|
||||||
<p>Hi Everyone</p>
|
<p>Hi Everyone</p>
|
||||||
<p>The meeting will be at this URL</p>
|
<p>The meeting will be at this URL</p>
|
||||||
<p><a id="text_meeting_url" href="<%= @resource_url %>"><%= @resource_url %></a></p>
|
<p><a id="text_meeting_url" href="<%= resource_url(@resource, @meeting_token) %>"><%= resource_url(@resource, @meeting_token) %></a></p>
|
||||||
<p>Please join!</p>
|
<p>Please join!</p>
|
||||||
</figcaption></pre></figure>
|
</figcaption></pre></figure>
|
||||||
|
|
|
@ -4,8 +4,7 @@ Rails.application.routes.draw do
|
||||||
get 'bbb/join/:resource/:id', to: 'bbb#join', as: :bbb_join
|
get 'bbb/join/:resource/:id', to: 'bbb#join', as: :bbb_join
|
||||||
|
|
||||||
get '/meetings/new', to: 'landing#new_meeting', as: :new_meeting
|
get '/meetings/new', to: 'landing#new_meeting', as: :new_meeting
|
||||||
get '/meetings(/:id)', to: 'landing#meeting', as: :meeting, :resource => "meetings"
|
get '/:resource(/:id)', to: 'landing#index', as: :resource
|
||||||
get '/rooms/:name', to: 'landing#room', as: :room
|
|
||||||
|
|
||||||
get '/auth/:provider/callback', to: 'sessions#create'
|
get '/auth/:provider/callback', to: 'sessions#create'
|
||||||
get '/logout', to: 'sessions#destroy'
|
get '/logout', to: 'sessions#destroy'
|
||||||
|
|
Loading…
Reference in New Issue