Browse Source

[MIG][10.0] web_ir_actions_act_window_page

pull/729/head
Stefan Rijnhart 7 years ago
parent
commit
a7843d6049
  1. 53
      web_ir_actions_act_window_page/README.md
  2. 39
      web_ir_actions_act_window_page/__manifest__.py
  3. 45
      web_ir_actions_act_window_page/static/src/js/web_ir_actions_act_window_page.js
  4. 13
      web_ir_actions_act_window_page/view/qweb.xml
  5. 11
      web_ir_actions_act_window_page/views/assets.xml

53
web_ir_actions_act_window_page/README.md

@ -1,3 +1,8 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl
:alt: License: AGPL-3
==================
Client side paging Client side paging
================== ==================
@ -11,3 +16,51 @@ or::
which trigger the form's controller to page into the requested direction on the which trigger the form's controller to page into the requested direction on the
client side. client side.
A use case could be the case of a validation flow. As a developer, you set up a tree view with a domain on records to be validated. The user opens the first record in a form view and validates the record. The validation method returns the 'next' action type so that the browser window of the user is presented with the next record in the form view.
Usage
=====
.. 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/10.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 smash it by providing 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>
* Stefan Rijnhart <stefan@opener.amsterdam>
Do not contact contributors directly about support or help with 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.

39
web_ir_actions_act_window_page/__manifest__.py

@ -1,31 +1,20 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2013-2015 Therp BV (<http://therp.nl>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# coding: utf-8
# © 2013-2015 Therp BV (<http://therp.nl>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
{ {
"name": "Window actions for client side paging", "name": "Window actions for client side paging",
"summary": ("Allows a developer to trigger a pager to show the previous " "summary": ("Allows a developer to trigger a pager to show the previous "
"or next next record in the form view"), "or next next record in the form view"),
"version": "8.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)", "author": "Therp BV,Odoo Community Association (OCA)",
"category": "Dependency",
"depends": ['web'],
'data': ['view/qweb.xml'],
'installable': False,
"version": "10.0.1.0.0",
"category": "Technical",
"depends": [
'web',
],
'data': [
'views/assets.xml',
],
'installable': True,
'license': 'AGPL-3',
'url': 'https://github.com/oca/web',
} }

45
web_ir_actions_act_window_page/static/src/js/web_ir_actions_act_window_page.js

@ -1,34 +1,16 @@
//-*- coding: utf-8 -*-
//############################################################################
//
// OpenERP, Open Source Management Solution
// This module copyright (C) 2013-2015 Therp BV (<http://therp.nl>).
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
//############################################################################
// coding: utf-8
// © 2013-2015 Therp BV (<http://therp.nl>)
// License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
odoo.define('web.ir_actions_act_window_page', function(require) {
openerp.web_ir_actions_act_window_page = function(instance)
{
instance.web.ActionManager.include({
var ActionManager = require('web.ActionManager');
ActionManager.include({
ir_actions_act_window_page_prev: function(action, options) ir_actions_act_window_page_prev: function(action, options)
{ {
if(this.inner_widget && this.inner_widget.active_view == 'form' &&
this.inner_widget.views[this.inner_widget.active_view])
if(this.inner_widget && this.inner_widget.active_view.type == 'form' &&
this.inner_widget.active_view)
{ {
this.inner_widget.views[this.inner_widget.active_view]
.controller.execute_pager_action('previous');
this.inner_widget.active_view.controller.pager.previous();
} }
if(options && options.on_close) if(options && options.on_close)
{ {
@ -37,11 +19,10 @@ openerp.web_ir_actions_act_window_page = function(instance)
}, },
ir_actions_act_window_page_next: function(action, options) ir_actions_act_window_page_next: function(action, options)
{ {
if(this.inner_widget && this.inner_widget.active_view == 'form' &&
this.inner_widget.views[this.inner_widget.active_view])
if(this.inner_widget && this.inner_widget.active_view.type == 'form' &&
this.inner_widget.active_view)
{ {
this.inner_widget.views[this.inner_widget.active_view]
.controller.execute_pager_action('next');
this.inner_widget.active_view.controller.pager.next();
} }
if(options && options.on_close) if(options && options.on_close)
{ {
@ -49,4 +30,4 @@ openerp.web_ir_actions_act_window_page = function(instance)
} }
}, },
}); });
}
});

13
web_ir_actions_act_window_page/view/qweb.xml

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

11
web_ir_actions_act_window_page/views/assets.xml

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