-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.new
webmaster.display_name = "OpenStreetMap Webmaster"
webmaster.save!
end
- permissions = Hash[ClientApplication.all_permissions.map { |p| [ p, true ] }]
-
unless id = webmaster.client_applications.find_by_name("iD")
- id = ClientApplication.new
+ id = webmaster.client_applications.new
id.name = "iD"
- id.url = "http://<%= @site %>/"
+ 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.new
+ potlatch = webmaster.client_applications.new
potlatch.name = "Potlatch 2"
- potlatch.url = "http://<%= @site %>/"
+ 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.new
+ website = webmaster.client_applications.new
website.name = "Web Site"
- website.url = "http://<%= @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