result = startchangeset(*args)
end
- err = true if result[0] == -3 # If a conflict is detected, don't execute any more writes
+ err = true if result[0] == -3 # If a conflict is detected, don't execute any more writes
end
result
user = getuser(usertoken)
if user && !user.languages.empty?
- http_accept_language.user_preferred_languages = user.languages
+ langs = Locale.list(user.languages)
+ else
+ langs = Locale.list(http_accept_language.user_preferred_languages)
end
- lang = http_accept_language.compatible_language_from(getlocales)
- (real_lang, localised) = getlocalized(lang)
+ lang = getlocales.preferred(langs)
+ (real_lang, localised) = getlocalized(lang.to_s)
# Tell Potlatch what language it's using
localised["__potlatch_locale"] = real_lang
timestamp = DateTime.strptime(timestamp.to_s, "%d %b %Y, %H:%M:%S")
old_way = OldWay.where("way_id = ? AND timestamp <= ?", id, timestamp).unredacted.order("timestamp DESC").first
unless old_way.nil?
- points = old_way.get_nodes_revert(timestamp)
- unless old_way.visible
+ if old_way.visible
+ points = old_way.get_nodes_revert(timestamp)
+ else
return [-1, "Sorry, the way was deleted at that time - please revert to a previous version.", id]
end
end
# 3. version.
def putrelation(renumberednodes, renumberedways, usertoken, changeset_id, version, relid, tags, members, visible) #:doc:
- amf_handle_error("'putrelation' #{relid}", "relation", relid) do
+ amf_handle_error("'putrelation' #{relid}", "relation", relid) do
user = getuser(usertoken)
return -1, "You are not logged in, so the relation could not be saved." unless user
# 3. new way id,
# 4. hash of renumbered nodes (old id=>new id),
# 5. way version,
- # 6. hash of node versions (node=>version)
+ # 6. hash of changed node versions (node=>version)
+ # 7. hash of deleted node versions (node=>version)
def putway(renumberednodes, usertoken, changeset_id, wayversion, originalway, pointlist, attributes, nodes, deletednodes) #:doc:
amf_handle_error("'putway' #{originalway}", "way", originalway) do
return -2, "Server error - node with id 0 found in way #{originalway}." if id == 0
return -2, "Server error - node with latitude -90 found in way #{originalway}." if lat == 90
- id = renumberednodes[id] if renumberednodes[id]
+ id = renumberednodes[id] if renumberednodes[id]
node = Node.new
node.changeset_id = changeset_id
end
def getlocales
- Dir.glob("#{Rails.root}/config/potlatch/locales/*").collect { |f| File.basename(f, ".yml") }
+ @locales ||= Locale.list(Dir.glob("#{Rails.root}/config/potlatch/locales/*").collect { |f| File.basename(f, ".yml") })
end
##