Skip to content

Commit dfac6ce

Browse files
committed
Merge branch 'pr449'
2 parents d19b211 + e0a5d35 commit dfac6ce

File tree

3 files changed

+34
-3
lines changed

3 files changed

+34
-3
lines changed

lib/models/segments.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ module.exports.get = (id, callback) => {
156156
rule.formatted = rule.value.value ? _('Selected') : _('Not selected');
157157
break;
158158
default:
159-
rule.formatted = rule.value.value || '';
159+
rule.formatted = (rule.value.negate ? '!= ' : '') + (rule.value.value || '');
160160
}
161161

162162
return rule;
@@ -327,6 +327,7 @@ module.exports.createRule = (segmentId, rule, callback) => {
327327
break;
328328
default:
329329
value = {
330+
negate: Number(rule.negate) ? 1 : 0,
330331
value: rule.value
331332
};
332333
}
@@ -418,7 +419,7 @@ module.exports.getRule = (id, callback) => {
418419
rule.formatted = rule.value.value ? _('Selected') : _('Not selected');
419420
break;
420421
default:
421-
rule.formatted = rule.value.value || '';
422+
rule.formatted = (rule.value.negate ? '!= ' : '') + (rule.value.value || '');
422423
}
423424

424425
return callback(null, rule);
@@ -491,6 +492,7 @@ module.exports.updateRule = (id, rule, callback) => {
491492
break;
492493
default:
493494
value = {
495+
negate: Number(rule.negate) ? 1 : 0,
494496
value: rule.value
495497
};
496498
}
@@ -573,7 +575,8 @@ module.exports.getQuery = (id, prefix, callback) => {
573575
segment.rules.forEach(rule => {
574576
switch (rule.columnType.type) {
575577
case 'string':
576-
query.push(prefix + '`' + rule.columnType.column + '` LIKE ?');
578+
let condition = rule.value.negate ? 'NOT LIKE' : 'LIKE';
579+
query.push(prefix + '`' + rule.columnType.column + '` ' + condition + ' ?');
577580
values.push(rule.value.value);
578581
break;
579582
case 'boolean':

views/lists/segments/rule-configure.hbs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,20 @@
2323
</div>
2424

2525
{{#if columnTypeString}}
26+
<div class="form-group">
27+
<label for="negate" class="col-sm-2 control-label">{{#translate}}Condition{{/translate}}</label>
28+
<div class="col-sm-10">
29+
<select name="negate" id="negate" class="form-control">
30+
<option value="0">
31+
{{#translate}}Equals{{/translate}}
32+
</option>
33+
<option value="1" {{#if value.negate}} selected {{/if}}>
34+
{{#translate}}Not squals{{/translate}}
35+
</option>
36+
</select>
37+
</div>
38+
</div>
39+
2640
<div class="form-group">
2741
<label for="value" class="col-sm-2 control-label">{{#translate}}Value{{/translate}}</label>
2842
<div class="col-sm-10">

views/lists/segments/rule-edit.hbs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,20 @@
2828
</div>
2929

3030
{{#if columnTypeString}}
31+
<div class="form-group">
32+
<label for="negate" class="col-sm-2 control-label">{{#translate}}Condition{{/translate}}</label>
33+
<div class="col-sm-10">
34+
<select name="negate" id="negate" class="form-control">
35+
<option value="0">
36+
{{#translate}}Equals{{/translate}}
37+
</option>
38+
<option value="1" {{#if value.negate}} selected {{/if}}>
39+
{{#translate}}Not squals{{/translate}}
40+
</option>
41+
</select>
42+
</div>
43+
</div>
44+
3145
<div class="form-group">
3246
<label for="value" class="col-sm-2 control-label">{{#translate}}Value{{/translate}}</label>
3347
<div class="col-sm-10">

0 commit comments

Comments
 (0)