diff --git a/web/app/controllers/extras_controller.rb b/web/app/controllers/extras_controller.rb index e69de29bb..131a316d0 100644 --- a/web/app/controllers/extras_controller.rb +++ b/web/app/controllers/extras_controller.rb @@ -0,0 +1,9 @@ +class ExtrasController < ApplicationController + + before_filter :signed_in_user + before_filter :admin_user + + def settings + render layout: "web" + end +end diff --git a/web/app/controllers/users_controller.rb b/web/app/controllers/users_controller.rb index cea76d118..d31bb4094 100644 --- a/web/app/controllers/users_controller.rb +++ b/web/app/controllers/users_controller.rb @@ -396,10 +396,6 @@ class UsersController < ApplicationController redirect_to(root_url) unless current_user?(@user) end - def admin_user - redirect_to(root_url) unless current_user.admin? - end - # the User Model expects instruments in a different format than the form submits it # so we have to fix it up. def fixup_instruments(original_instruments) diff --git a/web/app/helpers/sessions_helper.rb b/web/app/helpers/sessions_helper.rb index 9966731a6..98b0c9774 100644 --- a/web/app/helpers/sessions_helper.rb +++ b/web/app/helpers/sessions_helper.rb @@ -57,6 +57,10 @@ module SessionsHelper cookies.delete(:remember_token, domain: Rails.application.config.session_cookie_domain) end + def admin_user + redirect_to(root_url) unless current_user.admin? + end + def redirect_back_or(default) redirect_to(session[:return_to] || default) session.delete(:return_to) diff --git a/web/app/views/extras/settings.html.haml b/web/app/views/extras/settings.html.haml index e69de29bb..60dfb8d27 100644 --- a/web/app/views/extras/settings.html.haml +++ b/web/app/views/extras/settings.html.haml @@ -0,0 +1,6 @@ +%h1 Extra Feature Settings + +%form + %button.launch_new_ftue{type: 'button'} + + diff --git a/web/config/routes.rb b/web/config/routes.rb index e72c9476b..b225e907f 100644 --- a/web/config/routes.rb +++ b/web/config/routes.rb @@ -98,6 +98,8 @@ SampleApp::Application.routes.draw do # vanilla forums sso match '/forums/sso', to: 'vanilla_forums#authenticate' + # admin-only page to control settings + match '/extras/settings', to: 'extras#settings' scope '/corp' do # about routes diff --git a/web/spec/spec_helper.rb b/web/spec/spec_helper.rb index 02d262d8f..d3f3dccbe 100644 --- a/web/spec/spec_helper.rb +++ b/web/spec/spec_helper.rb @@ -51,7 +51,12 @@ tests_started = false Thread.new { - sleep 240 + if ENV['BUILD_NUMBER'] + sleep 240 + else + sleep 30 + end + unless tests_started bputs "tests are hung. exiting..." puts "tests are hung. exiting..." diff --git a/web/spec/support/utilities.rb b/web/spec/support/utilities.rb index 47e3099ac..b57e7fc02 100644 --- a/web/spec/support/utilities.rb +++ b/web/spec/support/utilities.rb @@ -4,10 +4,19 @@ include ApplicationHelper module Capybara module Node class Element + + def attempt_hover + begin + hover + rescue => e + end + end def hover_intent hover - hover - hover + sleep 0.3 + attempt_hover + sleep 0.3 + attempt_hover end end end