X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/1c848471a16f9d1ee1fc8a327af110447ea1ef4c..9bb78787b17907354cc60ad73bd738560233c799:/cookbooks/dev/templates/default/rails.setup.rb.erb?ds=inline diff --git a/cookbooks/dev/templates/default/rails.setup.rb.erb b/cookbooks/dev/templates/default/rails.setup.rb.erb index 269ac4355..c25ea13e2 100644 --- a/cookbooks/dev/templates/default/rails.setup.rb.erb +++ b/cookbooks/dev/templates/default/rails.setup.rb.erb @@ -1,41 +1,86 @@ -unless Object.const_defined?(:Rake) or Object.const_defined?(:POTLATCH2_KEY) - OpenStreetMap::Application.config.after_initialize do +OpenStreetMap::Application.config.after_initialize do + if ActiveRecord::Base.connection.table_exists?(:client_applications) unless webmaster = User.find_by_email("webmaster@openstreetmap.org") - webmaster = User.create({ - :display_name => "OpenStreetMap Webmaster", - :email => "webmaster@openstreetmap.org", - :pass_crypt => SecureRandom.hex, - :status => "active" - }, :without_protection => true) + webmaster = User.new + webmaster.display_name = "OpenStreetMap Webmaster" + webmaster.email = "webmaster@openstreetmap.org" + webmaster.pass_crypt = SecureRandom.hex + webmaster.status = "active" + webmaster.save! end - permissions = Hash[ClientApplication.all_permissions.map { |p| [ p, true ] }] - unless id = webmaster.client_applications.find_by_name("iD") - id = ClientApplication.create(permissions.merge({ - :name => "iD", - :url => "http://<%= @site %>/", - }), :without_protection => true) + id = webmaster.client_applications.new + id.name = "iD" + id.url = "https://<%= @site %>/" + ClientApplication.all_permissions.each { |p| id[p] = true } + id.save! end - ID_KEY = id.key + if Kernel.const_defined?("Settings") + Settings.id_key = id.key + else + ID_KEY = id.key + end unless potlatch = webmaster.client_applications.find_by_name("Potlatch 2") - potlatch = ClientApplication.create(permissions.merge({ - :name => "Potlatch 2", - :url => "http://<%= @site %>/", - }), :without_protection => true) + potlatch = webmaster.client_applications.new + potlatch.name = "Potlatch 2" + potlatch.url = "https://<%= @site %>/" + ClientApplication.all_permissions.each { |p| potlatch[p] = true } + potlatch.save! end - POTLATCH2_KEY = potlatch.key + if Kernel.const_defined?("Settings") + Settings.potlatch2_key = potlatch.key + else + POTLATCH2_KEY = potlatch.key + end unless website = webmaster.client_applications.find_by_name("Web Site") - website = ClientApplication.create(permissions.merge({ - :name => "Web Site", - :url => "http://<%= @site %>/", - }), :without_protection => true) + website = webmaster.client_applications.new + website.name = "Web Site" + website.url = "https://<%= @site %>/" + ClientApplication.all_permissions.each { |p| website[p] = true } + website.save! end - OAUTH_KEY = website.key + if Kernel.const_defined?("Settings") + Settings.oauth_key = website.key + else + OAUTH_KEY = website.key + end + end + + if ActiveRecord::Base.connection.table_exists?(:oauth_applications) + unless id = webmaster.oauth2_applications.find_by_name("iD") + id = webmaster.oauth2_applications.new + id.name = "iD" + id.redirect_uri = "https://<%= @site %>/id" + id.scopes = Oauth.scopes.map(&:name) + id.confidential = true + id.save! + end + + if Kernel.const_defined?("Settings") + Settings.id_application = id.uid + else + ID_APPLICATION = id.uid + end + + unless website = webmaster.oauth2_applications.find_by_name("Web Site") + website = webmaster.oauth2_applications.new + website.name = "Web Site" + website.redirect_uri = "https://<%= @site %>/" + website.scopes = Oauth.scopes.map(&:name) + website.confidential = true + website.save! + end + + if Kernel.const_defined?("Settings") + Settings.oauth_application = website.uid + else + OAUTH_APPLICATION = website.uid + end end end