diff --git a/web_ir_actions_act_window_page/README.md b/web_ir_actions_act_window_page/README.md new file mode 100644 index 000000000..f7d85b73c --- /dev/null +++ b/web_ir_actions_act_window_page/README.md @@ -0,0 +1,12 @@ +Client side paging +===================== + +This addon enables buttons to return:: + +{'type': 'ir.actions.act_window.page.next'} + +or:: + +{'type': 'ir.actions.act_window.page.prev'} + +which trigger the form's controller to page into the requested direction. diff --git a/web_ir_actions_act_window_page/__init__.py b/web_ir_actions_act_window_page/__init__.py new file mode 100644 index 000000000..f69741171 --- /dev/null +++ b/web_ir_actions_act_window_page/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Therp BV (). +# +# 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 . +# +############################################################################## diff --git a/web_ir_actions_act_window_page/__openerp__.py b/web_ir_actions_act_window_page/__openerp__.py new file mode 100644 index 000000000..70c045b66 --- /dev/null +++ b/web_ir_actions_act_window_page/__openerp__.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013-2015 Therp BV (). +# +# 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 . +# +############################################################################## +{ + "name": "Window actions for client side paging", + "summary": ("Allows a developer to trigger a pager to show the previous " + "or next next record in the form view by returning the " + "appropriate window action"), + "version": "1.0", + "author": "Therp BV", + "category": "Dependency", + "depends": ['web'], + 'data': ['view/qweb.xml'], + 'installable': True, +} diff --git a/web_ir_actions_act_window_page/static/description/icon.png b/web_ir_actions_act_window_page/static/description/icon.png new file mode 100644 index 000000000..f1006195e Binary files /dev/null and b/web_ir_actions_act_window_page/static/description/icon.png differ diff --git a/web_ir_actions_act_window_page/static/src/js/web_ir_actions_act_window_page.js b/web_ir_actions_act_window_page/static/src/js/web_ir_actions_act_window_page.js new file mode 100644 index 000000000..d8c031795 --- /dev/null +++ b/web_ir_actions_act_window_page/static/src/js/web_ir_actions_act_window_page.js @@ -0,0 +1,44 @@ +//-*- coding: utf-8 -*- +//############################################################################ +// +// OpenERP, Open Source Management Solution +// This module copyright (C) 2013-2015 Therp BV (). +// +// 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 . +// +//############################################################################ + +openerp.web_ir_actions_act_window_page = function(instance) +{ + instance.web.ActionManager.include({ + 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]) + { + this.inner_widget.views[this.inner_widget.active_view] + .controller.execute_pager_action('previous'); + } + }, + 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]) + { + this.inner_widget.views[this.inner_widget.active_view] + .controller.execute_pager_action('next'); + } + }, + }); +} diff --git a/web_ir_actions_act_window_page/view/qweb.xml b/web_ir_actions_act_window_page/view/qweb.xml new file mode 100644 index 000000000..d3563bb3d --- /dev/null +++ b/web_ir_actions_act_window_page/view/qweb.xml @@ -0,0 +1,13 @@ + + + + + +