Merge lp:~camptocamp/sale-reports/vre-sale_order_proformat into lp:~sale-core-editors/sale-reports/7.0
- vre-sale_order_proformat
- Merge into 7.0
Status: | Merged |
---|---|
Approved by: | Yannick Vaucher @ Camptocamp |
Approved revision: | 31 |
Merged at revision: | 28 |
Proposed branch: | lp:~camptocamp/sale-reports/vre-sale_order_proformat |
Merge into: | lp:~sale-core-editors/sale-reports/7.0 |
Diff against target: |
874 lines (+837/-0) 7 files modified
sale_order_proforma_webkit/__init__.py (+21/-0) sale_order_proforma_webkit/__openerp__.py (+43/-0) sale_order_proforma_webkit/i18n/en.po (+114/-0) sale_order_proforma_webkit/i18n/fr.po (+116/-0) sale_order_proforma_webkit/i18n/sale_order_proforma_webkit.pot (+114/-0) sale_order_proforma_webkit/report.xml (+23/-0) sale_order_proforma_webkit/report/sale_proforma.mako (+406/-0) |
To merge this branch: | bzr merge lp:~camptocamp/sale-reports/vre-sale_order_proformat |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Yannick Vaucher @ Camptocamp | code review, no test | Approve | |
Nicolas Bessi - Camptocamp (community) | Approve | ||
Romain Deheele - Camptocamp (community) | code review | Approve | |
Pedro Manuel Baeza | code review and test | Approve | |
Review via email: mp+223563@code.launchpad.net |
Commit message
Description of the change
Hello,
This add a report for proforma required for the customs.
Thanks,
Vincent
Pedro Manuel Baeza (pedro.baeza) wrote : | # |
Vincent Renaville@camptocamp (vrenaville-c2c) wrote : | # |
Hello,
Thanks for the Review, I have test on customer branches instead of a fresh one (bad idea).
I have fixed according to your review and test it on a fresh instance.
Sorry for the mistake.
Vincent
Pedro Manuel Baeza (pedro.baeza) wrote : | # |
Thanks for the changes, Vincent. Now it works as intended. Only one last fix: please put at the end of the mako file this:
%if inv != objects[-1]:
<p style="
%endif
That is because depending on the wkhtmltopdf version, you get an extra blank page at the end. With this, you always get the same result.
Regards.
Vincent Renaville@camptocamp (vrenaville-c2c) wrote : | # |
Hello,
Many thanks for the review and the fix suggestion , I was not aware of it.
I have push a version according to your last review.
thanks for your help,
Vincent
Pedro Manuel Baeza (pedro.baeza) wrote : | # |
Thanks for the changes!
Regards.
Romain Deheele - Camptocamp (romaindeheele) wrote : | # |
Hi Vincent,
I'm not sure but I think it's better to put ## -*- coding: utf-8 -*- at the start of mako file.
other small things:
l.10,36 : comma is misplaced between our 2 names
l.62 : s/base_
Thanks for porting this addon here,
Romain
Vincent Renaville@camptocamp (vrenaville-c2c) wrote : | # |
Hello,
Thanks for review Romain,
I have made the fix according to your comment.
thanks,
Vincent
Romain Deheele - Camptocamp (romaindeheele) wrote : | # |
Thanks Vincent, LGTM
Nicolas Bessi - Camptocamp (nbessi-c2c-deactivatedaccount) wrote : | # |
LGTM
Yannick Vaucher @ Camptocamp (yvaucher-c2c) wrote : | # |
Fixed mark down in __openerp__.py and improved it a bit.
LGTM
Preview Diff
1 | === added directory 'sale_order_proforma_webkit' | |||
2 | === added file 'sale_order_proforma_webkit/__init__.py' | |||
3 | --- sale_order_proforma_webkit/__init__.py 1970-01-01 00:00:00 +0000 | |||
4 | +++ sale_order_proforma_webkit/__init__.py 2014-06-26 09:28:04 +0000 | |||
5 | @@ -0,0 +1,21 @@ | |||
6 | 1 | # -*- coding: utf-8 -*- | ||
7 | 2 | ############################################################################## | ||
8 | 3 | # | ||
9 | 4 | # Copyright (c) 2014 Camptocamp SA (http://www.camptocamp.com) | ||
10 | 5 | # @author Romain Deheele, Vincent Renaville | ||
11 | 6 | # | ||
12 | 7 | # This program is free software: you can redistribute it and/or modify | ||
13 | 8 | # it under the terms of the GNU Affero General Public License as | ||
14 | 9 | # published by the Free Software Foundation, either version 3 of the | ||
15 | 10 | # License, or (at your option) any later version. | ||
16 | 11 | # | ||
17 | 12 | # This program is distributed in the hope that it will be useful, | ||
18 | 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
20 | 15 | # GNU Affero General Public License for more details. | ||
21 | 16 | # | ||
22 | 17 | # You should have received a copy of the GNU Affero General Public License | ||
23 | 18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
24 | 19 | # | ||
25 | 20 | ############################################################################## | ||
26 | 21 | |||
27 | 0 | 22 | ||
28 | === added file 'sale_order_proforma_webkit/__openerp__.py' | |||
29 | --- sale_order_proforma_webkit/__openerp__.py 1970-01-01 00:00:00 +0000 | |||
30 | +++ sale_order_proforma_webkit/__openerp__.py 2014-06-26 09:28:04 +0000 | |||
31 | @@ -0,0 +1,43 @@ | |||
32 | 1 | # -*- coding: utf-8 -*- | ||
33 | 2 | ############################################################################## | ||
34 | 3 | # | ||
35 | 4 | # Copyright (c) 2014 Camptocamp SA (http://www.camptocamp.com) | ||
36 | 5 | # @author Romain Deheele, Vincent Renaville | ||
37 | 6 | # | ||
38 | 7 | # This program is free software: you can redistribute it and/or modify | ||
39 | 8 | # it under the terms of the GNU Affero General Public License as | ||
40 | 9 | # published by the Free Software Foundation, either version 3 of the | ||
41 | 10 | # License, or (at your option) any later version. | ||
42 | 11 | # | ||
43 | 12 | # This program is distributed in the hope that it will be useful, | ||
44 | 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
45 | 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
46 | 15 | # GNU Affero General Public License for more details. | ||
47 | 16 | # | ||
48 | 17 | # You should have received a copy of the GNU Affero General Public License | ||
49 | 18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
50 | 19 | # | ||
51 | 20 | ############################################################################## | ||
52 | 21 | |||
53 | 22 | {'name': 'Sales Order ProForma Report using Webkit Library', | ||
54 | 23 | 'version': '1.1.1', | ||
55 | 24 | 'category': 'Reports/Webkit', | ||
56 | 25 | 'description': """ | ||
57 | 26 | Sale order webkit | ||
58 | 27 | ################# | ||
59 | 28 | |||
60 | 29 | * Add a sale proforma report in webkit . | ||
61 | 30 | |||
62 | 31 | Depends on base_headers_webkit community addon available here: | ||
63 | 32 | `https://launchpad.net/webkit-utils <https://launchpad.net/webkit-utils>`_ | ||
64 | 33 | """, | ||
65 | 34 | 'author': 'Camptocamp', | ||
66 | 35 | 'website': 'http://www.camptocamp.com', | ||
67 | 36 | 'depends': ['base', 'report_webkit', 'base_headers_webkit', 'sale'], | ||
68 | 37 | 'data': ['report.xml', | ||
69 | 38 | ], | ||
70 | 39 | 'demo_xml': [], | ||
71 | 40 | 'test': [], | ||
72 | 41 | 'installable': True, | ||
73 | 42 | 'active': False, | ||
74 | 43 | } | ||
75 | 0 | 44 | ||
76 | === added directory 'sale_order_proforma_webkit/i18n' | |||
77 | === added file 'sale_order_proforma_webkit/i18n/en.po' | |||
78 | --- sale_order_proforma_webkit/i18n/en.po 1970-01-01 00:00:00 +0000 | |||
79 | +++ sale_order_proforma_webkit/i18n/en.po 2014-06-26 09:28:04 +0000 | |||
80 | @@ -0,0 +1,114 @@ | |||
81 | 1 | #. module: sale_report_proforma | ||
82 | 2 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:301 | ||
83 | 3 | msgid "Thank you for your prompt payment" | ||
84 | 4 | msgstr "Thank you for your prompt payment" | ||
85 | 5 | |||
86 | 6 | |||
87 | 7 | #. module: sale_report_proforma | ||
88 | 8 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:218 | ||
89 | 9 | msgid "Responsible" | ||
90 | 10 | msgstr "Responsible" | ||
91 | 11 | |||
92 | 12 | #. module: sale_report_proforma | ||
93 | 13 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:211 | ||
94 | 14 | msgid "Subject : " | ||
95 | 15 | msgstr "Subject : " | ||
96 | 16 | |||
97 | 17 | |||
98 | 18 | #. module: sale_report_proforma | ||
99 | 19 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:243 | ||
100 | 20 | msgid "Unit Price" | ||
101 | 21 | msgstr "Unit Price" | ||
102 | 22 | |||
103 | 23 | |||
104 | 24 | #. module: sale_report_proforma | ||
105 | 25 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:245 | ||
106 | 26 | msgid "Disc.(%)" | ||
107 | 27 | msgstr "Disc.(%)" | ||
108 | 28 | |||
109 | 29 | #. module: sale_report_proforma | ||
110 | 30 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:208 | ||
111 | 31 | msgid "PRO-FORMA" | ||
112 | 32 | msgstr "PRO-FORMA" | ||
113 | 33 | |||
114 | 34 | #. module: sale_report_proforma | ||
115 | 35 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:280 | ||
116 | 36 | msgid "Taxes:" | ||
117 | 37 | msgstr "Taxes:" | ||
118 | 38 | |||
119 | 39 | |||
120 | 40 | #. module: sale_report_proforma | ||
121 | 41 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:240 | ||
122 | 42 | msgid "Description" | ||
123 | 43 | msgstr "Description" | ||
124 | 44 | |||
125 | 45 | #. module: sale_report_proforma | ||
126 | 46 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:220 | ||
127 | 47 | msgid "Our reference" | ||
128 | 48 | msgstr "Our reference" | ||
129 | 49 | |||
130 | 50 | |||
131 | 51 | #. module: sale_report_proforma | ||
132 | 52 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:216 | ||
133 | 53 | msgid "Invoice Date" | ||
134 | 54 | msgstr "Invoice Date" | ||
135 | 55 | |||
136 | 56 | |||
137 | 57 | #. module: sale_report_proforma | ||
138 | 58 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:217 | ||
139 | 59 | msgid "Due Date" | ||
140 | 60 | msgstr "Due Date" | ||
141 | 61 | |||
142 | 62 | |||
143 | 63 | #. module: sale_report_proforma | ||
144 | 64 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:242 | ||
145 | 65 | msgid "UoM" | ||
146 | 66 | msgstr "UoM" | ||
147 | 67 | |||
148 | 68 | #. module: sale_report_proforma | ||
149 | 69 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:244 | ||
150 | 70 | msgid "Taxes" | ||
151 | 71 | msgstr "Taxes" | ||
152 | 72 | |||
153 | 73 | |||
154 | 74 | #. module: sale_report_proforma | ||
155 | 75 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:187 | ||
156 | 76 | msgid "Shipping address:" | ||
157 | 77 | msgstr "Shipping address:" | ||
158 | 78 | |||
159 | 79 | |||
160 | 80 | #. module: sale_report_proforma | ||
161 | 81 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:288 | ||
162 | 82 | msgid "Total:" | ||
163 | 83 | msgstr "Total:" | ||
164 | 84 | |||
165 | 85 | |||
166 | 86 | #. module: sale_report_proforma | ||
167 | 87 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:219 | ||
168 | 88 | msgid "Payment Term" | ||
169 | 89 | msgstr "Payment Term" | ||
170 | 90 | |||
171 | 91 | #. module: sale_report_proforma | ||
172 | 92 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:241 | ||
173 | 93 | msgid "Qty" | ||
174 | 94 | msgstr "Qty" | ||
175 | 95 | |||
176 | 96 | |||
177 | 97 | |||
178 | 98 | #. module: sale_report_proforma | ||
179 | 99 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:205 | ||
180 | 100 | msgid "Identification number : " | ||
181 | 101 | msgstr "Identification number : " | ||
182 | 102 | |||
183 | 103 | |||
184 | 104 | #. module: sale_report_proforma | ||
185 | 105 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:246 | ||
186 | 106 | msgid "Net Sub Total" | ||
187 | 107 | msgstr "Net Sub Total" | ||
188 | 108 | |||
189 | 109 | |||
190 | 110 | #. module: sale_report_proforma | ||
191 | 111 | #: report:addons/sale_report_proforma/report/sale_proforma.mako:272 | ||
192 | 112 | msgid "Net :" | ||
193 | 113 | msgstr "Net :" | ||
194 | 114 | |||
195 | 0 | 115 | ||
196 | === added file 'sale_order_proforma_webkit/i18n/fr.po' | |||
197 | --- sale_order_proforma_webkit/i18n/fr.po 1970-01-01 00:00:00 +0000 | |||
198 | +++ sale_order_proforma_webkit/i18n/fr.po 2014-06-26 09:28:04 +0000 | |||
199 | @@ -0,0 +1,116 @@ | |||
200 | 1 | #. module: sale_order_proforma_webkit | ||
201 | 2 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:301 | ||
202 | 3 | msgid "Thank you for your prompt payment" | ||
203 | 4 | msgstr "Avec nos remerciements" | ||
204 | 5 | |||
205 | 6 | |||
206 | 7 | #. module: sale_order_proforma_webkit | ||
207 | 8 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:218 | ||
208 | 9 | msgid "Responsible" | ||
209 | 10 | msgstr "Responsable" | ||
210 | 11 | |||
211 | 12 | #. module: sale_order_proforma_webkit | ||
212 | 13 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:211 | ||
213 | 14 | msgid "Subject : " | ||
214 | 15 | msgstr "Description : " | ||
215 | 16 | |||
216 | 17 | |||
217 | 18 | #. module: sale_order_proforma_webkit | ||
218 | 19 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:243 | ||
219 | 20 | msgid "Unit Price" | ||
220 | 21 | msgstr "Prix unitaire" | ||
221 | 22 | |||
222 | 23 | |||
223 | 24 | #. module: sale_order_proforma_webkit | ||
224 | 25 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:245 | ||
225 | 26 | #, fuzzy | ||
226 | 27 | msgid "Disc.(%)" | ||
227 | 28 | msgstr "Rem.(%)" | ||
228 | 29 | |||
229 | 30 | #. module: sale_order_proforma_webkit | ||
230 | 31 | #: report:addons/sale_order_proforma_webkit/report/template/account_invoice.mako:233 | ||
231 | 32 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:208 | ||
232 | 33 | msgid "PRO-FORMA" | ||
233 | 34 | msgstr "PRO-FORMA" | ||
234 | 35 | |||
235 | 36 | #. module: sale_order_proforma_webkit | ||
236 | 37 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:280 | ||
237 | 38 | msgid "Taxes:" | ||
238 | 39 | msgstr "Taxes :" | ||
239 | 40 | |||
240 | 41 | |||
241 | 42 | #. module: sale_order_proforma_webkit | ||
242 | 43 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:240 | ||
243 | 44 | msgid "Description" | ||
244 | 45 | msgstr "Description" | ||
245 | 46 | |||
246 | 47 | #. module: sale_order_proforma_webkit | ||
247 | 48 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:220 | ||
248 | 49 | msgid "Our reference" | ||
249 | 50 | msgstr "Notre référence" | ||
250 | 51 | |||
251 | 52 | |||
252 | 53 | #. module: sale_order_proforma_webkit | ||
253 | 54 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:216 | ||
254 | 55 | msgid "Invoice Date" | ||
255 | 56 | msgstr "Date de facturation" | ||
256 | 57 | |||
257 | 58 | |||
258 | 59 | #. module: sale_order_proforma_webkit | ||
259 | 60 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:217 | ||
260 | 61 | msgid "Due Date" | ||
261 | 62 | msgstr "Echéance" | ||
262 | 63 | |||
263 | 64 | |||
264 | 65 | #. module: sale_order_proforma_webkit | ||
265 | 66 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:242 | ||
266 | 67 | msgid "UoM" | ||
267 | 68 | msgstr "UdM" | ||
268 | 69 | |||
269 | 70 | #. module: sale_order_proforma_webkit | ||
270 | 71 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:244 | ||
271 | 72 | msgid "Taxes" | ||
272 | 73 | msgstr "Taxes" | ||
273 | 74 | |||
274 | 75 | |||
275 | 76 | #. module: sale_order_proforma_webkit | ||
276 | 77 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:187 | ||
277 | 78 | msgid "Shipping address:" | ||
278 | 79 | msgstr "Adresse de livraison :" | ||
279 | 80 | |||
280 | 81 | |||
281 | 82 | #. module: sale_order_proforma_webkit | ||
282 | 83 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:288 | ||
283 | 84 | msgid "Total:" | ||
284 | 85 | msgstr "Total :" | ||
285 | 86 | |||
286 | 87 | |||
287 | 88 | #. module: sale_order_proforma_webkit | ||
288 | 89 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:219 | ||
289 | 90 | msgid "Payment Term" | ||
290 | 91 | msgstr "Condition de règlement" | ||
291 | 92 | |||
292 | 93 | #. module: sale_order_proforma_webkit | ||
293 | 94 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:241 | ||
294 | 95 | msgid "Qty" | ||
295 | 96 | msgstr "Quantité" | ||
296 | 97 | |||
297 | 98 | |||
298 | 99 | |||
299 | 100 | #. module: sale_order_proforma_webkit | ||
300 | 101 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:205 | ||
301 | 102 | msgid "Identification number : " | ||
302 | 103 | msgstr "Numéro d'identification : " | ||
303 | 104 | |||
304 | 105 | |||
305 | 106 | #. module: sale_order_proforma_webkit | ||
306 | 107 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:246 | ||
307 | 108 | msgid "Net Sub Total" | ||
308 | 109 | msgstr "Sous total" | ||
309 | 110 | |||
310 | 111 | |||
311 | 112 | #. module: sale_order_proforma_webkit | ||
312 | 113 | #: report:addons/sale_order_proforma_webkit/report/template/sale_proforma.mako:272 | ||
313 | 114 | msgid "Net :" | ||
314 | 115 | msgstr "HT :" | ||
315 | 116 | |||
316 | 0 | 117 | ||
317 | === added file 'sale_order_proforma_webkit/i18n/sale_order_proforma_webkit.pot' | |||
318 | --- sale_order_proforma_webkit/i18n/sale_order_proforma_webkit.pot 1970-01-01 00:00:00 +0000 | |||
319 | +++ sale_order_proforma_webkit/i18n/sale_order_proforma_webkit.pot 2014-06-26 09:28:04 +0000 | |||
320 | @@ -0,0 +1,114 @@ | |||
321 | 1 | #. module: sale_report_proforma_webkit | ||
322 | 2 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:301 | ||
323 | 3 | msgid "Thank you for your prompt payment" | ||
324 | 4 | msgstr "" | ||
325 | 5 | |||
326 | 6 | |||
327 | 7 | #. module: sale_report_proforma_webkit | ||
328 | 8 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:218 | ||
329 | 9 | msgid "Responsible" | ||
330 | 10 | msgstr "" | ||
331 | 11 | |||
332 | 12 | #. module: sale_report_proforma_webkit | ||
333 | 13 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:211 | ||
334 | 14 | msgid "Subject : " | ||
335 | 15 | msgstr "" | ||
336 | 16 | |||
337 | 17 | |||
338 | 18 | #. module: sale_report_proforma_webkit | ||
339 | 19 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:243 | ||
340 | 20 | msgid "Unit Price" | ||
341 | 21 | msgstr "" | ||
342 | 22 | |||
343 | 23 | |||
344 | 24 | #. module: sale_report_proforma_webkit | ||
345 | 25 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:245 | ||
346 | 26 | msgid "Disc.(%)" | ||
347 | 27 | msgstr "" | ||
348 | 28 | |||
349 | 29 | #. module: sale_report_proforma_webkit | ||
350 | 30 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:208 | ||
351 | 31 | msgid "PRO-FORMA" | ||
352 | 32 | msgstr "" | ||
353 | 33 | |||
354 | 34 | #. module: sale_report_proforma_webkit | ||
355 | 35 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:280 | ||
356 | 36 | msgid "Taxes:" | ||
357 | 37 | msgstr "" | ||
358 | 38 | |||
359 | 39 | |||
360 | 40 | #. module: sale_report_proforma_webkit | ||
361 | 41 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:240 | ||
362 | 42 | msgid "Description" | ||
363 | 43 | msgstr "" | ||
364 | 44 | |||
365 | 45 | #. module: sale_report_proforma_webkit | ||
366 | 46 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:220 | ||
367 | 47 | msgid "Our reference" | ||
368 | 48 | msgstr "" | ||
369 | 49 | |||
370 | 50 | |||
371 | 51 | #. module: sale_report_proforma_webkit | ||
372 | 52 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:216 | ||
373 | 53 | msgid "Invoice Date" | ||
374 | 54 | msgstr "" | ||
375 | 55 | |||
376 | 56 | |||
377 | 57 | #. module: sale_report_proforma_webkit | ||
378 | 58 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:217 | ||
379 | 59 | msgid "Due Date" | ||
380 | 60 | msgstr "" | ||
381 | 61 | |||
382 | 62 | |||
383 | 63 | #. module: sale_report_proforma_webkit | ||
384 | 64 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:242 | ||
385 | 65 | msgid "UoM" | ||
386 | 66 | msgstr "" | ||
387 | 67 | |||
388 | 68 | #. module: sale_report_proforma_webkit | ||
389 | 69 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:244 | ||
390 | 70 | msgid "Taxes" | ||
391 | 71 | msgstr "" | ||
392 | 72 | |||
393 | 73 | |||
394 | 74 | #. module: sale_report_proforma_webkit | ||
395 | 75 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:187 | ||
396 | 76 | msgid "Shipping address:" | ||
397 | 77 | msgstr "" | ||
398 | 78 | |||
399 | 79 | |||
400 | 80 | #. module: sale_report_proforma_webkit | ||
401 | 81 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:288 | ||
402 | 82 | msgid "Total:" | ||
403 | 83 | msgstr "" | ||
404 | 84 | |||
405 | 85 | |||
406 | 86 | #. module: sale_report_proforma_webkit | ||
407 | 87 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:219 | ||
408 | 88 | msgid "Payment Term" | ||
409 | 89 | msgstr "" | ||
410 | 90 | |||
411 | 91 | #. module: sale_report_proforma_webkit | ||
412 | 92 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:241 | ||
413 | 93 | msgid "Qty" | ||
414 | 94 | msgstr "" | ||
415 | 95 | |||
416 | 96 | |||
417 | 97 | |||
418 | 98 | #. module: sale_report_proforma_webkit | ||
419 | 99 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:205 | ||
420 | 100 | msgid "Identification number : " | ||
421 | 101 | msgstr "" | ||
422 | 102 | |||
423 | 103 | |||
424 | 104 | #. module: sale_report_proforma_webkit | ||
425 | 105 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:246 | ||
426 | 106 | msgid "Net Sub Total" | ||
427 | 107 | msgstr "" | ||
428 | 108 | |||
429 | 109 | |||
430 | 110 | #. module: sale_report_proforma_webkit | ||
431 | 111 | #: report:addons/sale_report_proforma_webkit/report/sale_proforma.mako:272 | ||
432 | 112 | msgid "Net :" | ||
433 | 113 | msgstr "" | ||
434 | 114 | |||
435 | 0 | 115 | ||
436 | === added directory 'sale_order_proforma_webkit/report' | |||
437 | === added file 'sale_order_proforma_webkit/report.xml' | |||
438 | --- sale_order_proforma_webkit/report.xml 1970-01-01 00:00:00 +0000 | |||
439 | +++ sale_order_proforma_webkit/report.xml 2014-06-26 09:28:04 +0000 | |||
440 | @@ -0,0 +1,23 @@ | |||
441 | 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
442 | 2 | <openerp> | ||
443 | 3 | <data> | ||
444 | 4 | |||
445 | 5 | <report id="sale_sale_proforma" | ||
446 | 6 | model="sale.order" | ||
447 | 7 | name="sale.proforma" | ||
448 | 8 | auto="False" | ||
449 | 9 | file="sale_order_proforma_webkit/report/sale_proforma.mako" | ||
450 | 10 | string="Pro Forma" | ||
451 | 11 | webkit_header="base_headers_webkit.base_reports_portrait_header" | ||
452 | 12 | report_type="webkit"/> | ||
453 | 13 | |||
454 | 14 | <record id="property_sale_proforma_webkit" model="ir.property"> | ||
455 | 15 | <field name="name">webkit_header</field> | ||
456 | 16 | <field eval="0" name="company_id"/> | ||
457 | 17 | <field name="fields_id" ref="report_webkit.field_ir_act_report_xml_webkit_header"/> | ||
458 | 18 | <field eval="'ir.header_webkit,'+str(ref('base_headers_webkit.base_reports_portrait_header'))" model="ir.header_webkit" name="value"/> | ||
459 | 19 | <field eval="'ir.actions.report.xml,'+str(ref('sale_order_proforma_webkit.sale_sale_proforma'))" model="ir.actions.report.xml" name="res_id"/> | ||
460 | 20 | </record> | ||
461 | 21 | |||
462 | 22 | </data> | ||
463 | 23 | </openerp> | ||
464 | 0 | 24 | ||
465 | === added file 'sale_order_proforma_webkit/report/sale_proforma.mako' | |||
466 | --- sale_order_proforma_webkit/report/sale_proforma.mako 1970-01-01 00:00:00 +0000 | |||
467 | +++ sale_order_proforma_webkit/report/sale_proforma.mako 2014-06-26 09:28:04 +0000 | |||
468 | @@ -0,0 +1,406 @@ | |||
469 | 1 | ## -*- coding: utf-8 -*- | ||
470 | 2 | <html> | ||
471 | 3 | <head> | ||
472 | 4 | <style type="text/css"> | ||
473 | 5 | ${css} | ||
474 | 6 | |||
475 | 7 | .list_main_table { | ||
476 | 8 | border:thin solid #E3E4EA; | ||
477 | 9 | text-align:center; | ||
478 | 10 | border-collapse: collapse; | ||
479 | 11 | } | ||
480 | 12 | table.list_main_table { | ||
481 | 13 | margin-top: 20px; | ||
482 | 14 | } | ||
483 | 15 | .list_main_headers { | ||
484 | 16 | padding: 0; | ||
485 | 17 | } | ||
486 | 18 | .list_main_headers th { | ||
487 | 19 | border: thin solid #000000; | ||
488 | 20 | padding-right:3px; | ||
489 | 21 | padding-left:3px; | ||
490 | 22 | background-color: #EEEEEE; | ||
491 | 23 | text-align:center; | ||
492 | 24 | font-size:12; | ||
493 | 25 | font-weight:bold; | ||
494 | 26 | } | ||
495 | 27 | .list_main_table td { | ||
496 | 28 | padding-right:3px; | ||
497 | 29 | padding-left:3px; | ||
498 | 30 | padding-top:3px; | ||
499 | 31 | padding-bottom:3px; | ||
500 | 32 | } | ||
501 | 33 | .list_main_lines, | ||
502 | 34 | .list_main_footers { | ||
503 | 35 | padding: 0; | ||
504 | 36 | } | ||
505 | 37 | .list_main_footers { | ||
506 | 38 | padding-top: 15px; | ||
507 | 39 | } | ||
508 | 40 | .list_main_lines td, | ||
509 | 41 | .list_main_footers td, | ||
510 | 42 | .list_main_footers th { | ||
511 | 43 | border-style: none; | ||
512 | 44 | text-align:left; | ||
513 | 45 | font-size:12; | ||
514 | 46 | padding:0; | ||
515 | 47 | } | ||
516 | 48 | .list_main_footers th { | ||
517 | 49 | text-align:right; | ||
518 | 50 | } | ||
519 | 51 | |||
520 | 52 | td .total_empty_cell { | ||
521 | 53 | width: 77%; | ||
522 | 54 | } | ||
523 | 55 | td .total_sum_cell { | ||
524 | 56 | width: 13%; | ||
525 | 57 | } | ||
526 | 58 | |||
527 | 59 | .nobreak { | ||
528 | 60 | page-break-inside: avoid; | ||
529 | 61 | } | ||
530 | 62 | caption.formatted_note { | ||
531 | 63 | text-align:left; | ||
532 | 64 | border-right:thin solid #EEEEEE; | ||
533 | 65 | border-left:thin solid #EEEEEE; | ||
534 | 66 | border-top:thin solid #EEEEEE; | ||
535 | 67 | padding-left:10px; | ||
536 | 68 | font-size:11; | ||
537 | 69 | caption-side: bottom; | ||
538 | 70 | } | ||
539 | 71 | caption.formatted_note p { | ||
540 | 72 | margin: 0; | ||
541 | 73 | } | ||
542 | 74 | |||
543 | 75 | .main_col1 { | ||
544 | 76 | width: 40%; | ||
545 | 77 | } | ||
546 | 78 | td.main_col1 { | ||
547 | 79 | text-align:left; | ||
548 | 80 | } | ||
549 | 81 | .main_col2, | ||
550 | 82 | .main_col3, | ||
551 | 83 | .main_col4, | ||
552 | 84 | .main_col6 { | ||
553 | 85 | width: 10%; | ||
554 | 86 | } | ||
555 | 87 | .main_col5 { | ||
556 | 88 | width: 7%; | ||
557 | 89 | } | ||
558 | 90 | td.main_col5 { | ||
559 | 91 | text-align: center; | ||
560 | 92 | font-style:italic; | ||
561 | 93 | font-size: 10; | ||
562 | 94 | } | ||
563 | 95 | .main_col7 { | ||
564 | 96 | width: 13%; | ||
565 | 97 | } | ||
566 | 98 | |||
567 | 99 | .list_bank_table { | ||
568 | 100 | text-align:center; | ||
569 | 101 | border-collapse: collapse; | ||
570 | 102 | page-break-inside: avoid; | ||
571 | 103 | display:table; | ||
572 | 104 | } | ||
573 | 105 | |||
574 | 106 | .act_as_row { | ||
575 | 107 | display:table-row; | ||
576 | 108 | } | ||
577 | 109 | .list_bank_table th { | ||
578 | 110 | background-color: #EEEEEE; | ||
579 | 111 | text-align:left; | ||
580 | 112 | font-size:12; | ||
581 | 113 | font-weight:bold; | ||
582 | 114 | padding-right:3px; | ||
583 | 115 | padding-left:3px; | ||
584 | 116 | } | ||
585 | 117 | .list_bank_table td { | ||
586 | 118 | text-align:left; | ||
587 | 119 | font-size:12; | ||
588 | 120 | padding-right:3px; | ||
589 | 121 | padding-left:3px; | ||
590 | 122 | padding-top:3px; | ||
591 | 123 | padding-bottom:3px; | ||
592 | 124 | } | ||
593 | 125 | |||
594 | 126 | |||
595 | 127 | .list_tax_table { | ||
596 | 128 | } | ||
597 | 129 | .list_tax_table td { | ||
598 | 130 | text-align:left; | ||
599 | 131 | font-size:12; | ||
600 | 132 | } | ||
601 | 133 | .list_tax_table th { | ||
602 | 134 | } | ||
603 | 135 | .list_tax_table thead { | ||
604 | 136 | display:table-header-group; | ||
605 | 137 | } | ||
606 | 138 | |||
607 | 139 | |||
608 | 140 | .list_total_table { | ||
609 | 141 | border:thin solid #E3E4EA; | ||
610 | 142 | text-align:center; | ||
611 | 143 | border-collapse: collapse; | ||
612 | 144 | } | ||
613 | 145 | .list_total_table td { | ||
614 | 146 | border-top : thin solid #EEEEEE; | ||
615 | 147 | text-align:left; | ||
616 | 148 | font-size:12; | ||
617 | 149 | padding-right:3px; | ||
618 | 150 | padding-left:3px; | ||
619 | 151 | padding-top:3px; | ||
620 | 152 | padding-bottom:3px; | ||
621 | 153 | } | ||
622 | 154 | .list_total_table th { | ||
623 | 155 | background-color: #EEEEEE; | ||
624 | 156 | border: thin solid #000000; | ||
625 | 157 | text-align:center; | ||
626 | 158 | font-size:12; | ||
627 | 159 | font-weight:bold; | ||
628 | 160 | padding-right:3px | ||
629 | 161 | padding-left:3px | ||
630 | 162 | } | ||
631 | 163 | .list_total_table thead { | ||
632 | 164 | display:table-header-group; | ||
633 | 165 | } | ||
634 | 166 | |||
635 | 167 | |||
636 | 168 | .no_bloc { | ||
637 | 169 | border-top: thin solid #ffffff ; | ||
638 | 170 | } | ||
639 | 171 | |||
640 | 172 | .right_table { | ||
641 | 173 | right: 4cm; | ||
642 | 174 | width:"100%"; | ||
643 | 175 | } | ||
644 | 176 | |||
645 | 177 | .std_text { | ||
646 | 178 | font-size:12; | ||
647 | 179 | } | ||
648 | 180 | |||
649 | 181 | tfoot.totals tr:first-child td{ | ||
650 | 182 | padding-top: 15px; | ||
651 | 183 | } | ||
652 | 184 | |||
653 | 185 | th.date { | ||
654 | 186 | width: 90px; | ||
655 | 187 | } | ||
656 | 188 | |||
657 | 189 | td.amount, th.amount { | ||
658 | 190 | text-align: right; | ||
659 | 191 | white-space: nowrap; | ||
660 | 192 | } | ||
661 | 193 | .header_table { | ||
662 | 194 | text-align: center; | ||
663 | 195 | border: 1px solid lightGrey; | ||
664 | 196 | border-collapse: collapse; | ||
665 | 197 | } | ||
666 | 198 | .header_table th { | ||
667 | 199 | font-size: 12px; | ||
668 | 200 | border: 1px solid lightGrey; | ||
669 | 201 | } | ||
670 | 202 | .header_table td { | ||
671 | 203 | font-size: 12px; | ||
672 | 204 | border: 1px solid lightGrey; | ||
673 | 205 | } | ||
674 | 206 | |||
675 | 207 | td.date { | ||
676 | 208 | white-space: nowrap; | ||
677 | 209 | width: 90px; | ||
678 | 210 | } | ||
679 | 211 | |||
680 | 212 | td.vat { | ||
681 | 213 | white-space: nowrap; | ||
682 | 214 | } | ||
683 | 215 | .address .recipient { | ||
684 | 216 | font-size: 12px; | ||
685 | 217 | position: absolute; | ||
686 | 218 | left: 101mm; | ||
687 | 219 | width: 83mm; | ||
688 | 220 | } | ||
689 | 221 | .address .shipping { | ||
690 | 222 | margin-left: 0px; | ||
691 | 223 | margin-right: 500px; | ||
692 | 224 | } | ||
693 | 225 | |||
694 | 226 | </style> | ||
695 | 227 | </head> | ||
696 | 228 | <body> | ||
697 | 229 | <%page expression_filter="entity"/> | ||
698 | 230 | <% | ||
699 | 231 | def carriage_returns(text): | ||
700 | 232 | return text.replace('\n', '<br />') | ||
701 | 233 | %> | ||
702 | 234 | |||
703 | 235 | <%def name="address(partner, commercial_partner=None)"> | ||
704 | 236 | <%doc> | ||
705 | 237 | XXX add a helper for address in report_webkit module as this won't be suported in v8.0 | ||
706 | 238 | </%doc> | ||
707 | 239 | <% company_partner = False %> | ||
708 | 240 | %if commercial_partner: | ||
709 | 241 | %if commercial_partner.id != partner.id: | ||
710 | 242 | <% company_partner = commercial_partner %> | ||
711 | 243 | %endif | ||
712 | 244 | %elif partner.parent_id: | ||
713 | 245 | <% company_partner = partner.parent_id %> | ||
714 | 246 | %endif | ||
715 | 247 | |||
716 | 248 | %if company_partner: | ||
717 | 249 | <tr><td class="name">${company_partner.name or ''}</td></tr> | ||
718 | 250 | <tr><td>${partner.title and partner.title.name or ''} ${partner.name}</td></tr> | ||
719 | 251 | <% address_lines = partner.contact_address.split("\n")[1:] %> | ||
720 | 252 | %else: | ||
721 | 253 | <tr><td class="name">${partner.title and partner.title.name or ''} ${partner.name}</td></tr> | ||
722 | 254 | <% address_lines = partner.contact_address.split("\n") %> | ||
723 | 255 | %endif | ||
724 | 256 | %for part in address_lines: | ||
725 | 257 | % if part: | ||
726 | 258 | <tr><td>${part}</td></tr> | ||
727 | 259 | % endif | ||
728 | 260 | %endfor | ||
729 | 261 | </%def> | ||
730 | 262 | |||
731 | 263 | %for inv in objects: | ||
732 | 264 | <% setLang(inv.partner_id.lang) %> | ||
733 | 265 | <div class="address"> | ||
734 | 266 | <table class="recipient"> | ||
735 | 267 | ${address(partner=inv.partner_id)} | ||
736 | 268 | </table> | ||
737 | 269 | %if inv.partner_shipping_id: | ||
738 | 270 | <table class="shipping"> | ||
739 | 271 | <tr><td class="address_title">${_("Shipping address:")}</td></tr> | ||
740 | 272 | ${address(partner=inv.partner_shipping_id)} | ||
741 | 273 | </table> | ||
742 | 274 | %endif | ||
743 | 275 | </div> | ||
744 | 276 | <p class="std_text"> | ||
745 | 277 | ${_("Identification number : ")} ${inv.partner_id.vat or ''} | ||
746 | 278 | </p> | ||
747 | 279 | <h1 style="clear: both; padding-top: 20px;"> | ||
748 | 280 | ${_("PRO-FORMA")} ${inv.name or ''} | ||
749 | 281 | </h1> | ||
750 | 282 | <h3 style="clear: both; padding-top: 20px;"> | ||
751 | 283 | ${_("Subject : ")} ${inv.client_order_ref or ''} | ||
752 | 284 | </h3> | ||
753 | 285 | |||
754 | 286 | <table class="basic_table" width="100%"> | ||
755 | 287 | <tr> | ||
756 | 288 | <th class="date">${_("Invoice Date")}</td> | ||
757 | 289 | <th class="date">${_("Due Date")}</td> | ||
758 | 290 | <th style="text-align:center;width:120px;">${_("Responsible")}</td> | ||
759 | 291 | <th style="text-align:center">${_("Payment Term")}</td> | ||
760 | 292 | <th style="text-align:center">${_("Our reference")}</td> | ||
761 | 293 | </tr> | ||
762 | 294 | <tr> | ||
763 | 295 | <td class="date">${formatLang(inv.date_order, date=True)}</td> | ||
764 | 296 | <td class="date"></td> | ||
765 | 297 | <td style="text-align:center;width:120px;">${inv.user_id and inv.user_id.name or ''}</td> | ||
766 | 298 | <td style="text-align:center">${inv.payment_term and inv.payment_term.note or ''}</td> | ||
767 | 299 | <td style="text-align:center">${inv.name or ''}</td> | ||
768 | 300 | </tr> | ||
769 | 301 | </table> | ||
770 | 302 | |||
771 | 303 | <div> | ||
772 | 304 | </div> | ||
773 | 305 | |||
774 | 306 | <table class="list_main_table" width="100%" style="margin-top: 20px;"> | ||
775 | 307 | <thead> | ||
776 | 308 | <tr> | ||
777 | 309 | <th class="list_main_headers" style="width: 100%"> | ||
778 | 310 | <table style="width:100%"> | ||
779 | 311 | <tr> | ||
780 | 312 | <th class="main_col1">${_("Description")}</th> | ||
781 | 313 | <th class="amount main_col2">${_("Qty")}</th> | ||
782 | 314 | <th class="amount main_col3">${_("UoM")}</th> | ||
783 | 315 | <th class="amount main_col4">${_("Unit Price")}</th> | ||
784 | 316 | <th class="main_col5">${_("Taxes")}</th> | ||
785 | 317 | <th class="amount main_col6">${_("Disc.(%)")}</th> | ||
786 | 318 | <th class="amount main_col7">${_("Net Sub Total")}</th> | ||
787 | 319 | </tr> | ||
788 | 320 | </table> | ||
789 | 321 | </th> | ||
790 | 322 | </tr> | ||
791 | 323 | </thead> | ||
792 | 324 | <tbody> | ||
793 | 325 | %for line in inv.order_line: | ||
794 | 326 | <tr> | ||
795 | 327 | <td class="list_main_lines" style="width: 100%"> | ||
796 | 328 | <div class="nobreak"> | ||
797 | 329 | <table style="width:100%"> | ||
798 | 330 | <tr> | ||
799 | 331 | <td class="main_col1">${line.name.replace('\n','<br/>') or '' | n}</td> | ||
800 | 332 | <td class="amount main_col2">${formatLang(line.product_uom_qty or 0.0,digits=get_digits(dp='Account'))}</td> | ||
801 | 333 | <td class="amount main_col3">${line.product_uos and line.product_uos.name or ''}</td> | ||
802 | 334 | <td class="amount main_col4">${formatLang(line.price_unit)}</td> | ||
803 | 335 | <td class="main_col5">${ ', '.join([tax.description or tax.name for tax in line.tax_id])}</td> | ||
804 | 336 | <td class="amount main_col6">${line.discount and formatLang(line.discount, digits=get_digits(dp='Account')) or ''} ${line.discount and '%' or ''}</td> | ||
805 | 337 | <td class="amount main_col7">${formatLang(line.price_subtotal, digits=get_digits(dp='Account'))} ${inv.currency_id.symbol}</td> | ||
806 | 338 | </tr> | ||
807 | 339 | </table> | ||
808 | 340 | </div> | ||
809 | 341 | </td> | ||
810 | 342 | </tr> | ||
811 | 343 | %endfor | ||
812 | 344 | </tbody> | ||
813 | 345 | <tfoot class="totals"> | ||
814 | 346 | <tr> | ||
815 | 347 | <td class="list_main_footers" style="width: 100%"> | ||
816 | 348 | <div class="nobreak"> | ||
817 | 349 | <table style="width:100%"> | ||
818 | 350 | <tr> | ||
819 | 351 | <td class="total_empty_cell"/> | ||
820 | 352 | <th> | ||
821 | 353 | ${_("Net :")} | ||
822 | 354 | </th> | ||
823 | 355 | <td class="amount total_sum_cell"> | ||
824 | 356 | ${formatLang(inv.amount_untaxed, digits=get_digits(dp='Account'))} ${inv.currency_id.symbol} | ||
825 | 357 | </td> | ||
826 | 358 | </tr> | ||
827 | 359 | <tr> | ||
828 | 360 | <td class="total_empty_cell"/> | ||
829 | 361 | <th> | ||
830 | 362 | ${_("Taxes:")} | ||
831 | 363 | </th> | ||
832 | 364 | <td class="amount total_sum_cell"> | ||
833 | 365 | ${formatLang(inv.amount_tax, digits=get_digits(dp='Account'))} ${inv.currency_id.symbol} | ||
834 | 366 | </td> | ||
835 | 367 | </tr> | ||
836 | 368 | <tr> | ||
837 | 369 | <td class="total_empty_cell"/> | ||
838 | 370 | <th> | ||
839 | 371 | ${_("Total:")} | ||
840 | 372 | </th> | ||
841 | 373 | <td class="amount total_sum_cell"> | ||
842 | 374 | <b>${formatLang(inv.amount_total, digits=get_digits(dp='Account'))} ${inv.currency_id.symbol}</b> | ||
843 | 375 | </td> | ||
844 | 376 | </tr> | ||
845 | 377 | </table> | ||
846 | 378 | </div> | ||
847 | 379 | </td> | ||
848 | 380 | </tr> | ||
849 | 381 | </tfoot> | ||
850 | 382 | </table> | ||
851 | 383 | <br/> | ||
852 | 384 | |||
853 | 385 | <br/> | ||
854 | 386 | <br/> | ||
855 | 387 | <h4> | ||
856 | 388 | ${_("Thank you for your prompt payment")} | ||
857 | 389 | </h4> | ||
858 | 390 | <br/> | ||
859 | 391 | <br/> | ||
860 | 392 | %if inv.note : | ||
861 | 393 | <p class="std_text">${inv.note | carriage_returns}</p> | ||
862 | 394 | %endif | ||
863 | 395 | %if inv.fiscal_position : | ||
864 | 396 | <br/> | ||
865 | 397 | <p class="std_text"> | ||
866 | 398 | ${inv.fiscal_position.note | n} | ||
867 | 399 | </p> | ||
868 | 400 | %endif | ||
869 | 401 | %if inv != objects[-1]: | ||
870 | 402 | <p style="page-break-after:always"/> | ||
871 | 403 | %endif | ||
872 | 404 | %endfor | ||
873 | 405 | </body> | ||
874 | 406 | </html> |
Hi, Vincent,
Thanks you very much for this module. It's something that I have also on my pendings. I have tested, and these are the issues I have found:
- Module doesn't install because you have on __init__.py "from . import report", but there is no __init__.py on that folder. Please remove this line.
- Module title put "ProFormat" instead of "Pro Forma"
- When I try to print the report, I get:
SyntaxError: JSON.parse: unexpected end of data at line 2 column 1 of the JSON data
Regards.