diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-12-20 09:44:28 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-12-20 09:44:28 +0000 |
commit | cf9bb2699fa146514b219e1fd3dce6e367f274ce (patch) | |
tree | ffe2c6f9760dd5ecb5b1b60f03dded9ec6c13166 /app | |
parent | 4398386c48bb70e99e543cca166f704853d3c664 (diff) | |
download | redmine-cf9bb2699fa146514b219e1fd3dce6e367f274ce.tar.gz redmine-cf9bb2699fa146514b219e1fd3dce6e367f274ce.zip |
Adds on optional API key to repositories management controller and reposman.rb.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3201 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/sys_controller.rb | 4 | ||||
-rw-r--r-- | app/views/settings/_repositories.rhtml | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/app/controllers/sys_controller.rb b/app/controllers/sys_controller.rb index 5e74192a9..be88eb232 100644 --- a/app/controllers/sys_controller.rb +++ b/app/controllers/sys_controller.rb @@ -59,8 +59,8 @@ class SysController < ActionController::Base def check_enabled User.current = nil - unless Setting.sys_api_enabled? - render :nothing => 'Access denied. Repository management WS is disabled.', :status => 403 + unless Setting.sys_api_enabled? && params[:key].to_s == Setting.sys_api_key + render :text => 'Access denied. Repository management WS is disabled or key is invalid.', :status => 403 return false end end diff --git a/app/views/settings/_repositories.rhtml b/app/views/settings/_repositories.rhtml index 83a3846ce..581ebf5fd 100644 --- a/app/views/settings/_repositories.rhtml +++ b/app/views/settings/_repositories.rhtml @@ -3,7 +3,15 @@ <div class="box tabular settings"> <p><%= setting_check_box :autofetch_changesets %></p> -<p><%= setting_check_box :sys_api_enabled %></p> +<p><%= setting_check_box :sys_api_enabled, + :onclick => "if (this.checked) { Form.Element.enable('settings_sys_api_key'); } else { Form.Element.disable('settings_sys_api_key'); }" %></p> + +<p><%= setting_text_field :sys_api_key, :size => 30, + :id => 'settings_sys_api_key', + :disabled => !Setting.sys_api_enabled?, + :label => :setting_mail_handler_api_key %> + <%= link_to_function l(:label_generate_key), "if ($('settings_sys_api_key').disabled == false) { $('settings_sys_api_key').value = randomKey(20) }" %> +</p> <p><%= setting_multiselect(:enabled_scm, REDMINE_SUPPORTED_SCM) %></p> |