From 1328054b088ebcaec8aa6a042fb912e4c2eefbeb Mon Sep 17 00:00:00 2001 From: J Guthrie Date: Fri, 5 Apr 2019 18:49:14 +0100 Subject: [PATCH 1/2] Allow for multiple invalid sources --- modules/validations/incompatible_source.js | 44 +++++++++++++--------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/modules/validations/incompatible_source.js b/modules/validations/incompatible_source.js index 612ac4d5c..f2a516bbe 100644 --- a/modules/validations/incompatible_source.js +++ b/modules/validations/incompatible_source.js @@ -6,25 +6,35 @@ import { validationIssue, validationIssueFix } from '../core/validator'; export function validationIncompatibleSource() { var type = 'incompatible_source'; - var validation = function(entity, context) { + var invalidSources = [{id:"google", regex:"google"}]; - 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') - }) - ] - })]; + var validation = function(entity, context) { + var issues = []; + + if (entity.tags && entity.tags.source) { + + invalidSources.forEach(function(invalidSource) { + var pattern = new RegExp(invalidSource.regex, "i"); + + if (entity.tags.source.match(pattern)) { + issues.push(new validationIssue({ + type: type, + severity: 'warning', + message: t('issues.incompatible_source.' + invalidSource.id + '.feature.message', { + feature: utilDisplayLabel(entity, context), + }), + tooltip: t('issues.incompatible_source.' + invalidSource.id + '.tip'), + entities: [entity], + fixes: [ + new validationIssueFix({ + title: t('issues.fix.remove_proprietary_data.title') + }) + ] + })); + } + }); } - return []; + return issues; }; validation.type = type; From 6e6ed7fad56df271fb951fe02cdb156c123562a8 Mon Sep 17 00:00:00 2001 From: J Guthrie Date: Fri, 5 Apr 2019 19:01:12 +0100 Subject: [PATCH 2/2] eslint fixes --- modules/validations/incompatible_source.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/validations/incompatible_source.js b/modules/validations/incompatible_source.js index f2a516bbe..c72f5f046 100644 --- a/modules/validations/incompatible_source.js +++ b/modules/validations/incompatible_source.js @@ -6,7 +6,7 @@ import { validationIssue, validationIssueFix } from '../core/validator'; export function validationIncompatibleSource() { var type = 'incompatible_source'; - var invalidSources = [{id:"google", regex:"google"}]; + var invalidSources = [{id:'google', regex:'google'}]; var validation = function(entity, context) { var issues = []; @@ -14,7 +14,7 @@ export function validationIncompatibleSource() { if (entity.tags && entity.tags.source) { invalidSources.forEach(function(invalidSource) { - var pattern = new RegExp(invalidSource.regex, "i"); + var pattern = new RegExp(invalidSource.regex, 'i'); if (entity.tags.source.match(pattern)) { issues.push(new validationIssue({