[IMP] added many2one pager widget
bzr revid: rgaopenerp-20120622072143-k7y0sd1d3tj2gnd1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user