From 60a294c40e341af16fa2eac6de5df2b0917a74be Mon Sep 17 00:00:00 2001 From: Nick Black Date: Thu, 26 Apr 2007 09:01:03 +0000 Subject: [PATCH] Added user home lat and lon --- app/controllers/user_controller.rb | 24 ++++++++++++++---------- app/models/user.rb | 8 +++++++- app/views/user/account.rhtml | 8 +++++++- app/views/user/edit.rhtml | 7 +++---- config/routes.rb | 1 + db/migrate.sql | 3 ++- 6 files changed, 34 insertions(+), 17 deletions(-) diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index b2ac3072c..5b370334c 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -3,8 +3,8 @@ class UserController < ApplicationController before_filter :authorize, :only => [:preferences, :api_details, :api_gpx_files] before_filter :authorize_web, :only => [:edit, :account, :go_public, :view, :diary] - before_filter :require_user, :only => [:edit, :account, :go_public] - + before_filter :require_user, :only => [:edit, :set_home, :account, :go_public] + def save @user = User.new(params[:user]) @user.set_defaults @@ -20,8 +20,13 @@ class UserController < ApplicationController def edit if params[:user] and params[:user][:display_name] and params[:user][:description] + home_lat = params[:user][:home_lat] + home_lon = params[:user][:home_lon] + @user.display_name = params[:user][:display_name] @user.description = params[:user][:description] + @user.home_lat = home_lat.to_f + @user.home_lon = home_lon.to_f if @user.save flash[:notice] = "User edited OK." redirect_to :controller => 'user', :action => 'account' @@ -31,15 +36,14 @@ class UserController < ApplicationController def set_home if params[:user][:home_lat] and params[:user][:home_lon] - lat = params[:user][:home_lat] - lon = params[:user][:home_lon] - unless - #check the lat and lon - end - #make an api request to insert a new node - #get the onde id - end + @user.home_lat = params[:user][:home_lat].to_f + @user.home_lon = params[:user][:home_lon].to_f + if @user.save + flash[:notice] = "User home saved." + redirect_to :controller => 'user', :action => 'account' + end end + end def go_public @user.data_public = true diff --git a/app/models/user.rb b/app/models/user.rb index 7befa479a..cd0623bc1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -4,7 +4,7 @@ class User < ActiveRecord::Base has_many :traces has_many :diary_entries - + validates_confirmation_of :pass_crypt, :message => 'Password must match the confirmation password' validates_uniqueness_of :display_name, :allow_nil => true validates_uniqueness_of :email @@ -57,4 +57,10 @@ class User < ActiveRecord::Base el1['account_created'] = self.creation_time.xmlschema return el1 end + + def get_nearby_users + end + + + end diff --git a/app/views/user/account.rhtml b/app/views/user/account.rhtml index 257e8c47a..90433f825 100644 --- a/app/views/user/account.rhtml +++ b/app/views/user/account.rhtml @@ -4,10 +4,16 @@ email<%= @user.email %> display name<%= @user.display_name %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>) account created<%= @user.creation_time %> (<%= time_ago_in_words(@user.creation_time) %> ago) - user home<%= @user.home_node_id %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>) + user homeLatitude: <%=@user.home_lat%> Longitude <%=@user.home_lon%> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>) description<%= simple_format(@user.description) %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>) +

Users in your area

+ +These users are mapping in your area: + + +

Privacy

<% if @user.data_public? %> All your edits are public. diff --git a/app/views/user/edit.rhtml b/app/views/user/edit.rhtml index a78b9e173..65f028f16 100644 --- a/app/views/user/edit.rhtml +++ b/app/views/user/edit.rhtml @@ -4,11 +4,10 @@ + + +
display name<%= text_field :user, :display_name, :value => @user.display_name %>
description<%= text_area :user, :description, :value => @user.description %>
home latitude<%= text_field :user, :home_lat, :value => @user.home_lat %>
home longitude<%= text_field :user, :home_lon, :value => @user.home_lon %>
<%= submit_tag 'Change' %> <%= end_form_tag %> -<%= start_form_tag :controller => 'user', :action => 'set_home' %> - home location<%= text_field :user, :home %> -<%= submit_tag 'Change Home' %> -<%= end_form_tag %> diff --git a/config/routes.rb b/config/routes.rb index d6e800355..b00b3b649 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -68,6 +68,7 @@ ActionController::Routing::Routes.draw do |map| map.connect '/user/:display_name/diary/newpost', :controller => 'diary_entry', :action => 'new' map.connect '/user/:display_name/edit', :controller => 'user', :action => 'edit' map.connect '/user/:display_name/account', :controller => 'user', :action => 'account' + map.connect '/user/:display_name/set_home', :controller => 'user', :action => 'set_home' # test pages map.connect '/test/populate/:table/:from/:count', :controller => 'test', :action => 'populate' diff --git a/db/migrate.sql b/db/migrate.sql index 0f78b9dd3..f953eec25 100644 --- a/db/migrate.sql +++ b/db/migrate.sql @@ -39,5 +39,6 @@ create table diary_entries(id bigint not null auto_increment, user_id bigint not alter table diary_entries add created_at datetime; alter table diary_entries add updated_at datetime; -alter table users add column (home_node_id bigint(64) default NULL); +alter table users add column (home_lat double default NULL); +alter table users add column (home_lon double default NULL); -- 2.43.2