Allow to configure a URL to show after sign out

This commit is contained in:
Alex Lossent 2015-05-29 17:42:27 +02:00
parent a3b60982e5
commit 60225a067d
7 changed files with 20 additions and 2 deletions

View file

@ -34,6 +34,7 @@ v 7.12.0 (unreleased)
- You can not remove user if he/she is an only owner of group
- User should be able to leave group. If not - show him proper message
- User has ability to leave project
- Allow to configure a URL to show after sign out
v 7.11.4
- Fix missing bullets when creating lists

View file

@ -38,6 +38,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
:twitter_sharing_enabled,
:sign_in_text,
:home_page_url,
:after_sign_out_path,
:max_attachment_size,
:default_project_visibility,
:default_snippet_visibility,

View file

@ -89,7 +89,7 @@ class ApplicationController < ActionController::Base
end
def after_sign_out_path_for(resource)
new_user_session_path
current_application_settings.after_sign_out_path || new_user_session_path
end
def abilities

View file

@ -19,6 +19,7 @@
# default_snippet_visibility :integer
# restricted_signup_domains :text
# user_oauth_applications :bool default(TRUE)
# after_sign_out_path :string(255)
#
class ApplicationSetting < ActiveRecord::Base
@ -31,6 +32,10 @@ class ApplicationSetting < ActiveRecord::Base
format: { with: /\A#{URI.regexp(%w(http https))}\z/, message: "should be a valid url" },
if: :home_page_url_column_exist
validates :after_sign_out_path,
allow_blank: true,
format: { with: /\A#{URI.regexp(%w(http https))}\z/, message: "should be a valid url" }
validates_each :restricted_visibility_levels do |record, attr, value|
unless value.nil?
value.each do |level|

View file

@ -69,6 +69,11 @@
.col-sm-10
= f.text_field :home_page_url, class: 'form-control', placeholder: 'http://company.example.com', :'aria-describedby' => 'home_help_block'
%span.help-block#home_help_block We will redirect non-logged in users to this page
.form-group
= f.label :after_sign_out_path, class: 'control-label col-sm-2'
.col-sm-10
= f.text_field :after_sign_out_path, class: 'form-control', placeholder: 'http://company.example.com', :'aria-describedby' => 'after_sign_out_path_help_block'
%span.help-block#after_sign_out_path_help_block We will redirect users to this page after they sign out
.form-group
= f.label :sign_in_text, class: 'control-label col-sm-2'
.col-sm-10

View file

@ -0,0 +1,5 @@
class AddAfterSignOutPathForApplicationSettings < ActiveRecord::Migration
def change
add_column :application_settings, :after_sign_out_path, :string
end
end

View file

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20150529111607) do
ActiveRecord::Schema.define(version: 20150529150354) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -34,6 +34,7 @@ ActiveRecord::Schema.define(version: 20150529111607) do
t.integer "default_snippet_visibility"
t.text "restricted_signup_domains"
t.boolean "user_oauth_applications", default: true
t.string "after_sign_out_path"
end
create_table "broadcast_messages", force: true do |t|