skip_before_filter :check_authentication, :except => 'system'
before_filter :admin_required, :only => 'system'
+
+ # prevent HTTP proxies from caching server status
before_filter :set_cache_buster, :only => 'index'
-
+
+ # execute database setup
+ verify :method => :post, :only => [ :setup ]
+ skip_before_filter :check_database_version, :setup
+
def key
render :text => Java::OrgSonarServerPlatform::Platform.getServer().getId()
end
format.text { render :text => text_not_supported}
end
end
+
+ def setup
+ begin
+ DatabaseVersion.setup unless DatabaseVersion.uptodate?
+ hash={:status => 'ok'}
+ respond_to do |format|
+ format.json{ render :json => jsonp(hash) }
+ format.xml { render :xml => hash.to_xml(:skip_types => true, :root => 'setup') }
+ format.text { render :text => hash[:status] }
+ end
+ rescue => e
+ hash={:status => 'ko', :msg => e.message}
+ respond_to do |format|
+ format.json{ render :json => jsonp(hash) }
+ format.xml { render :xml => hash.to_xml(:skip_types => true, :root => 'setup') }
+ format.text { render :text => hash[:status] }
+ end
+ end
+ end
private
#
class SetupController < ApplicationController
skip_before_filter :check_database_version, :check_authentication
-
+
SECTION=Navigation::SECTION_CONFIGURATION
# GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
end
def setup_database
- unless DatabaseVersion.uptodate?
- DatabaseVersion.setup
- end
+ # do not forget that this code is also in /api/server/setup (see api/server_controller.rb)
+ DatabaseVersion.setup unless DatabaseVersion.uptodate?
redirect_to home_path
end
end