From 1a7d27a47311f648d2da7b2159adfcf4ad59ac84 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Mon, 24 Sep 2012 12:34:32 +0530 Subject: [PATCH 1/6] [IMP] solve graph error in Contract/Analytic Account bzr revid: fka@tinyerp.com-20120924070432-wepedcjy048n1ncv --- addons/analytic/analytic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 66a67ad4219..861111aed25 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -138,7 +138,7 @@ class account_analytic_account(osv.osv): _columns = { 'name': fields.char('Account/Contract Name', size=128, required=True), - 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name'), + 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name',store=True), 'code': fields.char('Reference', size=24, select=True), 'type': fields.selection([('view','Analytic View'), ('normal','Analytic Account'),('contract','Contract or Project'),('template','Template of Project')], 'Type of Account', required=True, help="If you select the View Type, it means you won\'t allow to create journal entries using that account.\n"\ @@ -151,7 +151,7 @@ class account_analytic_account(osv.osv): 'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'), 'child_complete_ids': fields.function(_child_compute, relation='account.analytic.account', string="Account Hierarchy", type='many2many'), 'line_ids': fields.one2many('account.analytic.line', 'account_id', 'Analytic Entries'), - 'balance': fields.function(_debit_credit_bal_qtty, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), + 'balance': fields.function(_debit_credit_bal_qtty, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account'),store=True), 'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'), From 464a5babdaff508e21d47929cdae961b3aa5b558 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Mon, 24 Sep 2012 12:48:11 +0530 Subject: [PATCH 2/6] [IMP] solve KeyError: 'amount' in Open Journal Entries->Journal Entries in Graph view bzr revid: fka@tinyerp.com-20120924071811-w3ok1hrrueyupqhg --- addons/account/account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index d145f0308b0..2078d6d208f 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1285,7 +1285,7 @@ class account_move(osv.osv): 'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}), 'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'), 'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True), - 'amount': fields.function(_amount_compute, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount), + 'amount': fields.function(_amount_compute, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount, store=True), 'date': fields.date('Date', required=True, states={'posted':[('readonly',True)]}, select=True), 'narration':fields.text('Internal Note'), 'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True), From 5980921d61fd49a8f99d5a302b161f92a80a9c85 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Mon, 24 Sep 2012 16:43:18 +0530 Subject: [PATCH 3/6] [IMP] improve code bzr revid: fka@tinyerp.com-20120924111318-be0zi7vkqffqy8tq --- addons/account/project/project_view.xml | 2 +- addons/analytic/analytic.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index da1a11b9cb6..4446bd1b165 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -377,7 +377,7 @@ account.analytic.account - + diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index a2d191a4c26..3e504bd01a1 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -138,7 +138,7 @@ class account_analytic_account(osv.osv): _columns = { 'name': fields.char('Account/Contract Name', size=128, required=True), - 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name',store=True), + 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name'), 'code': fields.char('Reference', size=24, select=True), 'type': fields.selection([('view','Analytic View'), ('normal','Analytic Account'),('contract','Contract or Project'),('template','Template of Project')], 'Type of Account', required=True, help="If you select the View Type, it means you won\'t allow to create journal entries using that account.\n"\ From 8549da26255d26e8778f7ce400598ea34c74ee18 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Wed, 26 Sep 2012 12:29:56 +0530 Subject: [PATCH 4/6] [IMP] remove Print Analytic Journals menu from reporting of account bzr revid: fka@tinyerp.com-20120926065956-zn053lwpnnb032gn --- addons/account/project/project_view.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 4446bd1b165..a8ef5b1a641 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -114,9 +114,6 @@ - account.analytic.line.form @@ -351,15 +348,6 @@ # Reporting # - - Print Analytic Journals - account.analytic.journal - tree - To print an analytics (or costs) journal for a given period. The report give code, move name, account number, general amount and analytic amount. - - account.journal.form.1 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 5/6] [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 6/6] [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
+ + +