Merge branch 'master' into notes

Conflicts:
	Gemfile
	Gemfile.lock
	app/assets/stylesheets/common.css.scss
	app/helpers/application_helper.rb
This commit is contained in:
Tom Hughes 2012-11-20 19:08:30 +00:00
commit 7599f98957
133 changed files with 4192 additions and 1690 deletions

View file

@ -6,11 +6,20 @@ class Notifier < ActionMailer::Base
def signup_confirm(user, token)
@locale = user.preferred_language_from(I18n.available_locales)
@url = url_for(:host => SERVER_URL,
:controller => "user", :action => "confirm",
:display_name => user.display_name,
:confirm_string => token.token)
# If we are passed an email address verification token, create
# the confirumation URL for account activation.
#
# Otherwise the email has already been verified e.g. through
# a trusted openID provider and the account is active and a
# confirmation URL is not needed.
if token
@url = url_for(:host => SERVER_URL,
:controller => "user", :action => "confirm",
:display_name => user.display_name,
:confirm_string => token.token)
end
mail :to => user.email,
:subject => I18n.t('notifier.signup_confirm.subject', :locale => @locale)
end

View file

@ -167,13 +167,9 @@ class Relation < ActiveRecord::Base
# FIXME is this really needed?
def members
unless @members
@members = Array.new
self.relation_members.each do |member|
@members += [[member.member_type,member.member_id,member.member_role]]
end
@members ||= self.relation_members.map do |member|
[member.member_type, member.member_id, member.member_role]
end
@members
end
def tags
@ -194,9 +190,9 @@ class Relation < ActiveRecord::Base
@tags = t
end
def add_member(type,id,role)
@members = Array.new unless @members
@members += [[type,id.to_i,role]]
def add_member(type, id, role)
@members ||= []
@members << [type, id.to_i, role]
end
def add_tag_keyval(k, v)

View file

@ -47,12 +47,13 @@ class User < ActiveRecord::Base
validates_inclusion_of :preferred_editor, :in => Editors::ALL_EDITORS, :allow_nil => true
attr_accessible :display_name, :email, :email_confirmation, :openid_url,
:pass_crypt, :pass_crypt_confirmation, :consider_pd
:pass_crypt, :pass_crypt_confirmation, :consider_pd,
:image_use_gravatar
after_initialize :set_defaults
before_save :encrypt_password
has_attached_file :image,
has_attached_file :image,
:default_url => "/assets/:class/:attachment/:style.png",
:styles => { :large => "100x100>", :small => "50x50>" }
@ -84,7 +85,7 @@ class User < ActiveRecord::Base
token.update_column(:expiry, 1.week.from_now) if token and user
return user
end
end
def to_xml
doc = OSM::API.new.get_xml_doc
@ -127,7 +128,7 @@ class User < ActiveRecord::Base
end
def nearby(radius = NEARBY_RADIUS, num = NEARBY_USERS)
if self.home_lon and self.home_lat
if self.home_lon and self.home_lat
gc = OSM::GreatCircle.new(self.home_lat, self.home_lon)
bounds = gc.bounds(radius)
sql_for_distance = gc.sql_for_distance("home_lat", "home_lon")
@ -184,7 +185,7 @@ class User < ActiveRecord::Base
end
##
# returns the first active block which would require users to view
# returns the first active block which would require users to view
# a message, or nil if there are none.
def blocked_on_view
blocks.active.detect { |b| b.needs_view? }
@ -208,8 +209,8 @@ class User < ActiveRecord::Base
##
# return a spam score for a user
def spam_score
changeset_score = self.changesets.limit(10).length * 50
trace_score = self.traces.limit(10).length * 50
changeset_score = self.changesets.size * 50
trace_score = self.traces.size * 50
diary_entry_score = self.diary_entries.inject(0) { |s,e| s += e.body.spam_score }
diary_comment_score = self.diary_comments.inject(0) { |s,c| s += c.body.spam_score }

View file

@ -6,6 +6,8 @@ class UserPreference < ActiveRecord::Base
validates_length_of :k, :within => 1..255
validates_length_of :v, :within => 1..255
attr_accessible :k, :v
# Turn this Node in to an XML Node without the <osm> wrapper.
def to_xml_node
el1 = XML::Node.new 'preference'