From a6c69a3c4123e35eb2b765620132b22f3a583efc Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Wed, 24 Jun 2009 18:36:13 +0530 Subject: [PATCH] [FIX] Account : Added Configuration wizard to make overdue payment report message configurable on company lp bug: https://launchpad.net/bugs/389540 fixed bzr revid: jvo@tinyerp.com-20090624130613-0xkhxttppgfzzv9s --- addons/account/__init__.py | 4 +- addons/account/__terp__.py | 5 +- addons/account/company.py | 99 +++++++++++++++++++++++++++++++ addons/account/company_view.xml | 56 +++++++++++++++++ addons/account/report/overdue.rml | 6 +- 5 files changed, 163 insertions(+), 7 deletions(-) create mode 100644 addons/account/company.py create mode 100644 addons/account/company_view.xml diff --git a/addons/account/__init__.py b/addons/account/__init__.py index 939f996099f..894daca732a 100644 --- a/addons/account/__init__.py +++ b/addons/account/__init__.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -31,6 +31,6 @@ import wizard import report import product import sequence - +import company # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/__terp__.py b/addons/account/__terp__.py index 2679bc5e515..3930b9b3e11 100644 --- a/addons/account/__terp__.py +++ b/addons/account/__terp__.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -59,7 +59,8 @@ 'process/statement_process.xml', 'process/customer_invoice_process.xml', 'process/supplier_invoice_process.xml', - 'sequence_view.xml' + 'sequence_view.xml', + 'company_view.xml', ], 'demo_xml': [ 'account_demo.xml', diff --git a/addons/account/company.py b/addons/account/company.py new file mode 100644 index 00000000000..403b886e012 --- /dev/null +++ b/addons/account/company.py @@ -0,0 +1,99 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2008 Tiny SPRL (). All Rights Reserved +# $Id$ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import fields, osv + +class res_company(osv.osv): + _inherit = "res.company" + _columns = { + 'overdue_msg' : fields.text('Overdue Payments Message'), + } + + _defaults = { + 'overdue_msg': lambda *a: 'Would your payment have been carried \ +out after this mail was sent, please consider the present one as \ +void. Do not hesitate to contact our accounting department' + } +res_company() + +class company_setup(osv.osv_memory): + """ + Insert Information for a company. + Wizard asks for: + * A Company with its partner + * Insert a suitable message for Overdue Payment Report. + """ + _name='wizard.company.setup' + + _columns = { + 'company_id':fields.many2one('res.company','Company',required=True), + 'partner_id':fields.many2one('res.partner','Partner'), + 'overdue_msg': fields.text('Overdue Payment Message'), + } + def get_message(self,cr,uid,context={}): + company =self.pool.get('res.users').browse(cr,uid,[uid],context)[0].company_id + msg = company.overdue_msg + phone = company.partner_id.address and (company.partner_id.address[0].phone and ' at ' + str(company.partner_id.address[0].phone) + '.' or '.') or '.' + msg += str(phone) + return msg + + _defaults = { + 'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr,uid,[uid],c)[0].company_id.id, + 'partner_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr,uid,[uid],c)[0].company_id.partner_id.id, + 'overdue_msg': get_message, + } + + def onchange_company_id(self, cr, uid, ids, company, context=None): + res = {} + if not company: + return {} + comp_obj = self.pool.get('res.company').browse(cr,uid,company) + res['partner_id'] = comp_obj.partner_id.id + phone = comp_obj.partner_id.address and (comp_obj.partner_id.address[0].phone and ' at ' + str(comp_obj.partner_id.address[0].phone) + '.' or '.') or '.' + res['overdue_msg'] = comp_obj.overdue_msg + str(phone) + + return {'value': res } + + def action_create(self, cr, uid, ids, context=None): + content_wiz = self.pool.get('wizard.company.setup').read(cr,uid,ids,['company_id','overdue_msg']) + if content_wiz: + wiz_data = content_wiz[0] + self.pool.get('res.company').write(cr, uid, [wiz_data['company_id']], {'overdue_msg':wiz_data['overdue_msg']}) + + return { + 'view_type': 'form', + "view_mode": 'form', + 'res_model': 'ir.actions.configuration.wizard', + 'type': 'ir.actions.act_window', + 'target':'new', + } + + def action_cancel(self,cr,uid,ids,conect=None): + return { + 'view_type': 'form', + "view_mode": 'form', + 'res_model': 'ir.actions.configuration.wizard', + 'type': 'ir.actions.act_window', + 'target':'new', + } + +company_setup() diff --git a/addons/account/company_view.xml b/addons/account/company_view.xml new file mode 100644 index 00000000000..29eedc72b0c --- /dev/null +++ b/addons/account/company_view.xml @@ -0,0 +1,56 @@ + + + + + res.company.form.inherit + + res.company + form + + + + + + + + + + + + + + wizard.company.setup.form + wizard.company.setup + form + +
+ + + + + +