Tidy up diary code a bit.
authorTom Hughes <tom@compton.nu>
Sun, 24 Aug 2008 15:12:20 +0000 (15:12 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 24 Aug 2008 15:12:20 +0000 (15:12 +0000)
app/controllers/diary_entry_controller.rb
app/views/diary_entry/edit.rhtml
app/views/diary_entry/list.rhtml
app/views/diary_entry/new.rhtml [deleted file]
app/views/user/view.rhtml
config/routes.rb

index 0ad71da17ba99efa0db7eea33dfe8fad72488d69..21c817414afda03c90123ad0e4b2e59dbc05f0f8 100644 (file)
@@ -6,30 +6,37 @@ class DiaryEntryController < ApplicationController
   before_filter :check_database_availability
 
   def new
-    @title = 'new diary entry'
+    @title = 'New diary entry'
+
     if params[:diary_entry]     
       @diary_entry = DiaryEntry.new(params[:diary_entry])
       @diary_entry.user = @user
+
       if @diary_entry.save 
         redirect_to :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name 
+      else
+        render :action => 'edit'
       end
+    else
+      render :action => 'edit'
     end
   end
 
   def edit
-    @title= 'edit diary entry'
+    @title= 'Edit diary entry'
     @diary_entry = DiaryEntry.find(params[:id])
+
     if @user != @diary_entry.user
-         redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
-    end
-    if params[:diary_entry]
+      redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
+    elsif params[:diary_entry]
       @diary_entry.title = params[:diary_entry][:title]
       @diary_entry.body = params[:diary_entry][:body]
       @diary_entry.latitude = params[:diary_entry][:latitude]
       @diary_entry.longitude = params[:diary_entry][:longitude]
+
       if @diary_entry.save
         redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
-         end
+      end
     end
   end
 
@@ -44,7 +51,7 @@ class DiaryEntryController < ApplicationController
       render :action => 'view'
     end
   end
-  
+
   def list
     if params[:display_name]
       @this_user = User.find_by_display_name(params[:display_name])
index 0a5203a66053ce49f2e5c8eaf9f62974c6efa982..87f5e9fac6bddce7c6509049c687e5b7082d0d49 100644 (file)
@@ -1,3 +1,5 @@
+<h1><%= @title %></h1>
+
 <%= error_messages_for 'diary_entry' %>
 
 <% form_for :diary_entry do |f| %>
index e648e46f21c21b4cce6e02eeb56a4edccba84546..7a2ccf74d6bea047b5cf9c7659e900306cf103ff 100644 (file)
@@ -8,11 +8,11 @@
 
 <% if @this_user %>
   <% if @user == @this_user %>
-    <%= link_to 'New diary post', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+    <%= link_to 'New diary entry', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
   <% end %>
 <% else %>
   <% if @user %>
-    <%= link_to 'New diary post', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+    <%= link_to 'New diary entry', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
   <% end %>
 <% end %>
 
diff --git a/app/views/diary_entry/new.rhtml b/app/views/diary_entry/new.rhtml
deleted file mode 100644 (file)
index 0a5203a..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<%= error_messages_for 'diary_entry' %>
-
-<% form_for :diary_entry do |f| %>
-  <table>
-    <tr valign="top">
-      <th>Subject</th>
-      <td><%= f.text_field :title, :size => 60 %></td>
-    </tr>
-    <tr valign="top">
-      <th>Body</th>
-      <td><%= f.text_area :body, :cols => 80 %></td>
-    </tr>
-    <tr valign="top">
-      <th>Location</th>
-      <td>
-        <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px; display: none;"></div>
-        <span class="location">Latitude: <%= f.text_field :latitude, :size => 20, :id => "latitude" %> Longitude: <%= f.text_field :longitude, :size => 20, :id => "longitude" %></span>
-        <a href="javascript:openMap()" id="usemap">use map</a>
-      </td>
-    </tr>
-    <tr>
-      <th></th>
-      <td><%= submit_tag 'Save' %></td>
-    </tr>
-  </table>
-<% end %>
-
-<% if @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') %> 
-<% else %>
-  <% lon = @user.home_lon %>
-  <% lat = @user.home_lat %>
-  <% zoom = '12' %>
-<% end %>
-
-<%= javascript_include_tag '/openlayers/OpenLayers.js' %>
-<%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
-<%= javascript_include_tag 'map.js' %>
-
-<script type="text/javascript">
-  <!--
-  var marker;
-
-  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();
-
-    var lonlat = getEventPosition(e);
-
-    document.getElementById('latitude').value = lonlat.lat;
-    document.getElementById('longitude').value = lonlat.lon;
-
-    if (marker) {
-      removeMarkerFromMap(marker);
-    }
-
-    marker = addMarkerToMap(lonlat, null, "Diary entry location");
-  }
-
-  function openMap() {
-    $("map").style.display = "block";
-    $("usemap").style.display = "none";
-  }
-
-  window.onload = init;
-// -->
-</script>
index 3ee8ecb86f05400a13febf02a8c463511756abe9..438de836d463be146c4364213471b9674fb1244c 100644 (file)
@@ -3,7 +3,7 @@
 <div id="userinformation">
 <% if @user and @this_user.id == @user.id %>
 <%= link_to 'my diary', :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
-| <%= link_to 'new diary post', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+| <%= link_to 'new diary entry', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
 | <%= link_to 'my traces', :controller => 'trace', :action=>'mine' %>
 | <%= link_to 'my settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
 <% else %>
index 7a06445ea361fe771017856f09db8094ed678a02..f040e1c1d791820e6b53d2cd9879eccb8664be13 100644 (file)
@@ -129,7 +129,7 @@ ActionController::Routing::Routes.draw do |map|
   map.connect '/user/:display_name/diary/:id', :controller => 'diary_entry', :action => 'view', :id => /\d+/
   map.connect '/user/:display_name/diary/:id/newcomment', :controller => 'diary_entry', :action => 'comment', :id => /\d+/
   map.connect '/user/:display_name/diary/rss', :controller => 'diary_entry', :action => 'rss'
-  map.connect '/user/:display_name/diary/newpost', :controller => 'diary_entry', :action => 'new'
+  map.connect '/user/:display_name/diary/new', :controller => 'diary_entry', :action => 'new'
   map.connect '/user/:display_name/diary/:id/edit', :controller => 'diary_entry', :action => 'edit', :id => /\d+/
   map.connect '/user/:display_name/account', :controller => 'user', :action => 'account'
   map.connect '/user/:display_name/set_home', :controller => 'user', :action => 'set_home'