]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/site/_potlatch2.html.erb
Report a friendly(ish) error if no OAauth key is set for Potlatch 2
[rails.git] / app / views / site / _potlatch2.html.erb
index 57a45f2abb027216bfccab58f5de221e72cf720e..760927a82d6cdd3ee2d316a153e825917018e178 100644 (file)
@@ -4,17 +4,21 @@
 
 <%= javascript_include_tag 'swfobject.js' %>
 
+<% if defined? POTLATCH2_KEY %>
 <% token = @user.access_token(POTLATCH2_KEY) %>
+<% else%>
+<script type="text/javascript">alert("<%= t 'site.edit.potlatch2_not_configured' %>")</script>
+<% end %>
 
 <script type="text/javascript" defer="defer">
   var brokenContentSize = $("content").offsetWidth == 0;
-  var fo = new SWFObject("/potlatch2/potlatch2.swf?d="+Math.round(Math.random()*1000), "potlatch", "100%", "100%", "9", "#FFFFFF");
+  var fo = new SWFObject("<%= asset_path("/potlatch2/potlatch2.swf") %>", "potlatch", "100%", "100%", "9", "#FFFFFF");
   // 700,600 for fixed size, 100%,100% for resizable
   var changesaved=true;
   
   window.onbeforeunload=function() {
     if (!changesaved) {
-      return '<%= escape_javascript(t('site.edit.potlatch_unsaved_changes')) %>';
+      return '<%= escape_javascript(t('site.edit.potlatch2_unsaved_changes')) %>';
     }
   }
 
     fo.addParam("base","/potlatch2");
     if (lat) { fo.addVariable("lat",lat); }
     if (lon) { fo.addVariable("lon",lon); }
+    <% if params['gpx'] %>
+    fo.addVariable('gpx' ,'<%= h(params['gpx']) %>');
+    <% end %>
+    <% if params['tileurl'] %>
+    fo.addVariable('tileurl' ,'<%= h(params['tileurl']) %>');
+    <% end %>
     fo.addVariable("zoom",zoom);
-    fo.addVariable("api","http://<%= SERVER_URL %>/api/<%= API_VERSION %>/");
-    fo.addVariable("policy","http://<%= SERVER_URL %>/api/crossdomain.xml");
+    fo.addVariable("api","<%= request.protocol + request.host_with_port %>/api/<%= API_VERSION %>/");
+    fo.addVariable("policy","<%= request.protocol + request.host_with_port %>/api/crossdomain.xml");
     fo.addVariable("connection","XML");
+    <% if token %>
     fo.addVariable("oauth_token","<%= token.token %>");
     fo.addVariable("oauth_token_secret","<%= token.secret %>");
     fo.addVariable("oauth_consumer_key","<%= token.client_application.key %>");
     fo.addVariable("oauth_consumer_secret","<%= token.client_application.secret %>");
+    <% end %>
     fo.addVariable("maximise_function","maximiseMap");
     fo.addVariable("minimise_function","minimiseMap");
+    fo.addVariable("move_function","mapMoved");
     fo.write("map");
   }
 
   doSWF(<%= @lat || 'null' %>,<%= @lon || 'null' %>,<%= @zoom %>);
 
   function setPosition(lat, lon, zoom) {
-    doSWF(lat, lon, zoom || 15);
+    $("potlatch").setPosition(lat, lon, Math.max(zoom || 15, 13));
+  }
+
+  function mapMoved(lon, lat, zoom, minlon, minlat, maxlon, maxlat) {
+    updatelinks(lon, lat, zoom, null, minlon, minlat, maxlon, maxlat);
   }
 </script>