[IMP] added many2one pager widget
authorRGA(OpenERP) <>
Fri, 22 Jun 2012 07:21:43 +0000 (12:51 +0530)
committerRGA(OpenERP) <>
Fri, 22 Jun 2012 07:21:43 +0000 (12:51 +0530)
bzr revid: rgaopenerp-20120622072143-k7y0sd1d3tj2gnd1

addons/account/static/src/js/account.js
addons/account/static/src/xml/account.xml

index 66dea64..a088666 100644 (file)
@@ -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
index e43b6ba..506d2c8 100644 (file)
     </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>