diff --git a/addons/account/report/account_tax_report.py b/addons/account/report/account_tax_report.py index d3fb791bfaa..8275c3d84c1 100644 --- a/addons/account/report/account_tax_report.py +++ b/addons/account/report/account_tax_report.py @@ -37,9 +37,26 @@ class tax_report(rml_parse.rml_parse): 'get_company': self._get_company, 'get_currency': self._get_currency, 'get_lines': self._get_lines, + 'get_years': self.get_years, }) + def get_years(self,form): + res={} + fiscal_year_name = self.pool.get('account.fiscalyear').name_get(self.cr,self.uid,form['fiscalyear']) + + if fiscal_year_name: + res['fname'] = fiscal_year_name[0][1] + res['periods'] = '' + if form['periods']: + periods_l = self.pool.get('account.period').read(self.cr, self.uid, form['periods'], ['name']) + for period in periods_l: + if res['periods']=='': + res['periods'] = period['name'] + else: + res['periods'] += ", "+ period['name'] + return res + def _get_lines(self, based_on, period_list, company_id=False, parent=False, level=0, context={}): res = self._get_codes(based_on, company_id, parent, level, period_list, context=context) diff --git a/addons/account/report/account_tax_report.rml b/addons/account/report/account_tax_report.rml index 2434437e803..9f970e76751 100644 --- a/addons/account/report/account_tax_report.rml +++ b/addons/account/report/account_tax_report.rml @@ -105,6 +105,16 @@ Tax Statement + + + + Year : [[ get_years(data['form'])['fname'] ]] + + + Periods : [[ get_years(data['form'])['periods'] ]] + + + Tax Name diff --git a/addons/account/wizard/account_vat.py b/addons/account/wizard/account_vat.py index 80f4f8360a1..9e0585619b1 100644 --- a/addons/account/wizard/account_vat.py +++ b/addons/account/wizard/account_vat.py @@ -22,42 +22,45 @@ from osv import osv, fields class account_vat_declaration(osv.osv_memory): - _name = 'account.vat.declaration' - _description = 'Account Vat Declaration' + _name = 'account.vat.declaration' + _description = 'Account Vat Declaration' + _inherit = "account.common.account.report" + _columns = { + 'based_on': fields.selection([('invoices','Invoices'), + ('payments','Payments'),], + 'Based On', required=True), + 'company_id': fields.many2one('res.company', 'Company', required=True), + 'periods': fields.many2many('account.period', 'vat_period_rel', 'vat_id', 'period_id', 'Periods', help="All periods if empty"), + 'fiscalyear': fields.many2many('account.fiscalyear','vat_fiscal_rel','fiscal_id','Fiscal Year'), + } + + def _get_company(self, cr, uid, context={}): + user_obj = self.pool.get('res.users') + company_obj = self.pool.get('res.company') + 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] - _columns = { - 'based_on': fields.selection([('invoices','Invoices'), - ('payments','Payments'),], - 'Based On', required=True), - 'company_id': fields.many2one('res.company', 'Company', required=True), - 'periods': fields.many2many('account.period', 'vat_period_rel', 'vat_id', 'period_id', 'Periods', help="All periods if empty"), - } - def _get_company(self, cr, uid, context={}): - user_obj = self.pool.get('res.users') - company_obj = self.pool.get('res.company') - 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 = { + 'based_on': 'invoices', + 'company_id': _get_company - _defaults = { - 'based_on': 'invoices', - 'company_id': _get_company - } + } - def create_vat(self, cr, uid, ids, context={}): - if context is None: - context = {} - datas = {'ids': context.get('active_ids', [])} - datas['model'] = 'account.tax.code' - datas['form'] = self.read(cr, uid, ids)[0] - return { - 'type': 'ir.actions.report.xml', - 'report_name': 'account.vat.declaration', - 'datas': datas, - } + def create_vat(self, cr, uid, ids, context={}): + if context is None: + context = {} + datas = {'ids': context.get('active_ids', [])} + datas['model'] = 'account.tax.code' + datas['form'] = self.read(cr, uid, ids)[0] + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.vat.declaration', + 'datas': datas, + } account_vat_declaration() diff --git a/addons/account/wizard/account_vat_view.xml b/addons/account/wizard/account_vat_view.xml index 16bb39e22cd..41c0faa2c79 100644 --- a/addons/account/wizard/account_vat_view.xml +++ b/addons/account/wizard/account_vat_view.xml @@ -10,10 +10,12 @@
- + - + + +