Flag features that mention Google in the "source" tag (close #6135)

This commit is contained in:
Quincy Morgan
2019-04-04 08:32:03 -07:00
parent b52d8c1790
commit 65e04acb2f
5 changed files with 57 additions and 1 deletions

View File

@@ -1294,6 +1294,13 @@ en:
title: Generic Names
message: '{feature} has the generic name "{name}"'
tip: "Names should be the actual, on-the-ground names of features."
incompatible_source:
title: Incompatible Data Sources
google:
feature:
message: '{feature} lists Google as a data source'
tip: "Google products are proprietary and must not be used as references."
tip: "Source data must be licensed in a manner compatible with OpenStreetMap."
many_deletions:
title: Many Deletions
points-lines-areas:
@@ -1362,6 +1369,8 @@ en:
annotation: Removed a generic name.
remove_private_info:
annotation: Removed private information.
remove_proprietary_data:
title: Remove any proprietary data
remove_tag:
title: Remove the tag
annotation: Removed tag.

13
dist/locales/en.json vendored
View File

@@ -1588,6 +1588,16 @@
"message": "{feature} has the generic name \"{name}\"",
"tip": "Names should be the actual, on-the-ground names of features."
},
"incompatible_source": {
"title": "Incompatible Data Sources",
"google": {
"feature": {
"message": "{feature} lists Google as a data source"
},
"tip": "Google products are proprietary and must not be used as references."
},
"tip": "Source data must be licensed in a manner compatible with OpenStreetMap."
},
"many_deletions": {
"title": "Many Deletions",
"points-lines-areas": {
@@ -1682,6 +1692,9 @@
"remove_private_info": {
"annotation": "Removed private information."
},
"remove_proprietary_data": {
"title": "Remove any proprietary data"
},
"remove_tag": {
"title": "Remove the tag",
"annotation": "Removed tag."

View File

@@ -131,7 +131,7 @@ export function uiEntityIssues(context) {
var fixLists = items.selectAll('.issue-fix-list');
var fixes = fixLists.selectAll('.issue-fix-item')
.data(function(d) { return d.fixes; })
.data(function(d) { return d.fixes ? d.fixes : []; })
.enter()
.append('li')
.attr('class', function(d) {

View File

@@ -0,0 +1,33 @@
import { t } from '../util/locale';
import { utilDisplayLabel } from '../util';
import { validationIssue, validationIssueFix } from '../core/validator';
export function validationIncompatibleSource() {
var type = 'incompatible_source';
var validation = function(entity, context) {
if (entity.tags && entity.tags.source && entity.tags.source.toLowerCase().match(/google/)) {
return [new validationIssue({
type: type,
severity: 'warning',
message: t('issues.incompatible_source.google.feature.message', {
feature: utilDisplayLabel(entity, context),
}),
tooltip: t('issues.incompatible_source.google.tip'),
entities: [entity],
fixes: [
new validationIssueFix({
title: t('issues.fix.remove_proprietary_data.title')
})
]
})];
}
return [];
};
validation.type = type;
return validation;
}

View File

@@ -2,6 +2,7 @@ export { validationAlmostJunction } from './almost_junction';
export { validationCrossingWays } from './crossing_ways';
export { validationDisconnectedWay } from './disconnected_way';
export { validationGenericName } from './generic_name';
export { validationIncompatibleSource } from './incompatible_source';
export { validationManyDeletions } from './many_deletions';
export { validationMaprules } from './maprules';
export { validationMissingRole } from './missing_role';