From 29860290c77a87396a647830c360dccd53ad6977 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Fri, 28 Sep 2012 15:17:01 +0530 Subject: [PATCH 1/2] [IMP]create wizard on analytic journal for reporting bzr revid: sgo@tinyerp.com-20120928094701-1wwaupf0n13v62a0 --- addons/account/project/project.py | 36 +++++++++++++++++++++++ addons/account/project/project_view.xml | 39 ++++++++++++++++++++++++- 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/addons/account/project/project.py b/addons/account/project/project.py index 764bedeb2b3..d3dd9e3e013 100644 --- a/addons/account/project/project.py +++ b/addons/account/project/project.py @@ -21,6 +21,7 @@ from osv import fields from osv import osv +import time class account_analytic_journal(osv.osv): _name = 'account.analytic.journal' @@ -50,4 +51,39 @@ class account_journal(osv.osv): account_journal() +class account_analytic_journal_report_print(osv.osv_memory): + _name = 'account.analytic.journal.report.print' + _description = 'Account Analytic Journal Print' + + _columns = { + 'date1': fields.date('Start of period', required=True), + 'date2': fields.date('End of period', required=True), + 'analytic_account_journal_id': fields.many2many('account.analytic.journal', 'account_analytic_journal_name', 'journal_line_id', 'journal_print_id', 'Journals', required=True), + } + + _defaults = { + 'date1': lambda *a: time.strftime('%Y-01-01'), + 'date2': lambda *a: time.strftime('%Y-%m-%d') + } + + def check_print_report(self, cr, uid, ids, context=None): + if context is None: + context = {} + data = self.read(cr, uid, ids)[0] + data_b = self.browse(cr, uid, ids)[0] + analytic_jounal_id = [] + for journal_id in data_b.analytic_account_journal_id: + analytic_jounal_id.append(journal_id.id) + datas = { + 'ids': analytic_jounal_id, + 'model': 'account.analytic.journal', + 'form': data + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.analytic.journal', + 'datas': datas, + } + +account_analytic_journal_report_print() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index a8ef5b1a641..a6250c229f4 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -343,11 +343,48 @@ action="action_account_analytic_journal_open_form" id="account_analytic_journal_entries" parent="menu_finance_entries"/> + + + Account Analytic Journal + account.analytic.journal.report.print + +
+ + + +
+
+
+
+
+ + + Analytic Journal + ir.actions.act_window + account.analytic.journal.report.print + form + form + + new + # # Reporting # - + + account.journal.form.1 From 56f50dfaf7f1befc39a1512b247d9c8b1b4215d1 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Fri, 28 Sep 2012 17:49:22 +0530 Subject: [PATCH 2/2] [IMP]improve code for wizard bzr revid: sgo@tinyerp.com-20120928121922-p4vzwtxui1qhwmqm --- addons/account/project/project.py | 36 ------------------ addons/account/project/project_view.xml | 38 ------------------- .../wizard/account_analytic_journal_report.py | 18 ++++++++- .../account_analytic_journal_report_view.xml | 18 ++++++--- 4 files changed, 30 insertions(+), 80 deletions(-) diff --git a/addons/account/project/project.py b/addons/account/project/project.py index d3dd9e3e013..3dab8ec9abc 100644 --- a/addons/account/project/project.py +++ b/addons/account/project/project.py @@ -50,40 +50,4 @@ class account_journal(osv.osv): } account_journal() - -class account_analytic_journal_report_print(osv.osv_memory): - _name = 'account.analytic.journal.report.print' - _description = 'Account Analytic Journal Print' - - _columns = { - 'date1': fields.date('Start of period', required=True), - 'date2': fields.date('End of period', required=True), - 'analytic_account_journal_id': fields.many2many('account.analytic.journal', 'account_analytic_journal_name', 'journal_line_id', 'journal_print_id', 'Journals', required=True), - } - - _defaults = { - 'date1': lambda *a: time.strftime('%Y-01-01'), - 'date2': lambda *a: time.strftime('%Y-%m-%d') - } - - def check_print_report(self, cr, uid, ids, context=None): - if context is None: - context = {} - data = self.read(cr, uid, ids)[0] - data_b = self.browse(cr, uid, ids)[0] - analytic_jounal_id = [] - for journal_id in data_b.analytic_account_journal_id: - analytic_jounal_id.append(journal_id.id) - datas = { - 'ids': analytic_jounal_id, - 'model': 'account.analytic.journal', - 'form': data - } - return { - 'type': 'ir.actions.report.xml', - 'report_name': 'account.analytic.journal', - 'datas': datas, - } - -account_analytic_journal_report_print() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index a6250c229f4..c87645baca8 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -344,47 +344,9 @@ id="account_analytic_journal_entries" parent="menu_finance_entries"/> - - Account Analytic Journal - account.analytic.journal.report.print - -
- - - -
-
-
-
-
- - - Analytic Journal - ir.actions.act_window - account.analytic.journal.report.print - form - form - - new - - # # Reporting # - - account.journal.form.1 diff --git a/addons/account/project/wizard/account_analytic_journal_report.py b/addons/account/project/wizard/account_analytic_journal_report.py index 9a2eee020b1..8148a016927 100644 --- a/addons/account/project/wizard/account_analytic_journal_report.py +++ b/addons/account/project/wizard/account_analytic_journal_report.py @@ -29,6 +29,7 @@ class account_analytic_journal_report(osv.osv_memory): _columns = { 'date1': fields.date('Start of period', required=True), 'date2': fields.date('End of period', required=True), + 'analytic_account_journal_id': fields.many2many('account.analytic.journal', 'account_analytic_journal_name', 'journal_line_id', 'journal_print_id', 'Analytic Journals', required=True), } _defaults = { @@ -40,8 +41,15 @@ class account_analytic_journal_report(osv.osv_memory): if context is None: context = {} data = self.read(cr, uid, ids)[0] + ids_list = [] + if context.get('active_id',False): + ids_list.append(context.get('active_id',False)) + else: + record = self.browse(cr,uid,ids[0],context=context) + for analytic_record in record.analytic_account_journal_id: + ids_list.append(analytic_record.id) datas = { - 'ids': context.get('active_ids',[]), + 'ids': ids_list, 'model': 'account.analytic.journal', 'form': data } @@ -50,6 +58,14 @@ class account_analytic_journal_report(osv.osv_memory): 'report_name': 'account.analytic.journal', 'datas': datas, } + + def default_get(self, cr, uid, fields, context=None): + if context is None: + context = {} + res = super(account_analytic_journal_report, self).default_get(cr, uid, fields, context=context) + if 'analytic_account_journal_id' in fields: + res.update({'analytic_account_journal_id': context.get('active_ids',[])}) + return res account_analytic_journal_report() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/project/wizard/account_analytic_journal_report_view.xml b/addons/account/project/wizard/account_analytic_journal_report_view.xml index e4c4cd314db..b0cb0293270 100644 --- a/addons/account/project/wizard/account_analytic_journal_report_view.xml +++ b/addons/account/project/wizard/account_analytic_journal_report_view.xml @@ -7,15 +7,16 @@ account.analytic.journal.report
-
-
+ +
+
@@ -38,6 +39,13 @@ action account.analytic.journal
+ + +