X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/cf24a5a3ee68905c5f55cf6f17c5d2ea983cb34f..6339473cb77e4e0998b959a0835a8f42767f608d:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index 90458006e..1304d8a18 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -51,6 +51,8 @@ class Way < ActiveRecord::Base 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| @@ -245,19 +247,12 @@ class Way < ActiveRecord::Base 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 = []