openerp-community-reviewer team mailing list archive
-
openerp-community-reviewer team
-
Mailing list archive
-
Message #05140
[Merge] lp:~luc-demeyer/account-financial-tools/add-account_move_line_search_extension into lp:account-financial-tools
Luc De Meyer (Noviat) has proposed merging lp:~luc-demeyer/account-financial-tools/add-account_move_line_search_extension into lp:account-financial-tools.
Requested reviews:
Account Core Editors (account-core-editors)
For more details, see:
https://code.launchpad.net/~luc-demeyer/account-financial-tools/add-account_move_line_search_extension/+merge/211967
This module adds the 'Journal Items Search All' menu entry.
This menu entry adds a number of search fields on top of the List View rows.
These fields can be used in combination with the Search window.
--
https://code.launchpad.net/~luc-demeyer/account-financial-tools/add-account_move_line_search_extension/+merge/211967
Your team Account Core Editors is requested to review the proposed merge of lp:~luc-demeyer/account-financial-tools/add-account_move_line_search_extension into lp:account-financial-tools.
=== added directory 'account_move_line_search_extension'
=== added file 'account_move_line_search_extension/__init__.py'
--- account_move_line_search_extension/__init__.py 1970-01-01 00:00:00 +0000
+++ account_move_line_search_extension/__init__.py 2014-03-20 15:05:40 +0000
@@ -0,0 +1,22 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+#
+# Copyright (c) 2013 Noviat nv/sa (www.noviat.com). All rights reserved.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
=== added file 'account_move_line_search_extension/__openerp__.py'
--- account_move_line_search_extension/__openerp__.py 1970-01-01 00:00:00 +0000
+++ account_move_line_search_extension/__openerp__.py 2014-03-20 15:05:40 +0000
@@ -0,0 +1,54 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+#
+# Copyright (c) 2013 Noviat nv/sa (www.noviat.com). All rights reserved.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+{
+ 'name': 'Journal Items Search Extension',
+ 'version': '0.1',
+ 'license': 'AGPL-3',
+ 'author': 'Noviat',
+ 'category' : 'Generic Modules',
+ 'description': """
+Journal Items Search Extension
+==============================
+
+This module adds the 'Journal Items Search All' menu entry.
+
+This menu entry adds a number of search fields on top of the List View rows.
+These fields can be used in combination with the Search window.
+
+ """,
+ 'depends': ['account'],
+ 'data' : [
+ 'account_view.xml',
+ ],
+ 'js': [
+ 'static/src/js/account_move_line_search_extension.js',
+ ],
+ 'qweb' : [
+ 'static/src/xml/account_move_line_search_extension.xml',
+ ],
+ 'css':[
+ 'static/src/css/account_move_line_search_extension.css',
+ ],
+ 'installable': True,
+ 'auto_install': False,
+}
=== added file 'account_move_line_search_extension/account_view.xml'
--- account_move_line_search_extension/account_view.xml 1970-01-01 00:00:00 +0000
+++ account_move_line_search_extension/account_view.xml 2014-03-20 15:05:40 +0000
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <record id="action_account_move_line_search_extension" model="ir.actions.act_window">
+ <field name="context">{'account_move_line_search_extension':1}</field>
+ <field name="name">Journal Items Search All</field>
+ <field name="res_model">account.move.line</field>
+ <field name="view_id" ref="account.view_move_line_tree"/>
+ <field name="view_mode">account_move_line_search_extension,form</field>
+ </record>
+ <menuitem
+ action="action_account_move_line_search_extension"
+ icon="STOCK_JUSTIFY_FILL"
+ id="menu_account_move_line_search_extension"
+ parent="account.menu_finance_entries"
+ sequence="1"
+ groups="account.group_account_user"
+ />
+
+ </data>
+</openerp>
=== added directory 'account_move_line_search_extension/static'
=== added directory 'account_move_line_search_extension/static/src'
=== added directory 'account_move_line_search_extension/static/src/css'
=== added file 'account_move_line_search_extension/static/src/css/account_move_line_search_extension.css'
--- account_move_line_search_extension/static/src/css/account_move_line_search_extension.css 1970-01-01 00:00:00 +0000
+++ account_move_line_search_extension/static/src/css/account_move_line_search_extension.css 2014-03-20 15:05:40 +0000
@@ -0,0 +1,5 @@
+.openerp .oe_form_char_section {
+ position: relative;
+ display: inline-block;
+}
+
=== added directory 'account_move_line_search_extension/static/src/img'
=== added file 'account_move_line_search_extension/static/src/img/icon.png'
Binary files account_move_line_search_extension/static/src/img/icon.png 1970-01-01 00:00:00 +0000 and account_move_line_search_extension/static/src/img/icon.png 2014-03-20 15:05:40 +0000 differ
=== added directory 'account_move_line_search_extension/static/src/js'
=== added file 'account_move_line_search_extension/static/src/js/account_move_line_search_extension.js'
--- account_move_line_search_extension/static/src/js/account_move_line_search_extension.js 1970-01-01 00:00:00 +0000
+++ account_move_line_search_extension/static/src/js/account_move_line_search_extension.js 2014-03-20 15:05:40 +0000
@@ -0,0 +1,93 @@
+openerp.account_move_line_search_extension = function (instance) {
+ var _t = instance.web._t,
+ _lt = instance.web._lt;
+ var QWeb = instance.web.qweb;
+
+ instance.account_move_line_search_extension = {};
+
+ instance.web.views.add('account_move_line_search_extension', 'instance.account_move_line_search_extension.ListSearchView');
+ instance.account_move_line_search_extension.ListSearchView = instance.web.ListView.extend({
+
+ init: function() {
+ this._super.apply(this, arguments);
+ this.journals = [];
+ this.current_account = null;
+ this.current_partner = null;
+ this.current_journal = null;
+ this.current_period = null;
+ },
+
+ start:function(){
+ var tmp = this._super.apply(this, arguments);
+ var self = this;
+ this.$el.parent().prepend(QWeb.render('AccountMoveLineSearchExtension', {widget: this}));
+
+ this.$el.parent().find('.oe_account_select_account').change(function() {
+ self.current_account = this.value === '' ? null : this.value;
+ self.do_search(self.last_domain, self.last_context, self.last_group_by);
+ });
+ this.$el.parent().find('.oe_account_select_partner').change(function() {
+ self.current_partner = this.value === '' ? null : this.value;
+ self.do_search(self.last_domain, self.last_context, self.last_group_by);
+ });
+ this.$el.parent().find('.oe_account_select_journal').change(function() {
+ self.current_journal = this.value === '' ? null : parseInt(this.value);
+ //console.log('start, oasj, self.current_journal=', self.current_journal, 'self.last_domain=', self.last_domain, 'self.last_context=', self.last_context, 'self.last_group_by=', self.last_group_by);
+ self.do_search(self.last_domain, self.last_context, self.last_group_by);
+ });
+ this.$el.parent().find('.oe_account_select_period').change(function() {
+ self.current_period = this.value === '' ? null : this.value;
+ self.do_search(self.last_domain, self.last_context, self.last_group_by);
+ });
+ this.on('edit:after', this, function () {
+ self.$el.parent().find('.oe_account_select_account').attr('disabled', 'disabled');
+ self.$el.parent().find('.oe_account_select_partner').attr('disabled', 'disabled');
+ self.$el.parent().find('.oe_account_select_journal').attr('disabled', 'disabled');
+ self.$el.parent().find('.oe_account_select_period').attr('disabled', 'disabled');
+ });
+ this.on('save:after cancel:after', this, function () {
+ self.$el.parent().find('.oe_account_select_account').removeAttr('disabled');
+ self.$el.parent().find('.oe_account_select_partner').removeAttr('disabled');
+ self.$el.parent().find('.oe_account_select_journal').removeAttr('disabled');
+ self.$el.parent().find('.oe_account_select_period').removeAttr('disabled');
+ });
+ return tmp;
+ },
+
+ do_search: function(domain, context, group_by) {
+ var self = this;
+ this.last_domain = domain;
+ this.last_context = context;
+ this.last_group_by = group_by;
+ this.old_search = _.bind(this._super, this);
+ var aj_mod = new instance.web.Model('account.journal');
+ return $.when(aj_mod.query(['name']).all().then(function(result) {
+ self.journals = result;
+ })).then(function () {
+ var o;
+ self.$el.parent().find('.oe_account_select_journal').children().remove().end();
+ self.$el.parent().find('.oe_account_select_journal').append(new Option('', ''));
+ for (var i = 0;i < self.journals.length;i++){
+ o = new Option(self.journals[i].name, self.journals[i].id);
+ if (self.journals[i].id === self.current_journal){
+ $(o).attr('selected',true);
+ }
+ self.$el.parent().find('.oe_account_select_journal').append(o);
+ }
+ return self.search_by_selection();
+ });
+ },
+
+ search_by_selection: function() {
+ var self = this;
+ var domain = [];
+ if (self.current_account) domain.push(['account_id.code', 'ilike', self.current_account]);
+ if (self.current_partner) domain.push(['partner_id.name', 'ilike', self.current_partner],'|',['partner_id.parent_id','=',false],['partner_id.is_company','=',true]);
+ if (self.current_journal) domain.push(['journal_id', '=', self.current_journal]);
+ if (self.current_period) domain.push('|',['period_id.code', 'ilike', self.current_period],['period_id.name', 'ilike', self.current_period]);
+ //_.each(domain, function(x) {console.log('search_by_journal_period, domain_part = ', x)});
+ return self.old_search(new instance.web.CompoundDomain(self.last_domain, domain), self.last_context, self.last_group_by);
+ },
+
+ });
+};
=== added directory 'account_move_line_search_extension/static/src/xml'
=== added file 'account_move_line_search_extension/static/src/xml/account_move_line_search_extension.xml'
--- account_move_line_search_extension/static/src/xml/account_move_line_search_extension.xml 1970-01-01 00:00:00 +0000
+++ account_move_line_search_extension/static/src/xml/account_move_line_search_extension.xml 2014-03-20 15:05:40 +0000
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<templates id="template" xml:space="preserve">
+
+ <t t-name="AccountMoveLineSearchExtension">
+ <div class="ui-toolbar" style="margin-bottom:0px;">
+ <div class="oe_form_char_section">
+ <h4>Account :</h4>
+ <input type="text" class="oe_account_select_account">
+ </input>
+ </div>
+ <div class="oe_form_char_section">
+ <h4>Partner :</h4>
+ <input type="text" class="oe_account_select_partner">
+ </input>
+ </div>
+ <div class="oe_form_dropdown_section">
+ <h4>Journal :</h4>
+ <select class="oe_account_select_journal">
+ </select>
+ </div>
+ <div class="oe_form_char_section">
+ <h4>Period :</h4>
+ <input type="text" class="oe_account_select_period">
+ </input>
+ </div>
+ </div>
+ </t>
+
+</templates>
Follow ups