Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions web_onchange_action/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
.. 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

================
Onchange actions
================

This module allows you to return an action (``ir.actions.*``) from an onchange handler.

This way, you can have much more elaborate message boxes or simply show a whole wizard or do whatever else is possible with actions on the client side.

Usage
=====

Depend on this module and in your onchange handler, add a key ``action`` to the ``warning`` dictionary of the result which contains the definition of an action to execute:

.. code:: python

{
'value': ....,
'domain': ....,
'warning': {
'title': 'This will be shown if this module is not available',
'message': 'Fallback message, see above',
# this module picks up this key and shows it *instead* of the
# warning above
'action': {
'type': 'ir.actions.act_window',
'res_model': 'my.wizard',
...
},
}

The module ``web_ir_actions_act_window_message`` can be quite helpful here.

.. 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

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.

Credits
=======

Images
------

* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.

Contributors
------------

* Holger Brunn <hbrunn@therp.nl>

Do not contact contributors directly about help with questions or problems concerning this addon, but use the `community mailing list <mailto:community@mail.odoo.com>`_ or the `appropriate specialized mailinglist <https://odoo-community.org/groups>`_ for help, and the bug tracker linked in `Bug Tracker`_ above for technical issues.

Maintainer
----------

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://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 https://odoo-community.org.
3 changes: 3 additions & 0 deletions web_onchange_action/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
# © 2017 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
17 changes: 17 additions & 0 deletions web_onchange_action/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# © 2017 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Onchange actions",
"version": "8.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Hidden/Dependency",
"summary": "Run actions from onchange handlers",
"depends": [
'web',
],
"data": [
'views/templates.xml',
],
}
Binary file added web_onchange_action/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
27 changes: 27 additions & 0 deletions web_onchange_action/static/src/js/web_onchange_action.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
//-*- coding: utf-8 -*-
//© 2017 Therp BV <http://therp.nl>
//License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

openerp.web_onchange_action = function(instance)
{
instance.web.FormView.include({
on_processed_onchange: function(result)
{
var self = this,
action = null;
if(result.warning && result.warning.action)
{
action = result.warning.action;
delete result.warning;
}
return jQuery.when(this._super.apply(this, arguments))
.then(function()
{
if(action)
{
self.do_action(action);
}
});
},
});
};
11 changes: 11 additions & 0 deletions web_onchange_action/views/templates.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="assets_backend" name="web_onchange_action assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/web_onchange_action/static/src/js/web_onchange_action.js"></script>
<link rel="stylesheet" href="/web_onchange_action/static/src/css/web_onchange_action.css"/>
</xpath>
</template>
</data>
</openerp>