Browse Source

Merge pull request #622 from Tecnativa/10.0-mig-web_m2x_options

10.0 mig web m2x options
pull/593/merge
Pedro M. Baeza 8 years ago
committed by GitHub
parent
commit
39369331ac
  1. 83
      web_m2x_options/README.rst
  2. 1
      web_m2x_options/__init__.py
  3. 12
      web_m2x_options/__manifest__.py
  4. 85
      web_m2x_options/i18n/ar.po
  5. 85
      web_m2x_options/i18n/de.po
  6. 86
      web_m2x_options/i18n/es.po
  7. 85
      web_m2x_options/i18n/fi.po
  8. 85
      web_m2x_options/i18n/fr.po
  9. 78
      web_m2x_options/i18n/hr.po
  10. 85
      web_m2x_options/i18n/it.po
  11. 85
      web_m2x_options/i18n/pt_BR.po
  12. 85
      web_m2x_options/i18n/sl.po
  13. 85
      web_m2x_options/i18n/tr.po
  14. 199
      web_m2x_options/static/src/js/form.js
  15. 13
      web_m2x_options/static/src/xml/base.xml
  16. 17
      web_m2x_options/views/view.xml

83
web_m2x_options/README.rst

@ -1,35 +1,38 @@
.. 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
==================================
Add new options for many2one field
==================================
Description
-----------
This modules modifies "many2one" and "many2manytags" form widgets so as to add some new display
control options.
**New: support many2manytags widget !**
**New: support global option management with ir.config_parameter !**
Options provided includes possibility to remove "Create..." and/or "Create and
Edit..." entries from many2one drop down. You can also change default number of
proposition appearing in the drop-down. Or prevent the dialog box poping in
case of validation error.
If not specified, the module will avoid proposing any of the create options
if the current user have no permission rights to create the related object.
if the current user has no permission rights to create the related object.
Usage
=====
Requirements
------------
.. 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
Was tested on openerp 8.0, trunk, saas-5 branch. New way to import js file. (thanks to tfossoul)
For further information, please visit:
* https://www.odoo.com/forum/help-1
New options
-----------
in the field's options dict
---------------------------
``create`` *boolean* (Default: depends if user have create rights)
@ -61,7 +64,13 @@ New options
A dictionary to link field value with a HTML color.
This option has to be used with field_color.
``no_open_edit`` *boolean* (Default: value of ``no_open`` which is ``False`` if not set)
Causes a many2one not to offer to click through in edit mode, but well in read mode
``open`` *boolean* (Default: ``False``)
Makes many2many_tags buttons that open the linked resource
ir.config_parameter options
---------------------------
@ -107,9 +116,53 @@ Your XML form view definition could contain::
<field name="partner_id" options="{'limit': 10, 'create': false, 'create_edit': false, 'search_more':true 'field_color':'state', 'colors':{'active':'green'}}"/>
...
Note
----
Known issues
============
Double check that you have no inherited view that remove ``options`` you set on a field !
If nothing works, add a debugger in the first line of ``get_search_result method`` and enable debug mode in Odoo. When you write something in a many2one field, javascript debugger should pause. If not verify your installation.
Roadmap
=======
- Instead of making the tags rectangle clickable, I think it's better to put the text as a clickable link, so we will get a consistent behaviour/aspect with other clickable elements (many2one...).
- In edit mode, it would be great to add an icon like the one on many2one fields to allow to open the many2many in a popup window.
- Include this feature as a configurable option via parameter to have this behaviour by default in all many2many tags.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
`here <https://github.com/OCA/web/issues/new?body=module:%20web_m2x_options%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
Contributors
------------
* David Coninckx <davconinckx@gmail.com>
* Emanuel Cino <ecino@compassion.ch>
* Holger Brunn <hbrunn@therp.nl>
* Nicolas JEUDY <nicolas@sudokeys.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Zakaria Makrelouf <z.makrelouf@gmail.com>
* Jairo Llopis <jairo.llopis@tecnativa.com>
* David Vidal <david.vidal@tecnativa.com>
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
Double check that you have no inherited view that remote ``options`` you set on a field !
If nothing work, add a debugger in the first ligne of ``get_search_result method`` and enable debug mode in OpenERP. When you write something in a many2one field, javascript debugger should pause. If not verify your installation.
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.

1
web_m2x_options/__init__.py

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

12
web_m2x_options/__manifest__.py

@ -2,13 +2,17 @@
{
"name": 'web_m2x_options',
"version": "8.0.0.2",
"version": "10.0.1.0.0",
"depends": [
'base',
'web',
],
'qweb': [
'static/src/xml/base.xml',
],
'license': 'AGPL-3',
'data': ['views/view.xml'],
"author": "0k.io,Odoo Community Association (OCA)",
'installable': False,
"active": False,
"author": "ACSONE SA/NV, 0k.io, Tecnativa, "
"Odoo Community Association (OCA)",
'installable': True,
}

85
web_m2x_options/i18n/ar.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "إنشاء \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "إنشاء وتحرير ..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "البحث عن المزيد ..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

85
web_m2x_options/i18n/de.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Anlegen \"<strong>%s</strong>"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Anlegen und Bearbeiten"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Suche weitere..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

86
web_m2x_options/i18n/es.po

@ -0,0 +1,86 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: Pedro M. Baeza <pedro.baeza@gmail.com>, 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr "Cancelar"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr "Crear"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Crear \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr "Crear un %s"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Crear y editar..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr "Crear y editar"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Buscar más..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr "Está creando un nuevo %s, ¿está seguro de no existe ya?"

85
web_m2x_options/i18n/fi.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Luo \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Luo ja muokkaa..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Hae lisää..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

85
web_m2x_options/i18n/fr.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr "Annuler"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Creer \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Créer et modifier..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Rechercher plus..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

78
web_m2x_options/i18n/hr.po

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-23 03:40+0000\n"
"PO-Revision-Date: 2016-11-23 03:40+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr "Otkaži"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:379
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:398
#, python-format
msgid "Create and Edit..."
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:355
#, python-format
msgid "Search More..."
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

85
web_m2x_options/i18n/it.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Crea \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Crea e Modifica..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Cerca altro..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

85
web_m2x_options/i18n/pt_BR.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Criar \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Criar e editar.."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Buscar mais..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

85
web_m2x_options/i18n/sl.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Ustvari \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Ustvari in urejaj..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Poišči več..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

85
web_m2x_options/i18n/tr.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_m2x_options
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-09 17:53+0000\n"
"PO-Revision-Date: 2017-03-09 17:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/xml/base.xml:8
#, python-format
msgid "!(widget.options.no_open || widget.options.no_open_edit)"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:49
#, python-format
msgid "Cancel"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:35
#, python-format
msgid "Create"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:225
#: code:addons/web_m2x_options/static/src/js/form.js:375
#, python-format
msgid "Create \"<strong>%s</strong>\""
msgstr "Oluştur \"<strong>%s</strong>\""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:32
#, python-format
msgid "Create a %s"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:243
#: code:addons/web_m2x_options/static/src/js/form.js:394
#, python-format
msgid "Create and Edit..."
msgstr "Oluştur ve düzenle..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:45
#, python-format
msgid "Create and edit"
msgstr ""
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:194
#: code:addons/web_m2x_options/static/src/js/form.js:351
#, python-format
msgid "Search More..."
msgstr "Daha Fazla..."
#. module: web_m2x_options
#. openerp-web
#: code:addons/web_m2x_options/static/src/js/form.js:54
#, python-format
msgid "You are creating a new %s, are you sure it does not exist yet?"
msgstr ""

199
web_m2x_options/static/src/js/form.js

@ -1,12 +1,15 @@
/*global openerp, _, $ */
openerp.web_m2x_options = function (instance) {
/* Copyright 2016 0k.io,ACSONE SA/NV
* * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
odoo.define('web_m2x_options.web_m2x_options', function (require) {
"use strict";
var QWeb = instance.web.qweb,
_t = instance.web._t,
_lt = instance.web._lt;
var core = require('web.core'),
data = require('web.data'),
Dialog = require('web.Dialog'),
Model = require('web.Model'),
form_relational = require('web.form_relational'),
_t = core._t;
var OPTIONS = ['web_m2x_options.create',
'web_m2x_options.create_edit',
@ -14,7 +17,45 @@ openerp.web_m2x_options = function (instance) {
'web_m2x_options.search_more',
'web_m2x_options.m2o_dialog',];
instance.web.form.FieldMany2One = instance.web.form.FieldMany2One.extend({
// In odoo 9.c FielMany2One is not exposed by form_relational
// To bypass this limitation we use the widget registry to get the
// reference to the FielMany2One widget.
var FieldMany2One = core.form_widget_registry.get('many2one');
var M2ODialog = Dialog.extend({
template: "M2ODialog",
init: function(parent) {
this.name = parent.string;
this._super(parent, {
title: _.str.sprintf(_t("Create a %s"), parent.string),
size: 'medium',
buttons: [
{text: _t('Create'), classes: 'btn-primary', click: function() {
if (this.$("input").val() !== ''){
this.getParent()._quick_create(this.$("input").val());
this.close();
} else {
e.preventDefault();
this.$("input").focus();
}
}},
{text: _t('Create and edit'), classes: 'btn-primary', close: true, click: function() {
this.getParent()._search_create_popup("form", undefined, this.getParent()._create_context(this.$("input").val()));
}},
{text: _t('Cancel'), close: true}
]
});
},
start: function() {
var text = _.str.sprintf(_t("You are creating a new %s, are you sure it does not exist yet?"), this.name);
this.$("p").text(text);
this.$("input").val(this.getParent().$input.val());
},
});
FieldMany2One.include({
start: function() {
this._super.apply(this, arguments);
@ -26,7 +67,7 @@ openerp.web_m2x_options = function (instance) {
if (!_.isUndefined(this.view) && _.isUndefined(this.view.ir_options_loaded)) {
this.view.ir_options_loaded = $.Deferred();
this.view.ir_options = {};
(new instance.web.Model("ir.config_parameter"))
(new Model("ir.config_parameter"))
.query(["key", "value"]).filter([['key', 'in', OPTIONS]])
.all().then(function(records) {
_(records).each(function(record) {
@ -57,12 +98,12 @@ openerp.web_m2x_options = function (instance) {
if(this.is_option_set(this.options.m2o_dialog) ||
_.isUndefined(this.options.m2o_dialog) && this.is_option_set(this.view.ir_options['web_m2x_options.m2o_dialog']) ||
this.can_create && _.isUndefined(this.options.m2o_dialog) && _.isUndefined(this.view.ir_options['web_m2x_options.m2o_dialog'])) {
new instance.web.form.M2ODialog(this).open();
new M2ODialog(this).open();
}
},
get_search_result: function (search_val) {
var Objects = new instance.web.Model(this.field.relation);
var Objects = new Model(this.field.relation);
var def = $.Deferred();
var self = this;
// add options limit used to change number of selections record
@ -77,31 +118,25 @@ openerp.web_m2x_options = function (instance) {
this.limit = this.options.limit;
}
// add options search_more to force enable or disable search_more button
if (this.is_option_set(this.options.search_more) || _.isUndefined(this.options.search_more) && this.is_option_set(self.view.ir_options['web_m2x_options.search_more'])) {
this.search_more = true
}
// add options field_color and colors to color item(s) depending on field_color value
this.field_color = this.options.field_color
this.colors = this.options.colors
var dataset = new instance.web.DataSet(this, this.field.relation,
var dataset = new data.DataSet(this, this.field.relation,
self.build_context());
var blacklist = this.get_search_blacklist();
this.last_query = search_val;
var search_result = this.orderer.add(dataset.name_search(
search_val,
new instance.web.CompoundDomain(
new data.CompoundDomain(
self.build_domain(), [["id", "not in", blacklist]]),
'ilike', this.limit + 1,
self.build_context()));
var create_rights;
if (typeof this.options.create === "undefined" ||
typeof this.options.create_edit === "undefined") {
create_rights = new instance.web.Model(this.field.relation).call(
if (!(self.options && (self.is_option_set(self.options.create) || self.is_option_set(self.options.create_edit)))) {
create_rights = new Model(this.field.relation).call(
"check_access_rights", ["create", false]);
}
@ -121,13 +156,11 @@ openerp.web_m2x_options = function (instance) {
});
// Search result value colors
if (self.colors && self.field_color) {
var value_ids = [];
for (var index in values) {
value_ids.push(values[index].id);
}
// RPC request to get field_color from Objects
Objects.query([self.field_color])
.filter([['id', 'in', value_ids]])
@ -137,7 +170,6 @@ openerp.web_m2x_options = function (instance) {
if (values[index_value].id == objects[index].id) {
// Find value in values by comparing ids
var value = values[index_value];
// Find color with field value as key
var color = self.colors[objects[index][self.field_color]] || 'black';
value.label = '<span style="color:'+color+'">'+value.label+'</span>';
@ -150,19 +182,25 @@ openerp.web_m2x_options = function (instance) {
}
// search more... if more results that max
var can_search_more = (self.options && self.is_option_set(self.options.search_more)),
search_more_undef = _.isUndefined(self.options.search_more) && _.isUndefined(self.view.ir_options['web_m2x_options.search_more']),
search_more = self.is_option_set(self.view.ir_options['web_m2x_options.search_more']);
if (values.length > self.limit || self.search_more) {
if (values.length > self.limit && (can_search_more || search_more_undef || search_more)) {
values = values.slice(0, self.limit);
values.push({
label: _t("Search More..."),
action: function () {
// limit = 160 for improving performance, similar
// to Odoo implementation here:
// https://github.com/odoo/odoo/blob/feeac2a4f1cd777770dd2b42534904ac71f23e46/addons/web/static/src/js/views/form_common.js#L213
dataset.name_search(
search_val, self.build_domain(),
'ilike', false).done(function (data) {
'ilike', 160).done(function (data) {
self._search_create_popup("search", data);
});
},
classname: 'oe_m2o_dropdown_option'
classname: 'oe_m2o_dropdown_option o_m2o_dropdown_option'
});
}
@ -171,11 +209,12 @@ openerp.web_m2x_options = function (instance) {
var raw_result = _(data.result).map(function (x) {
return x[1];
});
if ((_.isUndefined(self.options.create) && _.isUndefined(self.view.ir_options['web_m2x_options.create']) && can_create) ||
(_.isUndefined(self.options.create) && self.view.ir_options['web_m2x_options.create'] == "True") ||
self.options.create) {
var quick_create = self.is_option_set(self.options.create) || self.is_option_set(self.options.quick_create),
quick_create_undef = _.isUndefined(self.options.create) && _.isUndefined(self.options.quick_create),
m2x_create_undef = _.isUndefined(self.view.ir_options['web_m2x_options.create']),
m2x_create = self.is_option_set(self.view.ir_options['web_m2x_options.create']);
var show_create = (!self.options && (m2x_create_undef || m2x_create)) || (self.options && (quick_create || (quick_create_undef && (m2x_create_undef || m2x_create))));
if (show_create){
if (search_val.length > 0 &&
!_.include(raw_result, search_val)) {
@ -186,17 +225,18 @@ openerp.web_m2x_options = function (instance) {
action: function () {
self._quick_create(search_val);
},
classname: 'oe_m2o_dropdown_option'
classname: 'oe_m2o_dropdown_option o_m2o_dropdown_option'
});
}
}
// create...
if ((_.isUndefined(self.options.create_edit) && _.isUndefined(self.view.ir_options['web_m2x_options.create_edit']) && can_create) ||
(_.isUndefined(self.options.create) && self.view.ir_options['web_m2x_options.create_edit'] == "True") ||
self.options.create_edit) {
var create_edit = self.is_option_set(self.options.create) || self.is_option_set(self.options.create_edit),
create_edit_undef = _.isUndefined(self.options.create) && _.isUndefined(self.options.create_edit),
m2x_create_edit_undef = _.isUndefined(self.view.ir_options['web_m2x_options.create_edit']),
m2x_create_edit = self.is_option_set(self.view.ir_options['web_m2x_options.create_edit']);
var show_create_edit = (!self.options && (m2x_create_edit_undef || m2x_create_edit)) || (self.options && (create_edit || (create_edit_undef && (m2x_create_edit_undef || m2x_create_edit))));
if (show_create_edit){
values.push({
label: _t("Create and Edit..."),
action: function () {
@ -204,10 +244,9 @@ openerp.web_m2x_options = function (instance) {
"form", undefined,
self._create_context(search_val));
},
classname: 'oe_m2o_dropdown_option'
classname: 'oe_m2o_dropdown_option o_m2o_dropdown_option'
});
}
// Check if colors specified to wait for RPC
if (!(self.field_color && self.colors)){
def.resolve(values);
@ -218,12 +257,15 @@ openerp.web_m2x_options = function (instance) {
}
});
instance.web.form.FieldMany2ManyTags.include({
form_relational.FieldMany2ManyTags.include({
init: function () {
this.events["click .badge"] = "open_badge";
return this._super.apply(this, arguments);
},
show_error_displayer: function () {
if ((typeof this.options.m2o_dialog === 'undefined' && this.can_create) ||
this.options.m2o_dialog) {
new instance.web.form.M2ODialog(this).open();
new M2ODialog(this).open();
}
},
@ -237,7 +279,7 @@ openerp.web_m2x_options = function (instance) {
if (_.isUndefined(this.view.ir_options_loaded)) {
this.view.ir_options_loaded = $.Deferred();
this.view.ir_options = {};
(new instance.web.Model("ir.config_parameter"))
(new Model("ir.config_parameter"))
.query(["key", "value"]).filter([['key', 'in', OPTIONS]])
.all().then(function(records) {
_(records).each(function(record) {
@ -249,6 +291,20 @@ openerp.web_m2x_options = function (instance) {
return this.view.ir_options_loaded;
},
is_option_set: function(option) {
if (_.isUndefined(option)) {
return false
}
var is_string = typeof option === 'string'
var is_bool = typeof option === 'boolean'
if (is_string) {
return option === 'true' || option === 'True'
} else if (is_bool) {
return option
}
return false
},
/**
* Call this method to search using a string.
*/
@ -267,12 +323,12 @@ openerp.web_m2x_options = function (instance) {
this.limit = this.options.limit;
}
var dataset = new instance.web.DataSet(this, this.field.relation, self.build_context());
var dataset = new data.DataSet(this, this.field.relation, self.build_context());
var blacklist = this.get_search_blacklist();
this.last_query = search_val;
return this.orderer.add(dataset.name_search(
search_val, new instance.web.CompoundDomain(self.build_domain(), [["id", "not in", blacklist]]),
search_val, new data.CompoundDomain(self.build_domain(), [["id", "not in", blacklist]]),
'ilike', this.limit + 1, self.build_context())).then(function(data) {
self.last_search = data;
// possible selections for the m2o
@ -292,18 +348,24 @@ openerp.web_m2x_options = function (instance) {
values.push({
label: _t("Search More..."),
action: function() {
dataset.name_search(search_val, self.build_domain(), 'ilike', false).done(function(data) {
// limit = 80 for improving performance, similar
// to Odoo implementation here:
// https://github.com/odoo/odoo/commit/8c3cdce539d87775b59b3f2d5ceb433f995821bf
dataset.name_search(search_val, self.build_domain(), 'ilike', 80).done(function(data) {
self._search_create_popup("search", data);
});
},
classname: 'oe_m2o_dropdown_option'
classname: 'oe_m2o_dropdown_option o_m2o_dropdown_option'
});
}
// quick create
if ((_.isUndefined(self.options.create) && _.isUndefined(self.view.ir_options['web_m2x_options.create'])) ||
(_.isUndefined(self.options.create) && self.view.ir_options['web_m2x_options.create'] == 'True') ||
self.options.create) {
var quick_create = self.is_option_set(self.options.create) || self.is_option_set(self.options.quick_create),
quick_create_undef = _.isUndefined(self.options.create) && _.isUndefined(self.options.quick_create),
m2x_create_undef = _.isUndefined(self.view.ir_options['web_m2x_options.create']),
m2x_create = self.is_option_set(self.view.ir_options['web_m2x_options.create']);
var show_create = (!self.options && (m2x_create_undef || m2x_create)) || (self.options && (quick_create || (quick_create_undef && (m2x_create_undef || m2x_create))));
if (show_create){
var raw_result = _(data.result).map(function(x) {return x[1];});
if (search_val.length > 0 && !_.include(raw_result, search_val)) {
@ -313,29 +375,50 @@ openerp.web_m2x_options = function (instance) {
action: function() {
self._quick_create(search_val);
},
classname: 'oe_m2o_dropdown_option'
classname: 'oe_m2o_dropdown_option o_m2o_dropdown_option'
});
}
}
// create...
if ((_.isUndefined(self.options.create_edit === 'undefined') && _.isUndefined(self.view.ir_options['web_m2x_options.create_edit'])) ||
(_.isUndefined(self.options.create) && self.view.ir_options['web_m2x_options.create_edit'] == 'True') ||
self.options.create_edit) {
var create_edit = self.is_option_set(self.options.create) || self.is_option_set(self.options.create_edit),
create_edit_undef = _.isUndefined(self.options.create) && _.isUndefined(self.options.create_edit),
m2x_create_edit_undef = _.isUndefined(self.view.ir_options['web_m2x_options.create_edit']),
m2x_create_edit = self.is_option_set(self.view.ir_options['web_m2x_options.create_edit']);
var show_create_edit = (!self.options && (m2x_create_edit_undef || m2x_create_edit)) || (self.options && (create_edit || (create_edit_undef && (m2x_create_edit_undef || m2x_create_edit))));
if (show_create_edit){
values.push({
label: _t("Create and Edit..."),
action: function() {
self._search_create_popup("form", undefined, self._create_context(search_val));
},
classname: 'oe_m2o_dropdown_option'
classname: 'oe_m2o_dropdown_option o_m2o_dropdown_option'
});
}
return values;
})
},
open_badge: function(ev){
var self = this;
var open = (self.options && self.is_option_set(self.options.open));
if(open){
self.mutex.exec(function(){
var id = parseInt($(ev.currentTarget).data('id'));
self.do_action({
type: 'ir.actions.act_window',
res_model: self.field.relation,
views: [[false, 'form']],
res_id: id,
target: "new"
});
};
}.bind(this));
}else{
self.open_color_picker(ev);
}
},
});
});

13
web_m2x_options/static/src/xml/base.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017 Jairo Llopis <jairo.llopis@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<templates xml:space="preserve">
<t t-extend="FieldMany2One">
<t t-jquery=".o_external_button" t-operation="attributes">
<attribute name="t-if">
!(widget.options.no_open || widget.options.no_open_edit)
</attribute>
</t>
</t>
</templates>

17
web_m2x_options/views/view.xml

@ -1,12 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- vim:fdn=3:
-->
<openerp>
<data>
<template id="assets_backend" name="m2x options assets" inherit_id="web.assets_backend">
<odoo>
<template id="assets_backend" name="m2x options assets"
inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/web_m2x_options/static/src/js/form.js"></script>
<script type="text/javascript"
src="/web_m2x_options/static/src/js/form.js"></script>
</xpath>
</template>
</data>
</openerp>
</odoo>
Loading…
Cancel
Save