From 195a5197e079c0060e2aa9b5fafbb2d952df2f12 Mon Sep 17 00:00:00 2001 From: "psi (Open ERP)" Date: Fri, 23 Apr 2010 11:34:16 +0530 Subject: [PATCH] [Add] account: convert account_aged_trial_balance wizard to osv_memory bzr revid: psi@tinyerp.co.in-20100423060416-wu5vugqm947ek4jz --- addons/account/__openerp__.py | 1 + addons/account/account_wizard.xml | 8 +- addons/account/report/aged_trial_balance.py | 3 +- addons/account/wizard/__init__.py | 2 +- .../wizard/account_aged_trial_balance.py | 106 ++++++++++++++++ .../account_aged_trial_balance_view.xml | 53 ++++++++ .../account_general_ledger_report_view.xml | 2 +- .../wizard/wizard_aged_trial_balance.py | 113 ------------------ 8 files changed, 167 insertions(+), 121 deletions(-) create mode 100755 addons/account/wizard/account_aged_trial_balance.py create mode 100644 addons/account/wizard/account_aged_trial_balance_view.xml delete mode 100755 addons/account/wizard/wizard_aged_trial_balance.py diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 63c179bf626..2cf8d837157 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -74,6 +74,7 @@ module named account_voucherss 'wizard/account_use_model_view.xml', 'wizard/account_partner_balance_report_view.xml', 'wizard/account_balance_report_view.xml', + 'wizard/account_aged_trial_balance_view.xml', 'project/wizard/project_account_analytic_line_view.xml', 'account_view.xml', 'account_end_fy.xml', diff --git a/addons/account/account_wizard.xml b/addons/account/account_wizard.xml index c10bac8d588..5f006d52824 100644 --- a/addons/account/account_wizard.xml +++ b/addons/account/account_wizard.xml @@ -71,14 +71,14 @@ --> - - - + - + diff --git a/addons/account/report/aged_trial_balance.py b/addons/account/report/aged_trial_balance.py index c13ea96ea50..26e24031c3a 100644 --- a/addons/account/report/aged_trial_balance.py +++ b/addons/account/report/aged_trial_balance.py @@ -18,8 +18,8 @@ # along with this program. If not, see . # ############################################################################## - import time + import pooler import rml_parse from report import report_sxw @@ -45,7 +45,6 @@ class aged_trial_report(rml_parse.rml_parse): def _get_lines(self, form): - if (form['result_selection'] == 'customer' ): self.ACCOUNT_TYPE = ['receivable'] elif (form['result_selection'] == 'supplier'): diff --git a/addons/account/wizard/__init__.py b/addons/account/wizard/__init__.py index 2a209f291b8..43ace9e1589 100644 --- a/addons/account/wizard/__init__.py +++ b/addons/account/wizard/__init__.py @@ -30,7 +30,7 @@ import account_move_journal import account_journal_select import account_move_bank_reconcile import account_subscription_generate -import wizard_aged_trial_balance +import account_aged_trial_balance import account_general_ledger_report import wizard_third_party_ledger import account_partner_balance_report diff --git a/addons/account/wizard/account_aged_trial_balance.py b/addons/account/wizard/account_aged_trial_balance.py new file mode 100755 index 00000000000..bdcb8af735a --- /dev/null +++ b/addons/account/wizard/account_aged_trial_balance.py @@ -0,0 +1,106 @@ +# -*- 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 time +import datetime +from mx.DateTime import * + +from osv import osv, fields +from tools.translate import _ + +class account_aged_trial_balance(osv.osv_memory): + + _name = 'account.aged.trial.balance' + _description = 'Account Aged Trial balance Report' + + _columns = { + 'company_id': fields.many2one('res.company', 'Company', required=True), + 'period_length':fields.integer('Period length (days)', required=True), + 'date1': fields.date('Start of period', required=True), + 'result_selection': fields.selection([('customer','Receivable'), + ('supplier','Payable'), + ('all','Receivable and Payable')], + 'Filter on Partners', required=True), + 'direction_selection': fields.selection([('past','Past'), + ('future','Future')], + 'Analysis Direction', required=True), + } + + def _get_company(self, cr, uid, ids, context=None): + user_obj = self.pool.get('res.users') + company_obj = self.pool.get('res.company') + if context is None: + context = {} + user = user_obj.browse(cr, uid, uid, context=context) + if user.company_id: + return user.company_id.id + else: + return company_obj.search(cr, uid, [('parent_id', '=', False)])[0] + + _defaults = { + 'company_id' : _get_company, + 'period_length' : 30, + 'date1' : time.strftime('%Y-%m-%d'), + 'result_selection' : 'all', + 'direction_selection' : 'past', + } + + def calc_dates(self, cr, uid, ids, context=None): + fiscalyear_obj = self.pool.get('account.fiscalyear') + data={} + res = {} + if context is None: + context = {} + data['ids'] = context.get('active_ids',[]) + data['model'] = 'res.partner' + data['form'] = self.read(cr, uid, ids, [])[0] + data['form']['fiscalyear'] = fiscalyear_obj.find(cr, uid) + period_length = data['form']['period_length'] + if period_length<=0: + raise osv.except_osv(_('UserError'), _('You must enter a period length that cannot be 0 or below !')) + start = datetime.date.fromtimestamp(time.mktime(time.strptime(data['form']['date1'],"%Y-%m-%d"))) + start = DateTime(int(start.year),int(start.month),int(start.day)) + if data['form']['direction_selection'] == 'past': + for i in range(5)[::-1]: + stop = start - RelativeDateTime(days=period_length) + res[str(i)] = { + 'name' : str((5-(i+1))*period_length) + '-' + str((5-i)*period_length), + 'stop': start.strftime('%Y-%m-%d'), + 'start' : stop.strftime('%Y-%m-%d'), + } + start = stop - RelativeDateTime(days=1) + else: + for i in range(5): + stop = start + RelativeDateTime(days=period_length) + res[str(5-(i+1))] = { + 'name' : str((i)*period_length)+'-'+str((i+1)*period_length), + 'start': start.strftime('%Y-%m-%d'), + 'stop' : stop.strftime('%Y-%m-%d'), + } + start = stop + RelativeDateTime(days=1) + data['form'].update(res) + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.aged_trial_balance', + 'datas': data, + } + +account_aged_trial_balance() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/wizard/account_aged_trial_balance_view.xml b/addons/account/wizard/account_aged_trial_balance_view.xml new file mode 100644 index 00000000000..258de38b714 --- /dev/null +++ b/addons/account/wizard/account_aged_trial_balance_view.xml @@ -0,0 +1,53 @@ + + + + + + + + Aged Partner Balance + account.aged.trial.balance + form + +
+ + + + + + + + + + + +