From b9e24fb96bbf6cd0fab09f34899262433ea0f8c2 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 27 Apr 2016 22:46:01 -0400 Subject: [PATCH] Exclude name tag when validating whether a feature has tags (closes #3091) --- js/id/validations/missing_tag.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/js/id/validations/missing_tag.js b/js/id/validations/missing_tag.js index 664a9335a..9e3807c46 100644 --- a/js/id/validations/missing_tag.js +++ b/js/id/validations/missing_tag.js @@ -1,12 +1,18 @@ iD.validations.MissingTag = function() { + // Slightly stricter check than Entity#isUsed (#3091) + function hasTags(entity, graph) { + return _.without(Object.keys(entity.tags), 'area', 'name').length > 0 || + graph.parentRelations(entity).length > 0; + } + var validation = function(changes, graph) { var warnings = []; for (var i = 0; i < changes.created.length; i++) { var change = changes.created[i], geometry = change.geometry(graph); - if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) { + if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !hasTags(change, graph)) { warnings.push({ id: 'missing_tag', message: t('validations.untagged_' + geometry),