if not partner:
return []
args.append(('partner_id', '=', partner[0]))
- return super(account_move_line, self).search(cr, uid, args, offset, limit, order, context, count)
+ ids = super(account_move_line, self).search(cr, uid, args, offset, limit, order, context, count)
+ if context.get('extended_from'):
+ return self.get_move_by_unique_partner(cr, uid, offset, context)
+ return ids
+ def get_move_by_unique_partner(self, cr, uid, offset=0, context=None):
+ cr.execute(
+ """
+ SELECT l.id ,l.partner_id AS partner_id
+ FROM account_move_line l
+ LEFT JOIN account_account a ON (a.id = l.account_id)
+
+ WHERE a.reconcile IS TRUE
+ AND l.reconcile_id IS NULL
+
+ AND l.state <> 'draft'
+ GROUP BY l.id, l.partner_id OFFSET %s""", (offset, )
+ )
+ return dict(cr.fetchall()).keys()
+
def get_next_partner_only(self, cr, uid, offset=0, context=None):
cr.execute(
"""
this._super()
this.setup_exended_list_view()
},
-
setup_exended_list_view: function(parent){
if (this.action && this.action.extended_form_view_id){
+ var self = this
view_id = this.action.extended_form_view_id[0]
var from_view = this.registry.get_object('form');
- var options = {}
- var obj_from_view = new from_view(this, this.dataset, view_id, options);
+ this.dataset_form.context.extended_from = true
+ this.dataset_form.read_slice()
+ this.dataset_form.context.extended_from = false
+ var obj_from_view = new from_view(this, this.dataset_form, view_id, options={});
+ this.obj_from_view = obj_from_view
obj_from_view.template = 'ExtendedFormView'
- obj_from_view.appendTo(this.$element.find('.oe_extended_form_view'))
+ view_promise = obj_from_view.appendTo(this.$element.find('.oe_extended_form_view'))
+ $.when(view_promise).then(function() {
+ obj_from_view.on_pager_action('first')
+ })
}
},
})
+ instance.account.extend_view_action = instance.web.ViewManagerAction.include({
+ init: function(parent, action) {
+ this._super(parent, action)
+ this.dataset_form = new instance.web.DataSetSearch(this, action.res_model, action.context, action.domain);
+ },
+ })
+ instance.account.extend_form_view = instance.web.FormView.include({
+ on_pager_action: function(action) {
+ var self = this
+ var viewmanager = self.__parentedParent
+ $.when(this._super(action)).then(function() {
+ var id = self.get_fields_values().partner_id
+ viewmanager.action.domain = [["partner_id", "=", id]]
+ viewmanager.searchview.do_search()
+ })
+ }
+ })
}