[FIX] Add new operator case to advanced search: field is set or is not set
lp bug: https://launchpad.net/bugs/1013528 fixed bzr revid: xmo@openerp.com-20120629121805-mosmy1t366sozv1e
This commit is contained in:
@@ -1235,12 +1235,24 @@ openerp.web.search.ExtendedSearchProposition = openerp.web.OldWidget.extend(/**
|
||||
this.value = null;
|
||||
},
|
||||
start: function () {
|
||||
var self = this;
|
||||
this.$element = $("#" + this.element_id);
|
||||
this.select_field(this.fields.length > 0 ? this.fields[0] : null);
|
||||
var _this = this;
|
||||
this.$element.find(".searchview_extended_prop_field").change(function() {
|
||||
_this.changed();
|
||||
});
|
||||
this.$element.find(".searchview_extended_prop_op").change(function() {
|
||||
var $value = self.$element.find('.searchview_extended_prop_value');
|
||||
switch($(this).val()) {
|
||||
case '∃':
|
||||
case '∄':
|
||||
$value.hide();
|
||||
break;
|
||||
default:
|
||||
$value.show();
|
||||
}
|
||||
});
|
||||
this.$element.find('.searchview_extended_delete_prop').click(function () {
|
||||
_this.stop();
|
||||
});
|
||||
@@ -1307,6 +1319,13 @@ openerp.web.search.ExtendedSearchProposition = openerp.web.OldWidget.extend(/**
|
||||
var field = this.attrs.selected.name;
|
||||
var op = this.$element.find('.searchview_extended_prop_op').val();
|
||||
var value = this.value.get_value();
|
||||
|
||||
switch(op) {
|
||||
case '∃':
|
||||
return [field, '!=', false];
|
||||
case '∄':
|
||||
return [field, '=', false];
|
||||
}
|
||||
return [field, op, value];
|
||||
}
|
||||
});
|
||||
@@ -1326,7 +1345,9 @@ openerp.web.search.ExtendedSearchProposition.Char = openerp.web.search.ExtendedS
|
||||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
get_value: function() {
|
||||
return this.$element.val();
|
||||
@@ -1340,7 +1361,9 @@ openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.search.Exten
|
||||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
get_value: function() {
|
||||
return this.datewidget.get_value();
|
||||
@@ -1359,7 +1382,9 @@ openerp.web.search.ExtendedSearchProposition.Date = openerp.web.search.ExtendedS
|
||||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
get_value: function() {
|
||||
return this.datewidget.get_value();
|
||||
@@ -1378,7 +1403,9 @@ openerp.web.search.ExtendedSearchProposition.Integer = openerp.web.search.Extend
|
||||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
get_value: function() {
|
||||
try {
|
||||
@@ -1399,7 +1426,9 @@ openerp.web.search.ExtendedSearchProposition.Float = openerp.web.search.Extended
|
||||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
get_value: function() {
|
||||
try {
|
||||
@@ -1413,7 +1442,9 @@ openerp.web.search.ExtendedSearchProposition.Selection = openerp.web.search.Exte
|
||||
template: 'SearchView.extended_search.proposition.selection',
|
||||
operators: [
|
||||
{value: "=", text: _lt("is")},
|
||||
{value: "!=", text: _lt("is not")}
|
||||
{value: "!=", text: _lt("is not")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
set_field: function(field) {
|
||||
this.field = field;
|
||||
|
||||
Reference in New Issue
Block a user