diff options
| author | RGA(OpenERP) <> | 2012-06-22 12:51:43 +0530 |
|---|---|---|
| committer | RGA(OpenERP) <> | 2012-06-22 12:51:43 +0530 |
| commit | 02b60d587b1ea01bbdba21ffab5ff614164d7763 (patch) | |
| tree | 2879f152fd1b1f8eb8a11e198c903e7afa848d9c /addons | |
| parent | a14e4b502c01b830ce32307485abe56071177a21 (diff) | |
[IMP] added many2one pager widget
bzr revid: rgaopenerp-20120622072143-k7y0sd1d3tj2gnd1
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/account/static/src/js/account.js | 40 | ||||
| -rw-r--r-- | addons/account/static/src/xml/account.xml | 31 |
2 files changed, 70 insertions, 1 deletions
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js index 66dea644b53..a08866613d9 100644 --- a/addons/account/static/src/js/account.js +++ b/addons/account/static/src/js/account.js @@ -3,6 +3,7 @@ var _t = instance.web._t, _lt = instance.web._lt; instance.web.views.add('form_clone', 'instance.account.extend_form_view'); instance.web.form.tags.add('list_button','instance.account.list_button') +instance.web.form.widgets.add('many2one_pager','instance.account.many2one_pager') instance.account.extend_actionmanager = instance.web.ActionManager.include({ ir_actions_act_window: function (action, on_close) { var self = this; @@ -84,6 +85,19 @@ instance.account.extend_form_view = instance.web.FormView.extend({ this._super.apply(this,arguments); this.original_domain = this.getParent().action.domain; }, + on_loaded: function(data) { + this._super.apply(this,arguments); + var self = this + this.$element.on('click','a[data-pager-action]',function() { + var action = $(this).data('pager-action'); + self.on_pager_action(action); + }); + }, + do_update_pager: function(hide_index) { + var index = hide_index ? '-' : this.dataset.index + 1; + this.$element.find('span.oe_pager_index_extend').html(index).end() + .find('span.oe_pager_count_extend').html(this.dataset.ids.length); + }, on_pager_action: function(action) { var self = this var viewmanager = self.getParent(); @@ -95,6 +109,32 @@ instance.account.extend_form_view = instance.web.FormView.extend({ }) } }) +instance.account.many2one_pager = instance.web.form.FieldMany2One.extend({ + template: "FieldMany2One_Pager", + display_string: function(str) { + var self = this; + if (!this.get("effective_readonly")) { + this.$input.val(str); + } else { + this.$element.find('a.oe_form_uri') + .unbind('click') + .text(str) + .click(function () { + self.do_action({ + type: 'ir.actions.act_window', + res_model: self.field.relation, + res_id: self.get("value"), + context: self.build_context(), + views: [[false, 'form']], + target: 'current' + }); + return false; + }); + } + }, +}) + + instance.account.list_button = instance.web.form.WidgetButton.extend({ on_click: function() { var list_view = this.view.getParent().list_view.controller diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml index e43b6bafb3f..506d2c862dc 100644 --- a/addons/account/static/src/xml/account.xml +++ b/addons/account/static/src/xml/account.xml @@ -10,9 +10,38 @@ </t> <t t-name="ExtendedFormView"> <div class="oe_formview"> - <div class="oe_form_pager"/> <div class="oe_form_container"/> </div> </t> + <t t-name="FieldMany2One_Pager"> + <span class="oe_form_field oe_form_field_many2one oe_form_field_with_button"> + <ul class="oe_pager_group"> + <li> + <a type="button" data-pager-action="previous">Previous</a> + </li> + <li> + <a type="button" data-pager-action="next">Next</a> + </li> + </ul> + <a t-if="widget.get('effective_readonly')" href="#" class="oe_form_uri"/> + (<span class="oe_pager_index_extend">0</span><span class="oe_pager_separator"> / </span><span class="oe_pager_count_extend">0</span>) + <t t-if="!widget.get('effective_readonly')"> + <button class="oe_button oe-m2o-cm-button" title="Open Resource"> + <img t-att-src='_s + "/web/static/src/img/icons/terp-folder-yellow.png"'/> + </button> + <div> + <input type="text" + t-att-id="widget.id_for_label" + t-att-tabindex="widget.node.attrs.tabindex" + t-att-autofocus="widget.node.attrs.autofocus" + t-att-placeholder="widget.node.attrs.placeholder" + /> + <span class="oe-m2o-drop-down-button"> + <img t-att-src='_s + "/web/static/src/img/down-arrow.png"'/> + </span> + </div> + </t> + </span> +</t> </templates> |
