This technique was already used in app/models/changeset.rb
This suppresses the error messages when parsing invalid XML, but
the exceptions are still raised, as tested in test_from_xml_double_lat
in test/models/node_test.rb
Rails redirect_to uses the current controller by default, so there
is no need to re-iterate this in the code when the redirect targets
the current controller.
The short-form is already used elsewhere, this just tidies up those
which were still using the long-form.
Administrative boundaries at municipality level are generally
better described by the place node (as town, village etc.).
Nominatim exports the place type in extratags if it was able
to merge place nodes with admin boundaries. Use this preferably
to create the descriptive term.
Only treat auth_success as a possible login attempt if we're not
in the middle of validating a new user, or a change to a user.
Also validate the uniqueness of external auth credentials at the
rails level rather than just at the database level, and make sure
any errors are properly reported.
Fixes#1265
Implement our own matching algorithm rather than trying to
patch the http_accept_language one and make sure everything is
using it in a consistent way.
Fixes#1125
Per https://developers.facebook.com/docs/graph-api/reference/user the
offical description of the email field is:
> The person's primary email address listed on their profile. This
> field will not be returned if no valid email address is available
Therefore we can treat the fact that the email is returned as proof
that it has been verified.
Make user#confirm_resend require a valid token in the session
that matches the requested user, and ensure trying to login as
an unconfirmed user sets such a token.
Fixes#1010
This replaces OpenID authentication, which is going away soon, but
provides an upgrade path where we can migrate users that already have
a Google OpenID setup to the new system transparently.