]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/diary_entry/edit.html.erb
Serve OpenLayers through the asset pipeline
[rails.git] / app / views / diary_entry / edit.html.erb
index 160637b16c9c68e798f1eb44498f4d5b5e41fb76..8c054bb8bfc795549c2de0634eefaec176ae5a9e 100644 (file)
@@ -2,8 +2,8 @@
 
 <%= error_messages_for 'diary_entry' %>
 
-<% form_for :diary_entry do |f| %>
-  <table>
+<%= form_for :diary_entry do |f| %>
+  <table class="diary_entry">
     <tr valign="top">
       <td class="fieldName"><%= t 'diary_entry.edit.subject' -%></td>
       <td><%= f.text_field :title, :size => 60 %></td>
@@ -14,7 +14,7 @@
     </tr>
     <tr valign="top">
       <td class="fieldName"><%= t 'diary_entry.edit.language' -%></td>
-      <td><%= f.collection_select :language_code, Language.find(:all, :order => :english_name), :code, :name %></td>
+      <td><%= f.collection_select :language_code, Language.order(:english_name), :code, :name %></td>
     </tr>
     <tr valign="top">
       <td class="fieldName"><%= t 'diary_entry.edit.location' -%></td>
   </table>
 <% end %>
 
-<% if @user.home_lat.nil? or @user.home_lon.nil? %>
+<% if @diary_entry.latitude and @diary_entry.longitude %>
+  <% lon = @diary_entry.longitude %>
+  <% lat = @diary_entry.latitude %>
+  <% zoom = '12' %>
+<% elsif @user.home_lat.nil? or @user.home_lon.nil? %>
   <% lon = h(params['lon'] || '-0.1') %>
   <% lat = h(params['lat'] || '51.5') %>
   <% zoom = h(params['zoom'] || '4') %> 
@@ -45,8 +49,7 @@
   <% zoom = '12' %>
 <% end %>
 
-<%= javascript_include_tag '/openlayers/OpenLayers.js' %>
-<%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
+<%= javascript_include_tag 'openlayers.js' %>
 <%= javascript_include_tag 'map.js' %>
 
 <script type="text/javascript">
 
   OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
 
-  function init() {
-    var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
-    var zoom = <%= zoom %>;
-
-    var map = createMap("map");
-
-    setMapCenter(centre, zoom);
-
-    map.events.register("click", map, setLocation);
-  }        
-
   function setLocation( e ) { 
     closeMapPopup();
 
   function openMap() {
     $("map").style.display = "block";
     $("usemap").style.display = "none";
-  }
 
-  window.onload = init;
+    var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
+    var zoom = <%= zoom %>;
+
+    var map = createMap("map");
+
+    setMapCenter(centre, zoom);
+
+    <% if @diary_entry.latitude and @diary_entry.longitude %>
+    marker = addMarkerToMap(centre, null, "<%= t 'diary_entry.edit.marker_text' -%>");
+    <% end %>
+
+    map.events.register("click", map, setLocation);
+  }
 // -->
 </script>