From 9118bd791c39c9490c7e24e451357fbca869acc9 Mon Sep 17 00:00:00 2001 From: Tyler Lemburg <trlemburg@gmail.com> Date: Tue, 7 Jun 2016 15:00:55 -0500 Subject: [PATCH] Space allocation, migration, and calendar page --- app.rb | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/app.rb b/app.rb index b593bec..1dfd310 100644 --- a/app.rb +++ b/app.rb @@ -1,4 +1,6 @@ require 'sinatra' +require 'models/user' +require 'models/service_space' use Rack::Session::Cookie, :key => 'rack.session', :path => '/', @@ -34,9 +36,45 @@ before do ] session[:init] = true + + # check if the user is currently logged in + if session.has_key?(:user_id) + @user = (User.includes(:permissions).find(session[:user_id]) rescue nil) + else + @user = nil; + end +end + +helpers do + def load_service_space + url_name = params[:service_space_url_name] + space = ServiceSpace.find_by(:url_name => url_name) + raise Sinatra::NotFound if space.nil? + @space = space + end + + def require_login + if @user.nil? + flash(:alert, 'You Must Login', 'That page requires you to be logged in. If you don\'t have an account, please sign up for <a href="/new_members/">New Member Orientation</a>.') + redirect '/login/' + end + end +end + +not_found do + @breadcrumbs << {:text => 'Not Found'} + erb 'That page was not found.', :layout => :fixed +end + +error do + @breadcrumbs << {:text => 'Error'} + flash(:danger, 'Sorry! There was an error.', "We apologize. A really bad error occurred and it didn't work. We're fixing this as we speak.") + erb 'In the meantime, you can <a href="/">go back to the homepage</a>.', :layout => :fixed end get '/' do @breadcrumbs << {:text => 'Home'} - 'Home' -end \ No newline at end of file + erb 'Home', :layout => :fixed +end + +Dir.glob("#{ROOT}/routes/*.rb") { |file| require file } \ No newline at end of file -- GitLab