Tidy up diary code a bit.
This commit is contained in:
parent
3b6d2c5336
commit
791062569d
6 changed files with 20 additions and 90 deletions
|
@ -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])
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
<h1><%= @title %></h1>
|
||||
|
||||
<%= error_messages_for 'diary_entry' %>
|
||||
|
||||
<% form_for :diary_entry do |f| %>
|
||||
|
|
|
@ -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 %>
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -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 %>
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue