From 0bbf09016d27372da49a0b72b7150d3f674b7419 Mon Sep 17 00:00:00 2001 From: Mustufa Rangwala Date: Tue, 13 Jul 2010 17:18:47 +0530 Subject: [PATCH] [IMP] Account: Third party ledger report converted to commot report and improve its report file bzr revid: mra@mra-laptop-20100713114847-cpxvetpm0aqsi5j0 --- addons/account/report/third_party_ledger.py | 72 ++++-------- .../wizard/account_third_party_ledger.py | 107 +++++------------- .../wizard/account_third_party_ledger.xml | 59 +++------- 3 files changed, 64 insertions(+), 174 deletions(-) diff --git a/addons/account/report/third_party_ledger.py b/addons/account/report/third_party_ledger.py index 07e3dc39b18..4a41b5a51b9 100644 --- a/addons/account/report/third_party_ledger.py +++ b/addons/account/report/third_party_ledger.py @@ -19,14 +19,16 @@ # ############################################################################## -import pooler import time import re -import rml_parse import datetime + +import pooler +import rml_parse from report import report_sxw class third_party_ledger(rml_parse.rml_parse): + def __init__(self, cr, uid, name, context): self.date_lst = [] self.date_lst_string = '' @@ -38,10 +40,11 @@ class third_party_ledger(rml_parse.rml_parse): 'sum_credit_partner': self._sum_credit_partner, 'sum_debit': self._sum_debit, 'sum_credit': self._sum_credit, - 'get_company': self._get_company, +# 'get_company': self._get_company, 'get_currency': self._get_currency, 'comma_me' : self.comma_me, }) + def date_range(self, start, end): if not start or not end: return [] @@ -70,41 +73,11 @@ class third_party_ledger(rml_parse.rml_parse): self.date_lst = date_array self.date_lst.sort() - def transform_date_into_date_array(self,data): - return_array = self.date_range(data['form']['date1'], data['form']['date2']) + def transform_date_into_date_array(self, data): + return_array = self.date_range(data['form']['date_from'], data['form']['date_to']) self.date_lst = return_array self.date_lst.sort() - def transform_both_into_date_array(self,data): - - if not data['form']['periods']: - periods_id = self.pool.get('account.period').search(self.cr, self.uid, [('fiscalyear_id','=',data['form']['fiscalyear'])]) - else: - periods_id = data['form']['periods'] - date_array = [] - for period_id in periods_id: - period_obj = self.pool.get('account.period').browse(self.cr, self.uid, period_id) - date_array = date_array + self.date_range(period_obj.date_start, period_obj.date_stop) - - period_start_date = date_array[0] - date_start_date = data['form']['date1'] - period_stop_date = date_array[-1] - date_stop_date = data['form']['date2'] - - if period_start_date res[0]['date_stop'] or data['form']['date2'] < res[0]['date_start']): - raise osv.except_osv(_('UserError'),_('Date to must be set between %s and %s') % (str(res[0]['date_start']), str(res[0]['date_stop']))) - else: - return { - 'type': 'ir.actions.report.xml', - 'report_name': 'account.third_party_ledger', - 'datas': data, - 'nodestroy':True, - } + if (data['form']['date_to'] > res[0]['date_stop'] or data['form']['date_to'] < res[0]['date_start']): + raise osv.except_osv(_('UserError'),_('Date to must be set between %s and %s') % (str(res[0]['date_start']), str(res[0]['date_stop']))) else: raise osv.except_osv(_('UserError'),_('Date not in a defined fiscal year')) + return True + def _print_report(self, cr, uid, ids, data, query_line, context=None): + if context is None: + context = {} + data = self.pre_print_report(cr, uid, ids, data, query_line, context=context) + data['form'].update(self.read(cr, uid, ids, ['soldeinit', 'reconcil', 'page_split'])[0]) + if data['form']['filter'] == 'filter_date': + self._check_date(cr, uid, data, context) + data['form']['query_line'] = query_line + if data['form']['page_split']: + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.third_party_ledger', + 'datas': data, + 'nodestroy':True, + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.third_party_ledger_other', + 'datas': data, + 'nodestroy':True, + } account_partner_ledger() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/wizard/account_third_party_ledger.xml b/addons/account/wizard/account_third_party_ledger.xml index e731086af2c..d3e75ff2926 100644 --- a/addons/account/wizard/account_third_party_ledger.xml +++ b/addons/account/wizard/account_third_party_ledger.xml @@ -2,44 +2,21 @@ - - Select period - account.partner.ledger - form - -
- - - - -