From cf8581e99cdd711e48083f2c8806a8a548b4198a Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 11 Jun 2012 12:50:42 +0530
Subject: [PATCH 01/99] [ADD] directory structure for web addons
bzr revid: rgaopenerp-20120611072042-r5lj4z6p3tqsonx8
---
addons/account/__openerp__.py | 6 ++++++
addons/account/static/src/js/account.js | 1 +
addons/account/static/src/xml/account.xml | 11 +++++++++++
3 files changed, 18 insertions(+)
create mode 100644 addons/account/static/src/js/account.js
create mode 100644 addons/account/static/src/xml/account.xml
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index cd19c730a3f..6657ab7c7b5 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -128,6 +128,12 @@ module named account_voucher.
"res_config_view.xml",
"account_pre_install.yml"
],
+ 'js': [
+ 'static/src/js/account.js',
+ ],
+ 'qweb' : [
+ "static/src/xml/*",
+ ],
'demo_xml': [
'demo/account_demo.xml',
'project/project_demo.xml',
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
new file mode 100644
index 00000000000..a6f266b54e1
--- /dev/null
+++ b/addons/account/static/src/js/account.js
@@ -0,0 +1 @@
+console.log('loading account.....')
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
new file mode 100644
index 00000000000..2e7dbc48ff6
--- /dev/null
+++ b/addons/account/static/src/xml/account.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
From 2b229fa7aa43f01d957c56bc60f48a6ec8cbdc57 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 11 Jun 2012 14:56:19 +0530
Subject: [PATCH 02/99] [IMP] Extend ViewManagerAction to add fromview
bzr revid: rgaopenerp-20120611092619-6l8h7atm43fimeg6
---
addons/account/static/src/xml/account.xml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
index 2e7dbc48ff6..082e875239f 100644
--- a/addons/account/static/src/xml/account.xml
+++ b/addons/account/static/src/xml/account.xml
@@ -3,8 +3,9 @@
-->
-
-
+
+
+
From 8b2beb7975a8fae12423a88e90dc62323daa8cfe Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 11 Jun 2012 15:14:44 +0530
Subject: [PATCH 03/99] [FIX] typo
bzr revid: rgaopenerp-20120611094444-vhr01bggrza11hhe
---
addons/account/static/src/xml/account.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
index 082e875239f..388cd96f49b 100644
--- a/addons/account/static/src/xml/account.xml
+++ b/addons/account/static/src/xml/account.xml
@@ -5,7 +5,7 @@
-
+ test
From fb41245f7843bdedfea2e621698927b83c079c6b Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 12 Jun 2012 12:49:58 +0530
Subject: [PATCH 04/99] [IMP] added form view at header on list view
bzr revid: rgaopenerp-20120612071958-2wlk6b4gek0xjc8v
---
addons/account/account_view.xml | 36 ++++++++++++++++++-----
addons/account/static/src/js/account.js | 20 ++++++++++++-
addons/account/static/src/xml/account.xml | 9 ++++--
3 files changed, 54 insertions(+), 11 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 274a8993dc4..0a29167fa7a 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1139,6 +1139,22 @@
+
+
+ account.move.line.form
+ account.move.line
+ form
+
+
+
+
+
Journal Items
@@ -1161,9 +1177,7 @@
-
-
-
+
@@ -1192,7 +1206,9 @@
{}
This view can be used by accountants in order to quickly record entries in OpenERP. If you want to record a supplier invoice, start by recording the line of the expense account. OpenERP will propose to you automatically the Tax related to this account and the counterpart "Account Payable".
-
+
+
+
+
- Journal Items
+ Journal sssssdfdsItems
account.move.line
form
tree,form
+
{'search_default_account_id': [active_id]}
@@ -1456,13 +1474,14 @@
src_model="account.move"/>
- Journal Items
+ Journssssal Items
ir.actions.act_window
account.move.line
form
tree,form
+
@@ -1900,12 +1919,13 @@
- Journal Items
+ Journal Itemaaaaas
account.move.line
form
tree,form
[('account_id','child_of', [active_id]),('state','<>','draft')]
{'account_id':active_id}
+
@@ -1933,7 +1953,7 @@
- Journal Items
+ Jouffffffffrnal Items
account.move.line
form
tree,form
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index a6f266b54e1..5bb8236fde3 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -1 +1,19 @@
-console.log('loading account.....')
+openerp.account = function(instance) {
+ instance.account.extend_view = instance.web.ViewManager.include({
+ start : function(){
+ this._super()
+ this.setup_exended_list_view()
+ },
+
+ setup_exended_list_view: function(parent){
+ if (this.action && this.action.extended_form_view_id){
+ 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);
+ obj_from_view.template = 'ExtendedFormView'
+ obj_from_view.appendTo(this.$element.find('.oe_extended_form_view'))
+ }
+ },
+ })
+}
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
index 388cd96f49b..9b3ae75cc9b 100644
--- a/addons/account/static/src/xml/account.xml
+++ b/addons/account/static/src/xml/account.xml
@@ -3,10 +3,15 @@
-->
-
+
test
-
+
+
+
+
From 3a6097e85ea7d1d8bb62d0f16bbf372f4551f762 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 12 Jun 2012 15:50:38 +0530
Subject: [PATCH 05/99] [IMP] account reconcilation action
bzr revid: rgaopenerp-20120612102038-o96d42kipvkdttcq
---
addons/account/account_view.xml | 62 ++++++++++++++++-----------------
1 file changed, 30 insertions(+), 32 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 0a29167fa7a..d65483a543b 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -974,6 +974,21 @@
+
+ account.move.line.form
+ account.move.line
+ form
+
+
+
+
+
account.move.line.tree
@@ -1139,22 +1154,6 @@
-
-
- account.move.line.form
- account.move.line
- form
-
-
-
-
-
Journal Items
@@ -1206,9 +1205,7 @@
{}
This view can be used by accountants in order to quickly record entries in OpenERP. If you want to record a supplier invoice, start by recording the line of the expense account. OpenERP will propose to you automatically the Tax related to this account and the counterpart "Account Payable".
-
-
-
+
-
- Journal sssssdfdsItems
+ Journal Items
account.move.line
form
tree,form
-
{'search_default_account_id': [active_id]}
@@ -1474,14 +1469,13 @@
src_model="account.move"/>
- Journssssal Items
+ Journal Items
ir.actions.act_window
account.move.line
form
tree,form
-
@@ -1495,11 +1489,16 @@
-
+
+
+ Entries To Reconcile
+ account.move.line
+ form
+ tree,form
+
+
+ {'search_default_next_partner':1,'view_mode':True}
+
- Journal Itemaaaaas
+ Journal Items
account.move.line
form
tree,form
[('account_id','child_of', [active_id]),('state','<>','draft')]
{'account_id':active_id}
-
@@ -1953,7 +1951,7 @@
- Jouffffffffrnal Items
+ Journal Items
account.move.line
form
tree,form
From 9a0277e1d1edf5368fbd3169c2203c13149d5ac7 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 15 Jun 2012 17:50:16 +0530
Subject: [PATCH 06/99] [IMP] on pager action reload list view
bzr revid: rgaopenerp-20120615122016-2m982b7cgfjzkzk9
---
addons/account/account_move_line.py | 20 ++++++++++++++-
addons/account/static/src/js/account.js | 31 ++++++++++++++++++++---
addons/account/static/src/xml/account.xml | 1 +
3 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 892747c849f..475abd5651a 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -708,8 +708,26 @@ class account_move_line(osv.osv):
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(
"""
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 5bb8236fde3..87ca083c10a 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -4,16 +4,39 @@ openerp.account = function(instance) {
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()
+ })
+ }
+ })
}
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
index 9b3ae75cc9b..8dac02dd491 100644
--- a/addons/account/static/src/xml/account.xml
+++ b/addons/account/static/src/xml/account.xml
@@ -10,6 +10,7 @@
From dce2c2363f1c0b3714d3290bcc61d4fbb9a357b2 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 20 Jun 2012 18:56:21 +0530
Subject: [PATCH 07/99] [IMP] Change list view domin on pager next/previous
click
bzr revid: rgaopenerp-20120620132621-882na1igz4t64kwo
---
addons/account/account_move_line.py | 23 +++-
addons/account/account_view.xml | 10 +-
addons/account/static/src/js/account.js | 158 ++++++++++++++++++------
3 files changed, 149 insertions(+), 42 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 475abd5651a..4cd070d0965 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -470,6 +470,22 @@ class account_move_line(osv.osv):
for line in move.line_id:
result.append(line.id)
return result
+
+ def _latest_entry_date(self, cr, uid, ids, prop, unknow_none, context=None):
+ res = {}
+ # ToDo write query to fetch the same date
+ for accout_move_line in self.browse(cr, uid, ids, context=context):
+ ids = self.search(cr, uid, [('partner_id','=',accout_move_line.partner_id.id)], context=context, limit=1, order='date')
+ date = self.browse(cr, uid, ids, context=context)[0].date
+ res[accout_move_line.id] = date
+ return res
+
+ def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
+ #ToDo
+ res = {}
+ for id in ids:
+ res[id] = 0.5
+ return res
_columns = {
'name': fields.char('Name', size=64, required=True),
@@ -517,7 +533,12 @@ class account_move_line(osv.osv):
type='many2one', relation='account.invoice', fnct_search=_invoice_search),
'account_tax_id':fields.many2one('account.tax', 'Tax'),
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'),
- 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
+ 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
+ 'last_reconciliation_date': fields.related('partner_id', 'last_reconciliation_date', type='datetime', relation='res.partner', string='Latest Reconciliation Date',readonly=True),
+ 'lastest_entry': fields.function(_latest_entry_date, type='date', string="Latest Entry"),
+ 'lastest_entry2': fields.function(_latest_entry_date, type='date', string="Latest Recnciliation"),
+ 'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float')
+
}
def _get_date(self, cr, uid, context=None):
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index d65483a543b..f5bba9361cb 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -982,9 +982,13 @@
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 87ca083c10a..7381a6e99c8 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -1,42 +1,124 @@
openerp.account = function(instance) {
- instance.account.extend_view = instance.web.ViewManager.include({
- start : function(){
- 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');
- 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'
- 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()
- })
+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.account.extend_actionmanager = instance.web.ActionManager.include({
+ ir_actions_act_window: function (action, on_close) {
+ var self = this;
+ if (_(['base.module.upgrade', 'base.setup.installer'])
+ .contains(action.res_model)) {
+ var old_close = on_close;
+ on_close = function () {
+ instance.webclient.do_reload().then(old_close);
+ };
}
+ if (action.target === 'new') {
+ if (this.dialog == null) {
+ this.dialog = new instance.web.Dialog(this, { width: '80%' });
+ if(on_close)
+ this.dialog.on_close.add(on_close);
+ } else {
+ this.dialog_viewmanager.destroy();
+ }
+ this.dialog.dialog_title = action.name;
+ this.dialog_viewmanager = new instance.web.ViewManagerAction(this, action);
+ this.dialog_viewmanager.appendTo(this.dialog.$element);
+ this.dialog.open();
+ } else {
+ this.dialog_stop();
+ this.content_stop();
+ if(action.menu_id) {
+ return this.getParent().do_action(action, function () {
+ instance.webclient.menu.open_menu(action.menu_id);
+ });
+ }
+ this.inner_action = action;
+ if (action.extended_form_view_id){
+ this.inner_viewmanager = new instance.account.extend_viewmanager(this, action);
+ }else{
+ this.inner_viewmanager = new instance.web.ViewManagerAction(this, action);
+ }
+ this.inner_viewmanager.appendTo(this.$element);
+ }
+ },
})
+
+instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
+ init: function(parent, action) {
+ this._super.apply(this,arguments);
+ this.dataset_form = new instance.web.DataSetSearch(this, action.res_model, action.context, action.domain);
+ },
+ start : function(){
+ this._super()
+ this.setup_exended_list_view(this)
+ },
+ on_mode_switch: function (view_type, no_store, options) {
+ self = this
+ self.list_loaded = $.when(this._super.apply(this, arguments)).then(function () {
+ self.list_view = self.views['list']
+ })
+ },
+ setup_exended_list_view: function(parent){
+ var from_view,
+ obj_from_view;
+ view_id = this.action.extended_form_view_id[0]
+ from_view = this.registry.get_object('form_clone');
+ this.dataset_form.context.extended_from = true
+ this.dataset_loaded = this.dataset_form.read_slice()
+ this.dataset_form.context.extended_from = false
+ obj_from_view = new from_view(self, this.dataset_form, view_id, options={});
+ obj_from_view.template = 'ExtendedFormView'
+ view_promise = obj_from_view.appendTo(this.$element.find('.oe_extended_form_view'))
+ $.when(view_promise && this.dataset_loaded).then(function() {
+ obj_from_view.on_pager_action('first')
+ })
+ }
+
+})
+instance.account.extend_form_view = instance.web.FormView.extend({
+ init :function(){
+ this._super.apply(this,arguments);
+ this.original_domain = this.getParent().action.domain;
+ },
+ on_pager_action: function(action) {
+ var self = this
+ var viewmanager = self.getParent();
+ viewmanager.action.domain = this.original_domain
+ $.when(this._super(action)).then(function() {
+ var id = self.get_fields_values().partner_id;
+ viewmanager.action.domain = (viewmanager.action.domain || []).concat([["partner_id", "=", id]])
+ viewmanager.searchview.do_search()
+ })
+ }
+})
+instance.account.list_button = instance.web.form.WidgetButton.extend({
+ on_click: function() {
+ var list_view = this.view.getParent().list_view.controller
+ ids = list_view.get_selected_ids()
+ if (ids.length == 0) {
+ instance.web.dialog($("
").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
+ return false;
+ }
+ var additional_context = _.extend({
+ active_id: ids[0],
+ active_ids: ids,
+ active_model: list_view.dataset.model
+ });
+ self.rpc("/web/action/load", {
+ action_id: py.eval(this.node.attrs.name),
+ context: additional_context
+ }, function(result) {
+ result.result.context = _.extend(result.result.context || {},
+ additional_context);
+ result.result.flags = result.result.flags || {};
+ result.result.flags.new_window = true;
+ self.do_action(result.result, function () {
+ // reload view
+ list_view.reload();
+ });
+ });
+ }
+})
+
}
From 1e4c2e4fb463e6c43bbf62e50431d794a194aefd Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 20 Jun 2012 19:05:45 +0530
Subject: [PATCH 08/99] typo
bzr revid: rgaopenerp-20120620133545-0x7vfsodplb6j2zx
---
addons/account/static/src/xml/account.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
index 8dac02dd491..e43b6bafb3f 100644
--- a/addons/account/static/src/xml/account.xml
+++ b/addons/account/static/src/xml/account.xml
@@ -5,7 +5,7 @@
- test
+
From 8b06240a61848bc6b2077df04c3efec58f0bbe0a Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 20 Jun 2012 19:53:42 +0530
Subject: [PATCH 09/99] [IMP] apply button widget attribute
bzr revid: rgaopenerp-20120620142342-aemmc5nmbte5qzw2
---
addons/account/account_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index f5bba9361cb..5edb23cb258 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -985,8 +985,8 @@
-
-
+
+
From a14e4b502c01b830ce32307485abe56071177a21 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 22 Jun 2012 11:12:34 +0530
Subject: [PATCH 10/99] [IMP] form view and apply css
bzr revid: rgaopenerp-20120622054234-cj001wr9crf7chyi
---
addons/account/__openerp__.py | 8 +++++---
addons/account/account_move_line.py | 1 -
addons/account/account_view.xml | 18 +++++++++---------
addons/account/static/src/js/account.js | 9 ++++++---
4 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 6657ab7c7b5..aecc326f39c 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -66,6 +66,8 @@ module named account_voucher.
'wizard/account_use_model_view.xml',
'account_installer.xml',
'wizard/account_period_close_view.xml',
+ 'wizard/account_reconcile_view.xml',
+ 'wizard/account_unreconcile_view.xml',
'account_view.xml',
'account_report.xml',
'account_financial_report_data.xml',
@@ -88,14 +90,12 @@ module named account_voucher.
'wizard/account_journal_select_view.xml',
'wizard/account_change_currency_view.xml',
'wizard/account_validate_move_view.xml',
- 'wizard/account_unreconcile_view.xml',
'wizard/account_report_general_ledger_view.xml',
'wizard/account_invoice_state_view.xml',
'wizard/account_report_partner_balance_view.xml',
'wizard/account_report_account_balance_view.xml',
'wizard/account_report_aged_partner_balance_view.xml',
'wizard/account_report_partner_ledger_view.xml',
- 'wizard/account_reconcile_view.xml',
'wizard/account_reconcile_partner_process_view.xml',
'wizard/account_automatic_reconcile_view.xml',
'wizard/account_financial_report_view.xml',
@@ -132,7 +132,9 @@ module named account_voucher.
'static/src/js/account.js',
],
'qweb' : [
- "static/src/xml/*",
+ "static/src/xml/account.xml",
+ ],
+ 'css':['static/src/css/account.css'
],
'demo_xml': [
'demo/account_demo.xml',
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index af43fa7311c..835456ce2c0 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -536,7 +536,6 @@ class account_move_line(osv.osv):
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
'last_reconciliation_date': fields.related('partner_id', 'last_reconciliation_date', type='datetime', relation='res.partner', string='Latest Reconciliation Date',readonly=True),
'lastest_entry': fields.function(_latest_entry_date, type='date', string="Latest Entry"),
- 'lastest_entry2': fields.function(_latest_entry_date, type='date', string="Latest Recnciliation"),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float')
}
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 1555f2b0559..b02f3d211fb 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -980,15 +980,15 @@
form
-
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 7381a6e99c8..66dea644b53 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -60,7 +60,8 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
})
},
setup_exended_list_view: function(parent){
- var from_view,
+ var self = this,
+ from_view,
obj_from_view;
view_id = this.action.extended_form_view_id[0]
from_view = this.registry.get_object('form_clone');
@@ -70,8 +71,10 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
obj_from_view = new from_view(self, this.dataset_form, view_id, options={});
obj_from_view.template = 'ExtendedFormView'
view_promise = obj_from_view.appendTo(this.$element.find('.oe_extended_form_view'))
- $.when(view_promise && this.dataset_loaded).then(function() {
- obj_from_view.on_pager_action('first')
+ $.when(view_promise, this.dataset_loaded).then(function() {
+ if (!_.isEmpty(self.dataset_form.ids)) {
+ obj_from_view.on_pager_action('first')
+ }
})
}
From 02b60d587b1ea01bbdba21ffab5ff614164d7763 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 22 Jun 2012 12:51:43 +0530
Subject: [PATCH 11/99] [IMP] added many2one pager widget
bzr revid: rgaopenerp-20120622072143-k7y0sd1d3tj2gnd1
---
addons/account/static/src/js/account.js | 40 +++++++++++++++++++++++
addons/account/static/src/xml/account.xml | 31 +++++++++++++++++-
2 files changed, 70 insertions(+), 1 deletion(-)
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 @@
+
+
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
From 7ab3d9962170b7f85076b8ebf4f40a5390d4215f Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 22 Jun 2012 14:47:17 +0530
Subject: [PATCH 12/99] [IMP] wizard view
bzr revid: rgaopenerp-20120622091717-ryzukodk5n2irhe2
---
addons/account/account_view.xml | 2 +-
addons/account/wizard/account_reconcile_view.xml | 10 +++-------
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index b02f3d211fb..8c754533024 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -982,7 +982,7 @@
-
+
diff --git a/addons/account/wizard/account_reconcile_view.xml b/addons/account/wizard/account_reconcile_view.xml
index 959c4ceddcf..2a8494e5923 100644
--- a/addons/account/wizard/account_reconcile_view.xml
+++ b/addons/account/wizard/account_reconcile_view.xml
@@ -9,17 +9,13 @@
-
-
-
+
-
From 4647ff5b8fc155b06af19c95b468bc2ca5be52f3 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 27 Jun 2012 18:35:29 +0530
Subject: [PATCH 13/99] [IMP] create sql view(model) to fecth appropriate data
from various tables, improve view as per mock-up specification
bzr revid: rgaopenerp-20120627130529-5jonfjm2fkoh61vu
---
addons/account/__init__.py | 1 +
addons/account/__openerp__.py | 1 +
addons/account/account_move_line_extended.py | 69 +++++++++++++++++++
addons/account/account_move_line_extended.xml | 31 +++++++++
addons/account/account_view.xml | 5 +-
addons/account/static/src/css/account.css | 38 ++++++++++
addons/account/static/src/js/account.js | 5 +-
addons/account/static/src/xml/account.xml | 13 +++-
8 files changed, 155 insertions(+), 8 deletions(-)
create mode 100644 addons/account/account_move_line_extended.py
create mode 100644 addons/account/account_move_line_extended.xml
create mode 100644 addons/account/static/src/css/account.css
diff --git a/addons/account/__init__.py b/addons/account/__init__.py
index 90fbdb83980..3a2273379da 100644
--- a/addons/account/__init__.py
+++ b/addons/account/__init__.py
@@ -38,5 +38,6 @@ import company
import res_currency
import edi
import res_config
+import account_move_line_extended
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index aecc326f39c..59abf719a3c 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -68,6 +68,7 @@ module named account_voucher.
'wizard/account_period_close_view.xml',
'wizard/account_reconcile_view.xml',
'wizard/account_unreconcile_view.xml',
+ 'account_move_line_extended.xml',
'account_view.xml',
'account_report.xml',
'account_financial_report_data.xml',
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
new file mode 100644
index 00000000000..b04d86284b6
--- /dev/null
+++ b/addons/account/account_move_line_extended.py
@@ -0,0 +1,69 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL ().
+#
+# 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 .
+#
+##############################################################################
+
+import tools
+from osv import fields,osv
+
+
+class account_move_partner_info(osv.osv):
+ _name = "account.move.partner.info"
+ _description = "All partner info related account move line"
+ _auto = False
+
+ def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
+ #ToDo
+ res = {}
+ for id in ids:
+ res[id] = 50
+ return res
+
+ _columns = {
+ 'partner_id':fields.many2one('res.partner', 'Partner'),
+ 'last_reconciliation_date':fields.datetime('Last Reconciliation'),
+ 'latest_date' :fields.date('Latest Entry'),
+ 'followup_date': fields.date('Latest Follow-up'),
+ 'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float')
+
+ }
+ def init(self, cr):
+ tools.drop_view_if_exists(cr, 'analytic_entries_report')
+ cr.execute("""
+ create or replace view account_move_partner_info as (
+ SELECT p.id, p.id as partner_id,
+ max(p.last_reconciliation_date) as last_reconciliation_date,
+ max(l.date) as latest_date,
+ max(l.followup_date) as followup_date
+ FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
+ group by p.id
+ )
+ """)
+account_move_partner_info()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
+
+
+#SELECT p.id as partner_id,
+# max(p.last_reconciliation_date) as last_reconciliation_date,
+# max(l.date) as latest_date,
+# max(l.followup_date) as followup_date
+#From account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
+#group by p.id
\ No newline at end of file
diff --git a/addons/account/account_move_line_extended.xml b/addons/account/account_move_line_extended.xml
new file mode 100644
index 00000000000..911c0d43f81
--- /dev/null
+++ b/addons/account/account_move_line_extended.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ account.move.partner.info.form
+ account.move.partner.info
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 8c754533024..686d0a51e40 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -974,7 +974,7 @@
-
+
account.move.line.tree
account.move.line
diff --git a/addons/account/static/src/css/account.css b/addons/account/static/src/css/account.css
new file mode 100644
index 00000000000..963c4391595
--- /dev/null
+++ b/addons/account/static/src/css/account.css
@@ -0,0 +1,38 @@
+
+.openerp .oe_extended_form_view .oe_formview {
+ background-color: #eeeeee;
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+ border:2px solid;
+ }
+
+.openerp .oe_pager_m2o li {
+ display: inline-block;
+ height: 24px;
+ line-height: 24px;
+ padding: 0;
+ float: left;
+}
+
+.openerp .oe_pager_m2o a {
+ padding: 0 8px;
+}
+
+.openerp .oe_extended_form_view .oe_form_field:empty {
+ display: inline-block ;
+}
+
+.openerp .oe_extended_form_view button {
+ margin-right: 10px
+}
+
+.openerp .oe_extended_form_view .oe_button_container .oe_form_field{
+ width: auto;
+ margin: 0px 10px 0px 10px;
+}
+.openerp .oe_extended_form_view .oe_button_container{
+ display: inline-block ;
+ width:100%;
+ margin: 10px;
+}
\ No newline at end of file
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index a08866613d9..e4ca9ada55f 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -48,7 +48,8 @@ instance.account.extend_actionmanager = instance.web.ActionManager.include({
instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
init: function(parent, action) {
this._super.apply(this,arguments);
- this.dataset_form = new instance.web.DataSetSearch(this, action.res_model, action.context, action.domain);
+ //Fix me: pass hard coded model name, find the way to fetch it from server
+ this.dataset_form = new instance.web.DataSetSearch(this, 'account.move.partner.info', action.context, action.domain);
},
start : function(){
this._super()
@@ -66,9 +67,7 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
obj_from_view;
view_id = this.action.extended_form_view_id[0]
from_view = this.registry.get_object('form_clone');
- this.dataset_form.context.extended_from = true
this.dataset_loaded = this.dataset_form.read_slice()
- this.dataset_form.context.extended_from = false
obj_from_view = new from_view(self, this.dataset_form, view_id, options={});
obj_from_view.template = 'ExtendedFormView'
view_promise = obj_from_view.appendTo(this.$element.find('.oe_extended_form_view'))
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account.xml
index 506d2c862dc..dba545b219a 100644
--- a/addons/account/static/src/xml/account.xml
+++ b/addons/account/static/src/xml/account.xml
@@ -14,7 +14,8 @@
-
+
+
-
+
+
@@ -42,6 +50,7 @@
+
From e137d17ea4cb767cc3e053dbbf463ff8ee718881 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 27 Jun 2012 18:41:47 +0530
Subject: [PATCH 14/99] clean up created seprated sql view so no need to added
field in model
bzr revid: rgaopenerp-20120627131147-mg94jfo9w4nu9e09
---
addons/account/account_move_line.py | 20 --------------------
addons/account/account_view.xml | 19 -------------------
2 files changed, 39 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 835456ce2c0..a1986e7ece6 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -470,22 +470,6 @@ class account_move_line(osv.osv):
for line in move.line_id:
result.append(line.id)
return result
-
- def _latest_entry_date(self, cr, uid, ids, prop, unknow_none, context=None):
- res = {}
- # ToDo write query to fetch the same date
- for accout_move_line in self.browse(cr, uid, ids, context=context):
- ids = self.search(cr, uid, [('partner_id','=',accout_move_line.partner_id.id)], context=context, limit=1, order='date')
- date = self.browse(cr, uid, ids, context=context)[0].date
- res[accout_move_line.id] = date
- return res
-
- def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
- #ToDo
- res = {}
- for id in ids:
- res[id] = 0.5
- return res
_columns = {
'name': fields.char('Name', size=64, required=True),
@@ -534,10 +518,6 @@ class account_move_line(osv.osv):
'account_tax_id':fields.many2one('account.tax', 'Tax'),
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'),
'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
- 'last_reconciliation_date': fields.related('partner_id', 'last_reconciliation_date', type='datetime', relation='res.partner', string='Latest Reconciliation Date',readonly=True),
- 'lastest_entry': fields.function(_latest_entry_date, type='date', string="Latest Entry"),
- 'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float')
-
}
def _get_date(self, cr, uid, context=None):
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 686d0a51e40..ba690ac0476 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -974,25 +974,6 @@
-
account.move.line.tree
account.move.line
From 750727be0f3d92131407e1a8a24f32c9f75438af Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 27 Jun 2012 19:15:10 +0530
Subject: [PATCH 15/99] [IMP] split code of account and account_follow_up
bzr revid: rgaopenerp-20120627134510-sbstm6r6gc55em89
---
addons/account/account_move_line_extended.py | 7 +++----
addons/account/account_move_line_extended.xml | 2 --
addons/account_followup/account_followup.py | 20 +++++++++++++++++++
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index b04d86284b6..d08d169f408 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -39,18 +39,17 @@ class account_move_partner_info(osv.osv):
'partner_id':fields.many2one('res.partner', 'Partner'),
'last_reconciliation_date':fields.datetime('Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
- 'followup_date': fields.date('Latest Follow-up'),
+# 'followup_date': fields.date('Latest Follow-up'),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float')
}
def init(self, cr):
- tools.drop_view_if_exists(cr, 'analytic_entries_report')
+ tools.drop_view_if_exists(cr, 'account_move_partner_info')
cr.execute("""
create or replace view account_move_partner_info as (
SELECT p.id, p.id as partner_id,
max(p.last_reconciliation_date) as last_reconciliation_date,
- max(l.date) as latest_date,
- max(l.followup_date) as followup_date
+ max(l.date) as latest_date
FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
group by p.id
)
diff --git a/addons/account/account_move_line_extended.xml b/addons/account/account_move_line_extended.xml
index 911c0d43f81..1733555771f 100644
--- a/addons/account/account_move_line_extended.xml
+++ b/addons/account/account_move_line_extended.xml
@@ -21,8 +21,6 @@
-
-
diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index b53558ab0e7..10a29bb2534 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -75,6 +75,26 @@ class account_move_line(osv.osv):
account_move_line()
+class account_move_partner_info(osv.osv):
+ _inherit = 'account.move.partner.info'
+ _columns = {
+ 'followup_date': fields.date('Latest Follow-up'),
+ }
+
+ def init(self, cr):
+ tools.drop_view_if_exists(cr, 'account_move_partner_info')
+ cr.execute("""
+ create or replace view account_move_partner_info as (
+ SELECT p.id, p.id as partner_id,
+ max(p.last_reconciliation_date) as last_reconciliation_date,
+ max(l.date) as latest_date,
+ max(l.followup_date) as followup_date
+ FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
+ group by p.id
+ )
+ """)
+account_move_partner_info()
+
class res_company(osv.osv):
_inherit = "res.company"
_columns = {
From daadbabfcbcdfdbdb6c33cb0e1df6ff419d34920 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 27 Jun 2012 19:30:08 +0530
Subject: [PATCH 16/99] [IMP] added follow up field in view
bzr revid: rgaopenerp-20120627140008-w6axntsn3brxnd2y
---
addons/account_followup/account_followup.py | 1 +
addons/account_followup/account_followup_view.xml | 12 ++++++++++++
2 files changed, 13 insertions(+)
diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index 10a29bb2534..02ddc151231 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -20,6 +20,7 @@
##############################################################################
from osv import fields, osv
+import tools
class followup(osv.osv):
_name = 'account_followup.followup'
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 89423327d68..297b5dc24ed 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -125,6 +125,18 @@
+
+
+ account.move.partner.info.followup
+ account.move.partner.info
+
+
+
+
+
+
+
+
account.move.line.tree.followup
From a1da26b2403ea9ccdf6ea126ea48268bf59723a5 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 2 Jul 2012 14:47:49 +0530
Subject: [PATCH 17/99] [IMP] remove search default and auto_search of view
bzr revid: rgaopenerp-20120702091749-9mlhml6ihrrq61t1
---
addons/account/account_view.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 64081970614..83607a112a2 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1481,8 +1481,9 @@
form
tree,form
+
- {'search_default_next_partner':1,'view_mode':True}
+ {'view_mode':True}
From a19f996a2fd35c00ea73dca37a79a55350025940 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 3 Jul 2012 11:30:39 +0530
Subject: [PATCH 18/99] [IMP] improve view, add max followup field and
remove(invisible) field from list view
bzr revid: rgaopenerp-20120703060039-9hg5051ng61a3dp6
---
addons/account/account_view.xml | 12 +++++-------
addons/account/static/src/css/account.css | 2 +-
addons/account_followup/account_followup.py | 5 ++++-
addons/account_followup/account_followup_view.xml | 1 +
4 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 83607a112a2..5cc89bbb985 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -982,12 +982,12 @@
-
+
-
-
-
+
+
+
@@ -996,9 +996,7 @@
-
-
-
+
diff --git a/addons/account/static/src/css/account.css b/addons/account/static/src/css/account.css
index 963c4391595..07d3a83893e 100644
--- a/addons/account/static/src/css/account.css
+++ b/addons/account/static/src/css/account.css
@@ -20,7 +20,7 @@
}
.openerp .oe_extended_form_view .oe_form_field:empty {
- display: inline-block ;
+ display: inline-block !important;
}
.openerp .oe_extended_form_view button {
diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index e563492e939..093a07d3859 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -80,6 +80,8 @@ class account_move_partner_info(osv.osv):
_inherit = 'account.move.partner.info'
_columns = {
'followup_date': fields.date('Latest Follow-up'),
+ 'max_followup_id':fields.many2one('account_followup.followup.line',
+ 'Max Follow Up Level' )
}
def init(self, cr):
@@ -89,7 +91,8 @@ class account_move_partner_info(osv.osv):
SELECT p.id, p.id as partner_id,
max(p.last_reconciliation_date) as last_reconciliation_date,
max(l.date) as latest_date,
- max(l.followup_date) as followup_date
+ max(l.followup_date) as followup_date,
+ max(l.followup_line_id) as max_followup_id
FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
group by p.id
)
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 2edfc64d29f..487836b98f0 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -135,6 +135,7 @@
+
From 81415e4df622367c5fbb5a603eb3bfc4d2f78d18 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 4 Jul 2012 12:33:56 +0530
Subject: [PATCH 19/99] [IMP] progress bar precentage count and added action on
button
bzr revid: rgaopenerp-20120704070356-35czqiavzjb1n0y1
---
addons/account/account_move_line_extended.py | 17 +++++++++++++----
addons/account/account_move_line_extended.xml | 4 ++--
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index d08d169f408..2a36a7a77d8 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -29,11 +29,20 @@ class account_move_partner_info(osv.osv):
_auto = False
def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
- #ToDo
- res = {}
+ res = 0
+ cr.execute("""SELECT partner_id, reconcile_id
+ FROM account_move_line WHERE state <> 'draft'
+ GROUP BY partner_id, reconcile_id""")
+ result = cr.fetchall()
+ partner_total = len(result)
+ partner_reconcile = len([ (x,y) for x, y in result if y == None ])
+ if partner_total:
+ res = float(partner_total- partner_reconcile)/partner_total * 100
+
+ res_all = {}
for id in ids:
- res[id] = 50
- return res
+ res_all[id] = res
+ return res_all
_columns = {
'partner_id':fields.many2one('res.partner', 'Partner'),
diff --git a/addons/account/account_move_line_extended.xml b/addons/account/account_move_line_extended.xml
index 1733555771f..27c52b2c7ac 100644
--- a/addons/account/account_move_line_extended.xml
+++ b/addons/account/account_move_line_extended.xml
@@ -18,8 +18,8 @@
-
-
+
+
From 82362ebf05330abae675102e0a08b148b4c0df33 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 4 Jul 2012 14:39:23 +0530
Subject: [PATCH 20/99] [IMP] reload form view after button action and imporve
view
bzr revid: rgaopenerp-20120704090923-oaih8y36tuc38m3u
---
addons/account/account_view.xml | 3 ++-
addons/account/static/src/css/account.css | 5 ++++-
addons/account/static/src/js/account.js | 3 +++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 5cc89bbb985..bae4d41642b 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -980,7 +980,7 @@
tree
-
+
@@ -997,6 +997,7 @@
+
diff --git a/addons/account/static/src/css/account.css b/addons/account/static/src/css/account.css
index 07d3a83893e..d08412655e6 100644
--- a/addons/account/static/src/css/account.css
+++ b/addons/account/static/src/css/account.css
@@ -35,4 +35,7 @@
display: inline-block ;
width:100%;
margin: 10px;
-}
\ No newline at end of file
+}
+.openerp .oe_extended_form_view .oe_form_field_progressbar.ui-progressbar {
+ width: 200px !important;
+}
\ No newline at end of file
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index e4ca9ada55f..544ec4ccbd2 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -136,6 +136,7 @@ instance.account.many2one_pager = instance.web.form.FieldMany2One.extend({
instance.account.list_button = instance.web.form.WidgetButton.extend({
on_click: function() {
+ var self = this
var list_view = this.view.getParent().list_view.controller
ids = list_view.get_selected_ids()
if (ids.length == 0) {
@@ -158,8 +159,10 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
self.do_action(result.result, function () {
// reload view
list_view.reload();
+ self.getParent().reload()
});
});
+
}
})
From 092a646c66a960df8eb0d555136daf563675d45e Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 6 Jul 2012 15:00:39 +0530
Subject: [PATCH 21/99] [IMP] click on nothing to reconcile button skip current
parnter
bzr revid: rgaopenerp-20120706093039-842mld92j582sals
---
addons/account/account_move_line_extended.py | 40 ++++++++++++-------
addons/account/account_move_line_extended.xml | 2 +-
addons/account/static/src/js/account.js | 33 ++++++++++++---
3 files changed, 55 insertions(+), 20 deletions(-)
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index 2a36a7a77d8..ce2df185bfc 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -44,34 +44,46 @@ class account_move_partner_info(osv.osv):
res_all[id] = res
return res_all
+ def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
+ ids = super(account_move_partner_info, self).search(cr, uid, args, offset, limit, order, context, count)
+ res = []
+ for l in self.browse(cr, uid, ids, context=context):
+ if (not l.partner_move_count) or (l.move_lines_count >l.partner_move_count):
+ res.append(l.id)
+ return res
+
_columns = {
'partner_id':fields.many2one('res.partner', 'Partner'),
'last_reconciliation_date':fields.datetime('Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
-# 'followup_date': fields.date('Latest Follow-up'),
- 'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float')
-
+ 'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float'),
+ 'move_lines_count':fields.integer('Move Count'),
+ 'partner_move_count':fields.integer('Partner move line count'),
}
+ def skip_partner(self, cr, uid, ids, context):
+ res_partner = self.pool.get('res.partner')
+ for line in self.browse(cr, uid, ids, context=context):
+ res_partner.write(cr, uid, [line.id] ,{'partner_move_count':line.move_lines_count})
+
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_partner_info')
cr.execute("""
create or replace view account_move_partner_info as (
SELECT p.id, p.id as partner_id,
max(p.last_reconciliation_date) as last_reconciliation_date,
- max(l.date) as latest_date
+ max(l.date) as latest_date,
+ count(l.id) as move_lines_count,
+ max(p.partner_move_count) as partner_move_count
FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
group by p.id
)
""")
account_move_partner_info()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
-
-
-#SELECT p.id as partner_id,
-# max(p.last_reconciliation_date) as last_reconciliation_date,
-# max(l.date) as latest_date,
-# max(l.followup_date) as followup_date
-#From account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
-#group by p.id
\ No newline at end of file
+class res_partner(osv.osv):
+ _inherit = 'res.partner'
+ _columns = {
+ 'partner_move_count': fields.integer('Partner move line count')
+ }
+res_partner()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account/account_move_line_extended.xml b/addons/account/account_move_line_extended.xml
index 27c52b2c7ac..8fcf518fc4c 100644
--- a/addons/account/account_move_line_extended.xml
+++ b/addons/account/account_move_line_extended.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 544ec4ccbd2..a3ad0f85ccd 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.tags.add('btn_extend','instance.account.btn_extend')
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) {
@@ -53,7 +54,7 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
},
start : function(){
this._super()
- this.setup_exended_list_view(this)
+ this.setup_exended_form_view(this)
},
on_mode_switch: function (view_type, no_store, options) {
self = this
@@ -61,7 +62,7 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
self.list_view = self.views['list']
})
},
- setup_exended_list_view: function(parent){
+ setup_exended_form_view: function(parent){
var self = this,
from_view,
obj_from_view;
@@ -106,8 +107,8 @@ instance.account.extend_form_view = instance.web.FormView.extend({
viewmanager.action.domain = (viewmanager.action.domain || []).concat([["partner_id", "=", id]])
viewmanager.searchview.do_search()
})
- }
-})
+ },
+ })
instance.account.many2one_pager = instance.web.form.FieldMany2One.extend({
template: "FieldMany2One_Pager",
display_string: function(str) {
@@ -132,7 +133,30 @@ instance.account.many2one_pager = instance.web.form.FieldMany2One.extend({
}
},
})
+instance.account.btn_extend = instance.web.form.WidgetButton.extend({
+ on_confirmed: function() {
+ var self = this;
+ var context = this.node.attrs.context;
+ if (context && context.__ref) {
+ context = new instance.web.CompoundContext(context);
+ context.set_eval_context(this._build_eval_context());
+ }
+
+ return this.view.do_execute_action(
+ _.extend({}, this.node.attrs, {context: context}),
+ this.view.dataset, this.view.datarecord.id, function () {
+ $.when(self.view.dataset.read_slice()).then(function() {
+ if (!_.isEmpty(self.view.dataset.ids)){
+ self.view.reload();
+ //reload list view
+ self.view.on_pager_action()
+ }
+ })
+
+ });
+ },
+})
instance.account.list_button = instance.web.form.WidgetButton.extend({
on_click: function() {
@@ -162,7 +186,6 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
self.getParent().reload()
});
});
-
}
})
From 3b4b66bf228251f2b038d157be73a597506b7ac4 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 6 Jul 2012 15:28:03 +0530
Subject: [PATCH 22/99] [FIX] crash due to class loading sequence, thanks to
rubot
bzr revid: rgaopenerp-20120706095803-i9gssjiz86p9n0i1
---
addons/account/account_move_line_extended.py | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index ce2df185bfc..441cbda7ae1 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -22,6 +22,12 @@
import tools
from osv import fields,osv
+class res_partner(osv.osv):
+ _inherit = 'res.partner'
+ _columns = {
+ 'partner_move_count': fields.integer('Partner move line count')
+ }
+res_partner()
class account_move_partner_info(osv.osv):
_name = "account.move.partner.info"
@@ -79,11 +85,4 @@ class account_move_partner_info(osv.osv):
)
""")
account_move_partner_info()
-
-class res_partner(osv.osv):
- _inherit = 'res.partner'
- _columns = {
- 'partner_move_count': fields.integer('Partner move line count')
- }
-res_partner()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
From a8ad37e65ac6fcabc0d14012f584fc56b7d58c8a Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 9 Jul 2012 18:20:49 +0530
Subject: [PATCH 23/99] [fix] crash on followup, inherit sql view
bzr revid: rgaopenerp-20120709125049-sld0p7ritubakoyc
---
addons/account_followup/account_followup.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index 093a07d3859..4497a254c50 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -87,10 +87,12 @@ class account_move_partner_info(osv.osv):
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_partner_info')
cr.execute("""
- create or replace view account_move_partner_info as (
+ create or replace view account_move_partner_info as (
SELECT p.id, p.id as partner_id,
max(p.last_reconciliation_date) as last_reconciliation_date,
- max(l.date) as latest_date,
+ max(l.date) as latest_date,
+ count(l.id) as move_lines_count,
+ max(p.partner_move_count) as partner_move_count,
max(l.followup_date) as followup_date,
max(l.followup_line_id) as max_followup_id
FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
From 2685fdad71971a81b6fe27d2ac84157c4d3e69b2 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Thu, 12 Jul 2012 17:45:25 +0530
Subject: [PATCH 24/99] [IMP] unreconsile entry should be default selected
bzr revid: rgaopenerp-20120712121525-llgvoufl9usmeq31
---
addons/account/static/src/js/account.js | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index a3ad0f85ccd..fb911dfa135 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -48,7 +48,7 @@ instance.account.extend_actionmanager = instance.web.ActionManager.include({
instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
init: function(parent, action) {
- this._super.apply(this,arguments);
+ this._super.apply(this, arguments);
//Fix me: pass hard coded model name, find the way to fetch it from server
this.dataset_form = new instance.web.DataSetSearch(this, 'account.move.partner.info', action.context, action.domain);
},
@@ -104,6 +104,7 @@ instance.account.extend_form_view = instance.web.FormView.extend({
viewmanager.action.domain = this.original_domain
$.when(this._super(action)).then(function() {
var id = self.get_fields_values().partner_id;
+ // apply domain on list
viewmanager.action.domain = (viewmanager.action.domain || []).concat([["partner_id", "=", id]])
viewmanager.searchview.do_search()
})
@@ -153,7 +154,6 @@ instance.account.btn_extend = instance.web.form.WidgetButton.extend({
self.view.on_pager_action()
}
})
-
});
},
})
@@ -188,5 +188,18 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
});
}
})
-
+instance.account.set_selection = instance.web.ListView.List.include({
+ render: function(){
+ this._super()
+ self = this
+ if (this.options.action && this.options.action.extended_form_view_id){
+ this.$current.find('th.oe_list_record_selector input')
+ .closest('tr').each(function () {
+ var record = self.records.get($(this).data('id'));
+ if (!record.get('reconcile_id'))
+ $(this).find('th.oe_list_record_selector input').prop('checked', true)
+ })
+ }
+ }
+})
}
From d3436e56a0101967321d14b6dc6a5713b4f2cdeb Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 17 Jul 2012 10:49:28 +0530
Subject: [PATCH 25/99] [IMP] Add commment
bzr revid: rgaopenerp-20120717051928-iqmcwigxne71zyj8
---
addons/account/static/src/js/account.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index fb911dfa135..1eb66035bb3 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -192,6 +192,7 @@ instance.account.set_selection = instance.web.ListView.List.include({
render: function(){
this._super()
self = this
+ // To Do: Create method on addons which give ids which have to default selected OR create tag like "colors" on tree
if (this.options.action && this.options.action.extended_form_view_id){
this.$current.find('th.oe_list_record_selector input')
.closest('tr').each(function () {
From b6f1b50b34e1474ff3838f65b85472f39fd7e2ee Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 17 Jul 2012 15:56:34 +0530
Subject: [PATCH 26/99] [IMP] view and resolve conflict
bzr revid: rgaopenerp-20120717102634-qklib4p9j6lwahyx
---
addons/account/static/src/css/account.css | 13 +++++++++++-
addons/account/static/src/js/account.js | 25 ++++++++++++++---------
2 files changed, 27 insertions(+), 11 deletions(-)
diff --git a/addons/account/static/src/css/account.css b/addons/account/static/src/css/account.css
index d08412655e6..a60d7c24788 100644
--- a/addons/account/static/src/css/account.css
+++ b/addons/account/static/src/css/account.css
@@ -6,7 +6,11 @@
border-radius: 10px;
border:2px solid;
}
-
+
+.openerp .oe_extended_form_view .oe_form_nosheet {
+ margin: 2px;
+}
+
.openerp .oe_pager_m2o li {
display: inline-block;
height: 24px;
@@ -23,6 +27,13 @@
display: inline-block !important;
}
+.openerp .oe_extended_form_view .oe_datepicker_root {
+ display: inline-block;
+ min-width: 100px;
+}
+.openerp .oe_extended_form_view .oe_form_field {
+ width: auto;
+}
.openerp .oe_extended_form_view button {
margin-right: 10px
}
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 1eb66035bb3..63671de2b10 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -16,20 +16,23 @@ instance.account.extend_actionmanager = instance.web.ActionManager.include({
};
}
if (action.target === 'new') {
- if (this.dialog == null) {
- this.dialog = new instance.web.Dialog(this, { width: '80%' });
+ if (this.dialog === null) {
+ // These buttons will be overwrited by if any
+ this.dialog = new instance.web.Dialog(this, {
+ buttons: { "Close": function() { $(this).dialog("close"); }},
+ dialogClass: 'oe_act_window'
+ });
if(on_close)
this.dialog.on_close.add(on_close);
} else {
- this.dialog_viewmanager.destroy();
+ this.dialog_widget.destroy();
}
this.dialog.dialog_title = action.name;
- this.dialog_viewmanager = new instance.web.ViewManagerAction(this, action);
- this.dialog_viewmanager.appendTo(this.dialog.$element);
+ this.dialog_widget = new instance.web.ViewManagerAction(this, action);
+ this.dialog_widget.appendTo(this.dialog.$element);
this.dialog.open();
} else {
this.dialog_stop();
- this.content_stop();
if(action.menu_id) {
return this.getParent().do_action(action, function () {
instance.webclient.menu.open_menu(action.menu_id);
@@ -37,15 +40,17 @@ instance.account.extend_actionmanager = instance.web.ActionManager.include({
}
this.inner_action = action;
if (action.extended_form_view_id){
- this.inner_viewmanager = new instance.account.extend_viewmanager(this, action);
+ var inner_widget = this.inner_widget = new instance.account.extend_viewmanager(this, action);
}else{
- this.inner_viewmanager = new instance.web.ViewManagerAction(this, action);
+ var inner_widget = this.inner_widget = new instance.web.ViewManagerAction(this, action);
}
- this.inner_viewmanager.appendTo(this.$element);
+ inner_widget.add_breadcrumb();
+ this.inner_widget.appendTo(this.$element);
}
- },
+ }
})
+
instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
init: function(parent, action) {
this._super.apply(this, arguments);
From 5a4e4db5187832c40759d7fb86be37437db2448b Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 20 Jul 2012 11:52:13 +0530
Subject: [PATCH 27/99] [IMP] set default selected record when list view load
bzr revid: rgaopenerp-20120720062213-h78ahslrl7u2zoqr
---
addons/account/account_move_line.py | 10 +++-
addons/account/account_view.xml | 2 +-
addons/account/static/src/js/account.js | 51 ++++++++++++++-----
.../account/wizard/account_reconcile_view.xml | 12 ++---
4 files changed, 51 insertions(+), 24 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index fe29a45ee0f..49698d8ae5b 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -107,7 +107,15 @@ class account_move_line(osv.osv):
query += company_clause
return query
-
+
+ def get_selection_ids(self, cr, uid, ids, context=None):
+ records = self.read(cr, uid, ids, ['reconcile_id'])
+ res = []
+ for record in records:
+ if not record.get('reconcile_id'):
+ res.append(record['id'])
+ return res
+
def _amount_residual(self, cr, uid, ids, field_names, args, context=None):
"""
This function returns the residual amount on a receivable or payable account.move.line.
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 8df7613b9c8..3785eec890f 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1023,7 +1023,7 @@
tree
-
+
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 63671de2b10..15ef397aa1a 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -140,6 +140,21 @@ instance.account.many2one_pager = instance.web.form.FieldMany2One.extend({
},
})
instance.account.btn_extend = instance.web.form.WidgetButton.extend({
+ on_click: function() {
+ var self = this;
+ this.force_disabled = true;
+ this.check_disable();
+ this.execute_action().always(function() {
+ self.force_disabled = false;
+ self.check_disable();
+ self.reload_view();
+ });
+
+ },
+ reload_view :function(){
+ viewmanager = this.view.getParent().getParent()
+ viewmanager.inner_widget.list_view.controller.reload_content();
+ },
on_confirmed: function() {
var self = this;
@@ -193,19 +208,29 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
});
}
})
-instance.account.set_selection = instance.web.ListView.List.include({
- render: function(){
- this._super()
- self = this
- // To Do: Create method on addons which give ids which have to default selected OR create tag like "colors" on tree
- if (this.options.action && this.options.action.extended_form_view_id){
- this.$current.find('th.oe_list_record_selector input')
- .closest('tr').each(function () {
- var record = self.records.get($(this).data('id'));
- if (!record.get('reconcile_id'))
- $(this).find('th.oe_list_record_selector input').prop('checked', true)
- })
+instance.account.set_selection = instance.web.ListView.include({
+ default_selection: function(){
+ var self = this
+ selection_method = this.fields_view.arch.attrs.default_selection;
+ if(selection_method){
+ this.dataset.call(selection_method, [this.dataset.ids], this.context).then(_.bind(self.set_selection, self));
}
- }
+ },
+
+ set_selection : function(ids){
+ this.$element.find('th.oe_list_record_selector input')
+ .closest('tr').each(function () {
+ if(_.include(ids, $(this).data('id'))){
+ $(this).find('th.oe_list_record_selector input').prop('checked', true)
+ }
+ }
+ );
+ },
+ reload_content: function() {
+ var reloaded =this._super()
+ var self = this
+ reloaded.done(_.bind(self.default_selection, self))
+ },
})
+
}
diff --git a/addons/account/wizard/account_reconcile_view.xml b/addons/account/wizard/account_reconcile_view.xml
index 947dce930a5..426eeeb4514 100644
--- a/addons/account/wizard/account_reconcile_view.xml
+++ b/addons/account/wizard/account_reconcile_view.xml
@@ -8,21 +8,15 @@
form
-
From a4ca0428b674679e443a43a7ee37da6666c0f13e Mon Sep 17 00:00:00 2001
From: "Hiral Patel (OpenERP)"
Date: Tue, 24 Jul 2012 11:33:27 +0530
Subject: [PATCH 28/99] [MERGE] Merge with hip's branch
bzr revid: hip@tinyerp.com-20120724060327-q05ax15tmp2zdynw
---
addons/account/account_view.xml | 345 ++++++++++++++------------------
1 file changed, 152 insertions(+), 193 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 6388e655f9c..3785eec890f 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -17,6 +17,7 @@
+
@@ -37,10 +38,10 @@
-
+
@@ -98,28 +99,21 @@
form
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -469,59 +463,62 @@
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
@@ -621,13 +618,6 @@
-
-
-
-
-
-
-
@@ -636,6 +626,7 @@
+
@@ -930,15 +921,15 @@
-
+
-
-
+
+
-
+
@@ -1061,66 +1052,69 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1323,23 +1317,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -1431,7 +1418,8 @@
-
+
+
@@ -1539,41 +1527,14 @@
{'view_mode':True}
-
-
- Entries To Reconcile
- account.move.line
- form
- tree,form
-
-
- [('partner_id.customer','=',True)]
- {'view_mode':True}
-
-
-
- Entries To Reconcile
- account.move.line
- form
- tree,form
-
-
- [('partner_id.supplier','=',True)]
- {'view_mode':True}
-
+
-
-
-
-
+
+
+
-
-
+
+
+
+
+
@@ -2631,22 +2597,15 @@ action = pool.get('res.config').next(cr, uid, [], context)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
From 3c434f7450c4da43164470cd0de2516935a3154f Mon Sep 17 00:00:00 2001
From: "Hiral Patel (OpenERP)"
Date: Tue, 24 Jul 2012 11:43:02 +0530
Subject: [PATCH 29/99] [IMP] Add submenu to Manual Reconciliation
bzr revid: hip@tinyerp.com-20120724061302-kxiiioj6n1w8pewp
---
addons/account/account_view.xml | 33 ++++++++++++++++++++++++++++++---
1 file changed, 30 insertions(+), 3 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 3785eec890f..b32ac8d46af 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1516,7 +1516,6 @@
-
Entries To Reconcile
account.move.line
@@ -1527,14 +1526,42 @@
{'view_mode':True}
-
+
+
+ Entries To Reconcile
+ account.move.line
+ form
+ tree,form
+
+
+ [('partner_id.customer','=',True)]
+ {'view_mode':True}
+
+
+
+ Entries To Reconcile
+ account.move.line
+ form
+ tree,form
+
+
+ [('partner_id.supplier','=',True)]
+ {'view_mode':True}
+
+
+
+
+
Date: Wed, 1 Aug 2012 17:46:40 +0530
Subject: [PATCH 30/99] [ADD] payment wizard on bank statement line
bzr revid: rgaopenerp-20120801121640-r81nvodxv9kwjizz
---
addons/account_voucher/__openerp__.py | 2 +-
addons/account_voucher/account_voucher.py | 26 +++++++++++++++++++
.../account_voucher/account_voucher_view.xml | 1 +
.../voucher_payment_receipt_view.xml | 2 ++
4 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py
index 0b37bdbd4a2..c8f18281cf4 100644
--- a/addons/account_voucher/__openerp__.py
+++ b/addons/account_voucher/__openerp__.py
@@ -51,8 +51,8 @@ eInvoicing & Payments module manage all Voucher Entries such as "Reconciliation
"account_voucher_report.xml",
"wizard/account_voucher_unreconcile_view.xml",
"wizard/account_statement_from_invoice_view.xml",
- "account_voucher_view.xml",
"voucher_payment_receipt_view.xml",
+ "account_voucher_view.xml",
"voucher_sales_purchase_view.xml",
"account_voucher_wizard.xml",
"account_voucher_pay_invoice.xml",
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 2cefaf15f0e..14e25c1a453 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1495,7 +1495,33 @@ account_bank_statement()
class account_bank_statement_line(osv.osv):
_inherit = 'account.bank.statement.line'
+
+ def bank_st_payment(self, cr, uid, ids, context):
+ record = record_id = False
+ for rec in self.browse(cr, uid, ids, context=context):
+ record_id = rec.voucher_id and rec.voucher_id .id or False
+ record = rec
+ mod_obj = self.pool.get('ir.model.data')
+ if record and record.type == 'customer':
+ res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
+ else:
+ res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_payment_form')
+ view_id = res and res[1] or False
+ context.update({'partner_id':record.partner_id.id, 'amount':record.amount})
+
+ return {
+ 'name': _('Payment Entry'),
+ 'res_model': 'account.voucher',
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'target':'new',
+ 'view_id':view_id,
+ 'context': context,
+ 'res_id':record_id,
+ 'type': 'ir.actions.act_window'
+ }
+
def _amount_reconciled(self, cursor, user, ids, name, args, context=None):
if not ids:
return {}
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index d1912a58d1c..1cfa8488d7e 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -226,6 +226,7 @@
+
diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml
index 372d8aa1937..7eca832089a 100644
--- a/addons/account_voucher/voucher_payment_receipt_view.xml
+++ b/addons/account_voucher/voucher_payment_receipt_view.xml
@@ -72,6 +72,8 @@
+
+
Date: Mon, 6 Aug 2012 10:52:07 +0530
Subject: [PATCH 31/99] [IMP] record should be selected(checked) by default
bzr revid: rgaopenerp-20120806052207-4cpwu4zpi6p30wgd
---
addons/account/account_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index d7026217dc4..91ff57c2e71 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1928,7 +1928,7 @@
tree
-
+
From 65ae69521b267b529e486329406d7e0cb9828243 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 15:00:59 +0530
Subject: [PATCH 32/99] [IMP] code clean up
bzr revid: rgaopenerp-20120806093059-3xk320oduvb5ceo0
---
addons/account/account_move_line.py | 32 ++------------------
addons/account/account_move_line_extended.py | 14 +++++++++
2 files changed, 17 insertions(+), 29 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index d697444c446..5eb56bfa645 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -107,15 +107,7 @@ class account_move_line(osv.osv):
query += company_clause
return query
-
- def get_selection_ids(self, cr, uid, ids, context=None):
- records = self.read(cr, uid, ids, ['reconcile_id'])
- res = []
- for record in records:
- if not record.get('reconcile_id'):
- res.append(record['id'])
- return res
-
+
def _amount_residual(self, cr, uid, ids, field_names, args, context=None):
"""
This function returns the residual amount on a receivable or payable account.move.line.
@@ -526,7 +518,7 @@ class account_move_line(osv.osv):
type='many2one', relation='account.invoice', fnct_search=_invoice_search),
'account_tax_id':fields.many2one('account.tax', 'Tax'),
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'),
- 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
+ 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
}
def _get_date(self, cr, uid, context=None):
@@ -717,26 +709,8 @@ class account_move_line(osv.osv):
if not partner:
return []
args.append(('partner_id', '=', partner[0]))
- 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
+ return super(account_move_line, self).search(cr, uid, args, offset, limit, order, context, count)
- 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(
"""
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index 441cbda7ae1..8b2ede0b697 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -29,6 +29,20 @@ class res_partner(osv.osv):
}
res_partner()
+class account_move_line(osv.osv):
+ _inherit = "account.move.line"
+
+ def get_selection_ids(self, cr, uid, ids, context=None):
+ records = self.read(cr, uid, ids, ['reconcile_id'])
+ res = []
+ for record in records:
+ if not record.get('reconcile_id'):
+ res.append(record['id'])
+ return res
+
+account_move_line();
+
+
class account_move_partner_info(osv.osv):
_name = "account.move.partner.info"
_description = "All partner info related account move line"
From abe9798b4abcfb69f2b89c4e66598867c77717f5 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 16:14:20 +0530
Subject: [PATCH 33/99] [IMP] Change method name
bzr revid: rgaopenerp-20120806104420-vs7yh16adq2lafpq
---
addons/account/account_move_line_extended.py | 2 +-
addons/account/account_view.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index 8b2ede0b697..5c474d5ca52 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -32,7 +32,7 @@ res_partner()
class account_move_line(osv.osv):
_inherit = "account.move.line"
- def get_selection_ids(self, cr, uid, ids, context=None):
+ def get_unreconcile_entry(self, cr, uid, ids, context=None):
records = self.read(cr, uid, ids, ['reconcile_id'])
res = []
for record in records:
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index cad59f82783..c1a966db8cb 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -2049,7 +2049,7 @@
tree
-
+
From d3ff658fe2b3cca0572c5de9be25bcd08be50325 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 16:16:31 +0530
Subject: [PATCH 34/99] [REM] remove default selection from addons it should be
added in web
bzr revid: rgaopenerp-20120806104631-woy75igiysygblad
---
addons/account/static/src/js/account.js | 26 +------------------------
1 file changed, 1 insertion(+), 25 deletions(-)
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account.js
index 15ef397aa1a..5a6245e395d 100644
--- a/addons/account/static/src/js/account.js
+++ b/addons/account/static/src/js/account.js
@@ -208,29 +208,5 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
});
}
})
-instance.account.set_selection = instance.web.ListView.include({
- default_selection: function(){
- var self = this
- selection_method = this.fields_view.arch.attrs.default_selection;
- if(selection_method){
- this.dataset.call(selection_method, [this.dataset.ids], this.context).then(_.bind(self.set_selection, self));
- }
- },
-
- set_selection : function(ids){
- this.$element.find('th.oe_list_record_selector input')
- .closest('tr').each(function () {
- if(_.include(ids, $(this).data('id'))){
- $(this).find('th.oe_list_record_selector input').prop('checked', true)
- }
- }
- );
- },
- reload_content: function() {
- var reloaded =this._super()
- var self = this
- reloaded.done(_.bind(self.default_selection, self))
- },
-})
-
+
}
From 80dd5bdfbc76fbdc514dac584178c72ec8c103c5 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 16:51:23 +0530
Subject: [PATCH 35/99] [IMP] Added field to act windows
bzr revid: rgaopenerp-20120806112123-7eusxdvd6gweyqaf
---
addons/account/account_move_line_extended.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_line_extended.py
index 5c474d5ca52..9820f33ef15 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_line_extended.py
@@ -22,6 +22,13 @@
import tools
from osv import fields,osv
+class act_window(osv.osv):
+ _inherit = 'ir.actions.act_window'
+ _columns = {
+ 'extended_form_view_id': fields.many2one('ir.ui.view', 'Account form view ref.'),
+ }
+act_window()
+
class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
From 08fd6917b5ae77de801f3d78e6c872423103cac5 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 17:02:48 +0530
Subject: [PATCH 36/99] [IMP] change file name
bzr revid: rgaopenerp-20120806113248-urvz0z1bqje57t0h
---
addons/account/__openerp__.py | 6 +++---
.../css/{account.css => account_move_reconciliation.css} | 0
.../src/js/{account.js => account_move_reconciliation.js} | 0
.../xml/{account.xml => account_move_reconciliation.xml} | 0
4 files changed, 3 insertions(+), 3 deletions(-)
rename addons/account/static/src/css/{account.css => account_move_reconciliation.css} (100%)
rename addons/account/static/src/js/{account.js => account_move_reconciliation.js} (100%)
rename addons/account/static/src/xml/{account.xml => account_move_reconciliation.xml} (100%)
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index c10823ef6fb..e136c75f9c4 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -129,12 +129,12 @@ financial year and for preparation of vouchers there is a module named account_v
"account_pre_install.yml"
],
'js': [
- 'static/src/js/account.js',
+ 'static/src/js/account_move_reconciliation.js',
],
'qweb' : [
- "static/src/xml/account.xml",
+ "static/src/xml/account_move_reconciliation.xml",
],
- 'css':['static/src/css/account.css'
+ 'css':['static/src/css/account_move_reconciliation.css'
],
'demo_xml': [
'demo/account_demo.xml',
diff --git a/addons/account/static/src/css/account.css b/addons/account/static/src/css/account_move_reconciliation.css
similarity index 100%
rename from addons/account/static/src/css/account.css
rename to addons/account/static/src/css/account_move_reconciliation.css
diff --git a/addons/account/static/src/js/account.js b/addons/account/static/src/js/account_move_reconciliation.js
similarity index 100%
rename from addons/account/static/src/js/account.js
rename to addons/account/static/src/js/account_move_reconciliation.js
diff --git a/addons/account/static/src/xml/account.xml b/addons/account/static/src/xml/account_move_reconciliation.xml
similarity index 100%
rename from addons/account/static/src/xml/account.xml
rename to addons/account/static/src/xml/account_move_reconciliation.xml
From 89328b74ab831cfac8bdeecd6e19660e3426fdf2 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 18:23:32 +0530
Subject: [PATCH 37/99] [IMP] change model name + clean up
bzr revid: rgaopenerp-20120806125332-y0bp5ojab6d72ksq
---
addons/account/__init__.py | 2 +-
addons/account/__openerp__.py | 2 +-
...nded.py => account_move_reconciliation.py} | 22 ++++++++--------
...ed.xml => account_move_reconciliation.xml} | 6 ++---
addons/account/account_view.xml | 8 +++---
.../src/js/account_move_reconciliation.js | 2 +-
addons/account_followup/__init__.py | 1 +
addons/account_followup/__openerp__.py | 1 +
addons/account_followup/account_followup.py | 25 -------------------
.../account_followup_view.xml | 13 ----------
10 files changed, 23 insertions(+), 59 deletions(-)
rename addons/account/{account_move_line_extended.py => account_move_reconciliation.py} (86%)
rename addons/account/{account_move_line_extended.xml => account_move_reconciliation.xml} (84%)
diff --git a/addons/account/__init__.py b/addons/account/__init__.py
index 3a2273379da..c5a3a154740 100644
--- a/addons/account/__init__.py
+++ b/addons/account/__init__.py
@@ -38,6 +38,6 @@ import company
import res_currency
import edi
import res_config
-import account_move_line_extended
+import account_move_reconciliation
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index e136c75f9c4..0542c9fa79e 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -66,7 +66,7 @@ financial year and for preparation of vouchers there is a module named account_v
'wizard/account_period_close_view.xml',
'wizard/account_reconcile_view.xml',
'wizard/account_unreconcile_view.xml',
- 'account_move_line_extended.xml',
+ 'account_move_reconciliation.xml',
'account_view.xml',
'account_report.xml',
'account_financial_report_data.xml',
diff --git a/addons/account/account_move_line_extended.py b/addons/account/account_move_reconciliation.py
similarity index 86%
rename from addons/account/account_move_line_extended.py
rename to addons/account/account_move_reconciliation.py
index 9820f33ef15..f30fe9cb040 100644
--- a/addons/account/account_move_line_extended.py
+++ b/addons/account/account_move_reconciliation.py
@@ -50,8 +50,8 @@ class account_move_line(osv.osv):
account_move_line();
-class account_move_partner_info(osv.osv):
- _name = "account.move.partner.info"
+class account_move_reconciliation(osv.osv):
+ _name = "account.move.reconciliation"
_description = "All partner info related account move line"
_auto = False
@@ -72,7 +72,7 @@ class account_move_partner_info(osv.osv):
return res_all
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
- ids = super(account_move_partner_info, self).search(cr, uid, args, offset, limit, order, context, count)
+ ids = super(account_move_reconciliation, self).search(cr, uid, args, offset, limit, order, context, count)
res = []
for l in self.browse(cr, uid, ids, context=context):
if (not l.partner_move_count) or (l.move_lines_count >l.partner_move_count):
@@ -93,17 +93,17 @@ class account_move_partner_info(osv.osv):
res_partner.write(cr, uid, [line.id] ,{'partner_move_count':line.move_lines_count})
def init(self, cr):
- tools.drop_view_if_exists(cr, 'account_move_partner_info')
+ tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
- create or replace view account_move_partner_info as (
+ CREATE or REPLACE VIEW account_move_reconciliation as (
SELECT p.id, p.id as partner_id,
- max(p.last_reconciliation_date) as last_reconciliation_date,
- max(l.date) as latest_date,
- count(l.id) as move_lines_count,
- max(p.partner_move_count) as partner_move_count
+ MAX(p.last_reconciliation_date) as last_reconciliation_date,
+ MAX(l.date) as latest_date,
+ COUNT(l.id) as move_lines_count,
+ MAX(p.partner_move_count) as partner_move_count
FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
- group by p.id
+ GROUP by p.id
)
""")
-account_move_partner_info()
+account_move_reconciliation()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account/account_move_line_extended.xml b/addons/account/account_move_reconciliation.xml
similarity index 84%
rename from addons/account/account_move_line_extended.xml
rename to addons/account/account_move_reconciliation.xml
index 8fcf518fc4c..162ddb6ce32 100644
--- a/addons/account/account_move_line_extended.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -1,9 +1,9 @@
-
- account.move.partner.info.form
- account.move.partner.info
+
+ account.move.reconciliation.form
+ account.move.reconciliation
form
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index c1a966db8cb..2356dbf2ac5 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1087,7 +1087,7 @@
tree
-
+
@@ -1589,7 +1589,7 @@
tree,form
-
+
{'view_mode':True}
@@ -1599,7 +1599,7 @@
form
tree,form
-
+
[('partner_id.customer','=',True)]
{'view_mode':True}
@@ -1610,7 +1610,7 @@
form
tree,form
-
+
[('partner_id.supplier','=',True)]
{'view_mode':True}
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 5a6245e395d..646f187914b 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -55,7 +55,7 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
init: function(parent, action) {
this._super.apply(this, arguments);
//Fix me: pass hard coded model name, find the way to fetch it from server
- this.dataset_form = new instance.web.DataSetSearch(this, 'account.move.partner.info', action.context, action.domain);
+ this.dataset_form = new instance.web.DataSetSearch(this, 'account.move.reconciliation', action.context, action.domain);
},
start : function(){
this._super()
diff --git a/addons/account_followup/__init__.py b/addons/account_followup/__init__.py
index 4bfe3186298..395ce5475c8 100644
--- a/addons/account_followup/__init__.py
+++ b/addons/account_followup/__init__.py
@@ -22,5 +22,6 @@
import account_followup
import wizard
import report
+import account_move_reconciliation
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py
index e8724b01b4e..cfc8c39908f 100644
--- a/addons/account_followup/__openerp__.py
+++ b/addons/account_followup/__openerp__.py
@@ -58,6 +58,7 @@ entry, you can do from in the menu:
'report/account_followup_report.xml',
'account_followup_demo.xml', # Defined by default
'account_followup_view.xml',
+ 'account_move_reconciliation.xml',
'account_followup_data.xml',
],
'demo_xml': [],
diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index 4497a254c50..ad419736c57 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -76,31 +76,6 @@ class account_move_line(osv.osv):
account_move_line()
-class account_move_partner_info(osv.osv):
- _inherit = 'account.move.partner.info'
- _columns = {
- 'followup_date': fields.date('Latest Follow-up'),
- 'max_followup_id':fields.many2one('account_followup.followup.line',
- 'Max Follow Up Level' )
- }
-
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'account_move_partner_info')
- cr.execute("""
- create or replace view account_move_partner_info as (
- SELECT p.id, p.id as partner_id,
- max(p.last_reconciliation_date) as last_reconciliation_date,
- max(l.date) as latest_date,
- count(l.id) as move_lines_count,
- max(p.partner_move_count) as partner_move_count,
- max(l.followup_date) as followup_date,
- max(l.followup_line_id) as max_followup_id
- FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
- group by p.id
- )
- """)
-account_move_partner_info()
-
class res_company(osv.osv):
_inherit = "res.company"
_columns = {
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 315f1ea5c0a..3d1d4333bbb 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -132,19 +132,6 @@
-
-
- account.move.partner.info.followup
- account.move.partner.info
-
-
-
-
-
-
-
-
-
account.move.line.tree.followup
From 7da51cd8bb3787f9a14da7a577d4c62992010a36 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 18:27:45 +0530
Subject: [PATCH 38/99] [ADD] inherit view of account reconciliation
bzr revid: rgaopenerp-20120806125745-w0s1k2lw6x7587sq
---
.../account_move_reconciliation.py | 27 +++++++++++++++++++
.../account_move_reconciliation.xml | 17 ++++++++++++
2 files changed, 44 insertions(+)
create mode 100644 addons/account_followup/account_move_reconciliation.py
create mode 100644 addons/account_followup/account_move_reconciliation.xml
diff --git a/addons/account_followup/account_move_reconciliation.py b/addons/account_followup/account_move_reconciliation.py
new file mode 100644
index 00000000000..b185b9a7347
--- /dev/null
+++ b/addons/account_followup/account_move_reconciliation.py
@@ -0,0 +1,27 @@
+from osv import fields, osv
+import tools
+
+class account_move_reconciliation(osv.osv):
+ _inherit = 'account.move.reconciliation'
+ _columns = {
+ 'followup_date': fields.date('Latest Follow-up'),
+ 'max_followup_id':fields.many2one('account_followup.followup.line',
+ 'Max Follow Up Level' )
+ }
+
+ def init(self, cr):
+ tools.drop_view_if_exists(cr, 'account_move_reconciliation')
+ cr.execute("""
+ CREATE or REPLACE VIEW account_move_reconciliation as (
+ SELECT p.id, p.id as partner_id,
+ MAX(p.last_reconciliation_date) as last_reconciliation_date,
+ MAX(l.date) as latest_date,
+ COUNT(l.id) as move_lines_count,
+ MAX(p.partner_move_count) as partner_move_count,
+ MAX(l.followup_date) as followup_date,
+ MAX(l.followup_line_id) as max_followup_id
+ FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
+ GROUP by p.id
+ )
+ """)
+account_move_reconciliation()
\ No newline at end of file
diff --git a/addons/account_followup/account_move_reconciliation.xml b/addons/account_followup/account_move_reconciliation.xml
new file mode 100644
index 00000000000..9759acc0c47
--- /dev/null
+++ b/addons/account_followup/account_move_reconciliation.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ account.move.reconciliation.followup
+ account.move.reconciliation
+
+
+
+
+
+
+
+
+
+
+
From ce3973795d4054bd9ca6860ec4fab36bd0ee13cf Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 6 Aug 2012 18:50:34 +0530
Subject: [PATCH 39/99] Clean up remove unused code
bzr revid: rgaopenerp-20120806132034-sgt4vd0omm8ito1o
---
.../src/js/account_move_reconciliation.js | 39 +++++--------------
1 file changed, 9 insertions(+), 30 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 646f187914b..6f0e105366b 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -155,27 +155,6 @@ instance.account.btn_extend = instance.web.form.WidgetButton.extend({
viewmanager = this.view.getParent().getParent()
viewmanager.inner_widget.list_view.controller.reload_content();
},
- on_confirmed: function() {
- var self = this;
-
- var context = this.node.attrs.context;
- if (context && context.__ref) {
- context = new instance.web.CompoundContext(context);
- context.set_eval_context(this._build_eval_context());
- }
-
- return this.view.do_execute_action(
- _.extend({}, this.node.attrs, {context: context}),
- this.view.dataset, this.view.datarecord.id, function () {
- $.when(self.view.dataset.read_slice()).then(function() {
- if (!_.isEmpty(self.view.dataset.ids)){
- self.view.reload();
- //reload list view
- self.view.on_pager_action()
- }
- })
- });
- },
})
instance.account.list_button = instance.web.form.WidgetButton.extend({
@@ -195,15 +174,15 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
self.rpc("/web/action/load", {
action_id: py.eval(this.node.attrs.name),
context: additional_context
- }, function(result) {
- result.result.context = _.extend(result.result.context || {},
- additional_context);
- result.result.flags = result.result.flags || {};
- result.result.flags.new_window = true;
- self.do_action(result.result, function () {
- // reload view
- list_view.reload();
- self.getParent().reload()
+ }, function(result) {
+ result.result.context = _.extend(result.result.context || {},
+ additional_context);
+ result.result.flags = result.result.flags || {};
+ result.result.flags.new_window = true;
+ self.do_action(result.result, function () {
+ // reload view
+ list_view.reload();
+ self.getParent().reload()
});
});
}
From 7cf4fb877960ce5c3316daa14aeb220f7abc3fc0 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 7 Aug 2012 14:14:10 +0530
Subject: [PATCH 40/99] [IMP] remove addition field from act_window, pass it
through context of action
bzr revid: rgaopenerp-20120807084410-1w2jycfedlgg80f0
---
addons/account/__openerp__.py | 2 +-
addons/account/account_move_reconciliation.py | 7 ---
addons/account/account_view.xml | 5 +-
.../src/js/account_move_reconciliation.js | 63 +++----------------
4 files changed, 11 insertions(+), 66 deletions(-)
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 0542c9fa79e..950ee2da895 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -66,8 +66,8 @@ financial year and for preparation of vouchers there is a module named account_v
'wizard/account_period_close_view.xml',
'wizard/account_reconcile_view.xml',
'wizard/account_unreconcile_view.xml',
- 'account_move_reconciliation.xml',
'account_view.xml',
+ 'account_move_reconciliation.xml',
'account_report.xml',
'account_financial_report_data.xml',
'wizard/account_report_common_view.xml',
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index f30fe9cb040..8dee6e98b22 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -22,13 +22,6 @@
import tools
from osv import fields,osv
-class act_window(osv.osv):
- _inherit = 'ir.actions.act_window'
- _columns = {
- 'extended_form_view_id': fields.many2one('ir.ui.view', 'Account form view ref.'),
- }
-act_window()
-
class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 2356dbf2ac5..3e1f2ac01cd 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1601,7 +1601,7 @@
[('partner_id.customer','=',True)]
- {'view_mode':True}
+
@@ -1610,9 +1610,8 @@
form
tree,form
-
[('partner_id.supplier','=',True)]
- {'view_mode':True}
+
if any
- this.dialog = new instance.web.Dialog(this, {
- buttons: { "Close": function() { $(this).dialog("close"); }},
- dialogClass: 'oe_act_window'
- });
- if(on_close)
- this.dialog.on_close.add(on_close);
- } else {
- this.dialog_widget.destroy();
- }
- this.dialog.dialog_title = action.name;
- this.dialog_widget = new instance.web.ViewManagerAction(this, action);
- this.dialog_widget.appendTo(this.dialog.$element);
- this.dialog.open();
- } else {
- this.dialog_stop();
- if(action.menu_id) {
- return this.getParent().do_action(action, function () {
- instance.webclient.menu.open_menu(action.menu_id);
- });
- }
- this.inner_action = action;
- if (action.extended_form_view_id){
- var inner_widget = this.inner_widget = new instance.account.extend_viewmanager(this, action);
- }else{
- var inner_widget = this.inner_widget = new instance.web.ViewManagerAction(this, action);
- }
- inner_widget.add_breadcrumb();
- this.inner_widget.appendTo(this.$element);
- }
- }
- })
-
-
-instance.account.extend_viewmanager = instance.web.ViewManagerAction.extend({
- init: function(parent, action) {
- this._super.apply(this, arguments);
- //Fix me: pass hard coded model name, find the way to fetch it from server
- this.dataset_form = new instance.web.DataSetSearch(this, 'account.move.reconciliation', action.context, action.domain);
- },
+
+instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
start : function(){
this._super()
- this.setup_exended_form_view(this)
+ if(this.action.context && this.action.context.extended_form_view_id)
+ this.setup_exended_form_view(this)
},
on_mode_switch: function (view_type, no_store, options) {
self = this
self.list_loaded = $.when(this._super.apply(this, arguments)).then(function () {
- self.list_view = self.views['list']
+ if(self.action.context && self.action.context.extended_form_view_id)
+ self.list_view = self.views['list']
})
},
setup_exended_form_view: function(parent){
var self = this,
from_view,
obj_from_view;
- view_id = this.action.extended_form_view_id[0]
+ view_id = this.action.context.extended_form_view_id
from_view = this.registry.get_object('form_clone');
+ this.dataset_form = new instance.web.DataSetSearch(this, 'account.move.reconciliation', this.action.context, this.action.domain);
this.dataset_loaded = this.dataset_form.read_slice()
obj_from_view = new from_view(self, this.dataset_form, view_id, options={});
obj_from_view.template = 'ExtendedFormView'
From 1d0beb57791b339e6e8302e27036b7c574eb60c7 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 7 Aug 2012 15:51:23 +0530
Subject: [PATCH 41/99] [IMP] improve view reduce css depencency
bzr revid: rgaopenerp-20120807102123-c9fq33cz7r2pjked
---
.../account/account_move_reconciliation.xml | 37 ++++++++++------
.../src/js/account_move_reconciliation.js | 25 +----------
.../src/xml/account_move_reconciliation.xml | 43 +------------------
.../account_move_reconciliation.xml | 4 +-
4 files changed, 30 insertions(+), 79 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 162ddb6ce32..bc0f1145594 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -8,20 +8,33 @@
+
-
-
-
-
-
-
-
-
-
+
diff --git a/addons/account_followup/account_move_reconciliation.xml b/addons/account_followup/account_move_reconciliation.xml
index 9759acc0c47..f27bf9207eb 100644
--- a/addons/account_followup/account_move_reconciliation.xml
+++ b/addons/account_followup/account_move_reconciliation.xml
@@ -6,11 +6,11 @@
account.move.reconciliation
-
+
-
+
From a567a1fc5cd67823928dbb5273ac1c74cc9dcbed Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 7 Aug 2012 17:04:19 +0530
Subject: [PATCH 42/99] [FIX/IMP] fix indetantion and add css for pager button
bzr revid: rgaopenerp-20120807113419-v11tltq2k1kcw66o
---
.../account/account_move_reconciliation.xml | 46 ++++++++-----------
addons/account/account_view.xml | 2 -
.../src/css/account_move_reconciliation.css | 17 +++++++
.../src/js/account_move_reconciliation.js | 1 -
4 files changed, 37 insertions(+), 29 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index bc0f1145594..96054d0548d 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -9,32 +9,26 @@
-
-
-
-
- ()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 3e1f2ac01cd..b6880dab90d 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1589,7 +1589,6 @@
tree,form
-
{'view_mode':True}
@@ -1599,7 +1598,6 @@
form
tree,form
-
[('partner_id.customer','=',True)]
diff --git a/addons/account/static/src/css/account_move_reconciliation.css b/addons/account/static/src/css/account_move_reconciliation.css
index a60d7c24788..2757227ac2d 100644
--- a/addons/account/static/src/css/account_move_reconciliation.css
+++ b/addons/account/static/src/css/account_move_reconciliation.css
@@ -11,6 +11,23 @@
margin: 2px;
}
+.openerp .oe_pager_button{
+ float: left;
+ height: 22px;
+ line-height: 24px;
+ display: inline-block;
+ border: 1px solid #ababab;
+ color: #4c4c4c;
+ cursor: pointer;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ padding: 0 5px 0 5px;
+ margin: 0 2px 0 2px;
+ float: left;
+ border-right: 1px solid #ababab;
+}
+
.openerp .oe_pager_m2o li {
display: inline-block;
height: 24px;
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index f6204c2e0d2..53d1b27f820 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -4,7 +4,6 @@ var _t = instance.web._t,
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.tags.add('btn_extend','instance.account.btn_extend')
-instance.web.form.widgets.add('many2one_pager','instance.account.many2one_pager')
instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
start : function(){
From 512f5a1bc5aa945877772352675f33a56b8e6ce4 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 7 Aug 2012 19:04:27 +0530
Subject: [PATCH 43/99] [REM] remove button widget
bzr revid: rgaopenerp-20120807133427-kskuv8gtf72fdlwe
---
.../account/account_move_reconciliation.xml | 4 +-
.../src/js/account_move_reconciliation.js | 78 ++++++-------------
.../account/wizard/account_reconcile_view.xml | 6 +-
3 files changed, 30 insertions(+), 58 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 96054d0548d..d98f929d05b 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -22,8 +22,8 @@
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 53d1b27f820..8e21bb6e84d 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -2,8 +2,6 @@ openerp.account = function(instance) {
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.tags.add('btn_extend','instance.account.btn_extend')
instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
start : function(){
@@ -11,13 +9,6 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
if(this.action.context && this.action.context.extended_form_view_id)
this.setup_exended_form_view(this)
},
- on_mode_switch: function (view_type, no_store, options) {
- self = this
- self.list_loaded = $.when(this._super.apply(this, arguments)).then(function () {
- if(self.action.context && self.action.context.extended_form_view_id)
- self.list_view = self.views['list']
- })
- },
setup_exended_form_view: function(parent){
var self = this,
from_view,
@@ -45,51 +36,15 @@ instance.account.extend_form_view = instance.web.FormView.extend({
on_loaded: function(data) {
this._super.apply(this,arguments);
var self = this
+ this.$element.find(".oe_reconcile").on('click', this.do_reconcilation)
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) {
+ do_reconcilation:function(event){
var self = this
- var viewmanager = self.getParent();
- viewmanager.action.domain = this.original_domain
- $.when(this._super(action)).then(function() {
- var id = self.get_fields_values().partner_id;
- // apply domain on list
- viewmanager.action.domain = (viewmanager.action.domain || []).concat([["partner_id", "=", id]])
- viewmanager.searchview.do_search()
- })
- },
- })
-
-instance.account.btn_extend = instance.web.form.WidgetButton.extend({
- on_click: function() {
- var self = this;
- this.force_disabled = true;
- this.check_disable();
- this.execute_action().always(function() {
- self.force_disabled = false;
- self.check_disable();
- self.reload_view();
- });
-
- },
- reload_view :function(){
- viewmanager = this.view.getParent().getParent()
- viewmanager.inner_widget.list_view.controller.reload_content();
- },
-})
-
-instance.account.list_button = instance.web.form.WidgetButton.extend({
- on_click: function() {
- var self = this
- var list_view = this.view.getParent().list_view.controller
+ var list_view = this.getParent().views['list'].controller
ids = list_view.get_selected_ids()
if (ids.length == 0) {
instance.web.dialog($("
").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
@@ -101,7 +56,7 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
active_model: list_view.dataset.model
});
self.rpc("/web/action/load", {
- action_id: py.eval(this.node.attrs.name),
+ action_id: py.eval(event.target.name),
context: additional_context
}, function(result) {
result.result.context = _.extend(result.result.context || {},
@@ -111,10 +66,27 @@ instance.account.list_button = instance.web.form.WidgetButton.extend({
self.do_action(result.result, function () {
// reload view
list_view.reload();
- self.getParent().reload()
});
});
- }
-})
-
+
+ },
+ 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();
+ viewmanager.action.domain = this.original_domain
+ $.when(this._super(action)).then(function() {
+ var id = self.get_fields_values().partner_id;
+ // apply domain on list
+ viewmanager.action.domain = (viewmanager.action.domain || []).concat([["partner_id", "=", id]])
+ viewmanager.searchview.do_search();
+ })
+ },
+ })
+
}
diff --git a/addons/account/wizard/account_reconcile_view.xml b/addons/account/wizard/account_reconcile_view.xml
index 426eeeb4514..1b36394a7e0 100644
--- a/addons/account/wizard/account_reconcile_view.xml
+++ b/addons/account/wizard/account_reconcile_view.xml
@@ -14,9 +14,9 @@
From 085e20a23d85f749a765767ff53531c72a4c2842 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 8 Aug 2012 11:04:42 +0530
Subject: [PATCH 44/99] [REM/IMP] remove button from form view and improve css
bzr revid: rgaopenerp-20120808053442-ljzf2wy1lmxsdslt
---
.../account/account_move_reconciliation.xml | 4 +-
.../src/css/account_move_reconciliation.css | 51 ++++++++++---------
.../src/js/account_move_reconciliation.js | 12 ++++-
3 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index d98f929d05b..62ae504ab89 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -22,8 +22,8 @@
diff --git a/addons/account/static/src/css/account_move_reconciliation.css b/addons/account/static/src/css/account_move_reconciliation.css
index 2757227ac2d..c087cde296e 100644
--- a/addons/account/static/src/css/account_move_reconciliation.css
+++ b/addons/account/static/src/css/account_move_reconciliation.css
@@ -25,45 +25,46 @@
padding: 0 5px 0 5px;
margin: 0 2px 0 2px;
float: left;
- border-right: 1px solid #ababab;
+}
+
+.openerp .oe_reconcile_button {
+ float: left;
+ display: inline-block;
+ background-color: #EFEFEF;
+ background-image: -moz-linear-gradient(center top , #EFEFEF, #D8D8D8);
+ border: 1px solid #ABABAB;
+ border-radius: 3px 3px 3px 3px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
+ color: #404040;
+ display: inline-block;
+ font-size: 13px;
+ margin: 0 3px 0 3px;
+ padding: 3px 12px;
+ text-align: center;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}
-.openerp .oe_pager_m2o li {
- display: inline-block;
- height: 24px;
- line-height: 24px;
- padding: 0;
- float: left;
+.openerp .oe_reconcile_button:hover {
+ background-color: #E3E3E3;
+ background-image: -moz-linear-gradient(center top , #E3E3E3, #F6F6F6);
+ box-shadow: none;
}
-.openerp .oe_pager_m2o a {
- padding: 0 8px;
+.openerp .oe_reconcile_button a:hover {
+ text-decoration: none
}
-
.openerp .oe_extended_form_view .oe_form_field:empty {
display: inline-block !important;
}
.openerp .oe_extended_form_view .oe_datepicker_root {
- display: inline-block;
- min-width: 100px;
+ display: inline-block;
+ min-width: 100px;
}
.openerp .oe_extended_form_view .oe_form_field {
- width: auto;
-}
-.openerp .oe_extended_form_view button {
- margin-right: 10px
-}
-
-.openerp .oe_extended_form_view .oe_button_container .oe_form_field{
width: auto;
- margin: 0px 10px 0px 10px;
}
-.openerp .oe_extended_form_view .oe_button_container{
- display: inline-block ;
- width:100%;
- margin: 10px;
-}
+
.openerp .oe_extended_form_view .oe_form_field_progressbar.ui-progressbar {
width: 200px !important;
}
\ No newline at end of file
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 8e21bb6e84d..b8435da7c9b 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -37,6 +37,7 @@ instance.account.extend_form_view = instance.web.FormView.extend({
this._super.apply(this,arguments);
var self = this
this.$element.find(".oe_reconcile").on('click', this.do_reconcilation)
+ this.$element.find(".oe_nothing_to_reconcile").on('click', this.do_nothing_to_reconcile)
this.$element.on('click','a[data-pager-action]',function() {
var action = $(this).data('pager-action');
self.on_pager_action(action);
@@ -68,8 +69,17 @@ instance.account.extend_form_view = instance.web.FormView.extend({
list_view.reload();
});
});
-
},
+
+ do_nothing_to_reconcile:function(event){
+ self = this
+ this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
+ self.dataset.read_slice().done(function(){
+ self.on_pager_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()
From 7b26f82778944a5955129fefe80bd675c57cff5a Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 8 Aug 2012 11:36:47 +0530
Subject: [PATCH 45/99] [IMP] imporve view (CSS)
bzr revid: rgaopenerp-20120808060647-9pgjic3obic4wwrg
---
.../static/src/css/account_move_reconciliation.css | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/addons/account/static/src/css/account_move_reconciliation.css b/addons/account/static/src/css/account_move_reconciliation.css
index c087cde296e..59861a66b68 100644
--- a/addons/account/static/src/css/account_move_reconciliation.css
+++ b/addons/account/static/src/css/account_move_reconciliation.css
@@ -11,7 +11,7 @@
margin: 2px;
}
-.openerp .oe_pager_button{
+.openerp .oe_pager_button {
float: left;
height: 22px;
line-height: 24px;
@@ -26,6 +26,9 @@
margin: 0 2px 0 2px;
float: left;
}
+.openerp .oe_pager_button:hover{
+ text-decoration:none !important;
+}
.openerp .oe_reconcile_button {
float: left;
@@ -35,16 +38,18 @@
border: 1px solid #ABABAB;
border-radius: 3px 3px 3px 3px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- color: #404040;
+ color: #4C4C4C !important;
display: inline-block;
font-size: 13px;
margin: 0 3px 0 3px;
padding: 3px 12px;
+ cursor: pointer;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}
.openerp .oe_reconcile_button:hover {
+ text-decoration:none !important;
background-color: #E3E3E3;
background-image: -moz-linear-gradient(center top , #E3E3E3, #F6F6F6);
box-shadow: none;
From fbddeaa021aa4d43f9b0248d73cc8722bda22e9c Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 8 Aug 2012 19:27:47 +0530
Subject: [PATCH 46/99] [IMP] impromve sql view for model, remove method for
nothing to reconcile button
bzr revid: rgaopenerp-20120808135747-vdi2wztvi9qprsus
---
addons/account/__openerp__.py | 2 +-
addons/account/account_move_reconciliation.py | 57 +++++++------------
addons/account/account_view.xml | 14 +----
.../src/js/account_move_reconciliation.js | 11 ++--
4 files changed, 27 insertions(+), 57 deletions(-)
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 950ee2da895..0542c9fa79e 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -66,8 +66,8 @@ financial year and for preparation of vouchers there is a module named account_v
'wizard/account_period_close_view.xml',
'wizard/account_reconcile_view.xml',
'wizard/account_unreconcile_view.xml',
- 'account_view.xml',
'account_move_reconciliation.xml',
+ 'account_view.xml',
'account_report.xml',
'account_financial_report_data.xml',
'wizard/account_report_common_view.xml',
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 8dee6e98b22..f885214ec65 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -22,12 +22,9 @@
import tools
from osv import fields,osv
-class res_partner(osv.osv):
- _inherit = 'res.partner'
- _columns = {
- 'partner_move_count': fields.integer('Partner move line count')
- }
-res_partner()
+#1. Remove field from res.partner
+
+#4 remove get_unreconcile_entry method mange it with domain
class account_move_line(osv.osv):
_inherit = "account.move.line"
@@ -49,53 +46,37 @@ class account_move_reconciliation(osv.osv):
_auto = False
def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
+ active_ids = context.get('active_ids', [])
res = 0
- cr.execute("""SELECT partner_id, reconcile_id
- FROM account_move_line WHERE state <> 'draft'
- GROUP BY partner_id, reconcile_id""")
- result = cr.fetchall()
- partner_total = len(result)
- partner_reconcile = len([ (x,y) for x, y in result if y == None ])
- if partner_total:
- res = float(partner_total- partner_reconcile)/partner_total * 100
-
+ if active_ids:
+ total_records = self.search(cr, uid, [('id','in',active_ids)])
+ total_reconcile = 0
+ for record in self.read(cr, uid, total_records, ['reconcile_count'], context=context):
+ if record['reconcile_count'] > 0:
+ total_reconcile += 1
+ res = float(total_reconcile)/len(total_records) * 100
res_all = {}
for id in ids:
res_all[id] = res
return res_all
- def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
- ids = super(account_move_reconciliation, self).search(cr, uid, args, offset, limit, order, context, count)
- res = []
- for l in self.browse(cr, uid, ids, context=context):
- if (not l.partner_move_count) or (l.move_lines_count >l.partner_move_count):
- res.append(l.id)
- return res
-
+
_columns = {
'partner_id':fields.many2one('res.partner', 'Partner'),
- 'last_reconciliation_date':fields.datetime('Last Reconciliation'),
+ 'last_reconciliation_date':fields.related('partner_id', 'last_reconciliation_date' ,type='datetime', relation='res.partner', string='Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float'),
- 'move_lines_count':fields.integer('Move Count'),
- 'partner_move_count':fields.integer('Partner move line count'),
+ 'reconcile_count':fields.integer('Reconcile Count'),
}
- def skip_partner(self, cr, uid, ids, context):
- res_partner = self.pool.get('res.partner')
- for line in self.browse(cr, uid, ids, context=context):
- res_partner.write(cr, uid, [line.id] ,{'partner_move_count':line.move_lines_count})
-
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT p.id, p.id as partner_id,
- MAX(p.last_reconciliation_date) as last_reconciliation_date,
- MAX(l.date) as latest_date,
- COUNT(l.id) as move_lines_count,
- MAX(p.partner_move_count) as partner_move_count
- FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
- GROUP by p.id
+ SELECT move_line.partner_id as id, move_line.partner_id,
+ MAX(move_line.date) as latest_date,
+ (select count(reconcile.id) from account_move_line as reconcile where reconcile.reconcile_id is not null and reconcile.partner_id = move_line.partner_id) as reconcile_count
+ FROM account_move_line as move_line where move_line.state <> 'draft'
+ GROUP by move_line.partner_id
)
""")
account_move_reconciliation()
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index b6880dab90d..8f4089e5e2c 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1582,16 +1582,6 @@
-
- Entries To Reconcile
- account.move.line
- form
- tree,form
-
-
- {'view_mode':True}
-
-
Entries To Reconcile
account.move.line
@@ -1599,7 +1589,7 @@
tree,form
[('partner_id.customer','=',True)]
-
+
@@ -1609,7 +1599,7 @@
tree,form
[('partner_id.supplier','=',True)]
-
+
Date: Thu, 9 Aug 2012 12:20:42 +0530
Subject: [PATCH 47/99] [IMP] progress bar and reload formon destroy of
reconcile wizard
bzr revid: rgaopenerp-20120809065042-bl8tyauxovr07r2v
---
addons/account/account_move_reconciliation.py | 16 +++++++---------
.../static/src/js/account_move_reconciliation.js | 10 ++++++----
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index f885214ec65..eaf9d31f976 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -22,8 +22,6 @@
import tools
from osv import fields,osv
-#1. Remove field from res.partner
-
#4 remove get_unreconcile_entry method mange it with domain
class account_move_line(osv.osv):
@@ -50,11 +48,11 @@ class account_move_reconciliation(osv.osv):
res = 0
if active_ids:
total_records = self.search(cr, uid, [('id','in',active_ids)])
- total_reconcile = 0
- for record in self.read(cr, uid, total_records, ['reconcile_count'], context=context):
- if record['reconcile_count'] > 0:
- total_reconcile += 1
- res = float(total_reconcile)/len(total_records) * 100
+ total_unreconcile = 0
+ for record in self.read(cr, uid, total_records, ['unreconcile_count'], context=context):
+ if record['unreconcile_count'] > 0:
+ total_unreconcile += 1
+ res = float(len(total_records) - total_unreconcile)/len(total_records) * 100
res_all = {}
for id in ids:
res_all[id] = res
@@ -66,7 +64,7 @@ class account_move_reconciliation(osv.osv):
'last_reconciliation_date':fields.related('partner_id', 'last_reconciliation_date' ,type='datetime', relation='res.partner', string='Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float'),
- 'reconcile_count':fields.integer('Reconcile Count'),
+ 'unreconcile_count':fields.integer('Unreconcile Count'),
}
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
@@ -74,7 +72,7 @@ class account_move_reconciliation(osv.osv):
CREATE or REPLACE VIEW account_move_reconciliation as (
SELECT move_line.partner_id as id, move_line.partner_id,
MAX(move_line.date) as latest_date,
- (select count(reconcile.id) from account_move_line as reconcile where reconcile.reconcile_id is not null and reconcile.partner_id = move_line.partner_id) as reconcile_count
+ (select count(unreconcile.id) from account_move_line as unreconcile where unreconcile.reconcile_id is null and unreconcile.partner_id = move_line.partner_id) as unreconcile_count
FROM account_move_line as move_line where move_line.state <> 'draft'
GROUP by move_line.partner_id
)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 03a41fef8a3..765a48af13b 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -68,15 +68,17 @@ instance.account.extend_form_view = instance.web.FormView.extend({
self.do_action(result.result, function () {
// reload view
list_view.reload();
+ self.reload();
});
});
},
- do_nothing_to_reconcile:function(event){
- viewmanager = this.getParent();
+ do_nothing_to_reconcile:function(){
this.dataset.ids = _.without(this.dataset.ids, this.datarecord.id)
- viewmanager.action.context.active_ids = viewmanager.dataset_form.ids;
- this.on_pager_action();
+ // viewmanager = this.getParent();
+ // viewmanager.action.context.active_ids = viewmanager.dataset_form.ids;
+ if (!_.isEmpty(this.dataset.ids))
+ this.on_pager_action('first');
},
do_update_pager: function(hide_index) {
From bd79baf8b39073b73ac5b4f50a8ddb382313bb5d Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Thu, 9 Aug 2012 14:47:47 +0530
Subject: [PATCH 48/99] [fix] inheretied view of account followup
bzr revid: rgaopenerp-20120809091747-46o45ssfkmoh9shf
---
.../account_move_reconciliation.py | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/addons/account_followup/account_move_reconciliation.py b/addons/account_followup/account_move_reconciliation.py
index b185b9a7347..6370a4bbdca 100644
--- a/addons/account_followup/account_move_reconciliation.py
+++ b/addons/account_followup/account_move_reconciliation.py
@@ -12,16 +12,14 @@ class account_move_reconciliation(osv.osv):
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
- CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT p.id, p.id as partner_id,
- MAX(p.last_reconciliation_date) as last_reconciliation_date,
- MAX(l.date) as latest_date,
- COUNT(l.id) as move_lines_count,
- MAX(p.partner_move_count) as partner_move_count,
- MAX(l.followup_date) as followup_date,
- MAX(l.followup_line_id) as max_followup_id
- FROM account_move_line as l INNER JOIN res_partner AS p ON (l.partner_id = p.id)
- GROUP by p.id
+ CREATE or REPLACE VIEW account_move_reconciliation as (
+ SELECT move_line.partner_id as id, move_line.partner_id,
+ MAX(move_line.date) as latest_date,
+ MAX(move_line.followup_date) as followup_date,
+ MAX(move_line.followup_line_id) as max_followup_id,
+ (select count(unreconcile.id) from account_move_line as unreconcile where unreconcile.reconcile_id is null and unreconcile.partner_id = move_line.partner_id) as unreconcile_count
+ FROM account_move_line as move_line where move_line.state <> 'draft'
+ GROUP by move_line.partner_id
)
""")
account_move_reconciliation()
\ No newline at end of file
From 7f38e9b7486071829535622fea8cf00e36a4036c Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Mon, 13 Aug 2012 14:16:28 +0530
Subject: [PATCH 49/99] [REVIEW] account_voucher: reconcile/unreconcile button
in bank statment line
bzr revid: hmo@tinyerp.com-20120813084628-ohvzyadke3knlbq0
---
addons/account_voucher/account_voucher.py | 20 +++++++++----------
.../account_voucher/account_voucher_view.xml | 8 ++++++--
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 3979796b4ed..0c5ba8cf7ce 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1494,19 +1494,18 @@ account_bank_statement()
class account_bank_statement_line(osv.osv):
_inherit = 'account.bank.statement.line'
- def bank_st_payment(self, cr, uid, ids, context):
- record = record_id = False
- for rec in self.browse(cr, uid, ids, context=context):
- record_id = rec.voucher_id and rec.voucher_id .id or False
- record = rec
+ def action_payment_reconcile(self, cr, uid, ids, context=None):
+ statement_id = ids[0]
+ statement = self.browse(cr, uid, statement_id, context=context)
+ voucher = statement.voucher_id or False
+ if voucher and voucher.state == 'posted':
+ return voucher.cancel_voucher(context=context)
mod_obj = self.pool.get('ir.model.data')
- if record and record.type == 'customer':
+ if voucher and voucher.type == 'customer':
res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
else:
res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_payment_form')
view_id = res and res[1] or False
- context.update({'partner_id':record.partner_id.id, 'amount':record.amount})
-
return {
'name': _('Payment Entry'),
'res_model': 'account.voucher',
@@ -1515,10 +1514,9 @@ class account_bank_statement_line(osv.osv):
'target':'new',
'view_id':view_id,
'context': context,
- 'res_id':record_id,
+ 'res_id':voucher and voucher.id or False,
'type': 'ir.actions.act_window'
- }
-
+ }
def _amount_reconciled(self, cursor, user, ids, name, args, context=None):
if not ids:
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index be91624755e..6d0658218eb 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -219,8 +219,12 @@
-
-
+
+
+
From 7bd2b9092fc71d1375f777b3f3021517f9483407 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 20 Aug 2012 15:19:32 +0530
Subject: [PATCH 50/99] [IMP] improve css for reconcile button of list view
bzr revid: rgaopenerp-20120820094932-sk4ralcauj3qe5m8
---
.../src/css/account_move_reconciliation.css | 22 +++++++++++++++++++
.../account_voucher/account_voucher_view.xml | 3 +--
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/addons/account/static/src/css/account_move_reconciliation.css b/addons/account/static/src/css/account_move_reconciliation.css
index 59861a66b68..0cedec95f09 100644
--- a/addons/account/static/src/css/account_move_reconciliation.css
+++ b/addons/account/static/src/css/account_move_reconciliation.css
@@ -72,4 +72,26 @@
.openerp .oe_extended_form_view .oe_form_field_progressbar.ui-progressbar {
width: 200px !important;
+}
+
+.openerp .oe_list_content > tbody > tr > td > button.reconcile_btn {
+ color: white;
+ background-color: #8a89ba;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#8a89ba), to(#807fb4));
+ background-image: -webkit-linear-gradient(top, #8a89ba, #807fb4);
+ background-image: -moz-linear-gradient(top, #8a89ba, #807fb4);
+ background-image: -ms-linear-gradient(top, #8a89ba, #807fb4);
+ background-image: -o-linear-gradient(top, #8a89ba, #807fb4);
+ background-image: linear-gradient(to bottom, #8a89ba, #807fb4);
+ padding: 0 5px 0 5px;
+}
+.openerp .oe_list_content > tbody > tr > td > button.reconcile_btn:hover {
+ color: white;
+ background-color: #807fb4;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#807fb4), to(#8a89ba));
+ background-image: -webkit-linear-gradient(top, #807fb4, #8a89ba);
+ background-image: -moz-linear-gradient(top, #807fb4, #8a89ba);
+ background-image: -ms-linear-gradient(top, #807fb4, #8a89ba);
+ background-image: -o-linear-gradient(top, #807fb4, #8a89ba);
+ background-image: linear-gradient(to bottom, #807fb4, #8a89ba);
}
\ No newline at end of file
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index 6d0658218eb..c7618a3c411 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -223,8 +223,7 @@
Reconcile
Unreconcile
-->
-
-
+
From 3a4a7ddd0ede5dae94ed58a65a3ea10655fb277b Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 20 Aug 2012 19:56:45 +0530
Subject: [PATCH 51/99] [IMP] nothing to reconcile button shuould remove
partner from list and this partner should added back when new related move
line created
bzr revid: rgaopenerp-20120820142645-z0x2252s18wa0yt9
---
addons/account/account_move_reconciliation.py | 24 ++++++++++++++++++-
.../src/js/account_move_reconciliation.js | 11 +++++----
2 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index eaf9d31f976..992c1f2a906 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -18,6 +18,9 @@
# along with this program. If not, see .
#
##############################################################################
+import time
+from datetime import datetime
+
import tools
from osv import fields,osv
@@ -58,7 +61,26 @@ class account_move_reconciliation(osv.osv):
res_all[id] = res
return res_all
-
+ def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
+ obj_move_line = self.pool.get('account.move.line')
+ ids = super(account_move_reconciliation, self).search(cr, uid, args, offset, limit, order, context, count)
+ res_ids = []
+ for id in ids:
+ last_reconciliation_date = self.browse(cr, uid, id, context=context).last_reconciliation_date
+ if not last_reconciliation_date:
+ res_ids.append(id)
+ else:
+ move_ids = obj_move_line.search(cr, uid, [('partner_id','=', id),('create_date','>', last_reconciliation_date)])
+ if move_ids:
+ res_ids.append(id)
+ return res_ids
+
+ def skip_partner(self, cr, uid, ids, context):
+ res_partner = self.pool.get('res.partner')
+ for partner in self.browse(cr, uid, ids, context=context):
+ res_partner.write(cr, uid, [partner.id] ,{'last_reconciliation_date':time.strftime("%Y-%m-%d %H:%M:%S")})
+
+
_columns = {
'partner_id':fields.many2one('res.partner', 'Partner'),
'last_reconciliation_date':fields.related('partner_id', 'last_reconciliation_date' ,type='datetime', relation='res.partner', string='Last Reconciliation'),
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 765a48af13b..a061730cd90 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -74,11 +74,12 @@ instance.account.extend_form_view = instance.web.FormView.extend({
},
do_nothing_to_reconcile:function(){
- this.dataset.ids = _.without(this.dataset.ids, this.datarecord.id)
- // viewmanager = this.getParent();
- // viewmanager.action.context.active_ids = viewmanager.dataset_form.ids;
- if (!_.isEmpty(this.dataset.ids))
- this.on_pager_action('first');
+ self = this
+ this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
+ self.dataset.read_slice().done(function(){
+ self.on_pager_action('first');
+ });
+ })
},
do_update_pager: function(hide_index) {
From 161cb3e8b0d546f74712a81e3d0ebed9d08d99ca Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Tue, 21 Aug 2012 14:09:42 +0530
Subject: [PATCH 52/99] [IMP] code clean up + fix crash when dataset has no
value
bzr revid: rgaopenerp-20120821083942-d032uvt13ij3jadi
---
addons/account/account_move_reconciliation.py | 2 --
.../account/static/src/js/account_move_reconciliation.js | 7 +++++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 992c1f2a906..0590440b861 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -19,8 +19,6 @@
#
##############################################################################
import time
-from datetime import datetime
-
import tools
from osv import fields,osv
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index a061730cd90..de233043187 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -74,12 +74,15 @@ instance.account.extend_form_view = instance.web.FormView.extend({
},
do_nothing_to_reconcile:function(){
- self = this
+ var self = this
+ if (!_.isEmpty(this.dataset.ids)){
this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
self.dataset.read_slice().done(function(){
- self.on_pager_action('first');
+ if (!_.isEmpty(self.dataset.ids))
+ self.on_pager_action('first');
});
})
+ }
},
do_update_pager: function(hide_index) {
From c6502634bff19d4456afbe922004ccdb469b938b Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 22 Aug 2012 11:04:01 +0530
Subject: [PATCH 53/99] [IMP] improve view + add functional field in statement
to disable list button
bzr revid: rgaopenerp-20120822053401-vyczfhzo3l3zavty
---
addons/account/account_move_reconciliation.xml | 4 ++--
.../src/css/account_move_reconciliation.css | 4 +++-
addons/account_voucher/account_voucher.py | 15 ++++++++++++---
addons/account_voucher/account_voucher_view.xml | 3 ++-
4 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 62ae504ab89..5e26b9c0bec 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -21,12 +21,12 @@
-
+
-
+
diff --git a/addons/account/static/src/css/account_move_reconciliation.css b/addons/account/static/src/css/account_move_reconciliation.css
index 0cedec95f09..f4136a79ef4 100644
--- a/addons/account/static/src/css/account_move_reconciliation.css
+++ b/addons/account/static/src/css/account_move_reconciliation.css
@@ -73,7 +73,9 @@
.openerp .oe_extended_form_view .oe_form_field_progressbar.ui-progressbar {
width: 200px !important;
}
-
+.openerp .oe_extended_form_view div.oe_reconcile_row{
+ margin-top:7px;
+}
.openerp .oe_list_content > tbody > tr > td > button.reconcile_btn {
color: white;
background-color: #8a89ba;
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 9a3af14f665..d91c6158d18 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1499,8 +1499,6 @@ class account_bank_statement_line(osv.osv):
statement_id = ids[0]
statement = self.browse(cr, uid, statement_id, context=context)
voucher = statement.voucher_id or False
- if voucher and voucher.state == 'posted':
- return voucher.cancel_voucher(context=context)
mod_obj = self.pool.get('ir.model.data')
if voucher and voucher.type == 'customer':
res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
@@ -1529,7 +1527,16 @@ class account_bank_statement_line(osv.osv):
else:
res[line.id] = 0.0
return res
-
+
+ def _is_reconciled(self, cr, uid, ids, name, args, context=None):
+ res = {}
+ for line in self.browse(cr, uid, ids, context=context):
+ if line.voucher_id and line.voucher_id.state == 'posted':
+ res[line.id] = True
+ else:
+ res[line.id] = False
+ return res
+
def _check_amount(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
if obj.voucher_id:
@@ -1543,6 +1550,8 @@ class account_bank_statement_line(osv.osv):
]
_columns = {
+ 'is_reconciled': fields.function(_is_reconciled,
+ string='Statement is reconciled?', type='boolean'),
'amount_reconciled': fields.function(_amount_reconciled,
string='Amount reconciled', type='float'),
'voucher_id': fields.many2one('account.voucher', 'Payment'),
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index ddeba22d905..30dfe527d3b 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -217,7 +217,8 @@
Reconcile
Unreconcile
-->
-
+
+
From c9a718b98af8744030ab4d7d9509d0a4a6a6e5cb Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 22 Aug 2012 11:47:24 +0530
Subject: [PATCH 54/99] [IMP] if bank line has no voucher then create it on
reconcile
bzr revid: rgaopenerp-20120822061724-kcudfqtqghpdp97b
---
addons/account_voucher/account_voucher.py | 30 +++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index d91c6158d18..821ad9f379e 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1499,11 +1499,37 @@ class account_bank_statement_line(osv.osv):
statement_id = ids[0]
statement = self.browse(cr, uid, statement_id, context=context)
voucher = statement.voucher_id or False
+ voucher_id = voucher and voucher.id or False
+ if not voucher:
+ voucher_obj = self.pool.get('account.voucher')
+ sign = 1
+ type = 'general'
+ ttype = statement.amount < 0 and 'payment' or 'receipt'
+ if statement.journal_id.type in ('sale', 'sale_refund'):
+ type = 'customer'
+ ttype = 'receipt'
+ elif statement.journal_id.type in ('purchase', 'purhcase_refund'):
+ type = 'supplier'
+ ttype = 'payment'
+ sign = -1
+
+ result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=statement.partner_id.id, journal_id=statement.journal_id.id, amount=sign*statement.amount, currency_id= False, ttype=ttype, date=statement.date, context=context)
+ voucher_res = { 'type': ttype,
+ 'name': statement.name,
+ 'partner_id': statement.partner_id.id,
+ 'journal_id': statement.journal_id.id,
+ 'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id),
+ 'company_id': statement.company_id.id,
+ 'date': statement.date,
+ 'amount': sign*statement.amount,
+ }
+ voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
+ self.write(cr, uid, statement_id, {'voucher_id':voucher_id}, context=context)
mod_obj = self.pool.get('ir.model.data')
if voucher and voucher.type == 'customer':
res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
else:
- res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_payment_form')
+ res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_payment_form')
view_id = res and res[1] or False
return {
'name': _('Payment Entry'),
@@ -1513,7 +1539,7 @@ class account_bank_statement_line(osv.osv):
'target':'new',
'view_id':view_id,
'context': context,
- 'res_id':voucher and voucher.id or False,
+ 'res_id':voucher_id,
'type': 'ir.actions.act_window'
}
From b4a38f16ace679f5c84b80ea9fe0edca7e96ae78 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 22 Aug 2012 18:26:16 +0530
Subject: [PATCH 55/99] [FIX] last_reconciliation_date should write on
reconcilation and change according to get correct partner based on last
reconciliation date
bzr revid: rgaopenerp-20120822125616-bxkrh4le71yg2dod
---
addons/account/account_move_reconciliation.py | 4 ++--
addons/account/wizard/account_reconcile.py | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 0590440b861..a6675825ce8 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -68,7 +68,7 @@ class account_move_reconciliation(osv.osv):
if not last_reconciliation_date:
res_ids.append(id)
else:
- move_ids = obj_move_line.search(cr, uid, [('partner_id','=', id),('create_date','>', last_reconciliation_date)])
+ move_ids = obj_move_line.search(cr, uid, [('partner_id','=', id),('date','>', last_reconciliation_date)])
if move_ids:
res_ids.append(id)
return res_ids
@@ -76,7 +76,7 @@ class account_move_reconciliation(osv.osv):
def skip_partner(self, cr, uid, ids, context):
res_partner = self.pool.get('res.partner')
for partner in self.browse(cr, uid, ids, context=context):
- res_partner.write(cr, uid, [partner.id] ,{'last_reconciliation_date':time.strftime("%Y-%m-%d %H:%M:%S")})
+ res_partner.write(cr, uid, [partner.id] ,{'last_reconciliation_date':time.strftime("%Y-%m-%d")})
_columns = {
diff --git a/addons/account/wizard/account_reconcile.py b/addons/account/wizard/account_reconcile.py
index 729792e2222..ceed4c267df 100644
--- a/addons/account/wizard/account_reconcile.py
+++ b/addons/account/wizard/account_reconcile.py
@@ -92,12 +92,13 @@ class account_move_line_reconcile(osv.osv_memory):
partner_id = tmp_ml_id.partner_id and tmp_ml_id.partner_id.id or False
debit_ml_ids = account_move_line_obj.search(cr, uid, [('partner_id', '=', partner_id), ('account_id.reconcile', '=', True), ('reconcile_id', '=', False), ('debit', '>', 0)], context=context)
credit_ml_ids = account_move_line_obj.search(cr, uid, [('partner_id', '=', partner_id), ('account_id.reconcile', '=', True), ('reconcile_id', '=', False), ('credit', '>', 0)], context=context)
+ print 'REREWREW',credit_ml_ids, debit_ml_ids, context
for ml_id in context['active_ids']:
if ml_id in debit_ml_ids:
debit_ml_ids.remove(ml_id)
if ml_id in credit_ml_ids:
credit_ml_ids.remove(ml_id)
- if not debit_ml_ids and credit_ml_ids:
+ if not debit_ml_ids and not credit_ml_ids:
context.update({'stop_reconcile': True})
account_move_line_obj.reconcile(cr, uid, context['active_ids'], 'manual', account_id,
period_id, journal_id, context=context)
From b246b1955a41524dc8eb8612a14b09c9120f5cd2 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Wed, 22 Aug 2012 19:29:04 +0530
Subject: [PATCH 56/99] [IMP] remove function field from account voucher and
set search default on move line entry
bzr revid: rgaopenerp-20120822135904-y03fti3q0yooxnxu
---
addons/account/account_view.xml | 4 ++--
addons/account_voucher/account_voucher.py | 18 ++++++------------
.../account_voucher/account_voucher_view.xml | 4 ++--
3 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index e80219e3c64..3c27d3cfec1 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1545,7 +1545,7 @@
tree,form
[('partner_id.customer','=',True)]
-
+
@@ -1555,7 +1555,7 @@
tree,form
[('partner_id.supplier','=',True)]
-
+
Reconcile
Unreconcile
-->
-
-
+
+
From c1437ba1b4306f05595a5310f51d7b61b6d4775a Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Thu, 23 Aug 2012 17:25:23 +0530
Subject: [PATCH 57/99] [IMP] Added old wizrad algo to computer prgoress of
reconcilation process, costomer and supplier should display respective
recivalbe and payable entry
bzr revid: rgaopenerp-20120823115523-44m8ydyc33az4tjc
---
addons/account/account_move_line.py | 2 +
addons/account/account_move_reconciliation.py | 111 ++++++++++++------
.../account/account_move_reconciliation.xml | 2 +-
addons/account/account_view.xml | 6 +-
.../account_move_reconciliation.py | 25 +++-
5 files changed, 100 insertions(+), 46 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 18ab1a779a3..ccea4e1c1a8 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -701,6 +701,8 @@ class account_move_line(osv.osv):
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
if context is None:
context = {}
+ if context and context.get('account_type', False):
+ args.append(('account_id.type', '=', context.get('account_type', False)))
if context and context.get('next_partner_only', False):
if not context.get('partner_id', False):
partner = self.get_next_partner_only(cr, uid, offset, context)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index a6675825ce8..232a0ae9aa7 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -23,18 +23,11 @@ import time
import tools
from osv import fields,osv
-#4 remove get_unreconcile_entry method mange it with domain
-
class account_move_line(osv.osv):
_inherit = "account.move.line"
def get_unreconcile_entry(self, cr, uid, ids, context=None):
- records = self.read(cr, uid, ids, ['reconcile_id'])
- res = []
- for record in records:
- if not record.get('reconcile_id'):
- res.append(record['id'])
- return res
+ return self.search(cr, uid, [('id', 'in', ids), ('reconcile_id', '=', False)], context=context)
account_move_line();
@@ -43,59 +36,101 @@ class account_move_reconciliation(osv.osv):
_name = "account.move.reconciliation"
_description = "All partner info related account move line"
_auto = False
+
+ def _get_to_reconcile(self, cr, uid, context=None):
+ query= ''
+ if context and context.get('account_type', False) == 'payable':
+ query = 'AND p.supplier = True'
+
+ cr.execute("""
+ SELECT p_id FROM (SELECT l.partner_id as p_id, SUM(l.debit) AS debit, SUM(l.credit) AS credit
+ FROM account_move_line AS l LEFT JOIN account_account a ON (l.account_id = a.id)
+ LEFT JOIN res_partner p ON (p.id = l.partner_id)
+ WHERE a.reconcile = 't'
+ AND l.reconcile_id IS NULL
+ AND (%s > to_char(p.last_reconciliation_date, 'YYYY-MM-DD') OR p.last_reconciliation_date IS NULL )
+ AND l.state <> 'draft' """ +query + """
+ GROUP BY l.partner_id) AS tmp
+ WHERE debit >= 0
+ AND credit >= 0
+ """,(time.strftime('%Y-%m-%d'),)
+ )
+ return len(map(lambda x: x[0], cr.fetchall())) - 1
+
+ def _get_today_reconciled(self, cr, uid, context=None):
+ query= ''
+ if context and context.get('account_type', False) == 'payable':
+ query = 'AND p.supplier = True'
+
+ cr.execute(
+ """SELECT l.partner_id
+ FROM account_move_line AS l LEFT JOIN res_partner p ON (p.id = l.partner_id)
+ WHERE l.reconcile_id IS NULL
+ AND %s = to_char(p.last_reconciliation_date, 'YYYY-MM-DD')
+ AND l.state <> 'draft' """ +query + """
+ GROUP BY l.partner_id """,(time.strftime('%Y-%m-%d'),)
+ )
+ return len(map(lambda x: x[0], cr.fetchall())) + 1
def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
- active_ids = context.get('active_ids', [])
- res = 0
- if active_ids:
- total_records = self.search(cr, uid, [('id','in',active_ids)])
- total_unreconcile = 0
- for record in self.read(cr, uid, total_records, ['unreconcile_count'], context=context):
- if record['unreconcile_count'] > 0:
- total_unreconcile += 1
- res = float(len(total_records) - total_unreconcile)/len(total_records) * 100
- res_all = {}
+ res = {}
+ to_reconcile = self._get_to_reconcile(cr, uid, context)
+ today_reconcile = self._get_today_reconciled(cr, uid, context)
+ if to_reconcile < 0:
+ reconciliation_progress = 100
+ else:
+ reconciliation_progress = (100 / (float( to_reconcile + today_reconcile) or 1.0)) * today_reconcile
for id in ids:
- res_all[id] = res
- return res_all
+ res[id] = reconciliation_progress
+ return res
+#
+ def get_partners(self, cr, uid, context=None):
+ query= ''
+ if context and context.get('account_type', False) == 'payable':
+ query = 'AND p.supplier = True'
+ cr.execute(
+ """
+ SELECT p.id
+ FROM res_partner p
+ RIGHT JOIN (
+ SELECT l.partner_id AS partner_id, SUM(l.debit) AS debit, SUM(l.credit) AS credit
+ FROM account_move_line l
+ LEFT JOIN account_account a ON (a.id = l.account_id)
+ LEFT JOIN res_partner p ON (l.partner_id = p.id)
+ WHERE a.reconcile IS TRUE
+ AND l.reconcile_id IS NULL
+ AND (p.last_reconciliation_date IS NULL OR l.date > p.last_reconciliation_date)
+ AND l.state <> 'draft' """ +query + """
+ GROUP BY l.partner_id
+ ) AS s ON (p.id = s.partner_id)
+ ORDER BY p.last_reconciliation_date""")
+ return cr.fetchall()
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
- obj_move_line = self.pool.get('account.move.line')
ids = super(account_move_reconciliation, self).search(cr, uid, args, offset, limit, order, context, count)
- res_ids = []
- for id in ids:
- last_reconciliation_date = self.browse(cr, uid, id, context=context).last_reconciliation_date
- if not last_reconciliation_date:
- res_ids.append(id)
- else:
- move_ids = obj_move_line.search(cr, uid, [('partner_id','=', id),('date','>', last_reconciliation_date)])
- if move_ids:
- res_ids.append(id)
- return res_ids
+ res = self.get_partners(cr, uid, context=context)
+ return map(lambda x: x[0], res)
def skip_partner(self, cr, uid, ids, context):
- res_partner = self.pool.get('res.partner')
- for partner in self.browse(cr, uid, ids, context=context):
- res_partner.write(cr, uid, [partner.id] ,{'last_reconciliation_date':time.strftime("%Y-%m-%d")})
-
+ self.pool.get('res.partner').write(cr, uid, ids ,{'last_reconciliation_date':time.strftime("%Y-%m-%d")}, context)
_columns = {
'partner_id':fields.many2one('res.partner', 'Partner'),
'last_reconciliation_date':fields.related('partner_id', 'last_reconciliation_date' ,type='datetime', relation='res.partner', string='Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float'),
- 'unreconcile_count':fields.integer('Unreconcile Count'),
}
+
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
SELECT move_line.partner_id as id, move_line.partner_id,
- MAX(move_line.date) as latest_date,
- (select count(unreconcile.id) from account_move_line as unreconcile where unreconcile.reconcile_id is null and unreconcile.partner_id = move_line.partner_id) as unreconcile_count
+ MAX(move_line.date) as latest_date
FROM account_move_line as move_line where move_line.state <> 'draft'
GROUP by move_line.partner_id
)
""")
account_move_reconciliation()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 5e26b9c0bec..256492bfa48 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 3c27d3cfec1..2093b548044 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1544,8 +1544,7 @@
form
tree,form
- [('partner_id.customer','=',True)]
-
+
@@ -1554,8 +1553,7 @@
form
tree,form
- [('partner_id.supplier','=',True)]
-
+
).
+#
+# 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 .
+#
+##############################################################################
from osv import fields, osv
import tools
@@ -12,12 +32,11 @@ class account_move_reconciliation(osv.osv):
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
- CREATE or REPLACE VIEW account_move_reconciliation as (
+ CREATE or REPLACE VIEW account_move_reconciliation as (
SELECT move_line.partner_id as id, move_line.partner_id,
- MAX(move_line.date) as latest_date,
MAX(move_line.followup_date) as followup_date,
MAX(move_line.followup_line_id) as max_followup_id,
- (select count(unreconcile.id) from account_move_line as unreconcile where unreconcile.reconcile_id is null and unreconcile.partner_id = move_line.partner_id) as unreconcile_count
+ MAX(move_line.date) as latest_date
FROM account_move_line as move_line where move_line.state <> 'draft'
GROUP by move_line.partner_id
)
From 03dd0da485edba261d8f6b97bd5b5c14a25136d5 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Mon, 27 Aug 2012 12:15:31 +0530
Subject: [PATCH 58/99] Remove print
bzr revid: rgaopenerp-20120827064531-hxwor2pr6nn5f53r
---
addons/account/wizard/account_reconcile.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account/wizard/account_reconcile.py b/addons/account/wizard/account_reconcile.py
index ceed4c267df..5696079bedf 100644
--- a/addons/account/wizard/account_reconcile.py
+++ b/addons/account/wizard/account_reconcile.py
@@ -92,7 +92,6 @@ class account_move_line_reconcile(osv.osv_memory):
partner_id = tmp_ml_id.partner_id and tmp_ml_id.partner_id.id or False
debit_ml_ids = account_move_line_obj.search(cr, uid, [('partner_id', '=', partner_id), ('account_id.reconcile', '=', True), ('reconcile_id', '=', False), ('debit', '>', 0)], context=context)
credit_ml_ids = account_move_line_obj.search(cr, uid, [('partner_id', '=', partner_id), ('account_id.reconcile', '=', True), ('reconcile_id', '=', False), ('credit', '>', 0)], context=context)
- print 'REREWREW',credit_ml_ids, debit_ml_ids, context
for ml_id in context['active_ids']:
if ml_id in debit_ml_ids:
debit_ml_ids.remove(ml_id)
From d55eaccb232913e0414769a591cf3d192e6cf941 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 29 Aug 2012 12:07:32 +0530
Subject: [PATCH 59/99] [REF] account: sql view of manual reconcilation move
line
bzr revid: hmo@tinyerp.com-20120829063732-2yn3sj0lshnx4n35
---
addons/account/account_move_reconciliation.py | 101 ++++++------------
.../account/account_move_reconciliation.xml | 34 ++++++
addons/account/account_view.xml | 32 ------
.../src/js/account_move_reconciliation.js | 10 +-
.../account_move_reconciliation.py | 24 +++--
.../account_move_reconciliation.xml | 4 +-
6 files changed, 85 insertions(+), 120 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 232a0ae9aa7..901fc8164bf 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -34,48 +34,26 @@ account_move_line();
class account_move_reconciliation(osv.osv):
_name = "account.move.reconciliation"
- _description = "All partner info related account move line"
+ _description = "partner info related account move line"
_auto = False
+ _order = 'last_reconciliation_date'
- def _get_to_reconcile(self, cr, uid, context=None):
- query= ''
- if context and context.get('account_type', False) == 'payable':
- query = 'AND p.supplier = True'
+ def search(self, cr, uid, args, offset=0, limit=None, order=None,
+ context=None, count=False):
+ if context is None:
+ context = {}
+ account_type = context.get('account_type', False)
+ if account_type == "receivable":
+ args += [('customer','=', True)]
+ if account_type == "payable":
+ args += [('supplier','=', True)]
+ return super(account_move_reconciliation, self).search(cr, uid, args, offset, limit,
+ order, context=context, count=count)
- cr.execute("""
- SELECT p_id FROM (SELECT l.partner_id as p_id, SUM(l.debit) AS debit, SUM(l.credit) AS credit
- FROM account_move_line AS l LEFT JOIN account_account a ON (l.account_id = a.id)
- LEFT JOIN res_partner p ON (p.id = l.partner_id)
- WHERE a.reconcile = 't'
- AND l.reconcile_id IS NULL
- AND (%s > to_char(p.last_reconciliation_date, 'YYYY-MM-DD') OR p.last_reconciliation_date IS NULL )
- AND l.state <> 'draft' """ +query + """
- GROUP BY l.partner_id) AS tmp
- WHERE debit >= 0
- AND credit >= 0
- """,(time.strftime('%Y-%m-%d'),)
- )
- return len(map(lambda x: x[0], cr.fetchall())) - 1
-
- def _get_today_reconciled(self, cr, uid, context=None):
- query= ''
- if context and context.get('account_type', False) == 'payable':
- query = 'AND p.supplier = True'
-
- cr.execute(
- """SELECT l.partner_id
- FROM account_move_line AS l LEFT JOIN res_partner p ON (p.id = l.partner_id)
- WHERE l.reconcile_id IS NULL
- AND %s = to_char(p.last_reconciliation_date, 'YYYY-MM-DD')
- AND l.state <> 'draft' """ +query + """
- GROUP BY l.partner_id """,(time.strftime('%Y-%m-%d'),)
- )
- return len(map(lambda x: x[0], cr.fetchall())) + 1
-
def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
res = {}
- to_reconcile = self._get_to_reconcile(cr, uid, context)
- today_reconcile = self._get_today_reconciled(cr, uid, context)
+ to_reconcile = self.search(cr, uid, [], context=context)
+ today_reconcile = self.search(cr, uid, [('last_reconciliation_date','=',time.strftime('%Y-%m-%d'))], context=context)
if to_reconcile < 0:
reconciliation_progress = 100
else:
@@ -83,34 +61,8 @@ class account_move_reconciliation(osv.osv):
for id in ids:
res[id] = reconciliation_progress
return res
-#
- def get_partners(self, cr, uid, context=None):
- query= ''
- if context and context.get('account_type', False) == 'payable':
- query = 'AND p.supplier = True'
- cr.execute(
- """
- SELECT p.id
- FROM res_partner p
- RIGHT JOIN (
- SELECT l.partner_id AS partner_id, SUM(l.debit) AS debit, SUM(l.credit) AS credit
- FROM account_move_line l
- LEFT JOIN account_account a ON (a.id = l.account_id)
- LEFT JOIN res_partner p ON (l.partner_id = p.id)
- WHERE a.reconcile IS TRUE
- AND l.reconcile_id IS NULL
- AND (p.last_reconciliation_date IS NULL OR l.date > p.last_reconciliation_date)
- AND l.state <> 'draft' """ +query + """
- GROUP BY l.partner_id
- ) AS s ON (p.id = s.partner_id)
- ORDER BY p.last_reconciliation_date""")
- return cr.fetchall()
-
- def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
- ids = super(account_move_reconciliation, self).search(cr, uid, args, offset, limit, order, context, count)
- res = self.get_partners(cr, uid, context=context)
- return map(lambda x: x[0], res)
-
+
+
def skip_partner(self, cr, uid, ids, context):
self.pool.get('res.partner').write(cr, uid, ids ,{'last_reconciliation_date':time.strftime("%Y-%m-%d")}, context)
@@ -118,6 +70,8 @@ class account_move_reconciliation(osv.osv):
'partner_id':fields.many2one('res.partner', 'Partner'),
'last_reconciliation_date':fields.related('partner_id', 'last_reconciliation_date' ,type='datetime', relation='res.partner', string='Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
+ 'supplier': fields.related('partner_id', 'supplier' ,type='boolean', string='Supplier'),
+ 'customer': fields.related('partner_id', 'customer' ,type='boolean', string='Customer'),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float'),
}
@@ -125,12 +79,17 @@ class account_move_reconciliation(osv.osv):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT move_line.partner_id as id, move_line.partner_id,
- MAX(move_line.date) as latest_date
- FROM account_move_line as move_line where move_line.state <> 'draft'
- GROUP by move_line.partner_id
- )
+ SELECT move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit, MAX(move_line.date) AS latest_date
+ FROM account_move_line move_line
+ LEFT JOIN account_account a ON (a.id = move_line.account_id)
+ RIGHT JOIN res_partner partner ON (move_line.partner_id = partner.id)
+ WHERE a.reconcile IS TRUE
+ AND move_line.reconcile_id IS NULL
+ AND (partner.last_reconciliation_date IS NULL OR move_line.date > partner.last_reconciliation_date)
+ AND move_line.state <> 'draft'
+ GROUP BY move_line.partner_id
+ )
""")
account_move_reconciliation()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 256492bfa48..b99a691486c 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -1,6 +1,7 @@
+
account.move.reconciliation.form
account.move.reconciliation
@@ -32,5 +33,38 @@
+
+
+
+ Entries To Reconcile
+ account.move.line
+ form
+ tree,form
+
+
+
+
+
+ Entries To Reconcile
+ account.move.line
+ form
+ tree,form
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 2093b548044..04e3acf1ff8 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1538,38 +1538,6 @@
-
- Entries To Reconcile
- account.move.line
- form
- tree,form
-
-
-
-
-
- Entries To Reconcile
- account.move.line
- form
- tree,form
-
-
-
-
-
-
-
-
-
-
-
'draft'
- GROUP by move_line.partner_id
- )
+ SELECT move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit, MAX(move_line.date) AS latest_date,
+ MAX(move_line.followup_date) as followup_date
+ FROM account_move_line move_line
+ LEFT JOIN account_account a ON (a.id = move_line.account_id)
+ RIGHT JOIN res_partner partner ON (move_line.partner_id = partner.id)
+ WHERE a.reconcile IS TRUE
+ AND move_line.reconcile_id IS NULL
+ AND (partner.last_reconciliation_date IS NULL OR move_line.date > partner.last_reconciliation_date)
+ AND move_line.state <> 'draft'
+ GROUP BY move_line.partner_id
+ )
""")
-account_move_reconciliation()
\ No newline at end of file
+account_move_reconciliation()
diff --git a/addons/account_followup/account_move_reconciliation.xml b/addons/account_followup/account_move_reconciliation.xml
index f27bf9207eb..a3b8fa0dfdb 100644
--- a/addons/account_followup/account_move_reconciliation.xml
+++ b/addons/account_followup/account_move_reconciliation.xml
@@ -9,8 +9,8 @@
-
-
+
+
From 62d7cea01eebb5099b8b79f3a1f51e843664cec4 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 29 Aug 2012 13:03:19 +0530
Subject: [PATCH 60/99] [FIX] account: reconciliation query
bzr revid: hmo@tinyerp.com-20120829073319-ke9wbhj7jr6hfc09
---
addons/account/account_move_reconciliation.py | 10 +++++++---
addons/account_followup/account_move_reconciliation.py | 4 +++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 901fc8164bf..688b1f2c47f 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -52,8 +52,10 @@ class account_move_reconciliation(osv.osv):
def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
res = {}
- to_reconcile = self.search(cr, uid, [], context=context)
- today_reconcile = self.search(cr, uid, [('last_reconciliation_date','=',time.strftime('%Y-%m-%d'))], context=context)
+ to_reconcile_ids = self.search(cr, uid, [], context=context)
+ to_reconcile = to_reconcile_ids and len(to_reconcile_ids) or 0
+ today_reconcile_ids = self.search(cr, uid, [('last_reconciliation_date','=',time.strftime('%Y-%m-%d'))], context=context)
+ today_reconcile = today_reconcile_ids and len(today_reconcile_ids) or 0
if to_reconcile < 0:
reconciliation_progress = 100
else:
@@ -79,7 +81,9 @@ class account_move_reconciliation(osv.osv):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit, MAX(move_line.date) AS latest_date
+ SELECT move_line.partner_id AS id, move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit,
+ MAX(move_line.date) AS latest_date,
+ MIN(partner.last_reconciliation_date) AS last_reconciliation_date
FROM account_move_line move_line
LEFT JOIN account_account a ON (a.id = move_line.account_id)
RIGHT JOIN res_partner partner ON (move_line.partner_id = partner.id)
diff --git a/addons/account_followup/account_move_reconciliation.py b/addons/account_followup/account_move_reconciliation.py
index 81922f67a47..edfafcf628d 100644
--- a/addons/account_followup/account_move_reconciliation.py
+++ b/addons/account_followup/account_move_reconciliation.py
@@ -33,7 +33,9 @@ class account_move_reconciliation(osv.osv):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit, MAX(move_line.date) AS latest_date,
+ SELECT move_line.partner_id AS id, move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit,
+ MAX(move_line.date) AS latest_date,
+ MIN(partner.last_reconciliation_date) AS last_reconciliation_date,
MAX(move_line.followup_date) as followup_date
FROM account_move_line move_line
LEFT JOIN account_account a ON (a.id = move_line.account_id)
From e8c35f4abecf793d09ca4bd1f3ea15839c24b098 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 29 Aug 2012 15:27:06 +0530
Subject: [PATCH 61/99] [FIX] account: reconcilalition view
bzr revid: hmo@tinyerp.com-20120829095706-b0d71e8ilvx9w10n
---
addons/account/account_move_reconciliation.py | 13 ++++++-------
addons/account/account_move_reconciliation.xml | 4 ++--
.../static/src/js/account_move_reconciliation.js | 13 +++++++------
.../account_followup/account_move_reconciliation.py | 6 +++---
4 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 688b1f2c47f..1cb5517a88f 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -43,10 +43,8 @@ class account_move_reconciliation(osv.osv):
if context is None:
context = {}
account_type = context.get('account_type', False)
- if account_type == "receivable":
- args += [('customer','=', True)]
- if account_type == "payable":
- args += [('supplier','=', True)]
+ if account_type:
+ args += [('type','=', account_type)]
return super(account_move_reconciliation, self).search(cr, uid, args, offset, limit,
order, context=context, count=count)
@@ -72,6 +70,7 @@ class account_move_reconciliation(osv.osv):
'partner_id':fields.many2one('res.partner', 'Partner'),
'last_reconciliation_date':fields.related('partner_id', 'last_reconciliation_date' ,type='datetime', relation='res.partner', string='Last Reconciliation'),
'latest_date' :fields.date('Latest Entry'),
+ 'type': fields.char('Type', size=156),
'supplier': fields.related('partner_id', 'supplier' ,type='boolean', string='Supplier'),
'customer': fields.related('partner_id', 'customer' ,type='boolean', string='Customer'),
'reconciliation_progress': fields.function(_rec_progress, string='Progress (%)', type='float'),
@@ -81,17 +80,17 @@ class account_move_reconciliation(osv.osv):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT move_line.partner_id AS id, move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit,
+ SELECT move_line.partner_id AS id, a.type AS type, move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit,
MAX(move_line.date) AS latest_date,
MIN(partner.last_reconciliation_date) AS last_reconciliation_date
FROM account_move_line move_line
LEFT JOIN account_account a ON (a.id = move_line.account_id)
- RIGHT JOIN res_partner partner ON (move_line.partner_id = partner.id)
+ LEFT JOIN res_partner partner ON (move_line.partner_id = partner.id)
WHERE a.reconcile IS TRUE
AND move_line.reconcile_id IS NULL
AND (partner.last_reconciliation_date IS NULL OR move_line.date > partner.last_reconciliation_date)
AND move_line.state <> 'draft'
- GROUP BY move_line.partner_id
+ GROUP BY move_line.partner_id, a.type
)
""")
account_move_reconciliation()
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index b99a691486c..5cfa81d5721 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -41,7 +41,7 @@
form
tree,form
-
+
@@ -50,7 +50,7 @@
form
tree,form
-
+
partner.last_reconciliation_date)
AND move_line.state <> 'draft'
- GROUP BY move_line.partner_id
+ GROUP BY move_line.partner_id, a.type
)
""")
account_move_reconciliation()
From 6281b9d42393097e33e5f809d2780fc5b5500bcd Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 29 Aug 2012 16:07:40 +0530
Subject: [PATCH 62/99] [FIX] account_followup: setup followup level in
reconciliation form
bzr revid: hmo@tinyerp.com-20120829103740-w69kk53x84quvrsg
---
addons/account/account_move_reconciliation.py | 4 +++-
addons/account/account_move_reconciliation.xml | 2 +-
.../account_move_reconciliation.py | 17 ++++++++++++++---
.../account_move_reconciliation.xml | 4 ++--
4 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index 1cb5517a88f..eb3eaf31458 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -80,7 +80,9 @@ class account_move_reconciliation(osv.osv):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT move_line.partner_id AS id, a.type AS type, move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit,
+ SELECT move_line.partner_id AS id, a.type AS type, move_line.partner_id AS partner_id,
+ SUM(move_line.debit) AS debit,
+ SUM(move_line.credit) AS credit,
MAX(move_line.date) AS latest_date,
MIN(partner.last_reconciliation_date) AS last_reconciliation_date
FROM account_move_line move_line
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 5cfa81d5721..20e3ba1486c 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -27,7 +27,7 @@
Nothing to Reconcile
-
+
diff --git a/addons/account_followup/account_move_reconciliation.py b/addons/account_followup/account_move_reconciliation.py
index 4345c921954..00ae40f3aa8 100644
--- a/addons/account_followup/account_move_reconciliation.py
+++ b/addons/account_followup/account_move_reconciliation.py
@@ -23,17 +23,28 @@ import tools
class account_move_reconciliation(osv.osv):
_inherit = 'account.move.reconciliation'
+
+ def _get_followup(self, cr, uid, ids, field_name, arg, context=None):
+ result = {}
+ move_obj = self.pool.get("account.move.line")
+ for rec in self.browse(cr, uid, ids, context=context):
+ move_line_ids = move_obj.search(cr, uid, [('partner_id','=',rec.partner_id.id),('followup_date','=',rec.followup_date)], context=context)
+ move_line = move_line_ids and move_obj.browse(cr, uid, move_line_ids[0], context=context) or False
+ result[rec.id] = move_line and move_line.followup_line_id or False
+ return result
+
_columns = {
'followup_date': fields.date('Latest Follow-up'),
- #'followup_id':fields.many2one('account_followup.followup.line',
- # 'Max Follow Up Level' )
+ 'followup_id':fields.function(_get_followup, type='many2one', relation='account_followup.followup.line', string='Max Follow Up Level')
}
def init(self, cr):
tools.drop_view_if_exists(cr, 'account_move_reconciliation')
cr.execute("""
CREATE or REPLACE VIEW account_move_reconciliation as (
- SELECT move_line.partner_id AS id, a.type AS type, move_line.partner_id AS partner_id, SUM(move_line.debit) AS debit, SUM(move_line.credit) AS credit,
+ SELECT move_line.partner_id AS id, a.type AS type, move_line.partner_id AS partner_id,
+ SUM(move_line.debit) AS debit,
+ SUM(move_line.credit) AS credit,
MAX(move_line.date) AS latest_date,
MIN(partner.last_reconciliation_date) AS last_reconciliation_date,
MAX(move_line.followup_date) as followup_date
diff --git a/addons/account_followup/account_move_reconciliation.xml b/addons/account_followup/account_move_reconciliation.xml
index a3b8fa0dfdb..6ec70fd18a5 100644
--- a/addons/account_followup/account_move_reconciliation.xml
+++ b/addons/account_followup/account_move_reconciliation.xml
@@ -6,10 +6,10 @@
account.move.reconciliation
-
+
-
+
From 20eb0a5e882878e792c2b7f1f713d0415e740542 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 29 Aug 2012 18:13:03 +0530
Subject: [PATCH 63/99] [FIX] account: refactor js of account_reconciliation
bzr revid: hmo@tinyerp.com-20120829124303-8kw2jz4x4p2jr64u
---
.../account/account_move_reconciliation.xml | 4 +-
.../src/js/account_move_reconciliation.js | 59 +++++++++----------
2 files changed, 30 insertions(+), 33 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 20e3ba1486c..e5ccb090988 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -36,7 +36,7 @@
- Entries To Reconcile
+ Reconcile Customer Entries
account.move.line
form
tree,form
@@ -45,7 +45,7 @@
- Entries To Reconcile
+ Reconcile Supplier Entries
account.move.line
form
tree,form
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 03e6529ae9b..8339d7e2768 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -10,29 +10,20 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
this.setup_exended_form_view(this.action.context.extended_model, this.action.context.extended_view_id);
},
setup_exended_form_view: function(view_model, view_id){
- var self = this,
- from_view,
- obj_from_view;
+ var self = this;
from_view = this.registry.get_object('form_clone');
this.dataset_form = new instance.web.DataSetSearch(this, view_model, this.action.context, this.action.domain);
- this.dataset_loaded = this.dataset_form.read_slice()
- obj_from_view = new from_view(self, this.dataset_form, view_id, options={});
- obj_from_view.template = 'ExtendedFormView'
- view_promise = obj_from_view.appendTo(this.$el.find('.oe_extended_form_view'))
- $.when(view_promise, this.dataset_loaded).then(function() {
- self.action.context.active_ids = self.dataset_form.ids;
- if (!_.isEmpty(self.dataset_form.ids)) {
- obj_from_view.on_pager_action('first')
- }
- })
+ this.dataset_loaded = this.dataset_form.read_slice();
+ obj_from_view = new from_view(self, self.dataset_form, view_id, options={});
+ obj_from_view.template = 'ExtendedFormView';
+ view_form = obj_from_view.appendTo(self.$el.find('.oe_extended_form_view'));
+ $.when(view_form, this.dataset_loaded).then(function() {
+ obj_from_view.post_action();
+ });
}
})
instance.account.extend_form_view = instance.web.FormView.extend({
- init :function(){
- this._super.apply(this,arguments);
- this.original_domain = this.getParent().action.domain;
- },
on_loaded: function(data) {
this._super.apply(this,arguments);
var self = this
@@ -65,23 +56,32 @@ instance.account.extend_form_view = instance.web.FormView.extend({
result.result.flags = result.result.flags || {};
result.result.flags.new_window = true;
self.do_action(result.result, function () {
- // reload view
- list_view.reload();
- self.reload();
+ self.post_action();
});
});
},
+
+ post_action: function(){
+ // hide if not records otherwise go next record
+ var self = this;
+ var viewmanager = this.getParent();
+ this.dataset.read_slice().done(function(){
+ if (_.isEmpty(self.dataset.ids)){
+ self.$el.hide();
+ viewmanager.action.context.next_partner_only = false;
+ viewmanager.searchview.do_search();
+ }
+ else{
+ self.on_pager_action('next');
+ }
+ });
+ },
do_nothing_to_reconcile:function(){
- var self = this
- if (!_.isEmpty(this.dataset.ids)){
+ var self = this;
this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
- self.dataset.read_slice().done(function(){
- if (!_.isEmpty(self.dataset.ids))
- self.on_pager_action('first');
- });
- })
- }
+ self.post_action();
+ });
},
do_update_pager: function(hide_index) {
@@ -93,13 +93,10 @@ instance.account.extend_form_view = instance.web.FormView.extend({
on_pager_action: function(action) {
var self = this
var viewmanager = self.getParent();
- viewmanager.action.domain = this.original_domain
$.when(this._super(action)).then(function() {
var id = self.get_fields_values().partner_id;
viewmanager.action.context.next_partner_only = true;
viewmanager.action.context.partner_id = [id];
- // apply domain on list
- //viewmanager.action.domain = (viewmanager.action.domain || []).concat([["partner_id", "=", id]])
viewmanager.searchview.do_search();
})
},
From ca603482093bd42788c7ee97e62b43272ce7f088 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Thu, 30 Aug 2012 16:09:54 +0530
Subject: [PATCH 64/99] [FIX] account: reconciliation wizard, improve
calculattion of pert.
bzr revid: hmo@tinyerp.com-20120830103954-mueab873pcunqjod
---
addons/account/account_move_reconciliation.py | 33 ++++++++++++++++---
.../src/js/account_move_reconciliation.js | 7 ++--
2 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index eb3eaf31458..a3f171fae7c 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -50,14 +50,37 @@ class account_move_reconciliation(osv.osv):
def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
res = {}
- to_reconcile_ids = self.search(cr, uid, [], context=context)
- to_reconcile = to_reconcile_ids and len(to_reconcile_ids) or 0
- today_reconcile_ids = self.search(cr, uid, [('last_reconciliation_date','=',time.strftime('%Y-%m-%d'))], context=context)
- today_reconcile = today_reconcile_ids and len(today_reconcile_ids) or 0
+ if context is None:
+ context = {}
+ ctx = dict(context)
+ ctx['next_partner_only'] = False
+ move_line_obj = self.pool.get("account.move.line")
+
+ to_reconcile_ids = move_line_obj.search(cr, uid, [
+ ('reconcile_id','=',False),
+ ('account_id.reconcile','=',True),
+ ('state','!=', 'draft'),
+ ('partner_id','!=', False),
+ '|', ('partner_id.last_reconciliation_date', '=', False),('partner_id.last_reconciliation_date','<',time.strftime('%Y-%m-%d 00:00:00')),
+ '|', ('debit', '>' ,0), ('credit', '>' ,0)
+ ],
+ context=ctx)
+ partner_ids = []
+ for move_line in move_line_obj.browse(cr, uid, to_reconcile_ids, context=ctx):
+ partner = move_line.partner_id
+ if move_line.date > partner.last_reconciliation_date and partner.id not in partner_ids:
+ partner_ids.append(move_line.partner_id.id)
+
+ to_reconcile = len(partner_ids)
+ today_reconciled_ids = self.pool.get('res.partner').search(cr, uid, [
+ ('last_reconciliation_date','>=',time.strftime('%Y-%m-%d 00:00:00')),
+ ('last_reconciliation_date','<=',time.strftime('%Y-%m-%d 23:59:59'))
+ ], context=ctx)
+ today_reconciled = today_reconciled_ids and len(today_reconciled_ids) or 0 # total partners which reconciled today
if to_reconcile < 0:
reconciliation_progress = 100
else:
- reconciliation_progress = (100 / (float( to_reconcile + today_reconcile) or 1.0)) * today_reconcile
+ reconciliation_progress = (100 / (float( to_reconcile + today_reconciled) or 1.0)) * today_reconciled
for id in ids:
res[id] = reconciliation_progress
return res
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 8339d7e2768..0af38246f0f 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -67,12 +67,13 @@ instance.account.extend_form_view = instance.web.FormView.extend({
var viewmanager = this.getParent();
this.dataset.read_slice().done(function(){
if (_.isEmpty(self.dataset.ids)){
- self.$el.hide();
+ viewmanager.action.context.next_partner_only = true;
+ /*self.$el.hide();
viewmanager.action.context.next_partner_only = false;
- viewmanager.searchview.do_search();
+ viewmanager.searchview.do_search();*/
}
else{
- self.on_pager_action('next');
+ self.on_pager_action('first');
}
});
},
From 08db03bfa247a12913231216cf2d49c70dd90b5a Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Thu, 30 Aug 2012 17:40:41 +0530
Subject: [PATCH 65/99] [IMP] account: split in small functions
bzr revid: hmo@tinyerp.com-20120830121041-pruspkwkav090foc
---
addons/account/account_move_reconciliation.py | 31 ++++++++++++++-----
.../src/js/account_move_reconciliation.js | 5 ++-
2 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/addons/account/account_move_reconciliation.py b/addons/account/account_move_reconciliation.py
index a3f171fae7c..b89dbacf623 100644
--- a/addons/account/account_move_reconciliation.py
+++ b/addons/account/account_move_reconciliation.py
@@ -48,14 +48,13 @@ class account_move_reconciliation(osv.osv):
return super(account_move_reconciliation, self).search(cr, uid, args, offset, limit,
order, context=context, count=count)
- def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
- res = {}
+
+ def _get_to_reconcile_partners(self, cr, uid, context=None):
if context is None:
context = {}
ctx = dict(context)
ctx['next_partner_only'] = False
move_line_obj = self.pool.get("account.move.line")
-
to_reconcile_ids = move_line_obj.search(cr, uid, [
('reconcile_id','=',False),
('account_id.reconcile','=',True),
@@ -69,14 +68,30 @@ class account_move_reconciliation(osv.osv):
for move_line in move_line_obj.browse(cr, uid, to_reconcile_ids, context=ctx):
partner = move_line.partner_id
if move_line.date > partner.last_reconciliation_date and partner.id not in partner_ids:
- partner_ids.append(move_line.partner_id.id)
+ partner_ids.append(partner.id)
+ return len(partner_ids)
- to_reconcile = len(partner_ids)
+ def _get_today_reconciled_partners(self, cr, uid, context=None):
+ if context is None:
+ context = {}
+ account_type = context.get("account_type", False)
+ supplier = False
+ customer = False
+ if account_type == 'payable':
+ supplier = True
+ else:
+ customer = True
today_reconciled_ids = self.pool.get('res.partner').search(cr, uid, [
('last_reconciliation_date','>=',time.strftime('%Y-%m-%d 00:00:00')),
- ('last_reconciliation_date','<=',time.strftime('%Y-%m-%d 23:59:59'))
- ], context=ctx)
- today_reconciled = today_reconciled_ids and len(today_reconciled_ids) or 0 # total partners which reconciled today
+ ('last_reconciliation_date','<=',time.strftime('%Y-%m-%d 23:59:59')),
+ '|', ('supplier','=',supplier), ('customer','=',customer)
+ ], context=context)
+ return today_reconciled_ids and len(today_reconciled_ids) or 0
+
+ def _rec_progress(self, cr, uid, ids, prop, unknow_none, context=None):
+ res = {}
+ to_reconcile = self._get_to_reconcile_partners(cr, uid, context=context)
+ today_reconciled = self._get_today_reconciled_partners(cr, uid, context=context)
if to_reconcile < 0:
reconciliation_progress = 100
else:
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 0af38246f0f..9b5aacf28bf 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -86,7 +86,10 @@ instance.account.extend_form_view = instance.web.FormView.extend({
},
do_update_pager: function(hide_index) {
- var index = hide_index ? '-' : this.dataset.index + 1;
+ var index = this.dataset.index + 1
+ if (this.dataset.ids.length == 0)
+ index = 0;
+ index = hide_index ? '-' : index;
this.$el.find('span.oe_pager_index_extend').html(index).end()
.find('span.oe_pager_count_extend').html(this.dataset.ids.length);
},
From 6461c5e31f18fd1fa7352b95cb7bbf46567a94c8 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Thu, 30 Aug 2012 18:56:29 +0530
Subject: [PATCH 66/99] [FIX] account: rector js of account reconcilation
bzr revid: hmo@tinyerp.com-20120830132629-72mnqvtwespvik0b
---
.../src/js/account_move_reconciliation.js | 41 +++++++++----------
1 file changed, 19 insertions(+), 22 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 9b5aacf28bf..8196779fa1d 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -18,7 +18,7 @@ instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
obj_from_view.template = 'ExtendedFormView';
view_form = obj_from_view.appendTo(self.$el.find('.oe_extended_form_view'));
$.when(view_form, this.dataset_loaded).then(function() {
- obj_from_view.post_action();
+ obj_from_view.on_pager_action('first');
});
}
@@ -56,32 +56,20 @@ instance.account.extend_form_view = instance.web.FormView.extend({
result.result.flags = result.result.flags || {};
result.result.flags.new_window = true;
self.do_action(result.result, function () {
- self.post_action();
+ self.dataset.read_slice().done(function(){
+ self.on_pager_action('next');
+ });
});
});
},
- post_action: function(){
- // hide if not records otherwise go next record
- var self = this;
- var viewmanager = this.getParent();
- this.dataset.read_slice().done(function(){
- if (_.isEmpty(self.dataset.ids)){
- viewmanager.action.context.next_partner_only = true;
- /*self.$el.hide();
- viewmanager.action.context.next_partner_only = false;
- viewmanager.searchview.do_search();*/
- }
- else{
- self.on_pager_action('first');
- }
- });
- },
-
+
do_nothing_to_reconcile:function(){
var self = this;
this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
- self.post_action();
+ self.dataset.read_slice().done(function(){
+ self.on_pager_action('next');
+ });
});
},
@@ -97,12 +85,21 @@ instance.account.extend_form_view = instance.web.FormView.extend({
on_pager_action: function(action) {
var self = this
var viewmanager = self.getParent();
+ viewmanager.action.context.next_partner_only = true;
+ //TODO: if no records, than it's not working, it giving error
+ if (this.dataset.ids.length == 0){
+ self.dataset.index = null;
+ viewmanager.action.context.partner_id = [];
+ viewmanager.searchview.do_search();
+ self.reload();
+ return
+ }
+
$.when(this._super(action)).then(function() {
var id = self.get_fields_values().partner_id;
- viewmanager.action.context.next_partner_only = true;
viewmanager.action.context.partner_id = [id];
viewmanager.searchview.do_search();
- })
+ });
},
})
From f577f5b990622d6713cbbcc646f9245307402e53 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Fri, 31 Aug 2012 14:12:24 +0530
Subject: [PATCH 67/99] [FIX] account_followup: fix function of followup level
bzr revid: hmo@tinyerp.com-20120831084224-y42jdzjf9arz54fh
---
addons/account_followup/account_move_reconciliation.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_followup/account_move_reconciliation.py b/addons/account_followup/account_move_reconciliation.py
index 00ae40f3aa8..01338ddb6eb 100644
--- a/addons/account_followup/account_move_reconciliation.py
+++ b/addons/account_followup/account_move_reconciliation.py
@@ -30,7 +30,7 @@ class account_move_reconciliation(osv.osv):
for rec in self.browse(cr, uid, ids, context=context):
move_line_ids = move_obj.search(cr, uid, [('partner_id','=',rec.partner_id.id),('followup_date','=',rec.followup_date)], context=context)
move_line = move_line_ids and move_obj.browse(cr, uid, move_line_ids[0], context=context) or False
- result[rec.id] = move_line and move_line.followup_line_id or False
+ result[rec.id] = move_line and move_line.followup_line_id.id or False
return result
_columns = {
From 432601cb7ec9f30629df0b290cccddf0a5a0c1ef Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 5 Sep 2012 13:21:20 +0530
Subject: [PATCH 68/99] [FIX] account: reconciliation form , set false if not
data
bzr revid: hmo@tinyerp.com-20120905075120-kcf31riknnaha8v0
---
.../src/js/account_move_reconciliation.js | 22 ++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 8196779fa1d..3d046f99312 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -86,20 +86,22 @@ instance.account.extend_form_view = instance.web.FormView.extend({
var self = this
var viewmanager = self.getParent();
viewmanager.action.context.next_partner_only = true;
- //TODO: if no records, than it's not working, it giving error
if (this.dataset.ids.length == 0){
- self.dataset.index = null;
+ self.datarecord = {}
viewmanager.action.context.partner_id = [];
viewmanager.searchview.do_search();
- self.reload();
- return
+ _(this.fields).each(function (field, f) {
+ field.set_value(self.datarecord[f] || false);
+ });
+ self.do_update_pager();
+ }
+ else{
+ $.when(this._super(action)).then(function() {
+ var id = self.get_fields_values().partner_id;
+ viewmanager.action.context.partner_id = [id];
+ viewmanager.searchview.do_search();
+ });
}
-
- $.when(this._super(action)).then(function() {
- var id = self.get_fields_values().partner_id;
- viewmanager.action.context.partner_id = [id];
- viewmanager.searchview.do_search();
- });
},
})
From ef06a2d41a1e7a4c5e8c0269d60abacf69fb917d Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 5 Sep 2012 13:28:20 +0530
Subject: [PATCH 69/99] [REF] account: account reconciliation JS
bzr revid: hmo@tinyerp.com-20120905075820-1uu55c972rmdhpjb
---
.../static/src/js/account_move_reconciliation.js | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 3d046f99312..680eca18374 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -81,25 +81,28 @@ instance.account.extend_form_view = instance.web.FormView.extend({
this.$el.find('span.oe_pager_index_extend').html(index).end()
.find('span.oe_pager_count_extend').html(this.dataset.ids.length);
},
+
+ do_search_move_line: function(partner_ids){
+ var viewmanager = this.getParent();
+ viewmanager.action.context.next_partner_only = true;
+ viewmanager.action.context.partner_id = partner_ids;
+ viewmanager.searchview.do_search();
+ },
on_pager_action: function(action) {
var self = this
- var viewmanager = self.getParent();
- viewmanager.action.context.next_partner_only = true;
if (this.dataset.ids.length == 0){
self.datarecord = {}
- viewmanager.action.context.partner_id = [];
- viewmanager.searchview.do_search();
_(this.fields).each(function (field, f) {
field.set_value(self.datarecord[f] || false);
});
self.do_update_pager();
+ self.do_search_move_line([]);
}
else{
$.when(this._super(action)).then(function() {
var id = self.get_fields_values().partner_id;
- viewmanager.action.context.partner_id = [id];
- viewmanager.searchview.do_search();
+ self.do_search_move_line([id]);
});
}
},
From 031ccce1504e3d058a1855551543cfc6b724d2f9 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 5 Sep 2012 13:41:42 +0530
Subject: [PATCH 70/99] [FIX] account: account reconciliation JS, return false
if not datarecord on click on reconciliation, nothing reconciliation buttons
bzr revid: hmo@tinyerp.com-20120905081142-6zdw8cs919v0l0j8
---
.../account/static/src/js/account_move_reconciliation.js | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 680eca18374..88b263038b4 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -36,6 +36,9 @@ instance.account.extend_form_view = instance.web.FormView.extend({
},
do_reconcilation:function(event){
var self = this
+ if (!self.datarecord.id){
+ return false;
+ }
var list_view = this.getParent().views['list'].controller
ids = list_view.get_selected_ids()
if (ids.length == 0) {
@@ -66,6 +69,9 @@ instance.account.extend_form_view = instance.web.FormView.extend({
do_nothing_to_reconcile:function(){
var self = this;
+ if (!self.datarecord.id){
+ return false;
+ }
this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
self.dataset.read_slice().done(function(){
self.on_pager_action('next');
@@ -91,6 +97,7 @@ instance.account.extend_form_view = instance.web.FormView.extend({
on_pager_action: function(action) {
var self = this
+
if (this.dataset.ids.length == 0){
self.datarecord = {}
_(this.fields).each(function (field, f) {
From c1cbb42b0a917ccd565138f67c6f2fef3a15f8d1 Mon Sep 17 00:00:00 2001
From: "Harry (OpenERP)"
Date: Wed, 5 Sep 2012 18:46:38 +0530
Subject: [PATCH 71/99] [FIX] account_voucher: open payment entry for bank
statement
bzr revid: hmo@tinyerp.com-20120905131638-6nwbwe3acaw0n1nn
---
addons/account_voucher/account_voucher.py | 60 ++++++++-----------
.../account_voucher/account_voucher_view.xml | 4 --
2 files changed, 24 insertions(+), 40 deletions(-)
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 91dfdfcf420..cb2e93705bb 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -334,9 +334,15 @@ class account_voucher(osv.osv):
}
def create(self, cr, uid, vals, context=None):
- voucher = super(account_voucher, self).create(cr, uid, vals, context=context)
- self.create_send_note(cr, uid, [voucher], context=context)
- return voucher
+ if context is None:
+ context = {}
+ bank_line_id = context.get('bank_statement_line_id', False)
+ bank_line_obj = self.pool.get("account.bank.statement.line")
+ voucher_id = super(account_voucher, self).create(cr, uid, vals, context=context)
+ if bank_line_id:
+ bank_line_obj.write(cr, uid, bank_line_id, {'voucher_id': voucher_id})
+ self.create_send_note(cr, uid, [voucher_id], context=context)
+ return voucher_id
def compute_tax(self, cr, uid, ids, context=None):
tax_pool = self.pool.get('account.tax')
@@ -1496,49 +1502,31 @@ class account_bank_statement_line(osv.osv):
_inherit = 'account.bank.statement.line'
def action_payment_reconcile(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ ctx = dict(context)
statement_id = ids[0]
statement = self.browse(cr, uid, statement_id, context=context)
+ ctx['bank_statement_line_id'] = statement.id
+ ctx.update({
+ 'line_type': statement.type,
+ 'type': statement.amount > 0 and 'payment' or 'receipt',
+ 'partner_id': statement.partner_id and statement.partner_id.id or False,
+ 'journal_id': statement.statement_id.journal_id and statement.statement_id.journal_id.id or False,
+ 'amount': abs(statement.amount),
+ 'reference': statement.ref,
+ 'date': statement.date,
+ 'name': statement.name
+ })
voucher = statement.voucher_id or False
voucher_id = voucher and voucher.id or False
- if not voucher:
- voucher_obj = self.pool.get('account.voucher')
- sign = 1
- type = 'general'
- ttype = statement.amount < 0 and 'payment' or 'receipt'
- if statement.journal_id.type in ('sale', 'sale_refund'):
- type = 'customer'
- ttype = 'receipt'
- elif statement.journal_id.type in ('purchase', 'purhcase_refund'):
- type = 'supplier'
- ttype = 'payment'
- sign = -1
-
- result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=statement.partner_id.id, journal_id=statement.journal_id.id, amount=sign*statement.amount, currency_id= False, ttype=ttype, date=statement.date, context=context)
- voucher_res = { 'type': ttype,
- 'name': statement.name,
- 'partner_id': statement.partner_id.id,
- 'journal_id': statement.journal_id.id,
- 'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id),
- 'company_id': statement.company_id.id,
- 'date': statement.date,
- 'amount': sign*statement.amount,
- }
- voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
- self.write(cr, uid, statement_id, {'voucher_id':voucher_id}, context=context)
- mod_obj = self.pool.get('ir.model.data')
- if voucher and voucher.type == 'customer':
- res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
- else:
- res = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_payment_form')
- view_id = res and res[1] or False
return {
'name': _('Payment Entry'),
'res_model': 'account.voucher',
'view_type': 'form',
'view_mode': 'form',
'target':'new',
- 'view_id':view_id,
- 'context': context,
+ 'context': ctx,
'res_id':voucher_id,
'type': 'ir.actions.act_window'
}
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index 47a326e4f96..5577dceec82 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -213,10 +213,6 @@
-
From d9629687e97d3307d4a995096405f4bea95496b0 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Thu, 13 Sep 2012 11:54:14 +0200
Subject: [PATCH 72/99] [IMP] removed default_selection
bzr revid: nicolas.vanhoren@openerp.com-20120913095414-n0r5veemxniao6hi
---
addons/account/account_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index d89108c7726..a535d891d2e 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1052,7 +1052,7 @@
account.move.line
-
+
@@ -1943,7 +1943,7 @@
account.move.line
-
+
From ff4c8c0c60e2e336e6dbbe1472e8ace47c5c2da3 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Thu, 13 Sep 2012 14:00:00 +0200
Subject: [PATCH 73/99] corrected javascript crap
bzr revid: nicolas.vanhoren@openerp.com-20120913120000-8lttbfrbgekz32ui
---
.../src/js/account_move_reconciliation.js | 45 ++++++++++---------
1 file changed, 24 insertions(+), 21 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 88b263038b4..7770cb613bc 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -5,43 +5,44 @@ instance.web.views.add('form_clone', 'instance.account.extend_form_view');
instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
start : function(){
- this._super()
- if(this.action.context && this.action.context.extended_view_id && this.action.context.extended_model)
+ this._super();
+ if(this.action.context && this.action.context.extended_view_id && this.action.context.extended_model) {
this.setup_exended_form_view(this.action.context.extended_model, this.action.context.extended_view_id);
+ }
},
setup_exended_form_view: function(view_model, view_id){
var self = this;
- from_view = this.registry.get_object('form_clone');
+ var from_view = this.registry.get_object('form_clone');
this.dataset_form = new instance.web.DataSetSearch(this, view_model, this.action.context, this.action.domain);
this.dataset_loaded = this.dataset_form.read_slice();
- obj_from_view = new from_view(self, self.dataset_form, view_id, options={});
+ var obj_from_view = new from_view(self, self.dataset_form, view_id, {});
obj_from_view.template = 'ExtendedFormView';
- view_form = obj_from_view.appendTo(self.$el.find('.oe_extended_form_view'));
+ var view_form = obj_from_view.appendTo(self.$el.find('.oe_extended_form_view'));
$.when(view_form, this.dataset_loaded).then(function() {
obj_from_view.on_pager_action('first');
});
}
-
-})
+});
+
instance.account.extend_form_view = instance.web.FormView.extend({
on_loaded: function(data) {
this._super.apply(this,arguments);
- var self = this
- this.$el.find(".oe_reconcile").on('click', this.do_reconcilation)
- this.$el.find(".oe_nothing_to_reconcile").on('click', this.do_nothing_to_reconcile)
+ var self = this;
+ this.$el.find(".oe_reconcile").on('click', this.do_reconcilation);
+ this.$el.find(".oe_nothing_to_reconcile").on('click', this.do_nothing_to_reconcile);
this.$el.on('click','a[data-pager-action]',function() {
var action = $(this).data('pager-action');
self.on_pager_action(action);
});
},
do_reconcilation:function(event){
- var self = this
+ var self = this;
if (!self.datarecord.id){
return false;
}
- var list_view = this.getParent().views['list'].controller
- ids = list_view.get_selected_ids()
- if (ids.length == 0) {
+ var list_view = this.getParent().views['list'].controller;
+ var ids = list_view.get_selected_ids();
+ if (ids.length === 0) {
instance.web.dialog($("
").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
return false;
}
@@ -72,6 +73,8 @@ instance.account.extend_form_view = instance.web.FormView.extend({
if (!self.datarecord.id){
return false;
}
+ // how do you want this to not fail ???
+ var event = null;
this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
self.dataset.read_slice().done(function(){
self.on_pager_action('next');
@@ -80,8 +83,8 @@ instance.account.extend_form_view = instance.web.FormView.extend({
},
do_update_pager: function(hide_index) {
- var index = this.dataset.index + 1
- if (this.dataset.ids.length == 0)
+ var index = this.dataset.index + 1;
+ if (this.dataset.ids.length === 0)
index = 0;
index = hide_index ? '-' : index;
this.$el.find('span.oe_pager_index_extend').html(index).end()
@@ -96,10 +99,10 @@ instance.account.extend_form_view = instance.web.FormView.extend({
},
on_pager_action: function(action) {
- var self = this
+ var self = this;
- if (this.dataset.ids.length == 0){
- self.datarecord = {}
+ if (this.dataset.ids.length === 0){
+ self.datarecord = {};
_(this.fields).each(function (field, f) {
field.set_value(self.datarecord[f] || false);
});
@@ -113,6 +116,6 @@ instance.account.extend_form_view = instance.web.FormView.extend({
});
}
},
- })
+ });
-}
+};
From b7923e45be72ac32908919addd4c98d183928f62 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Thu, 13 Sep 2012 14:08:26 +0200
Subject: [PATCH 74/99] beautify js
bzr revid: nicolas.vanhoren@openerp.com-20120913120826-ar7dnrfmka7oebyp
---
.../src/js/account_move_reconciliation.js | 217 +++++++++---------
1 file changed, 109 insertions(+), 108 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 7770cb613bc..a47b2cfd51f 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -1,121 +1,122 @@
-openerp.account = function(instance) {
-var _t = instance.web._t,
- _lt = instance.web._lt;
-instance.web.views.add('form_clone', 'instance.account.extend_form_view');
-
-instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
- start : function(){
- this._super();
- if(this.action.context && this.action.context.extended_view_id && this.action.context.extended_model) {
- this.setup_exended_form_view(this.action.context.extended_model, this.action.context.extended_view_id);
- }
- },
- setup_exended_form_view: function(view_model, view_id){
- var self = this;
- var from_view = this.registry.get_object('form_clone');
- this.dataset_form = new instance.web.DataSetSearch(this, view_model, this.action.context, this.action.domain);
- this.dataset_loaded = this.dataset_form.read_slice();
- var obj_from_view = new from_view(self, self.dataset_form, view_id, {});
- obj_from_view.template = 'ExtendedFormView';
- var view_form = obj_from_view.appendTo(self.$el.find('.oe_extended_form_view'));
- $.when(view_form, this.dataset_loaded).then(function() {
- obj_from_view.on_pager_action('first');
- });
- }
-});
+openerp.account = function (instance) {
+ var _t = instance.web._t,
+ _lt = instance.web._lt;
+ instance.web.views.add('form_clone', 'instance.account.extend_form_view');
-instance.account.extend_form_view = instance.web.FormView.extend({
- on_loaded: function(data) {
- this._super.apply(this,arguments);
- var self = this;
- this.$el.find(".oe_reconcile").on('click', this.do_reconcilation);
- this.$el.find(".oe_nothing_to_reconcile").on('click', this.do_nothing_to_reconcile);
- this.$el.on('click','a[data-pager-action]',function() {
- var action = $(this).data('pager-action');
- self.on_pager_action(action);
- });
- },
- do_reconcilation:function(event){
- var self = this;
- if (!self.datarecord.id){
- return false;
+ instance.account.extend_viewmanager = instance.web.ViewManagerAction.include({
+ start: function () {
+ this._super();
+ if (this.action.context && this.action.context.extended_view_id && this.action.context.extended_model) {
+ this.setup_exended_form_view(this.action.context.extended_model, this.action.context.extended_view_id);
+ }
+ },
+ setup_exended_form_view: function (view_model, view_id) {
+ var self = this;
+ var from_view = this.registry.get_object('form_clone');
+ this.dataset_form = new instance.web.DataSetSearch(this, view_model, this.action.context, this.action.domain);
+ this.dataset_loaded = this.dataset_form.read_slice();
+ var obj_from_view = new from_view(self, self.dataset_form, view_id, {});
+ obj_from_view.template = 'ExtendedFormView';
+ var view_form = obj_from_view.appendTo(self.$el.find('.oe_extended_form_view'));
+ $.when(view_form, this.dataset_loaded).then(function () {
+ obj_from_view.on_pager_action('first');
+ });
}
- var list_view = this.getParent().views['list'].controller;
- var ids = list_view.get_selected_ids();
- if (ids.length === 0) {
- instance.web.dialog($("
").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
- return false;
- }
- var additional_context = _.extend({
- active_id: ids[0],
- active_ids: ids,
- active_model: list_view.dataset.model
- });
- self.rpc("/web/action/load", {
- action_id: py.eval(event.target.name),
- context: additional_context
- }, function(result) {
+ });
+
+ instance.account.extend_form_view = instance.web.FormView.extend({
+ on_loaded: function (data) {
+ this._super.apply(this, arguments);
+ var self = this;
+ this.$el.find(".oe_reconcile").on('click', this.do_reconcilation);
+ this.$el.find(".oe_nothing_to_reconcile").on('click', this.do_nothing_to_reconcile);
+ this.$el.on('click', 'a[data-pager-action]', function () {
+ var action = $(this).data('pager-action');
+ self.on_pager_action(action);
+ });
+ },
+ do_reconcilation: function (event) {
+ var self = this;
+ if (!self.datarecord.id) {
+ return false;
+ }
+ var list_view = this.getParent().views['list'].controller;
+ var ids = list_view.get_selected_ids();
+ if (ids.length === 0) {
+ instance.web.dialog($("
").text(_t("You must choose at least one record.")), {
+ title: _t("Warning"),
+ modal: true
+ });
+ return false;
+ }
+ var additional_context = _.extend({
+ active_id: ids[0],
+ active_ids: ids,
+ active_model: list_view.dataset.model
+ });
+ self.rpc("/web/action/load", {
+ action_id: py.eval(event.target.name),
+ context: additional_context
+ }, function (result) {
result.result.context = _.extend(result.result.context || {},
- additional_context);
+ additional_context);
result.result.flags = result.result.flags || {};
result.result.flags.new_window = true;
self.do_action(result.result, function () {
- self.dataset.read_slice().done(function(){
+ self.dataset.read_slice().done(function () {
self.on_pager_action('next');
});
+ });
});
- });
- },
+ },
-
- do_nothing_to_reconcile:function(){
- var self = this;
- if (!self.datarecord.id){
- return false;
- }
- // how do you want this to not fail ???
- var event = null;
- this.dataset.call(event.target.name, [[self.datarecord.id], self.dataset.context]).then(function() {
- self.dataset.read_slice().done(function(){
- self.on_pager_action('next');
- });
- });
- },
-
- do_update_pager: function(hide_index) {
- var index = this.dataset.index + 1;
- if (this.dataset.ids.length === 0)
- index = 0;
- index = hide_index ? '-' : index;
- this.$el.find('span.oe_pager_index_extend').html(index).end()
- .find('span.oe_pager_count_extend').html(this.dataset.ids.length);
- },
- do_search_move_line: function(partner_ids){
- var viewmanager = this.getParent();
- viewmanager.action.context.next_partner_only = true;
- viewmanager.action.context.partner_id = partner_ids;
- viewmanager.searchview.do_search();
- },
-
- on_pager_action: function(action) {
- var self = this;
-
- if (this.dataset.ids.length === 0){
- self.datarecord = {};
- _(this.fields).each(function (field, f) {
- field.set_value(self.datarecord[f] || false);
+ do_nothing_to_reconcile: function () {
+ var self = this;
+ if (!self.datarecord.id) {
+ return false;
+ }
+ // how do you want this to not fail ???
+ var event = null;
+ this.dataset.call(event.target.name, [
+ [self.datarecord.id], self.dataset.context]).then(function () {
+ self.dataset.read_slice().done(function () {
+ self.on_pager_action('next');
+ });
});
- self.do_update_pager();
- self.do_search_move_line([]);
- }
- else{
- $.when(this._super(action)).then(function() {
- var id = self.get_fields_values().partner_id;
- self.do_search_move_line([id]);
- });
- }
- },
- });
+ },
-};
+ do_update_pager: function (hide_index) {
+ var index = this.dataset.index + 1;
+ if (this.dataset.ids.length === 0) index = 0;
+ index = hide_index ? '-' : index;
+ this.$el.find('span.oe_pager_index_extend').html(index).end().find('span.oe_pager_count_extend').html(this.dataset.ids.length);
+ },
+
+ do_search_move_line: function (partner_ids) {
+ var viewmanager = this.getParent();
+ viewmanager.action.context.next_partner_only = true;
+ viewmanager.action.context.partner_id = partner_ids;
+ viewmanager.searchview.do_search();
+ },
+
+ on_pager_action: function (action) {
+ var self = this;
+
+ if (this.dataset.ids.length === 0) {
+ self.datarecord = {};
+ _(this.fields).each(function (field, f) {
+ field.set_value(self.datarecord[f] || false);
+ });
+ self.do_update_pager();
+ self.do_search_move_line([]);
+ } else {
+ $.when(this._super(action)).then(function () {
+ var id = self.get_fields_values().partner_id;
+ self.do_search_move_line([id]);
+ });
+ }
+ },
+ });
+
+};
\ No newline at end of file
From 6c97d377b2fc4530c97be72693bae9775ad084f3 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Thu, 13 Sep 2012 14:10:14 +0200
Subject: [PATCH 75/99] added return statements
bzr revid: nicolas.vanhoren@openerp.com-20120913121014-bu2o3sboo2xd4731
---
addons/account/static/src/js/account_move_reconciliation.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index a47b2cfd51f..5973432c0ef 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -68,6 +68,7 @@ openerp.account = function (instance) {
});
});
});
+ return true;
},
@@ -84,6 +85,7 @@ openerp.account = function (instance) {
self.on_pager_action('next');
});
});
+ return true;
},
do_update_pager: function (hide_index) {
From 096251e8c58bd9b88e853e6a4011b561c1b9d676 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Thu, 13 Sep 2012 18:09:48 +0200
Subject: [PATCH 76/99] wip
bzr revid: nicolas.vanhoren@openerp.com-20120913160948-5wwnw7s2jk1zkr1o
---
.../account/account_move_reconciliation.xml | 36 ++++++++++++++++---
.../src/js/account_move_reconciliation.js | 15 ++++++--
2 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index e5ccb090988..714aaccf5eb 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -39,18 +39,46 @@
Reconcile Customer Entries
account.move.line
form
- tree,form
+ account_reconciliation_list,form
-
+
Reconcile Supplier Entries
account.move.line
form
- tree,form
+ account_reconciliation_list,form
-
+
+
+
+
+ account.move.line.account_reconciliation_list
+ account.move.line
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Date: Fri, 14 Sep 2012 15:06:30 +0200
Subject: [PATCH 77/99] wip
bzr revid: nicolas.vanhoren@openerp.com-20120914130630-h7384augk0135qa8
---
.../account/account_move_reconciliation.xml | 4 +-
.../src/js/account_move_reconciliation.js | 9 ++-
.../src/xml/account_move_reconciliation.xml | 64 +++++++++++++++++++
3 files changed, 73 insertions(+), 4 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 714aaccf5eb..1bf2bc7ecdf 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -41,7 +41,7 @@
form
account_reconciliation_list,form
-
+
@@ -50,7 +50,7 @@
form
account_reconciliation_list,form
-
+
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 7df1f7528cb..cde4e88773b 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -1,6 +1,7 @@
openerp.account = function (instance) {
var _t = instance.web._t,
_lt = instance.web._lt;
+ var QWeb = instance.web.qweb;
instance.web.account = {};
@@ -8,8 +9,12 @@ openerp.account = function (instance) {
instance.web.account.ReconciliationListView = instance.web.ListView.extend({
init: function() {
this._super.apply(this, arguments);
- console.log("coucou");
- }
+ },
+ on_loaded: function() {
+ var tmp = this._super.apply(this, arguments);
+ this.$el.prepend(QWeb.render("AccountReconciliation"));
+ return tmp;
+ },
});
/*instance.web.views.add('form_clone', 'instance.account.extend_form_view');
diff --git a/addons/account/static/src/xml/account_move_reconciliation.xml b/addons/account/static/src/xml/account_move_reconciliation.xml
index 9fe822aafb9..b40e00f5e99 100644
--- a/addons/account/static/src/xml/account_move_reconciliation.xml
+++ b/addons/account/static/src/xml/account_move_reconciliation.xml
@@ -2,6 +2,70 @@
+
+
+
+
From 4cc9269e4ba4a171b2cffe16c612f8d9f42e8d1c Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Fri, 14 Sep 2012 17:31:33 +0200
Subject: [PATCH 78/99] wip
bzr revid: nicolas.vanhoren@openerp.com-20120914153133-dghxbx2k8k7o98bu
---
.../account/account_move_reconciliation.xml | 36 ++-----------------
.../src/js/account_move_reconciliation.js | 10 ++++++
2 files changed, 12 insertions(+), 34 deletions(-)
diff --git a/addons/account/account_move_reconciliation.xml b/addons/account/account_move_reconciliation.xml
index 1bf2bc7ecdf..b3cbb062f2c 100644
--- a/addons/account/account_move_reconciliation.xml
+++ b/addons/account/account_move_reconciliation.xml
@@ -1,38 +1,6 @@
-
-
- account.move.reconciliation.form
- account.move.reconciliation
- form
-
-
-
-
-
-
-
-
- ()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -40,7 +8,7 @@
account.move.line
form
account_reconciliation_list,form
-
+
@@ -49,7 +17,7 @@
account.move.line
form
account_reconciliation_list,form
-
+
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index cde4e88773b..ab15242d593 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -15,6 +15,16 @@ openerp.account = function (instance) {
this.$el.prepend(QWeb.render("AccountReconciliation"));
return tmp;
},
+ do_search: function(domain, context, group_by) {
+ var sup = this._super;
+ var mod = new instance.web.Model(this.model, context, domain);
+ return mod.query("partner_id").group_by(["partner_id"]).pipe(function(result) {
+ var vals = _.chain(result).pluck("attributes").pluck("value")
+ .filter(function(el) {return !!el;}).value();
+ debugger;
+ return sup(new instance.web.CompoundDomain(domain, [["partner_id", "in", _.pluck(vals, 0)]]), context, group_by);
+ });
+ },
});
/*instance.web.views.add('form_clone', 'instance.account.extend_form_view');
From 230ed4a0614f2f7aa61b5652c31cd80ae3ea7f21 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 17 Sep 2012 10:23:04 +0200
Subject: [PATCH 79/99] fixed bug
bzr revid: nicolas.vanhoren@openerp.com-20120917082304-uufuuwa8gwtg39y3
---
addons/account/static/src/js/account_move_reconciliation.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index ab15242d593..ceda8417d75 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -16,12 +16,11 @@ openerp.account = function (instance) {
return tmp;
},
do_search: function(domain, context, group_by) {
- var sup = this._super;
+ var sup = _.bind(this._super, this);
var mod = new instance.web.Model(this.model, context, domain);
return mod.query("partner_id").group_by(["partner_id"]).pipe(function(result) {
var vals = _.chain(result).pluck("attributes").pluck("value")
.filter(function(el) {return !!el;}).value();
- debugger;
return sup(new instance.web.CompoundDomain(domain, [["partner_id", "in", _.pluck(vals, 0)]]), context, group_by);
});
},
From 8bca30ec6f9dcdb62333cffd09ab1471bc9eb5ac Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 17 Sep 2012 10:41:30 +0200
Subject: [PATCH 80/99] wip
bzr revid: nicolas.vanhoren@openerp.com-20120917084130-c3x2ryabewwksy5h
---
.../static/src/js/account_move_reconciliation.js | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index ceda8417d75..9d61152d6a6 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -16,14 +16,24 @@ openerp.account = function (instance) {
return tmp;
},
do_search: function(domain, context, group_by) {
- var sup = _.bind(this._super, this);
+ 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 mod = new instance.web.Model(this.model, context, domain);
return mod.query("partner_id").group_by(["partner_id"]).pipe(function(result) {
- var vals = _.chain(result).pluck("attributes").pluck("value")
+ self.partners = _.chain(result).pluck("attributes").pluck("value")
.filter(function(el) {return !!el;}).value();
- return sup(new instance.web.CompoundDomain(domain, [["partner_id", "in", _.pluck(vals, 0)]]), context, group_by);
+ self.current_partner = self.partners.length == 0 ? null : 0;
+ return self.search_by_partner(self.current_partner);
+
});
},
+ search_by_partner: function(partner) {
+ return this.old_search(new instance.web.CompoundDomain(this.last_domain, [["partner_id", "in", partner === null ? [] : [this.partners[partner][0]] ]]),
+ this.last_context, this.last_group_by);
+ }
});
/*instance.web.views.add('form_clone', 'instance.account.extend_form_view');
From 48c3104836f5dccf0e36ac8e22ce3c2c30319b73 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 17 Sep 2012 11:55:18 +0200
Subject: [PATCH 81/99] wip
bzr revid: nicolas.vanhoren@openerp.com-20120917095518-fco1enwa3yl7mo2b
---
.../static/src/js/account_move_reconciliation.js | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 9d61152d6a6..9e4b9fd30dd 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -9,10 +9,11 @@ openerp.account = function (instance) {
instance.web.account.ReconciliationListView = instance.web.ListView.extend({
init: function() {
this._super.apply(this, arguments);
+ this.current_partner = null;
},
on_loaded: function() {
var tmp = this._super.apply(this, arguments);
- this.$el.prepend(QWeb.render("AccountReconciliation"));
+ this.$el.prepend(QWeb.render("AccountReconciliation", {widget: self}));
return tmp;
},
do_search: function(domain, context, group_by) {
@@ -26,14 +27,13 @@ openerp.account = function (instance) {
self.partners = _.chain(result).pluck("attributes").pluck("value")
.filter(function(el) {return !!el;}).value();
self.current_partner = self.partners.length == 0 ? null : 0;
- return self.search_by_partner(self.current_partner);
-
+ self.search_by_partner();
});
},
- search_by_partner: function(partner) {
- return this.old_search(new instance.web.CompoundDomain(this.last_domain, [["partner_id", "in", partner === null ? [] : [this.partners[partner][0]] ]]),
- this.last_context, this.last_group_by);
- }
+ search_by_partner: function() {
+ return this.old_search(new instance.web.CompoundDomain(this.last_domain, [["partner_id", "in", this.current_partner === null ? [] :
+ [this.partners[this.current_partner][0]] ]]), this.last_context, this.last_group_by);
+ },
});
/*instance.web.views.add('form_clone', 'instance.account.extend_form_view');
From 5638e061a84077bf03ce9853f974f1490cfd42e9 Mon Sep 17 00:00:00 2001
From: niv-openerp
Date: Mon, 17 Sep 2012 14:04:42 +0200
Subject: [PATCH 82/99] wip
bzr revid: nicolas.vanhoren@openerp.com-20120917120442-y9921oljzpiwdvv0
---
.../src/js/account_move_reconciliation.js | 3 +-
.../src/xml/account_move_reconciliation.xml | 74 ++++---------------
2 files changed, 17 insertions(+), 60 deletions(-)
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 9e4b9fd30dd..5f86171b8e7 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -13,7 +13,8 @@ openerp.account = function (instance) {
},
on_loaded: function() {
var tmp = this._super.apply(this, arguments);
- this.$el.prepend(QWeb.render("AccountReconciliation", {widget: self}));
+ if (this.partners)
+ this.$el.prepend(QWeb.render("AccountReconciliation", {widget: this}));
return tmp;
},
do_search: function(domain, context, group_by) {
diff --git a/addons/account/static/src/xml/account_move_reconciliation.xml b/addons/account/static/src/xml/account_move_reconciliation.xml
index b40e00f5e99..33adc4e64a0 100644
--- a/addons/account/static/src/xml/account_move_reconciliation.xml
+++ b/addons/account/static/src/xml/account_move_reconciliation.xml
@@ -4,65 +4,21 @@
-