diff options
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 16 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 8 |
2 files changed, 19 insertions, 5 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d8d5194b238..fea006e5c97 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -821,7 +821,21 @@ openerp.web.FormRenderingEngine = openerp.web.Widget.extend({ }); $group.before($new_group).remove(); }, - process_notebook: function($group, $form) { + process_notebook: function($notebook, $form) { + var pages = []; + $notebook.find('> page').each(function() { + var $page = $(this), + page_attrs = $page.getAttributes(); + page_attrs.id = _.uniqueId('notebook_page_'); + pages.push(page_attrs); + var $new_page = $(QWeb.render('FormRenderingNotebookPage', page_attrs)); + $page.children().appendTo($new_page); + $page.before($new_page).remove(); + }); + var $new_notebook = $(QWeb.render('FormRenderingNotebook', { pages : pages })); + $notebook.children().appendTo($new_notebook); + $notebook.before($new_notebook).remove(); + $new_notebook.tabs(); }, process_separator: function($group, $form) { }, diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 5fd60b1fb18..94af4aa3a9a 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -850,16 +850,16 @@ <t t-name="FormRenderingNotebook"> <div class="oe_form_notebook"> <ul> - <li t-foreach="widget.pages" t-as="page"> - <a t-attf-href="##{page.page_id}"> - <t t-esc="page.node.attrs.string"/> + <li t-foreach="pages" t-as="page"> + <a t-attf-href="##{page.id}"> + <t t-esc="page.string"/> </a> </li> </ul> </div> </t> <t t-name="FormRenderingNotebookPage"> - <div class="oe_form_notebook_page" t-att-id="widget.page_id"/> + <div class="oe_form_notebook_page" t-att-id="id"/> </t> <t t-name="FormRenderingLabel"> <label t-att-for="for" |
