X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0169453855de4fe308b7f27fae92021ce918d4fd..c53896e4539ed81e084057d51fce6968efd68286:/app/controllers/user_controller.rb diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 1862ee1be..649c0c907 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -1,5 +1,5 @@ class UserController < ApplicationController - layout 'site', :except => :api_details + layout :choose_layout before_filter :authorize, :only => [:api_details, :api_gpx_files] before_filter :authorize_web, :except => [:api_details, :api_gpx_files] @@ -95,9 +95,9 @@ class UserController < ApplicationController flash[:notice] = t 'user.new.flash create success message', :email => @user.email Notifier.deliver_signup_confirm(@user, @user.tokens.create(:referer => params[:referer])) session[:token] = @user.tokens.create.token - redirect_to :action => 'login' + redirect_to :action => 'login', :referer => params[:referer] else - render :action => 'new' + render :action => 'new', :referer => params[:referer] end end end @@ -496,4 +496,17 @@ private rescue ActiveRecord::RecordNotFound redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name] unless @this_user end + + ## + # Choose the layout to use. See + # https://rails.lighthouseapp.com/projects/8994/tickets/5371-layout-with-onlyexcept-options-makes-other-actions-render-without-layouts + def choose_layout + if [ 'api_details' ].include? action_name + nil + elsif params[:referer] == url_for(:controller => :oauth, :action => :oauthorize, :only_path => true) + 'slim' + else + 'site' + end + end end