if pt['timestamp']
way.timestamp = Time.parse(pt['timestamp'])
end
+ # if visible isn't present then it defaults to true
+ way.visible = (pt['visible'] or true)
end
pt.find('tag').each do |tag|
return true
end
- def delete_with_history(new_way, user)
+ def delete_with_history!(new_way, user)
check_consistency(self, new_way, user)
if self.visible
- # FIXME
- # this should actually delete the relations,
- # not just throw a PreconditionFailed if it's a member of a relation!!
- # WHY?? The editor should decide whether the node is in the relation or not!
-
- # FIXME: this should probably renamed to delete_with_history
if RelationMember.find(:first, :joins => "INNER JOIN current_relations ON current_relations.id=current_relation_members.id",
- :conditions => [ "visible = 1 AND member_type='way' and member_id=?", self.id])
+ :conditions => [ "visible = 1 AND member_type='way' and member_id=? ", self.id])
raise OSM::APIPreconditionFailedError
- # end FIXME
else
self.changeset_id = new_way.changeset_id
self.tags = []