Commit 84a414fe authored by Eric Maziade's avatar Eric Maziade

Add session expiration delay configuration through UI application

settings
parent 971e57cf
Please view this file on the master branch, on stable branches it's out of date.
v 7.12.0 (unreleased)
- Add session expiration delay configuration through UI application settings
- Don't notify users mentioned in code blocks or blockquotes.
- Disable changing of the source branch in merge request update API (Stan Hu)
- Shorten merge request WIP text.
......@@ -1497,4 +1498,4 @@ v 0.8.0
- stability
- security fixes
- increased test coverage
- email notification
- email notification
\ No newline at end of file
......@@ -40,6 +40,7 @@ def application_setting_params
:home_page_url,
:after_sign_out_path,
:max_attachment_size,
:session_expire_seconds,
:default_project_visibility,
:default_snippet_visibility,
:restricted_signup_domains_raw,
......
......@@ -15,6 +15,7 @@
# twitter_sharing_enabled :boolean default(TRUE)
# restricted_visibility_levels :text
# max_attachment_size :integer default(10), not null
# session_expire_seconds :integer default(604800), not null
# default_project_visibility :integer
# default_snippet_visibility :integer
# restricted_signup_domains :text
......@@ -61,6 +62,7 @@ def self.create_from_defaults
sign_in_text: Settings.extra['sign_in_text'],
restricted_visibility_levels: Settings.gitlab['restricted_visibility_levels'],
max_attachment_size: Settings.gitlab['max_attachment_size'],
session_expire_seconds: Settings.gitlab['session_expire_seconds'],
default_project_visibility: Settings.gitlab.default_projects_features['visibility_level'],
default_snippet_visibility: Settings.gitlab.default_projects_features['visibility_level'],
restricted_signup_domains: Settings.gitlab['restricted_signup_domains']
......
......@@ -83,6 +83,10 @@
= f.label :max_attachment_size, 'Maximum attachment size (MB)', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :max_attachment_size, class: 'form-control'
.form-group
= f.label :session_expire_seconds, 'Session duration (seconds)', class: 'control-label col-sm-2'
.col-sm-10
= f.number_field :session_expire_seconds, class: 'form-control'
.form-group
= f.label :restricted_signup_domains, 'Restricted domains for sign-ups', class: 'control-label col-sm-2'
.col-sm-10
......
......@@ -128,6 +128,7 @@ def verify_constant(modul, current, default)
Settings.gitlab['default_projects_features'] ||= {}
Settings.gitlab['webhook_timeout'] ||= 10
Settings.gitlab['max_attachment_size'] ||= 10
Settings.gitlab['session_expire_seconds'] ||= 604800
Settings.gitlab.default_projects_features['issues'] = true if Settings.gitlab.default_projects_features['issues'].nil?
Settings.gitlab.default_projects_features['merge_requests'] = true if Settings.gitlab.default_projects_features['merge_requests'].nil?
Settings.gitlab.default_projects_features['wiki'] = true if Settings.gitlab.default_projects_features['wiki'].nil?
......
......@@ -6,6 +6,6 @@
key: '_gitlab_session',
secure: Gitlab.config.gitlab.https,
httponly: true,
expire_after: 1.week,
expire_after: ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('application_settings') ? ApplicationSetting.current.session_expire_seconds : Settings.gitlab['session_expire_seconds'],
path: (Rails.application.config.relative_url_root.nil?) ? '/' : Rails.application.config.relative_url_root
)
class AddSessionExpireSecondsForApplicationSettings < ActiveRecord::Migration
def change
add_column :application_settings, :session_expire_seconds, :integer, default: 604800, null: false
end
end
\ No newline at end of file
......@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20150529150354) do
ActiveRecord::Schema.define(version: 20150604202921) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
......@@ -35,6 +35,7 @@
t.text "restricted_signup_domains"
t.boolean "user_oauth_applications", default: true
t.string "after_sign_out_path"
t.integer "session_expire_seconds", default: 604800, null: false
end
create_table "broadcast_messages", force: true do |t|
......
......@@ -21,7 +21,8 @@ def fake_application_settings
gravatar_enabled: Settings.gravatar['enabled'],
sign_in_text: Settings.extra['sign_in_text'],
restricted_visibility_levels: Settings.gitlab['restricted_visibility_levels'],
max_attachment_size: Settings.gitlab['max_attachment_size']
max_attachment_size: Settings.gitlab['max_attachment_size'],
session_expire_seconds: Settings.gitlab['session_expire_seconds']
)
end
end
......
......@@ -15,6 +15,7 @@
# twitter_sharing_enabled :boolean default(TRUE)
# restricted_visibility_levels :text
# max_attachment_size :integer default(10), not null
# session_expire_seconds :integer default(604800), not null
# default_project_visibility :integer
# default_snippet_visibility :integer
# restricted_signup_domains :text
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment