Merge lp:~cv.clearcorp/openerp-ccorp-addons/7.0-ven012-account_invoicing_report into lp:openerp-ccorp-addons/7.0

Proposed by Carlos Vásquez (ClearCorp)
Status: Merged
Merged at revision: 881
Proposed branch: lp:~cv.clearcorp/openerp-ccorp-addons/7.0-ven012-account_invoicing_report
Merge into: lp:openerp-ccorp-addons/7.0
Diff against target: 2287 lines (+2215/-0)
12 files modified
account_invoicing_report/__init__.py (+24/-0)
account_invoicing_report/__openerp__.py (+47/-0)
account_invoicing_report/i18n/account_invoicing_report.pot (+231/-0)
account_invoicing_report/i18n/es.po (+231/-0)
account_invoicing_report/report/__init__.py (+23/-0)
account_invoicing_report/report/account_invoicing_report.py (+266/-0)
account_invoicing_report/report/report.xml (+1193/-0)
account_invoicing_report/report_menus.xml (+14/-0)
account_invoicing_report/security/ir.model.access.csv (+3/-0)
account_invoicing_report/wizard/__init__.py (+23/-0)
account_invoicing_report/wizard/account_invoicing_report_wizard.py (+123/-0)
account_invoicing_report/wizard/account_invoicing_report_wizard.xml (+37/-0)
To merge this branch: bzr merge lp:~cv.clearcorp/openerp-ccorp-addons/7.0-ven012-account_invoicing_report
Reviewer Review Type Date Requested Status
ClearCorp drivers Pending
Review via email: mp+223656@code.launchpad.net

Description of the change

[ADD] Add account_invoicing_report module.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory 'account_invoicing_report'
=== added file 'account_invoicing_report/__init__.py'
--- account_invoicing_report/__init__.py 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/__init__.py 2014-06-18 22:58:22 +0000
@@ -0,0 +1,24 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import wizard
24import report
025
=== added file 'account_invoicing_report/__openerp__.py'
--- account_invoicing_report/__openerp__.py 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/__openerp__.py 2014-06-18 22:58:22 +0000
@@ -0,0 +1,47 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22{
23 'name': 'Account Invoicing Report',
24 'description': """
25Account Invoicing Report
26==========================
27This module permits print the account invoicing report. This report classifies
28invoices by type of taxes.
29 """,
30 'version': '1.0',
31 'author': 'CLEARCORP S.A.',
32 "category": 'Accounting & Finance',
33 'website': "http://clearcorp.co.cr",
34 'depends': [
35 'account',
36 'account_invoice_global_discount',
37 'account_report_lib'],
38 'data': [
39 'security/ir.model.access.csv',
40 'report/report.xml',
41 'wizard/account_invoicing_report_wizard.xml',
42 'report_menus.xml',
43 ],
44 'active': False,
45 'installable': True,
46 'license': 'AGPL-3',
47}
048
=== added directory 'account_invoicing_report/i18n'
=== added file 'account_invoicing_report/i18n/account_invoicing_report.pot'
--- account_invoicing_report/i18n/account_invoicing_report.pot 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/i18n/account_invoicing_report.pot 2014-06-18 22:58:22 +0000
@@ -0,0 +1,231 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * account_invoicing_report
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-18 22:36+0000\n"
10"PO-Revision-Date: 2014-06-18 22:36+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: account_invoicing_report
19#: field:invoicing.report.wiz,res_partners_ids:0
20msgid "Partners"
21msgstr ""
22
23#. module: account_invoicing_report
24#: help:invoicing.report.wiz,amount_currency:0
25msgid "It adds the currency column on report if the currency differs from the company currency."
26msgstr ""
27
28#. module: account_invoicing_report
29#: model:ir.actions.act_window,name:account_invoicing_report.action_account_invoicing_report_wizard
30#: model:ir.model,name:account_invoicing_report.model_invoicing_report_wiz
31msgid "Account Invoicing Report Wizard"
32msgstr ""
33
34#. module: account_invoicing_report
35#: view:invoicing.report.wiz:0
36msgid "This report allows to print a account invoincing report by different search criteria."
37msgstr ""
38
39#. module: account_invoicing_report
40#: view:invoicing.report.wiz:0
41msgid "Print"
42msgstr ""
43
44#. module: account_invoicing_report
45#: code:addons/account_invoicing_report/report/account_invoicing_report.py:89
46#, python-format
47msgid "All taxes"
48msgstr ""
49
50#. module: account_invoicing_report
51#: help:invoicing.report.wiz,historic_strict:0
52msgid "If selected, will display a historical unreconciled lines, taking into account the end of the period or date selected"
53msgstr ""
54
55#. module: account_invoicing_report
56#: code:addons/account_invoicing_report/wizard/account_invoicing_report_wizard.py:88
57#, python-format
58msgid "Error !"
59msgstr ""
60
61#. module: account_invoicing_report
62#: field:invoicing.report.wiz,special_period:0
63msgid "Special period"
64msgstr ""
65
66#. module: account_invoicing_report
67#: field:invoicing.report.wiz,sort_selection:0
68msgid "Entries Sorted by"
69msgstr ""
70
71#. module: account_invoicing_report
72#: field:invoicing.report.wiz,company_id:0
73msgid "Company"
74msgstr ""
75
76#. module: account_invoicing_report
77#: field:invoicing.report.wiz,amount_currency:0
78msgid "With Currency"
79msgstr ""
80
81#. module: account_invoicing_report
82#: selection:invoicing.report.wiz,filter:0
83#: selection:invoicing.report.wiz,sort_selection:0
84msgid "Date"
85msgstr ""
86
87#. module: account_invoicing_report
88#: field:invoicing.report.wiz,chart_account_id:0
89msgid "Chart of Account"
90msgstr ""
91
92#. module: account_invoicing_report
93#: field:invoicing.report.wiz,journal_ids:0
94msgid "Journals"
95msgstr ""
96
97#. module: account_invoicing_report
98#: field:invoicing.report.wiz,target_move:0
99msgid "Target Moves"
100msgstr ""
101
102#. module: account_invoicing_report
103#: view:invoicing.report.wiz:0
104msgid "Report Options"
105msgstr ""
106
107#. module: account_invoicing_report
108#: help:invoicing.report.wiz,chart_account_id:0
109msgid "Select Charts of Accounts"
110msgstr ""
111
112#. module: account_invoicing_report
113#: field:invoicing.report.wiz,date_to:0
114msgid "End Date"
115msgstr ""
116
117#. module: account_invoicing_report
118#: field:invoicing.report.wiz,period_from:0
119msgid "Start Period"
120msgstr ""
121
122#. module: account_invoicing_report
123#: selection:invoicing.report.wiz,sort_selection:0
124msgid "Name"
125msgstr ""
126
127#. module: account_invoicing_report
128#: selection:invoicing.report.wiz,target_move:0
129msgid "All Posted Entries"
130msgstr ""
131
132#. module: account_invoicing_report
133#: view:invoicing.report.wiz:0
134#: field:invoicing.report.wiz,account_tax_ids:0
135msgid "Taxes"
136msgstr ""
137
138#. module: account_invoicing_report
139#: view:invoicing.report.wiz:0
140msgid "General Options"
141msgstr ""
142
143#. module: account_invoicing_report
144#: help:invoicing.report.wiz,fiscalyear_id:0
145msgid "Keep empty for all open fiscal year"
146msgstr ""
147
148#. module: account_invoicing_report
149#: field:invoicing.report.wiz,period_to:0
150msgid "End Period"
151msgstr ""
152
153#. module: account_invoicing_report
154#: field:invoicing.report.wiz,fiscalyear_id:0
155msgid "Fiscal Year"
156msgstr ""
157
158#. module: account_invoicing_report
159#: field:invoicing.report.wiz,historic_strict:0
160msgid "Strict History"
161msgstr ""
162
163#. module: account_invoicing_report
164#: selection:invoicing.report.wiz,filter:0
165msgid "No Filters"
166msgstr ""
167
168#. module: account_invoicing_report
169#: view:invoicing.report.wiz:0
170#: model:ir.actions.report.xml,name:account_invoicing_report.account_invoicing_report_ods
171#: model:ir.actions.report.xml,name:account_invoicing_report.account_invoicing_report_odt
172#: model:ir.ui.menu,name:account_invoicing_report.account_invoicing_report_menu
173msgid "Account Invoicing Report"
174msgstr ""
175
176#. module: account_invoicing_report
177#: field:invoicing.report.wiz,out_format:0
178msgid "Print Format"
179msgstr ""
180
181#. module: account_invoicing_report
182#: field:invoicing.report.wiz,account_base_report:0
183msgid "Account Base Report"
184msgstr ""
185
186#. module: account_invoicing_report
187#: help:invoicing.report.wiz,special_period:0
188msgid "Include special period"
189msgstr ""
190
191#. module: account_invoicing_report
192#: field:invoicing.report.wiz,account_ids:0
193msgid "Accounts"
194msgstr ""
195
196#. module: account_invoicing_report
197#: selection:invoicing.report.wiz,filter:0
198msgid "Periods"
199msgstr ""
200
201#. module: account_invoicing_report
202#: code:addons/account_invoicing_report/wizard/account_invoicing_report_wizard.py:88
203#, python-format
204msgid "There is no template defined for the selected format. Check if aeroo report exist."
205msgstr ""
206
207#. module: account_invoicing_report
208#: view:invoicing.report.wiz:0
209msgid "Cancel"
210msgstr ""
211
212#. module: account_invoicing_report
213#: field:invoicing.report.wiz,date_from:0
214msgid "Start Date"
215msgstr ""
216
217#. module: account_invoicing_report
218#: field:invoicing.report.wiz,filter:0
219msgid "Filter by"
220msgstr ""
221
222#. module: account_invoicing_report
223#: view:invoicing.report.wiz:0
224msgid "or"
225msgstr ""
226
227#. module: account_invoicing_report
228#: selection:invoicing.report.wiz,target_move:0
229msgid "All Entries"
230msgstr ""
231
0232
=== added file 'account_invoicing_report/i18n/es.po'
--- account_invoicing_report/i18n/es.po 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/i18n/es.po 2014-06-18 22:58:22 +0000
@@ -0,0 +1,231 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * account_invoicing_report
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-18 22:36+0000\n"
10"PO-Revision-Date: 2014-06-18 22:36+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: account_invoicing_report
19#: field:invoicing.report.wiz,res_partners_ids:0
20msgid "Partners"
21msgstr "Empresas"
22
23#. module: account_invoicing_report
24#: help:invoicing.report.wiz,amount_currency:0
25msgid "It adds the currency column on report if the currency differs from the company currency."
26msgstr "Añada la columna de moneda en el reporte si la moneda es diferente de la moneda de la compañía."
27
28#. module: account_invoicing_report
29#: model:ir.actions.act_window,name:account_invoicing_report.action_account_invoicing_report_wizard
30#: model:ir.model,name:account_invoicing_report.model_invoicing_report_wiz
31msgid "Account Invoicing Report Wizard"
32msgstr "Asistente para el Reporte de Facturación"
33
34#. module: account_invoicing_report
35#: view:invoicing.report.wiz:0
36msgid "This report allows to print a account invoincing report by different search criteria."
37msgstr "Este reporte le permite imprmir un reporte de facturación por diferentes criterios de búsqueda."
38
39#. module: account_invoicing_report
40#: view:invoicing.report.wiz:0
41msgid "Print"
42msgstr "Imprimir"
43
44#. module: account_invoicing_report
45#: code:addons/account_invoicing_report/report/account_invoicing_report.py:89
46#, python-format
47msgid "All taxes"
48msgstr "Todos los impuestos"
49
50#. module: account_invoicing_report
51#: help:invoicing.report.wiz,historic_strict:0
52msgid "If selected, will display a historical unreconciled lines, taking into account the end of the period or date selected"
53msgstr "Si se selecciona, se mostrará una línea sin conciliar históricos, teniendo en cuenta el final del período o la fecha seleccionada"
54
55#. module: account_invoicing_report
56#: code:addons/account_invoicing_report/wizard/account_invoicing_report_wizard.py:88
57#, python-format
58msgid "Error !"
59msgstr "Error !"
60
61#. module: account_invoicing_report
62#: field:invoicing.report.wiz,special_period:0
63msgid "Special period"
64msgstr "Período especial"
65
66#. module: account_invoicing_report
67#: field:invoicing.report.wiz,sort_selection:0
68msgid "Entries Sorted by"
69msgstr "Entradas ordenadas por"
70
71#. module: account_invoicing_report
72#: field:invoicing.report.wiz,company_id:0
73msgid "Company"
74msgstr "Compañía"
75
76#. module: account_invoicing_report
77#: field:invoicing.report.wiz,amount_currency:0
78msgid "With Currency"
79msgstr "Con moneda"
80
81#. module: account_invoicing_report
82#: selection:invoicing.report.wiz,filter:0
83#: selection:invoicing.report.wiz,sort_selection:0
84msgid "Date"
85msgstr "Fechas"
86
87#. module: account_invoicing_report
88#: field:invoicing.report.wiz,chart_account_id:0
89msgid "Chart of Account"
90msgstr "Catálogo contable"
91
92#. module: account_invoicing_report
93#: field:invoicing.report.wiz,journal_ids:0
94msgid "Journals"
95msgstr "Diarios"
96
97#. module: account_invoicing_report
98#: field:invoicing.report.wiz,target_move:0
99msgid "Target Moves"
100msgstr "Movimientos destino"
101
102#. module: account_invoicing_report
103#: view:invoicing.report.wiz:0
104msgid "Report Options"
105msgstr "Opciones de reporte"
106
107#. module: account_invoicing_report
108#: help:invoicing.report.wiz,chart_account_id:0
109msgid "Select Charts of Accounts"
110msgstr "Selecccione catálogo contable"
111
112#. module: account_invoicing_report
113#: field:invoicing.report.wiz,date_to:0
114msgid "End Date"
115msgstr "Fecha Final"
116
117#. module: account_invoicing_report
118#: field:invoicing.report.wiz,period_from:0
119msgid "Start Period"
120msgstr "Período Inicial"
121
122#. module: account_invoicing_report
123#: selection:invoicing.report.wiz,sort_selection:0
124msgid "Name"
125msgstr "Nombre"
126
127#. module: account_invoicing_report
128#: selection:invoicing.report.wiz,target_move:0
129msgid "All Posted Entries"
130msgstr "Todos los apuntes publicados"
131
132#. module: account_invoicing_report
133#: view:invoicing.report.wiz:0
134#: field:invoicing.report.wiz,account_tax_ids:0
135msgid "Taxes"
136msgstr "Impuestos"
137
138#. module: account_invoicing_report
139#: view:invoicing.report.wiz:0
140msgid "General Options"
141msgstr "Opciones Generales"
142
143#. module: account_invoicing_report
144#: help:invoicing.report.wiz,fiscalyear_id:0
145msgid "Keep empty for all open fiscal year"
146msgstr "Mantener vacío para todo el año fiscal abierto"
147
148#. module: account_invoicing_report
149#: field:invoicing.report.wiz,period_to:0
150msgid "End Period"
151msgstr "Período Final"
152
153#. module: account_invoicing_report
154#: field:invoicing.report.wiz,fiscalyear_id:0
155msgid "Fiscal Year"
156msgstr "Año Fiscal"
157
158#. module: account_invoicing_report
159#: field:invoicing.report.wiz,historic_strict:0
160msgid "Strict History"
161msgstr "Histórico Estricto"
162
163#. module: account_invoicing_report
164#: selection:invoicing.report.wiz,filter:0
165msgid "No Filters"
166msgstr "Sin Filtros"
167
168#. module: account_invoicing_report
169#: view:invoicing.report.wiz:0
170#: model:ir.actions.report.xml,name:account_invoicing_report.account_invoicing_report_ods
171#: model:ir.actions.report.xml,name:account_invoicing_report.account_invoicing_report_odt
172#: model:ir.ui.menu,name:account_invoicing_report.account_invoicing_report_menu
173msgid "Account Invoicing Report"
174msgstr "Reporte de Facturación"
175
176#. module: account_invoicing_report
177#: field:invoicing.report.wiz,out_format:0
178msgid "Print Format"
179msgstr "Formato de impresión"
180
181#. module: account_invoicing_report
182#: field:invoicing.report.wiz,account_base_report:0
183msgid "Account Base Report"
184msgstr "Informe Financiero Base"
185
186#. module: account_invoicing_report
187#: help:invoicing.report.wiz,special_period:0
188msgid "Include special period"
189msgstr "Incluir período especial"
190
191#. module: account_invoicing_report
192#: field:invoicing.report.wiz,account_ids:0
193msgid "Accounts"
194msgstr "Cuentas"
195
196#. module: account_invoicing_report
197#: selection:invoicing.report.wiz,filter:0
198msgid "Periods"
199msgstr "Períodos"
200
201#. module: account_invoicing_report
202#: code:addons/account_invoicing_report/wizard/account_invoicing_report_wizard.py:88
203#, python-format
204msgid "There is no template defined for the selected format. Check if aeroo report exist."
205msgstr "No existe una plantilla definida para el formato seleccionado. Revise si existe una plantilla de Aeroo creada"
206
207#. module: account_invoicing_report
208#: view:invoicing.report.wiz:0
209msgid "Cancel"
210msgstr "Cancelar"
211
212#. module: account_invoicing_report
213#: field:invoicing.report.wiz,date_from:0
214msgid "Start Date"
215msgstr "Fecha Inicial"
216
217#. module: account_invoicing_report
218#: field:invoicing.report.wiz,filter:0
219msgid "Filter by"
220msgstr "Filtrado por"
221
222#. module: account_invoicing_report
223#: view:invoicing.report.wiz:0
224msgid "or"
225msgstr "o"
226
227#. module: account_invoicing_report
228#: selection:invoicing.report.wiz,target_move:0
229msgid "All Entries"
230msgstr "Todos los apuntes"
231
0232
=== added directory 'account_invoicing_report/report'
=== added file 'account_invoicing_report/report/__init__.py'
--- account_invoicing_report/report/__init__.py 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/report/__init__.py 2014-06-18 22:58:22 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import account_invoicing_report
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'account_invoicing_report/report/account_invoicing_report.ods'
2Binary files account_invoicing_report/report/account_invoicing_report.ods 1970-01-01 00:00:00 +0000 and account_invoicing_report/report/account_invoicing_report.ods 2014-06-18 22:58:22 +0000 differ26Binary files account_invoicing_report/report/account_invoicing_report.ods 1970-01-01 00:00:00 +0000 and account_invoicing_report/report/account_invoicing_report.ods 2014-06-18 22:58:22 +0000 differ
=== added file 'account_invoicing_report/report/account_invoicing_report.odt'
3Binary files account_invoicing_report/report/account_invoicing_report.odt 1970-01-01 00:00:00 +0000 and account_invoicing_report/report/account_invoicing_report.odt 2014-06-18 22:58:22 +0000 differ27Binary files account_invoicing_report/report/account_invoicing_report.odt 1970-01-01 00:00:00 +0000 and account_invoicing_report/report/account_invoicing_report.odt 2014-06-18 22:58:22 +0000 differ
=== added file 'account_invoicing_report/report/account_invoicing_report.py'
--- account_invoicing_report/report/account_invoicing_report.py 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/report/account_invoicing_report.py 2014-06-18 22:58:22 +0000
@@ -0,0 +1,266 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import pooler
24from report import report_sxw
25from tools.translate import _
26from openerp.addons.account_report_lib.account_report_base import accountReportbase
27from numpy.ma.core import ids
28
29class Parser(accountReportbase):
30
31 def __init__(self, cr, uid, name, context):
32 super(Parser, self).__init__(cr, uid, name, context=context)
33 self.pool = pooler.get_pool(self.cr.dbname)
34 self.cursor = self.cr
35
36 self.localcontext.update({
37 'cr' : cr,
38 'uid': uid,
39 'storage':{},
40 'display_taxes':self.display_taxes,
41 'get_order_taxes':self.get_order_taxes,
42 'get_tax_name': self.get_tax_name,
43 'get_data_block_tax': self.get_data_block_tax,
44 'get_tax_type': self.get_tax_type,
45 })
46
47 #---------SET AND GET DATA ----------#
48 # Get taxes from wizard
49 def get_taxes(self, data):
50 return self._get_info(data,'account_tax_ids', 'account.tax')
51
52 #Get taxes order by name
53 def get_order_taxes(self, data):
54 taxes_ids = []
55
56 if not self.get_taxes(data):
57 taxes_ids = self.pool.get('account.tax').search(self.cr, self.uid, [], order="name ASC")
58 return self.pool.get('account.tax').browse(self.cr, self.uid, taxes_ids)
59 else:
60 return self.get_taxes(data) #browse record list
61
62 #Extract ids from taxes
63 def get_taxes_ids(self, data):
64 ids = []
65 if self.get_taxes(data):
66 for tax in self.get_taxes(data):
67 ids.append(tax.id)
68 return ids
69
70 def get_tax_name(self, tax_id):
71 return self.pool.get('account.tax').browse(self.cr, self.uid, tax_id).name
72
73 def get_tax_type(self, tax_id):
74 name = ''
75 tax = self.pool.get('account.tax').browse(self.cr, self.uid, tax_id)
76
77 if tax.type == 'percent' or tax.type == 'fixed':
78 name = tax.name + ' - ' + str(tax.amount) + '%'
79 else:
80 name = tax.name
81
82 return name
83
84 #================ DISPLAY DATA ===========================#
85 def display_taxes(self, data):
86 name = ''
87
88 if not self.get_taxes(data): #It means that non-one was selected
89 return _('All taxes')
90 else:
91 taxes = self.get_taxes(data)
92 for tax in taxes:
93 name += tax.name + ', '
94 return name
95
96 #========= BUILD DATA
97 def get_invoices(self, tax_id, data):
98 account_invoice_obj = self.pool.get('account.invoice')
99 result={}
100 domain = []
101
102 date_from = self.get_date_from(data)
103 date_to = self.get_date_to(data)
104 domain.append(('date_invoice', '>=', date_from))
105 domain.append(('date_invoice', '<=', date_to))
106
107 tuple = ('invoice_line.invoice_line_tax_id', 'in', tax_id)
108 domain.append(tuple)
109
110 tuple = ('state', '!=', 'draft')
111 domain.append(tuple)
112
113 invoices_ids = account_invoice_obj.search(self.cr, self.uid, domain, context=None)
114 invoices_obj = account_invoice_obj.browse(self.cr, self.uid, invoices_ids, context=None)
115
116 return invoices_obj
117
118 """
119 1. Create a structure like this:
120 tax_block[tax_id] = {} (invoices)
121
122 Then invoices is a dictionary, where key is id invoice and each key
123 has a list with lines that its tax match with tax_id that is passed
124 as a parameter
125
126 So, iterate dictionary like this
127
128 for tax_id, invoice in tax_block.iteritems():
129 tax_id ...
130 for invoices in invoices:
131 for line in invoices['lines']:
132 (line as a dictionary)
133 """
134
135 def get_invoices_lines_to_process(self, tax_id, data):
136 line_info = {}
137 invoice_dict = {}
138 tax_block = {}
139 qty_lines = 0
140 list = []
141
142 add_invoice = False
143
144 for invoice in self.get_invoices(tax_id, data):
145 line_info = {}
146 invoice_dict = {}
147 qty_lines = 0 #this variable is per invoice
148
149 for line in invoice.invoice_line:
150 added_line = False
151 for tax in line.invoice_line_tax_id:
152 if tax.id == tax_id:
153 qty_lines += 1
154 invoice_dict[invoice.id] = {'lines':[],}
155 add_invoice = True
156
157 if len(invoice_dict[invoice.id]['lines']) > 0:
158 for dict in invoice_dict['lines']:
159 if line.id == dict['id']:
160 added_line = True
161
162 if not added_line:
163 #compute taxes
164 price = line.price_unit * (1-(line.discount or 0.0)/100.0)
165 amount_tax = self.pool.get('account.tax').compute_all(self.cr, self.uid, [tax], price, line.quantity, product=line.product_id, partner=line.invoice_id.partner_id)
166
167 line_info['id'] = line.id
168 line_info['price_sub_not_dis'] = line.price_subtotal_not_discounted
169 line_info['price_subtotal'] = line.price_subtotal,
170 line_info['taxes'] = amount_tax['total_included'] - line.price_subtotal
171
172 else:
173 #compute taxes
174 price = line.price_unit * (1-(line.discount or 0.0)/100.0)
175 #amount_tax is a dictionary
176 amount_tax = self.pool.get('account.tax').compute_all(self.cr, self.uid, [tax], price, line.quantity, product=line.product_id, partner=line.invoice_id.partner_id)
177
178 line_info['id'] = line.id
179 line_info['price_sub_not_dis'] = line.price_subtotal_not_discounted
180 line_info['price_subtotal'] = line.price_subtotal,
181 line_info['taxes'] = amount_tax['total_included'] - line.price_subtotal
182
183 invoice_dict[invoice.id]['lines'].append(line_info)
184
185
186 if add_invoice:
187 invoice_dict[invoice.id].update({
188 'number': invoice.number,
189 'client': invoice.partner_id.name or '',
190 'qty_lines': qty_lines,
191 'qty_lines_total': len(invoice.invoice_line)
192 })
193 list.append(invoice_dict)
194 add_invoice = False
195
196 tax_block[tax_id] = {}
197 tax_block[tax_id].update({'invoices': list})
198
199 return tax_block
200
201 #========== COMPUTE DATA
202 def get_price_subtotal_not_discounted_per_invoice(self, invoice):
203 price_subtotal_not_discount = 0.0
204
205 for line in invoice['lines']:
206 price_subtotal_not_discount += line['price_sub_not_dis']
207
208 return price_subtotal_not_discount
209
210 def get_price_subtotal_per_invoice(self, invoice):
211 price_subtotal = 0.0
212
213 for line in invoice['lines']:
214 price_subtotal += line['price_subtotal'][0]
215
216 return price_subtotal
217
218 def get_discount_per_invoice(self, invoice):
219 discount = 0.0
220 price_subtotal = 0.0
221 price_subtotal_not_discount = 0.0
222
223 price_subtotal_not_discount = self.get_price_subtotal_not_discounted_per_invoice(invoice)
224 price_subtotal = self.get_price_subtotal_per_invoice(invoice)
225
226 discount = price_subtotal_not_discount - price_subtotal
227
228 return discount
229
230 def get_taxes_per_invoice(self, invoice):
231 taxes = 0.0
232
233 for line in invoice['lines']:
234 taxes += line['taxes']
235
236 return taxes
237
238 #============== FINAL FUNCTION
239 def set_data_template(self, tax_id, data):
240 #Invoices and lines are processing in this function
241 tax_block = self.get_invoices_lines_to_process(tax_id, data)
242
243 dict_update = {'tax_block': tax_block,}
244
245 self.localcontext['storage'].update(dict_update)
246 return False
247
248 def get_data_block_tax(self, tax_id):
249 final_block = {}
250 final_list = []
251
252 for element in self.get_data_template('tax_block')[tax_id]['invoices']:
253 for id, invoice in element.iteritems():
254 final_block = {}
255 final_block['invoice_number'] = invoice['number']
256 final_block['client'] = invoice['client']
257 final_block['qty_lines'] = str(invoice['qty_lines']) + "/" + str(invoice['qty_lines_total'])
258 final_block['subtotal_without_dis'] = self.get_price_subtotal_not_discounted_per_invoice(invoice)
259 final_block['discount'] = self.get_discount_per_invoice(invoice)
260 final_block['subtotal_dis'] = self.get_price_subtotal_per_invoice(invoice)
261 final_block['taxes'] = self.get_taxes_per_invoice(invoice)
262 final_block['total'] = final_block['subtotal_dis'] + final_block['taxes']
263
264 final_list.append(final_block)
265
266 return final_list
0\ No newline at end of file267\ No newline at end of file
1268
=== added file 'account_invoicing_report/report/report.xml'
--- account_invoicing_report/report/report.xml 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/report/report.xml 2014-06-18 22:58:22 +0000
@@ -0,0 +1,1193 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4
5 <record id="account_invoicing_report_odt" model="ir.actions.report.xml">
6 <field name="name">Account Invoicing Report</field>
7 <field name="type">ir.actions.report.xml</field>
8 <field name="model">account.invoice</field>
9 <field name="report_name">account_invoicing_report_odt</field>
10 <field name="report_type">aeroo</field>
11 <field name="in_format">oo-odt</field>
12 <field name="out_format">1</field><!--Must be code of mimetypes (report_mimetypes on database)-->
13 <field name="parser_loc">account_invoicing_report/report/account_invoicing_report.py</field>
14 <field name="report_rml">account_invoicing_report/report/account_invoicing_report.odt</field>
15 <field name="parser_state">loc</field>
16 <field name="tml_source">database</field>
17 <field name="report_sxw_content_data">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
529LcU4zpPNOlvjVVKggI38vWJX8lxHCl9SV1D0doorv+3J6nOaf0m235cm/yG3k/yPD+hKkudv+MWY
5306UpqaafcZ3W08ut0nSiLSZzFyeOz0v358DNfH9ZZdAUcWmt+Se5QRnCDHz/2qhYwWXL+bTlHXF5+
53153zPzikeTbpjx1pCbnrtdiABs6gaVl1EsojmOIYFFS9qe4dsmWWVZe0pGGlwBmNFEFdB5CfPcydt
532cDIcimj/iYeTcrJrGfc5b8l0QwAqC3TzANG9n738C1BLBwggyNfb5wEAACoEAABQSwMEFAAICAgA
533IJ7SRAAAAAAAAAAAAAAAAAwAAABtYW5pZmVzdC5yZGbNk81ugzAQhO88hWXO2EAvBQVyKMq5ap/A
534NYZYBS/ymhLevo6TVlGkquqf1OOuRjPfjrSb7WEcyIuyqMFUNGMpJcpIaLXpKzq7Lrml2zra2LYr
535H5od8WqDpZ8qunduKjlfloUtNwxsz7OiKHia8zxPvCLB1ThxSAzGtI4ICR6NQmn15HwaOc7iCWZX
536UXTroJB59yA9i906qaCyCmG2Ur2HtiCRgUCNCUzKhHSDHLpOS8UzlvNROcGh7eLHYL3Tg6I8YPAr
537js/Y3ogMpuVe4L2w7lyD33yVaHruY3p108Xx3yOUYJwy7k/quzt5/+f+Ls//GeKvtHZEbEDOo2f6
538kOe08h9VR69QSwcItPdo0gUBAACDAwAAUEsDBBQAAAgAACCe0kQAAAAAAAAAAAAAAAAaAAAAQ29u
539ZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwMEFAAICAgAIJ7SRAAAAAAAAAAAAAAAACcAAABDb25m
540aWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQSwME
541FAAACAAAIJ7SRAAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAA
542CAAAIJ7SRAAAAAAAAAAAAAAAABwAAABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsDBBQA
543AAgAACCe0kQAAAAAAAAAAAAAAAAYAAAAQ29uZmlndXJhdGlvbnMyL2Zsb2F0ZXIvUEsDBBQAAAgA
544ACCe0kQAAAAAAAAAAAAAAAAYAAAAQ29uZmlndXJhdGlvbnMyL21lbnViYXIvUEsDBBQAAAgAACCe
5450kQAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwMEFAAACAAAIJ7S
546RAAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQAAAgA
547ACCe0kQAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAICAgA
548IJ7SRAAAAAAAAAAAAAAAABUAAABNRVRBLUlORi9tYW5pZmVzdC54bWytVMtuwjAQvPMVka9VbIgK
549qiICEqg990A/wHU2wZK9juw1gr9vQgukqkBExad9eWa0u/Z8ubcm2YEP2mHBJnzMEkDlSo11wT42
550b+kLWy5GcytRVxAoPxlJew/D2S1Y9Jg7GXTIUVoIOancNYClU9ECUv67Pj8ynb2egIwtRsmFr9IG
5510va+P1yqq2hM2kjaFkxcA7mELZRapnRooGCyaYxWktoyscOSHwXzvk5OsCcmhmjYbKP9RKlNEHQy
552eYP1FQ3ayhpElx/E8q4VRQ9BTMa9M1lPv43ZapWtZtnr9PkG9TBG5ZC6jrSTu4LX9Up06UG4gQ4G
553wuNhgajd2scDWyD5eNCfGPdldceytlVPgznWDitdR3+ECJmQSoGB1nVeqOj97eH+j+vOBxgidhJ4
5541Fz1ETryufjz6yy+AFBLBwg5G4MlOgEAALAEAABQSwECFAAUAAAIAAAgntJEXsYyDCcAAAAnAAAA
555CAAAAAAAAAAAAAAAAAAAAAAAbWltZXR5cGVQSwECFAAUAAAIAAAgntJEk4IAPicfAAAnHwAAGAAA
556AAAAAAAAAAAAAABNAAAAVGh1bWJuYWlscy90aHVtYm5haWwucG5nUEsBAhQAFAAICAgAIJ7SREjV
557Mbx6MQAAdTEAAC0AAAAAAAAAAAAAAAAAqh8AAFBpY3R1cmVzLzEwMDAwMDAwMDAwMDAxQzUwMDAw
558MDA2QkIyQjYyRTU0LnBuZ1BLAQIUABQACAgIACCe0kT7BZfECw0AAPpwAAALAAAAAAAAAAAAAAAA
559AH9RAABjb250ZW50LnhtbFBLAQIUABQACAgIACCe0kRPB+YupgsAAA9FAAAKAAAAAAAAAAAAAAAA
560AMNeAABzdHlsZXMueG1sUEsBAhQAFAAICAgAIJ7SRCz94OjiBQAAmiYAAAwAAAAAAAAAAAAAAAAA
561oWoAAHNldHRpbmdzLnhtbFBLAQIUABQACAgIACCe0kQgyNfb5wEAACoEAAAIAAAAAAAAAAAAAAAA
562AL1wAABtZXRhLnhtbFBLAQIUABQACAgIACCe0kS092jSBQEAAIMDAAAMAAAAAAAAAAAAAAAAANpy
563AABtYW5pZmVzdC5yZGZQSwECFAAUAAAIAAAgntJEAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAAAZ
564dAAAQ29uZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwECFAAUAAgICAAgntJEAAAAAAIAAAAAAAAA
565JwAAAAAAAAAAAAAAAABRdAAAQ29uZmlndXJhdGlvbnMyL2FjY2VsZXJhdG9yL2N1cnJlbnQueG1s
566UEsBAhQAFAAACAAAIJ7SRAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAqHQAAENvbmZpZ3VyYXRp
567b25zMi90b29sYmFyL1BLAQIUABQAAAgAACCe0kQAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAN50
568AABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsBAhQAFAAACAAAIJ7SRAAAAAAAAAAAAAAA
569ABgAAAAAAAAAAAAAAAAAGHUAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAQIUABQAAAgAACCe
5700kQAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAE51AABDb25maWd1cmF0aW9uczIvbWVudWJhci9Q
571SwECFAAUAAAIAAAgntJEAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAACEdQAAQ29uZmlndXJhdGlv
572bnMyL3BvcHVwbWVudS9QSwECFAAUAAAIAAAgntJEAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAC8
573dQAAQ29uZmlndXJhdGlvbnMyL2ltYWdlcy9CaXRtYXBzL1BLAQIUABQAAAgAACCe0kQAAAAAAAAA
574AAAAAAAaAAAAAAAAAAAAAAAAAPl1AABDb25maWd1cmF0aW9uczIvc3RhdHVzYmFyL1BLAQIUABQA
575CAgIACCe0kQ5G4MlOgEAALAEAAAVAAAAAAAAAAAAAAAAADF2AABNRVRBLUlORi9tYW5pZmVzdC54
576bWxQSwUGAAAAABIAEgDLBAAArncAAAAA</field>
577 </record>
578
579 <record id="account_invoicing_report_ods" model="ir.actions.report.xml">
580 <field name="name">Account Invoicing Report</field>
581 <field name="type">ir.actions.report.xml</field>
582 <field name="model">account.invoice</field>
583 <field name="report_name">account_invoicing_report_ods</field>
584 <field name="report_type">aeroo</field>
585 <field name="in_format">oo-ods</field>
586 <field name="out_format">2</field><!--Must be code of mimetypes (report_mimetypes on database)-->
587 <field name="parser_loc">account_invoicing_report/report/account_invoicing_report.py</field>
588 <field name="report_rml">account_invoicing_report/report/account_invoicing_report.ods</field>
589 <field name="parser_state">loc</field>
590 <field name="tml_source">database</field>
591 <field name="report_sxw_content_data">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</field>
1189 </record>
1190
1191
1192 </data>
1193</openerp>
01194
=== added file 'account_invoicing_report/report_menus.xml'
--- account_invoicing_report/report_menus.xml 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/report_menus.xml 2014-06-18 22:58:22 +0000
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4
5 <menuitem
6 icon="STOCK_PRINT"
7 id="account_invoicing_report_menu"
8 name="Account Invoicing Report"
9 parent="account.menu_finance_reporting"
10 action="action_account_invoicing_report_wizard"
11 groups="account.group_account_manager"
12 sequence="43" />
13 </data>
14</openerp>
015
=== added directory 'account_invoicing_report/security'
=== added file 'account_invoicing_report/security/ir.model.access.csv'
--- account_invoicing_report/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/security/ir.model.access.csv 2014-06-18 22:58:22 +0000
@@ -0,0 +1,3 @@
1id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2access_account_invoicing_report,invoicing.report.wiz,model_invoicing_report_wiz,account.group_account_manager,1,1,1,1
3
04
=== added directory 'account_invoicing_report/wizard'
=== added file 'account_invoicing_report/wizard/__init__.py'
--- account_invoicing_report/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/wizard/__init__.py 2014-06-18 22:58:22 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import account_invoicing_report_wizard
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'account_invoicing_report/wizard/account_invoicing_report_wizard.py'
--- account_invoicing_report/wizard/account_invoicing_report_wizard.py 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/wizard/account_invoicing_report_wizard.py 2014-06-18 22:58:22 +0000
@@ -0,0 +1,123 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from osv import fields, osv
24
25class accountSalereportWizard(osv.osv_memory):
26 _name = "invoicing.report.wiz"
27 _inherit = 'account.report.wiz'
28 _description = "Account Invoicing Report Wizard"
29
30 _columns = {
31 'date_from': fields.date("Start Date"),
32 'date_to': fields.date("End Date"),
33 'account_tax_ids': fields.many2many('account.tax', string='Taxes'),
34 }
35
36 def _build_contexts(self, cr, uid, ids, data, context=None):
37 if context is None:
38 context = {}
39 result = {}
40
41 result['date_from'] = 'date_from' in data['form'] and data['form']['date_from'] or False
42 result['date_to'] = 'date_to' in data['form'] and data['form']['date_to'] or False
43
44 #m2m, m2o fields
45 result['account_tax_ids'] = 'account_tax_ids' in data['form'] and data['form']['account_tax_ids'] or False
46
47 return result
48
49 def _print_report(self, cr, uid, ids, data, context=None):
50 mimetype = self.pool.get('report.mimetypes')
51 report_obj = self.pool.get('ir.actions.report.xml')
52 report_name = ''
53
54 context = context or {}
55
56 #=======================================================================
57 # onchange_in_format method changes variable out_format depending of
58 # which in_format is choose.
59 # If out_format is pdf -> call record in odt format and if it's choose
60 # ods or xls -> call record in ods format.
61 # ods and xls format are editable format, because they are arranged
62 # to be changed by user and, for example, user can check and change info.
63 #=======================================================================
64
65 #=======================================================================
66 # If mimetype is PDF -> out_format = PDF (search odt record)
67 # If mimetype is xls or ods -> search ods record.
68 # If record doesn't exist, return a error.
69 #=======================================================================
70
71 #=======================================================================
72 # Create two differents records for each format, depends of the out_format
73 # selected, choose one of this records
74 #=======================================================================
75
76 #1. Find out_format selected
77 out_format_obj = mimetype.browse(cr, uid, [int(data['form']['out_format'])], context)[0]
78
79 #2. Check out_format and set report_name for each format
80 if out_format_obj.code == 'oo-pdf':
81 report_name = 'account_invoicing_report_odt'
82
83 elif out_format_obj.code == 'oo-xls' or out_format_obj.code == 'oo-ods':
84 report_name = 'account_invoicing_report_ods'
85
86 # If there not exist name, it's because not exist a record for this format
87 if report_name == '':
88 raise osv.except_osv(_('Error !'), _('There is no template defined for the selected format. Check if aeroo report exist.'))
89
90 else:
91 #Search record that match with the name, and get some extra information
92 report_xml_id = report_obj.search(cr, uid, [('report_name','=', report_name)],context=context)
93 report_xml = report_obj.browse(cr, uid, report_xml_id, context=context)[0]
94 data.update({'model': report_xml.model, 'report_type':'aeroo', 'id': report_xml.id})
95
96 #Write out_format choosed in wizard
97 report_xml.write({'out_format': out_format_obj.id}, context=context)
98
99 return {
100 'type': 'ir.actions.report.xml',
101 'report_name': report_name,
102 'datas': data,
103 'context':context
104 }
105
106 def check_report(self, cr, uid, ids, context=None):
107 if context is None:
108 context = {}
109
110 data = {}
111 data['form'] = self.read(cr, uid, ids, ['date_from','date_to','type','account_tax_ids','out_format'], context=context)[0]
112 #Extract ids for m2o and m2m fields
113 for field in ['account_tax_ids']:
114 if isinstance(data['form'][field], tuple):
115 data['form'][field] = data['form'][field][0]
116
117 #Check if the fields exist, otherwise put false in the field.
118 used_context = self._build_contexts(cr, uid, ids, data, context=context)
119 data['form']['used_context'] = used_context
120
121 return self._print_report(cr, uid, ids, data, context=context)
122
123
0\ No newline at end of file124\ No newline at end of file
1125
=== added file 'account_invoicing_report/wizard/account_invoicing_report_wizard.xml'
--- account_invoicing_report/wizard/account_invoicing_report_wizard.xml 1970-01-01 00:00:00 +0000
+++ account_invoicing_report/wizard/account_invoicing_report_wizard.xml 2014-06-18 22:58:22 +0000
@@ -0,0 +1,37 @@
1<openerp>
2 <data>
3 <record id="account_invocing_report_wizard" model="ir.ui.view">
4 <field name="name">Account Invoicing Report Wizard</field>
5 <field name="model">invoicing.report.wiz</field>
6 <field name="arch" type="xml">
7 <form string="Report Options" version="7.0">
8 <separator string="Account Invoicing Report" colspan="4"/>
9 <label string="This report allows to print a account invoincing report by different search criteria."/>
10 <group col="4" string="General Options">
11 <field name="date_from" attrs="{'required': True}"/>
12 <field name="date_to" attrs="{'required': True}"/>
13 <field name="out_format" attrs="{'required': True}"/>
14 </group>
15 <group colspan="4" string="Taxes">
16 <field name="account_tax_ids" nolabel="1" />
17 </group>
18 <footer>
19 <button name="check_report" string="Print" type="object" default_focus="1" class="oe_highlight"/>
20 or
21 <button string="Cancel" class="oe_link" special="cancel" />
22 </footer>
23 </form>
24 </field>
25 </record>
26
27 <record id="action_account_invoicing_report_wizard" model="ir.actions.act_window">
28 <field name="name">Account Invoicing Report Wizard</field>
29 <field name="res_model">invoicing.report.wiz</field>
30 <field name="view_type">form</field>
31 <field name="view_mode">form</field>
32 <field name="view_id" ref="account_invocing_report_wizard"/>
33 <field name="target">new</field>
34 </record>
35
36 </data>
37</openerp>

Subscribers

People subscribed via source and target branches