Skip to content

Commit

Permalink
Use latest entity at time of fix for private_data validation too
Browse files Browse the repository at this point in the history
(re: #6407)
  • Loading branch information
bhousel committed May 23, 2019
1 parent 5440467 commit 149a0b4
Showing 1 changed file with 29 additions and 13 deletions.
42 changes: 29 additions & 13 deletions modules/validations/private_data.js
Expand Up @@ -60,32 +60,48 @@ export function validationPrivateData() {
return [new validationIssue({
type: type,
severity: 'warning',
message: function() {
var entity = context.hasEntity(this.entityIds[0]);
return entity ? t('issues.private_data.contact.message', { feature: utilDisplayLabel(entity, context) }) : '';
},
message: showMessage,
reference: showReference,
entityIds: [entity.id],
data: {
newTags: keepTags
},
fixes: [
new validationIssueFix({
icon: 'iD-operation-delete',
title: t('issues.fix.' + fixID + '.title'),
onClick: function() {
var entityID = this.issue.entityIds[0];
var newTags = this.issue.data.newTags;
context.perform(
actionChangeTags(entityID, newTags),
t('issues.fix.upgrade_tags.annotation')
);
context.perform(doUpgrade, t('issues.fix.upgrade_tags.annotation'));
}
})
]
})];


function doUpgrade(graph) {
var currEntity = context.hasEntity(entity.id);
if (!currEntity) return graph;

var newTags = Object.assign({}, currEntity.tags); // shallow copy
tagDiff.forEach(function(diff) {
if (diff.type === '-') {
delete newTags[diff.key];
} else if (diff.type === '+') {
newTags[diff.key] = diff.newVal;
}
});

return actionChangeTags(currEntity.id, newTags)(graph);
}


function showMessage() {
var currEntity = context.hasEntity(this.entityIds[0]);
if (!currEntity) return '';

return t('issues.private_data.contact.message',
{ feature: utilDisplayLabel(currEntity, context) }
);
}


function showReference(selection) {
var enter = selection.selectAll('.issue-reference')
.data([0])
Expand Down

0 comments on commit 149a0b4

Please sign in to comment.