diff --git a/addons/account/report/account_entries_report_view.xml b/addons/account/report/account_entries_report_view.xml
index f2b0cceddc0..54275f6a4b3 100644
--- a/addons/account/report/account_entries_report_view.xml
+++ b/addons/account/report/account_entries_report_view.xml
@@ -133,7 +133,7 @@
From this view, have an analysis of your different financial accounts. The document shows your debit and credit taking in consideration some criteria you can choose by using the search tool.
diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml
index 452bf6d1c34..7d6a4003b53 100644
--- a/addons/account/report/account_invoice_report_view.xml
+++ b/addons/account/report/account_invoice_report_view.xml
@@ -56,6 +56,11 @@
+
+
+
+
+
@@ -106,15 +114,12 @@
-
-
-
-
+
@@ -131,7 +136,7 @@
-
+
From this view, have an analysis of your treasury. It sums the balance of every accounting entries made on liquidity accounts per period.
diff --git a/addons/account/res_config.py b/addons/account/res_config.py
index 5c872051ba1..8ca35426427 100644
--- a/addons/account/res_config.py
+++ b/addons/account/res_config.py
@@ -99,14 +99,6 @@ class account_config_settings(osv.osv_memory):
'module_account_followup': fields.boolean('Manage Customer Payment Follow-ups',
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
This installs the module account_followup."""),
- 'module_account_invoice_layout': fields.boolean('Allow Notes and Subtotals',
- help="""This provides some features to improve the layout of invoices.
- It gives you the possibility to:
- * order all the lines of an invoice
- * add titles, comment lines, sub total lines
- * draw horizontal lines and put page breaks.
- This installs the module account_invoice_layout."""),
-
'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices',
implied_group='account.group_proforma_invoices',
help="Allows you to put invoices in pro-forma state."),
diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml
index a27513a9f0c..c6bd026882a 100644
--- a/addons/account/res_config_view.xml
+++ b/addons/account/res_config_view.xml
@@ -17,8 +17,9 @@
-
-
+
+ or
+
@@ -98,7 +99,6 @@
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
-
diff --git a/addons/account/wizard/account_automatic_reconcile_view.xml b/addons/account/wizard/account_automatic_reconcile_view.xml
index b8e719acc35..d0ff56924e9 100644
--- a/addons/account/wizard/account_automatic_reconcile_view.xml
+++ b/addons/account/wizard/account_automatic_reconcile_view.xml
@@ -9,8 +9,9 @@
- [[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, dp='Account') ]] [[ o.currency_id.symbol ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ format(o.comment or removeParentNode('blockTable')) ]]
-
-
-
-
-
-
-
-
-
- [[ o.payment_term and o.payment_term.name ]] : [[ (o.payment_term and o.payment_term.note and format(o.payment_term.note)) or removeParentNode('blockTable') ]]
-
-
-
-
-
-
-
-
diff --git a/addons/account_invoice_layout/report/special_message_invoice.py b/addons/account_invoice_layout/report/special_message_invoice.py
deleted file mode 100644
index 8aee48c4649..00000000000
--- a/addons/account_invoice_layout/report/special_message_invoice.py
+++ /dev/null
@@ -1,157 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-import time
-
-from report import report_sxw
-import pooler
-
-
-class account_invoice_with_message(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(account_invoice_with_message, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'spcl_msg': self.spcl_msg,
- 'invoice_lines': self.invoice_lines,
-
- })
- self.context = context
-
- def spcl_msg(self, form):
- msg_id = form['message'][0]
- account_msg_data = pooler.get_pool(self.cr.dbname).get('notify.message').browse(self.cr, self.uid, msg_id)
- msg = account_msg_data.msg
- return msg
-
- def invoice_lines(self, invoice):
- result = []
- sub_total = {}
- info = []
- res = {}
- list_in_seq = {}
- ids = self.pool.get('account.invoice.line').search(self.cr, self.uid, [('invoice_id', '=', invoice.id)])
- ids.sort()
- for id in range(0, len(ids)):
- info = self.pool.get('account.invoice.line').browse(self.cr, self.uid, ids[id], self.context.copy())
- list_in_seq[info] = info.sequence
- i = 1
- j = 0
- final = sorted(list_in_seq.items(), lambda x, y: cmp(x[1], y[1]))
- invoice_list = [x[0] for x in final]
- sum_flag = {}
- sum_flag[j] = -1
- for entry in invoice_list:
- res = {}
-
- if entry.state == 'article':
- self.cr.execute('select tax_id from account_invoice_line_tax where invoice_line_id=%s', (entry.id,))
- tax_ids = self.cr.fetchall()
-
- if tax_ids == []:
- res['tax_types'] = ''
- else:
- tax_names_dict = {}
- for item in range(0, len(tax_ids)):
- self.cr.execute('select name from account_tax where id=%s', (tax_ids[item][0],))
- type = self.cr.fetchone()
- tax_names_dict[item] = type[0]
- tax_names = ','.join([tax_names_dict[x] for x in range(0, len(tax_names_dict))])
- res['tax_types'] = tax_names
- res['name'] = entry.name
- res['quantity'] = self.formatLang(entry.quantity, digits=self.get_digits(dp='Account'))
- res['price_unit'] = self.formatLang(entry.price_unit, digits=self.get_digits(dp='Account'))
- res['discount'] = self.formatLang(entry.discount, digits=self.get_digits(dp='Account'))
- res['price_subtotal'] = self.formatLang(entry.price_subtotal, digits=self.get_digits(dp='Account'))
- sub_total[i] = entry.price_subtotal
- i = i + 1
- res['note'] = entry.note
- res['currency'] = invoice.currency_id.symbol
- res['type'] = entry.state
-
- if entry.uos_id.id == False:
- res['uos'] = ''
- else:
- uos_name = self.pool.get('product.uom').read(self.cr, self.uid, entry.uos_id.id, ['name'], self.context.copy())
- res['uos'] = uos_name['name']
- else:
- res['quantity'] = ''
- res['price_unit'] = ''
- res['discount'] = ''
- res['tax_types'] = ''
- res['type'] = entry.state
- res['note'] = entry.note
- res['uos'] = ''
-
- if entry.state == 'subtotal':
- res['name'] = entry.name
- sum = 0
- sum_id = 0
- if sum_flag[j] == -1:
- temp = 1
- else:
- temp = sum_flag[j]
-
- for sum_id in range(temp, len(sub_total)+1):
- sum += sub_total[sum_id]
- sum_flag[j+1] = sum_id +1
-
- j = j + 1
- res['price_subtotal'] = "%.2f" % (sum)
- res['currency'] = invoice.currency_id.symbol
- res['quantity'] = ''
- res['price_unit'] = ''
- res['discount'] = ''
- res['tax_types'] = ''
- res['uos'] = ''
- elif entry.state == 'title':
- res['name'] = entry.name
- res['price_subtotal'] = ''
- res['currency'] = ''
- elif entry.state == 'text':
- res['name'] = entry.name
- res['price_subtotal'] = ''
- res['currency'] = ''
- elif entry.state == 'line':
- res['quantity'] = '_______________'
- res['price_unit'] = '______________'
- res['discount'] = '____________'
- res['tax_types'] = '____________________'
- res['uos'] = '_____'
- res['name'] = '_______________________________________________'
- res['price_subtotal'] = '____________'
- res['currency'] = '____'
- elif entry.state == 'break':
- res['type'] = entry.state
- res['name'] = entry.name
- res['price_subtotal'] = ''
- res['currency'] = ''
- else:
- res['name'] = entry.name
- res['price_subtotal'] = ''
- res['currency'] = invoice.currency_id.symbol
-
- result.append(res)
- return result
-
-report_sxw.report_sxw('report.notify_account.invoice', 'account.invoice', 'addons/account_invoice_layout/report/special_message_invoice.rml', parser=account_invoice_with_message)
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml
deleted file mode 100644
index 8bfcfd17654..00000000000
--- a/addons/account_invoice_layout/report/special_message_invoice.rml
+++ /dev/null
@@ -1,501 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ repeatIn(objects,'o') ]]
- [[ setLang(o.partner_id.lang) ]]
-
-
-
-
-
-
-
-
- [[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]
- [[ display_address(o.partner_id) ]]
-
-
-
- Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]
- Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]
- VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]
-
-
-
-
-
-
- Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]
- PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma2') or removeParentNode('para')) and '' ]]
- Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]
- Cancelled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]] [[ o.number ]]
- Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]
- Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]
- Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]] [[ o.number ]]
-
-
-
-
-
-
-
-
-
- Description
-
-
- Invoice Date
-
-
- Source
-
-
- Your Reference
-
-
-
-
-
-
- [[ o.name ]]
-
-
- [[ formatLang(o.date_invoice,date=True) ]]
-
-
- [[ o.name or '' ]]
-
-
- [[ ( o.partner_id.ref) or ' ' ]]
-
-
-
-
-
-
-
-
-
- Description / Taxes
-
-
- Quantity
-
-
- Unit Price
-
-
- Disc. (%)
-
-
- Price
-
-
-
-
- [[ repeatIn(invoice_lines(o), 'a') ]]
-
-
-
- [[ a['type']=='text' and removeParentNode('blockTable')]]
-
-
- [[ ((a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]][[ a['name'] ]] [[ a['type']=='article' and ('/ (' + a['tax_types'] +' )' ) ]]
-
-
- [[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]][[ a['quantity'] ]] [[ a['uos'] ]]
-
-
- [[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]][[ a['price_unit'] ]]
-
-
- [[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]][[ a['discount'] ]]
-
-
- [[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]] [[ a['price_subtotal'] ]] [[ a['currency'] ]]
-
-
-
-
-
-
-
-
-
- Note: [[ (a['note'] and format(a['note'])) or removeParentNode('tr') ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ a['type']=='text' and format(a['name']) or removeParentNode('blockTable') ]]
-
-
- [[ a['type']=='text' and '' ]]
-
-
-
- [[ a['type']!='break' and removeParentNode('pageBreak')]]
-
-
-
- Description / Taxes [[ a['type']!='break' and removeParentNode('blockTable')]]
-
- [[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, dp='Account') ]] [[ o.currency_id.symbol ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[ format(o.comment or removeParentNode('blockTable')) ]]
-
-
-
-
-
-
-
-
-
- [[ format((o.payment_term and o.payment_term.note) or removeParentNode('blockTable')) ]]
-
-
-
-
-
-
-
-
-
- [[ repeatIn((spcl_msg(data['form']) and spcl_msg(data['form']).splitlines()) or [], 'note') ]]
- [[ note or removeParentNode('para') ]]
-
-
-
-
-
-
-
-
diff --git a/addons/account_invoice_layout/security/ir.model.access.csv b/addons/account_invoice_layout/security/ir.model.access.csv
deleted file mode 100644
index 98878fc91bf..00000000000
--- a/addons/account_invoice_layout/security/ir.model.access.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_notify_message,notify.message,model_notify_message,account.group_account_invoice,1,1,1,1
diff --git a/addons/account_invoice_layout/test/account_invoice_layout_report.yml b/addons/account_invoice_layout/test/account_invoice_layout_report.yml
deleted file mode 100644
index 61ca39c654b..00000000000
--- a/addons/account_invoice_layout/test/account_invoice_layout_report.yml
+++ /dev/null
@@ -1,19 +0,0 @@
--
- Print the Invoice layout report in Normal Mode
--
- !python {model: account.invoice}: |
- import netsvc, tools, os
- (data, format) = netsvc.LocalService('report.account.invoice.layout').create(cr, uid, [ref('account.demo_invoice_0')], {}, {})
- if tools.config['test_report_directory']:
- file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout.'+format), 'wb+').write(data)
-
--
- Print the Invoice Layout Report with Message through wizard
--
- !python {model: account.invoice}: |
- ctx={}
- ctx.update({'model': 'account.invoice','active_ids': [ref('account.demo_invoice_0')]})
- data_dict = {'message':ref('account_invoice_layout.demo_message1')}
- from tools import test_reports
- test_reports.try_report_action(cr, uid, 'action_account_invoice_special_msg',wiz_data=data_dict, context=ctx, our_module='account_invoice_layout')
-
diff --git a/addons/account_invoice_layout/wizard/account_invoice_special_message.py b/addons/account_invoice_layout/wizard/account_invoice_special_message.py
deleted file mode 100644
index 27f6044a964..00000000000
--- a/addons/account_invoice_layout/wizard/account_invoice_special_message.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from osv import osv, fields
-
-class account_invoice_special_msg(osv.osv_memory):
- _name = 'account.invoice.special.msg'
- _description = 'Account Invoice Special Message'
-
- _columns = {
- 'message': fields.many2one('notify.message', 'Message', required = True, help="Message to Print at the bottom of report"),
- }
-
- def check_report(self, cr, uid, ids, context=None):
- if context is None:
- context = {}
-
- data = self.read(cr, uid, ids, [], context=context)[0]
- datas = {
- 'ids': context.get('active_ids',[]),
- 'model': 'account.invoice',
- 'form': data
- }
- return {
- 'type': 'ir.actions.report.xml',
- 'report_name': 'notify_account.invoice',
- 'datas': datas,
- }
-
-account_invoice_special_msg()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
diff --git a/addons/account_invoice_layout/wizard/account_invoice_special_message.xml b/addons/account_invoice_layout/wizard/account_invoice_special_message.xml
deleted file mode 100644
index 1ddef75e05b..00000000000
--- a/addons/account_invoice_layout/wizard/account_invoice_special_message.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
- Account Invioce Special Message
- account.invoice.special.msg
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Invoices and Message
- ir.actions.act_window
- account.invoice.special.msg
- form
- form
-
- new
-
-
-
-
- Account Invioce Special Message
- client_print_multi
-
- action
- account.invoice
-
-
-
-
diff --git a/addons/account_payment/account_payment_demo.xml b/addons/account_payment/account_payment_demo.xml
index 02170c38fea..33f3687f4cf 100644
--- a/addons/account_payment/account_payment_demo.xml
+++ b/addons/account_payment/account_payment_demo.xml
@@ -1,14 +1,14 @@
-
+ Reserve Bank00987654321bank
-
+ Direct Payment
diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml
index aa4cd18308f..cf91dcc80a2 100644
--- a/addons/account_payment/account_payment_view.xml
+++ b/addons/account_payment/account_payment_view.xml
@@ -106,13 +106,13 @@