-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