Squash of 8 commits

Add README.rst

Too short underline for module title in README.rst

Improving module meta information

Version 1.0

W391 blank line at end of file

Remove module description because README.rst is there

web_search_with_and: Latest OCA conventions
pull/545/head
Andrius Preimantas 2015-04-27 17:56:12 +03:00 committed by adrien.didenot
parent 1ffe747a33
commit a408946a38
5 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,52 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
====================================
Use AND conditions on omnibar search
====================================
When searching for records on same field Odoo joins multiple queries with OR.
For example:
* Perform a search for customer "John" on field Name
* Odoo displays customers containing "John"
* Search for "Smith" on same field Name
* Odoo displays customers containing "John" OR "Smith"
With this module installed you can press Shift key before searching for "Smith"
and Odoo finds customers containing "John" AND "Smith"
Usage
=====
* Enter your value in omnibar search field
* Press and hold Shift key
* Select field with mouse or keyboard to perform search on
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/162/8.0
Credits
=======
Contributors
------------
* Andrius Preimantas <andrius@versada.lt>
Maintainer
----------
.. image:: http://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: http://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.

View File

@ -0,0 +1 @@
# -*- coding: utf-8 -*-

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# © 2015 Andrius Preimantas <andrius@versada.lt>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': "Use AND conditions on omnibar search",
'version': '8.0.1.0.0',
'author': 'Versada UAB, Odoo Community Association (OCA)',
'license': 'AGPL-3',
'category': 'web',
'website': 'http://www.versada.lt',
'depends': [
'web',
],
'data': [
'data/data.xml',
],
'installable': True,
'application': False,
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="assets_backend" name="web_view_editor assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/web_search_with_and/static/src/js/search.js"/>
</xpath>
</template>
</data>
</openerp>

View File

@ -0,0 +1,43 @@
openerp.web_search_with_and = function (instance) {
instance.web.SearchView = instance.web.SearchView.extend({
select_completion: function (e, ui) {
var self = this;
if (e.shiftKey) {
e.preventDefault();
var input_index = _(this.input_subviews).indexOf(
this.subviewForRoot(
this.$('div.oe_searchview_input:focus')[0]));
this.query.add(ui.item.facet, {at: input_index / 2, shiftKey: true});
} else {
this._super(e, ui);
}
},
});
instance.web.search.SearchQuery = instance.web.search.SearchQuery.extend({
add: function (values, options) {
options = options || {};
if (!values) {
values = [];
} else if (!(values instanceof Array)) {
values = [values];
}
if (options.shiftKey) {
delete options.shiftKey;
_(values).each(function (value) {
var model = this._prepareModel(value, options);
Backbone.Collection.prototype.add.call(this, model, options);
}, this);
return this;
}
else {
return this.constructor.__super__.add.apply(this, arguments);
}
},
});
};