From: Tom Hughes Date: Tue, 4 Sep 2007 14:05:13 +0000 (+0000) Subject: Add extra validation to messages and diary entries. X-Git-Tag: live~8136 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/d3b42fef34849eafb281512fc8794d8bfb138719 Add extra validation to messages and diary entries. --- diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 83fcb4aea..e763dfd72 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -7,9 +7,9 @@ class DiaryEntryController < ApplicationController def new @title = 'new diary entry' if params[:diary_entry] - @entry = DiaryEntry.new(params[:diary_entry]) - @entry.user = @user - if @entry.save + @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 end end diff --git a/app/controllers/message_controller.rb b/app/controllers/message_controller.rb index f52274cd0..8521d76b3 100644 --- a/app/controllers/message_controller.rb +++ b/app/controllers/message_controller.rb @@ -7,23 +7,15 @@ class MessageController < ApplicationController def new @title = 'send message' if params[:message] - to_user = User.find(params[:user_id]) - body = params[:message][:body] - title = params[:message][:title] - message = Message.new - message.body = body - message.title = title - message.to_user_id = params[:user_id] - message.from_user_id = @user.id - message.sent_on = Time.now + @message = Message.new(params[:message]) + @message.to_user_id = params[:user_id] + @message.from_user_id = @user.id + @message.sent_on = Time.now - if message.save + if @message.save flash[:notice] = 'Message sent' redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name - else - @message.errors.add("Sending message failed") end - end end diff --git a/app/models/diary_entry.rb b/app/models/diary_entry.rb index ad334151c..8894f4435 100644 --- a/app/models/diary_entry.rb +++ b/app/models/diary_entry.rb @@ -1,3 +1,8 @@ class DiaryEntry < ActiveRecord::Base belongs_to :user + + validates_presence_of :title, :body + validates_numericality_of :latitude, :allow_nil => true + validates_numericality_of :longitude, :allow_nil => true + validates_associated :user end diff --git a/app/models/message.rb b/app/models/message.rb index 039c8d30b..97e411192 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -1,4 +1,8 @@ class Message < ActiveRecord::Base belongs_to :sender, :class_name => "User", :foreign_key => :from_user_id belongs_to :recipient, :class_name => "User", :foreign_key => :to_user_id + + validates_presence_of :title, :body, :sent_on + validates_inclusion_of :message_read, :in => [ true, false ] + validates_associated :sender, :recipient end