Browse Source

Merge PR #412 into 12.0

Signed-off-by legalsylvain
pull/430/head
OCA-git-bot 5 years ago
parent
commit
b955964c90
  1. 0
      pos_fix_search_limit/__init__.py
  2. 18
      pos_fix_search_limit/__manifest__.py
  3. 14
      pos_fix_search_limit/i18n/pos_fix_search_limit.pot
  4. 1
      pos_fix_search_limit/readme/CONTRIBUTORS.rst
  5. 3
      pos_fix_search_limit/readme/CREDITS.rst
  6. 8
      pos_fix_search_limit/readme/DESCRIPTION.rst
  7. 4
      pos_fix_search_limit/readme/HISTORY.rst
  8. 2
      pos_fix_search_limit/readme/ROADMAP.rst
  9. 5
      pos_fix_search_limit/readme/USAGE.rst
  10. BIN
      pos_fix_search_limit/static/description/icon.png
  11. 50
      pos_fix_search_limit/static/src/js/pos_fix_search_limit.js
  12. 11
      pos_fix_search_limit/views/pos_fix_limit.xml

0
pos_fix_search_limit/__init__.py

18
pos_fix_search_limit/__manifest__.py

@ -0,0 +1,18 @@
# Copyright 2018 Akretion
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Pos Fix Search Limit",
"summary": "Increase search in the PoS",
"version": "12.0.1.0.0",
"category": "Point of Sale",
"author": "Akretion, Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": [
"point_of_sale",
],
"data": [
"views/pos_fix_limit.xml",
]
}

14
pos_fix_search_limit/i18n/pos_fix_search_limit.pot

@ -0,0 +1,14 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

1
pos_fix_search_limit/readme/CONTRIBUTORS.rst

@ -0,0 +1 @@
* Raphaël Reverdy <raphael.reverdy@akretion.com> (https://www.akretion.com)

3
pos_fix_search_limit/readme/CREDITS.rst

@ -0,0 +1,3 @@
The development of this module has been financially supported by:
* Akretion

8
pos_fix_search_limit/readme/DESCRIPTION.rst

@ -0,0 +1,8 @@
This module makes the distinction between the limit of search results
and the limit of product displayed.
Without this module, if you have many products, all the searches are limited
to 100 firsts results.
This module increase the limit of search results to a high number
and keep the number of product displayed to 100.

4
pos_fix_search_limit/readme/HISTORY.rst

@ -0,0 +1,4 @@
12.0.1.0.0 (2019-11-20)
~~~~~~~~~~~~~~~~~~~~~~~
* [MIG] Migrated to Odoo 12

2
pos_fix_search_limit/readme/ROADMAP.rst

@ -0,0 +1,2 @@
* Display a last element like "More products" to let the user know his search has been truncated.
* Truncate the list of partners with the display limit.

5
pos_fix_search_limit/readme/USAGE.rst

@ -0,0 +1,5 @@
This module is a dependency of other modules like pos_product_template.
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/184/10.0

BIN
pos_fix_search_limit/static/description/icon.png

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

50
pos_fix_search_limit/static/src/js/pos_fix_search_limit.js

@ -0,0 +1,50 @@
/* Copyright 2018 Akretion - Raphaël Reverdy
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
odoo.define("pos_fix_search_limit.db", function (require) {
"use strict";
var PosDB = require("point_of_sale.DB");
PosDB.include({
limit: 314159265, // the maximum number of results returned by a search
});
});
odoo.define('pos_fix_search_limit.product_list', function(require) {
"use strict";
var screens = require('point_of_sale.screens');
var core = require('web.core');
var qweb = core.qweb;
screens.ProductListWidget.include({
displayLimit: 100, //number of elements displayed
renderElement: function() {
//Limit the number of elements to displayLimit (instead of db.limit)
// (db.limit has been increased to return more results)
// (but we still want to limit the display)
//And make use of document fragment, because better perfs
var self = this;
var i = 0;
var len = Math.min(this.product_list.length, this.displayLimit);
var frag = document.createDocumentFragment();
var product_node = null;
var el_str = qweb.render(this.template, {widget: this});
var el_node = document.createElement('div');
el_node.innerHTML = el_str;
el_node = el_node.childNodes[1];
if(this.el && this.el.parentNode){
this.el.parentNode.replaceChild(el_node,this.el);
}
this.el = el_node;
var list_container = el_node.querySelector('.product-list');
for(i=0; i < len; i++){
product_node = this.render_product(this.product_list[i]);
product_node.addEventListener('click',this.click_product_handler);
product_node.addEventListener('keypress',this.keypress_product_handler);
frag.appendChild(product_node);
}
list_container.appendChild(frag);
}
});
});

11
pos_fix_search_limit/views/pos_fix_limit.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets" name="pos_fix_search_limit assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/pos_fix_search_limit/static/src/js/pos_fix_search_limit.js"></script>
</xpath>
</template>
</odoo>
Loading…
Cancel
Save