From 4c408bfb254c3ff20d51bbbdbfd78545f06ca9c6 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 4 Jun 2008 04:06:23 +0000 Subject: [PATCH] Moved base report designer in extra_addons bzr revid: fp@tinyerp.com-a52fb2798427107a6ca1e5569fc1371d4af3f42e --- addons/account_payment/account_move_line.py | 9 +- addons/account_payment/payment.py | 33 +- addons/account_payment/payment_view.xml | 79 +- .../wizard/wizard_payment_order.py | 2 + addons/base_report_designer/__init__.py | 30 - addons/base_report_designer/__terp__.py | 17 - .../base_report_designer.py | 71 -- .../base_report_designer_wizard.xml | 22 - .../base_report_designer/wizard/__init__.py | 29 - .../wizard/base_report_designer_modify.py | 230 ------ .../wizard/tiny_sxw2rml/__init__.py | 29 - .../wizard/tiny_sxw2rml/normalized_oo2rml.xsl | 681 ------------------ .../wizard/tiny_sxw2rml/office.dtd | 0 .../wizard/tiny_sxw2rml/tiny_sxw2rml.py | 365 ---------- 14 files changed, 83 insertions(+), 1514 deletions(-) delete mode 100644 addons/base_report_designer/__init__.py delete mode 100644 addons/base_report_designer/__terp__.py delete mode 100644 addons/base_report_designer/base_report_designer.py delete mode 100644 addons/base_report_designer/base_report_designer_wizard.xml delete mode 100644 addons/base_report_designer/wizard/__init__.py delete mode 100644 addons/base_report_designer/wizard/base_report_designer_modify.py delete mode 100644 addons/base_report_designer/wizard/tiny_sxw2rml/__init__.py delete mode 100644 addons/base_report_designer/wizard/tiny_sxw2rml/normalized_oo2rml.xsl delete mode 100644 addons/base_report_designer/wizard/tiny_sxw2rml/office.dtd delete mode 100755 addons/base_report_designer/wizard/tiny_sxw2rml/tiny_sxw2rml.py diff --git a/addons/account_payment/account_move_line.py b/addons/account_payment/account_move_line.py index f7578385d2b..38d38ecfbbb 100644 --- a/addons/account_payment/account_move_line.py +++ b/addons/account_payment/account_move_line.py @@ -96,15 +96,16 @@ class account_move_line(osv.osv): bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context) for line in self.browse(cr, uid, ids, context=context): + line2bank[line.id] = False if line.invoice and line.invoice.partner_bank: line2bank[line.id] = line.invoice.partner_bank.id - elif line.partner: - for bank in line.partner.bank_ids: + elif line.partner_id: + for bank in line.partner_id.bank_ids: if bank.state in bank_type: line2bank[line.id] = bank.id break - if line.id not in line2bank and line.partner.bank_ids: - line2bank[line.id] = line.partner.bank_ids[0].id + if line.id not in line2bank and line.partner_id.bank_ids: + line2bank[line.id] = line.partner_id.bank_ids[0].id return line2bank _columns = { diff --git a/addons/account_payment/payment.py b/addons/account_payment/payment.py index ce5c2f9ae79..e3833f66b8b 100644 --- a/addons/account_payment/payment.py +++ b/addons/account_payment/payment.py @@ -95,11 +95,11 @@ class payment_order(osv.osv): _columns = { 'date_planned': fields.date('Scheduled date if fixed'), - 'reference': fields.char('Reference',size=128), - 'mode': fields.many2one('payment.mode','Payment mode', select=True), + 'reference': fields.char('Reference',size=128,required=1), + 'mode': fields.many2one('payment.mode','Payment mode', select=True, required=1), 'state': fields.selection([ ('draft', 'Draft'), - ('open','Open'), + ('open','Confirmed'), ('cancel','Cancelled'), ('done','Done')], 'State', select=True), 'line_ids': fields.one2many('payment.line','order_id','Payment lines'), @@ -120,8 +120,7 @@ class payment_order(osv.osv): 'state': lambda *a: 'draft', 'date_prefered': lambda *a: 'due', 'date_created': lambda *a: time.strftime('%Y-%m-%d'), - 'reference': lambda self,cr,uid,context: self.pool.get('ir.sequence' - ).get(cr, uid, 'payment.order'), + 'reference': lambda self,cr,uid,context: self.pool.get('ir.sequence').get(cr, uid, 'payment.order'), } def set_to_draft(self, cr, uid, ids, *args): @@ -167,6 +166,18 @@ class payment_line(osv.osv): "due_date": "date_maturity", "reference": "ref"}.get(orig, orig) + def info_owner(self, cr, uid, ids, name, args, context=None): + if not ids: return {} + result = {} + for id in ids: + result[id] = """Tiny SPRL +126-12021213-07 (Fortis) +Chaussee de Namlur 40 +1367 Grand Rosiere +Belgique""" + return result + + info_partner = info_owner def select_by_name(self, cr, uid, ids, name, args, context=None): if not ids: return {} @@ -279,7 +290,9 @@ class payment_line(osv.osv): return res _columns = { - 'name': fields.char('Name', size=64, required=True, readonly=True), + 'name': fields.char('Your Reference', size=64, required=True), + 'communication': fields.char('Communication', size=64), + 'communication2': fields.char('Communication 2', size=64), 'move_line_id': fields.many2one('account.move.line','Entry line', required=True), 'amount_currency': fields.float('Amount', digits=(16,2), @@ -292,8 +305,7 @@ class payment_line(osv.osv): 'bank_id': fields.many2one('res.partner.bank', 'Bank account'), 'order_id': fields.many2one('payment.order', 'Order', required=True, ondelete='cascade', select=True), - 'partner_id': fields.function(select_by_name, string="Partner", - method=True, type='many2one', obj='res.partner'), + 'partner_id': fields.many2one('res.partner', string="Partner"), 'amount': fields.function(_amount, string='Amount', method=True, type='float', help='Payment amount in the company currency'), @@ -305,14 +317,19 @@ class payment_line(osv.osv): method=True, type='date'), 'reference': fields.function(select_by_name, string="Ref", method=True, type='char'), + 'info_owner': fields.function(info_owner, string="Owner Account", method=True, type="text"), + 'info_partner': fields.function(info_partner, string="Owner Account", method=True, type="text"), 'partner_payable': fields.function(partner_payable, string="Partner payable", method=True, type='float'), 'value_date': fields.function(_value_date, string='Value Date', method=True, type='date'), + 'date': fields.date('Memo Date'), + 'state': fields.selection([('normal','Normal'), ('structured','Structured')], 'State', required=True) } _defaults = { 'name': lambda obj, cursor, user, context: obj.pool.get('ir.sequence' ).get(cursor, user, 'payment.line'), + 'state': lambda *args: 'normal' } _sql_constraints = [ ('name_uniq', 'UNIQUE(name)', 'The payment line name must be unique!'), diff --git a/addons/account_payment/payment_view.xml b/addons/account_payment/payment_view.xml index ff8128faed8..9974341bf2d 100644 --- a/addons/account_payment/payment_view.xml +++ b/addons/account_payment/payment_view.xml @@ -143,22 +143,47 @@ form
- - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -170,21 +195,19 @@ + + + domain="[('partner_id','=',partner_id),('reconcile_id', '=', False), ('credit', '>', 0), ('amount_to_pay', '>', 0)]"/> - - - - - - - - - - - + + + + + + + diff --git a/addons/account_payment/wizard/wizard_payment_order.py b/addons/account_payment/wizard/wizard_payment_order.py index 51703dbd1c5..0bfed35d49e 100644 --- a/addons/account_payment/wizard/wizard_payment_order.py +++ b/addons/account_payment/wizard/wizard_payment_order.py @@ -92,6 +92,8 @@ def create_payment(self, cr, uid, data, context): 'amount_currency': line.amount_to_pay, 'bank_id': line2bank.get(line.id), 'order_id': payment.id, + 'partner_id': line.partner_id and line.partner_id.id or False, + 'communication': line.ref or '/' }, context=context) return {} diff --git a/addons/base_report_designer/__init__.py b/addons/base_report_designer/__init__.py deleted file mode 100644 index 71d74203e1d..00000000000 --- a/addons/base_report_designer/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved. -# Fabien Pinckaers -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# 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 2 -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import base_report_designer -import wizard diff --git a/addons/base_report_designer/__terp__.py b/addons/base_report_designer/__terp__.py deleted file mode 100644 index 643eaa6df56..00000000000 --- a/addons/base_report_designer/__terp__.py +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name" : "Report designer interface module", - "description" : """ -This module adds wizards to import/export documents to be edited in -OpenOffice. -""", - "version" : "0.1", - "depends" : ["base"], - "author" : "Tiny", - "website" : "http://tinyerp.com", - "category" : "Generic Modules/Base", - "init_xml" : [ ], - "demo_xml" : [ ], - "update_xml" : [ "base_report_designer_wizard.xml" ], - "active": False, - "installable": True -} diff --git a/addons/base_report_designer/base_report_designer.py b/addons/base_report_designer/base_report_designer.py deleted file mode 100644 index c467bb64c6d..00000000000 --- a/addons/base_report_designer/base_report_designer.py +++ /dev/null @@ -1,71 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004-2007 TINY SPRL. (http://tiny.be) All Rights Reserved. -# Fabien Pinckaers -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# 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 2 -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from osv import fields,osv -from wizard.tiny_sxw2rml import sxw2rml -from StringIO import StringIO -from report import interface -import base64 -import pooler -import tools - -class report_xml(osv.osv): - _inherit = 'ir.actions.report.xml' - - def sxwtorml(self,cr, uid, file_sxw): - ''' - The use of this function is to get rml file from sxw file. - ''' - sxwval = StringIO(base64.decodestring(file_sxw)) - fp = tools.file_open('normalized_oo2rml.xsl', - subdir='addons/base_report_designer/wizard/tiny_sxw2rml') - return {'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read()))} - - def upload_report(self, cr, uid, report_id, file_sxw, context): - ''' - Untested function - ''' - pool = pooler.get_pool(cr.dbname) - sxwval = StringIO(base64.decodestring(file_sxw)) - fp = tools.file_open('normalized_oo2rml.xsl', - subdir='addons/base_report_designer/wizard/tiny_sxw2rml') - report = pool.get('ir.actions.report.xml').write(cr, uid, [report_id], { - 'report_sxw_content': base64.decodestring(file_sxw), - 'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())) - }) - cr.commit() - db = pooler.get_db_only(cr.dbname) - interface.register_all(db) - return True - def report_get(self, cr, uid, report_id, context={}): - report = self.browse(cr, uid, report_id, context) - return { - 'report_sxw_content': report.report_sxw_content and base64.encodestring(report.report_sxw_content) or False, - 'report_rml_content': report.report_rml_content and base64.encodestring(report.report_rml_content) or False - } -report_xml() diff --git a/addons/base_report_designer/base_report_designer_wizard.xml b/addons/base_report_designer/base_report_designer_wizard.xml deleted file mode 100644 index 5df876b24ad..00000000000 --- a/addons/base_report_designer/base_report_designer_wizard.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - diff --git a/addons/base_report_designer/wizard/__init__.py b/addons/base_report_designer/wizard/__init__.py deleted file mode 100644 index b3bb16434f6..00000000000 --- a/addons/base_report_designer/wizard/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved. -# Fabien Pinckaers -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# 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 2 -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import base_report_designer_modify diff --git a/addons/base_report_designer/wizard/base_report_designer_modify.py b/addons/base_report_designer/wizard/base_report_designer_modify.py deleted file mode 100644 index a62b380983b..00000000000 --- a/addons/base_report_designer/wizard/base_report_designer_modify.py +++ /dev/null @@ -1,230 +0,0 @@ -############################################################################## -# -# Copyright (c) 2005-2007 TINY SPRL. (http://tiny.be) All Rights Reserved. -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# 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 2 -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import time -import wizard -import osv -import pooler -import urllib -import base64 -import tools - -intro_form = ''' -
- - -''' - -intro_fields = { - 'text': { - 'string': 'Introduction', - 'type': 'text', - 'readonly': True, - 'default': lambda *args: """This system must be used with the Tiny OpenOffice plugin. If you -did not installed yet, you can find this package on: - http://tinyerp.com - -This wizard will provide you the .SXW report that you can modify -in OpenOffice. After having modified it, you will be able to reupload -it to the Tiny ERP server. -"""}, - 'operation': { - 'string': 'Operation', - 'type': 'selection', - 'selection': [ - ('create','Create a new report'), - ('modify','Modify an existing report') - ], - 'size': 32, - 'required': True, - 'default': lambda *args: 'create', - }, -} - -get_form = ''' -
- - -''' - -get_fields = { - 'report_id': { - 'string': 'Report', - 'type': 'many2one', - 'relation': 'ir.actions.report.xml', - 'required': True, - 'domain': [('report_sxw_content','<>',False)], - }, -} - -get_form_result = ''' -
- - - - - -