]> git.openstreetmap.org Git - rails.git/blob - app/views/diary_entry/edit.rhtml
Add a changeset cache to stop us looking up the same changeset over
[rails.git] / app / views / diary_entry / edit.rhtml
1 <h1><%= @title %></h1>
2
3 <%= error_messages_for 'diary_entry' %>
4
5 <% form_for :diary_entry do |f| %>
6   <table>
7     <tr valign="top">
8       <td class="fieldName">Subject:</td>
9       <td><%= f.text_field :title, :size => 60 %></td>
10     </tr>
11     <tr valign="top">
12       <td class="fieldName">Body:</td>
13       <td><%= f.text_area :body, :cols => 80 %></td>
14     </tr>
15     <tr valign="top">
16       <td class="fieldName">Location:</td>
17       <td>
18         <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px; display: none;"></div>
19         <span class="location">Latitude: <%= f.text_field :latitude, :size => 20, :id => "latitude" %> Longitude: <%= f.text_field :longitude, :size => 20, :id => "longitude" %></span>
20         <a href="javascript:openMap()" id="usemap">use map</a>
21         <br/><br/>
22       </td>
23     </tr>
24     <tr>
25       <td></td>
26       <td>
27           <%= submit_tag 'Save' %>
28           <%# TODO: button should say 'publish' or 'save changes' depending on new/edit state %>
29       </td>
30     </tr>
31   </table>
32 <% end %>
33
34 <% if @user.home_lat.nil? or @user.home_lon.nil? %>
35   <% lon = h(params['lon'] || '-0.1') %>
36   <% lat = h(params['lat'] || '51.5') %>
37   <% zoom = h(params['zoom'] || '4') %> 
38 <% else %>
39   <% lon = @user.home_lon %>
40   <% lat = @user.home_lat %>
41   <% zoom = '12' %>
42 <% end %>
43
44 <%= javascript_include_tag '/openlayers/OpenLayers.js' %>
45 <%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
46 <%= javascript_include_tag 'map.js' %>
47
48 <script type="text/javascript">
49   <!--
50   var marker;
51
52   function init() {
53     var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
54     var zoom = <%= zoom %>;
55
56     var map = createMap("map");
57
58     setMapCenter(centre, zoom);
59
60     map.events.register("click", map, setLocation);
61   }        
62
63   function setLocation( e ) { 
64     closeMapPopup();
65
66     var lonlat = getEventPosition(e);
67
68     document.getElementById('latitude').value = lonlat.lat;
69     document.getElementById('longitude').value = lonlat.lon;
70
71     if (marker) {
72       removeMarkerFromMap(marker);
73     }
74
75     marker = addMarkerToMap(lonlat, null, "Diary entry location");
76   }
77
78   function openMap() {
79     $("map").style.display = "block";
80     $("usemap").style.display = "none";
81   }
82
83   window.onload = init;
84 // -->
85 </script>