Commit a410bc12898ba7cd422997d332d87ef8ff20d48e

Authored by Dmitriy Zaporozhets
2 parents 1a3ca6b1 39d8a64d

Merge pull request #4670 from anezi/relative-url-patch

More fixes for supporting Relative URL
app/assets/javascripts/wall.js.coffee
@@ -64,7 +64,7 @@ class Wall @@ -64,7 +64,7 @@ class Wall
64 template = template.replace('{{text}}', simpleFormat(note.body)) 64 template = template.replace('{{text}}', simpleFormat(note.body))
65 65
66 if note.attachment 66 if note.attachment
67 - file = '<i class="icon-paper-clip"/><a href="/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>' 67 + file = '<i class="icon-paper-clip"/><a href="' + gon.relative_url_root + '/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>'
68 else 68 else
69 file = '' 69 file = ''
70 template = template.replace('{{file}}', file) 70 template = template.replace('{{file}}', file)
app/uploaders/attachment_uploader.rb
@@ -21,7 +21,7 @@ class AttachmentUploader &lt; CarrierWave::Uploader::Base @@ -21,7 +21,7 @@ class AttachmentUploader &lt; CarrierWave::Uploader::Base
21 end 21 end
22 22
23 def secure_url 23 def secure_url
24 - "/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}" 24 + Gitlab.config.gitlab.relative_url_root + "/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}"
25 end 25 end
26 26
27 def file_storage? 27 def file_storage?
config/application.rb
@@ -67,5 +67,9 @@ module Gitlab @@ -67,5 +67,9 @@ module Gitlab
67 67
68 # Version of your assets, change this if you want to expire all your assets 68 # Version of your assets, change this if you want to expire all your assets
69 config.assets.version = '1.0' 69 config.assets.version = '1.0'
  70 +
  71 + # Uncomment this if you are using a subdirectory
  72 + # Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed
  73 + # config.relative_url_root = "/gitlab"
70 end 74 end
71 end 75 end
config/gitlab.yml.example
@@ -21,6 +21,7 @@ production: &amp;base @@ -21,6 +21,7 @@ production: &amp;base
21 # WARNING: This feature is no longer supported 21 # WARNING: This feature is no longer supported
22 # Uncomment and customize to run in non-root path 22 # Uncomment and customize to run in non-root path
23 # Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed 23 # Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed
  24 + # You need to uncomment config.relative_url_root in config/application.rb
24 # relative_url_root: /gitlab 25 # relative_url_root: /gitlab
25 26
26 # Uncomment and customize if you can't use the default user to run GitLab (default: 'git') 27 # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
config/initializers/session_store.rb
@@ -2,7 +2,8 @@ @@ -2,7 +2,8 @@
2 2
3 Gitlab::Application.config.session_store :cookie_store, key: '_gitlab_session', 3 Gitlab::Application.config.session_store :cookie_store, key: '_gitlab_session',
4 secure: Gitlab::Application.config.force_ssl, 4 secure: Gitlab::Application.config.force_ssl,
5 - httponly: true 5 + httponly: true,
  6 + path: (Rails.application.config.relative_url_root.nil?) ? '/' : Rails.application.config.relative_url_root
6 7
7 # Use the database for sessions instead of the cookie-based default, 8 # Use the database for sessions instead of the cookie-based default,
8 # which shouldn't be used to store highly confidential information 9 # which shouldn't be used to store highly confidential information
lib/gitlab/backend/grack_auth.rb
@@ -15,7 +15,15 @@ module Grack @@ -15,7 +15,15 @@ module Grack
15 @auth = Request.new(env) 15 @auth = Request.new(env)
16 16
17 # Need this patch due to the rails mount 17 # Need this patch due to the rails mount
18 - @env['PATH_INFO'] = @request.path 18 +
  19 + # Need this if under RELATIVE_URL_ROOT
  20 + unless Gitlab.config.gitlab.relative_url_root.empty?
  21 + # If website is mounted using relative_url_root need to remove it first
  22 + @env['PATH_INFO'] = @request.path.sub(Gitlab.config.gitlab.relative_url_root,'')
  23 + else
  24 + @env['PATH_INFO'] = @request.path
  25 + end
  26 +
19 @env['SCRIPT_NAME'] = "" 27 @env['SCRIPT_NAME'] = ""
20 28
21 auth! 29 auth!