]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/dev/templates/default/rails.setup.rb.erb
nominatim: add automatic migration on updates
[chef.git] / cookbooks / dev / templates / default / rails.setup.rb.erb
index b49dbff4be87252cac10e089c9c00328cd15f7be..ad42b68f723ed186eed5de0a80a436020c8f8d04 100644 (file)
@@ -1,5 +1,5 @@
-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"
@@ -9,33 +9,46 @@ unless Object.const_defined?(:Rake) or Object.const_defined?(:POTLATCH2_KEY)
       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
 end