Merge lp:~pedro.baeza/account-financial-tools/7.0-account-chart-update-imp into lp:~joaquing-pedrosa/account-financial-tools/7.0-account-chart-update
- 7.0-account-chart-update-imp
- Merge into 7.0-account-chart-update
Proposed by
Pedro Manuel Baeza
Status: | Merged |
---|---|
Merged at revision: | 126 |
Proposed branch: | lp:~pedro.baeza/account-financial-tools/7.0-account-chart-update-imp |
Merge into: | lp:~joaquing-pedrosa/account-financial-tools/7.0-account-chart-update |
Diff against target: |
2991 lines (+803/-694) 18 files modified
account_chart_update/__openerp__.py (+9/-7) account_chart_update/i18n/account_chart_update.pot (+93/-96) account_chart_update/i18n/ca.po (+1/-1) account_chart_update/i18n/ca_ES.po (+1/-1) account_chart_update/i18n/es.po (+103/-204) account_chart_update/i18n/es_ES.po (+1/-1) account_chart_update/i18n/fr.po (+1/-1) account_chart_update/i18n/pt.po (+1/-1) account_chart_update/i18n/sv.po (+1/-1) account_chart_update/wizard/wizard_chart_update.py (+92/-208) account_chart_update/wizard/wizard_chart_update_view.xml (+170/-173) currency_rate_date_check/__init__.py (+25/-0) currency_rate_date_check/__openerp__.py (+48/-0) currency_rate_date_check/company.py (+42/-0) currency_rate_date_check/company_view.xml (+25/-0) currency_rate_date_check/currency_rate_date_check.py (+82/-0) currency_rate_date_check/i18n/currency_rate_date_check.pot (+54/-0) currency_rate_date_check/i18n/fr.po (+54/-0) |
To merge this branch: | bzr merge lp:~pedro.baeza/account-financial-tools/7.0-account-chart-update-imp |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Joaquin Gutierrez | Approve | ||
Review via email: mp+191201@code.launchpad.net |
Commit message
Description of the change
[FIX] account_
[FIX] account_
[IMP] account_
[IMP] account_
[IMP] account_
[IMP] account_
[IMP] account_
[IMP] account_
To post a comment you must log in.
- 122. By Pedro Manuel Baeza
-
[IMP] account_
chart_update: Menu path to avoid needing multi-company permission.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'account_chart_update/__openerp__.py' |
2 | --- account_chart_update/__openerp__.py 2013-10-01 16:28:19 +0000 |
3 | +++ account_chart_update/__openerp__.py 2013-10-15 14:29:10 +0000 |
4 | @@ -31,28 +31,30 @@ |
5 | 'website': "www.zikzakmedia.com", |
6 | 'depends': ["account"], |
7 | 'category': "Generic Modules/Accounting", |
8 | - 'contributors': ['Joaquin Gutierrez', 'Pedro M. Baeza'], |
9 | + 'contributors': ['Joaquín Gutierrez', 'Pedro M. Baeza', 'invitu'], |
10 | 'description': """ |
11 | Adds a wizard to update a company account chart from a chart template. |
12 | ====================================================================== |
13 | |
14 | -This is a pretty useful tool to update OpenERP instalations after tax reforms |
15 | -on the oficial charts of accounts, or to apply fixes performed on the chart |
16 | +This is a pretty useful tool to update OpenERP installations after tax reforms |
17 | +on the official charts of accounts, or to apply fixes performed on the chart |
18 | template. |
19 | |
20 | The wizard: |
21 | + |
22 | - Allows the user to compare a chart and a template showing differences |
23 | - on accounts, taxes, tax codes and fiscal positions. |
24 | + on accounts, taxes, tax codes and fiscal positions. |
25 | - It may create the new account, taxes, tax codes and fiscal positions detected |
26 | - on the template. |
27 | + on the template. |
28 | - It can also update (overwrite) the accounts, taxes, tax codes and fiscal |
29 | - positions that got modified on the template. |
30 | + positions that got modified on the template. |
31 | |
32 | The wizard lets the user select what kind of objects must be checked/updated, |
33 | -and whether old records must be checked for changes and updated. |
34 | +and whether old records must be checked for changes and updates. |
35 | It will display all the accounts to be created / updated with some information |
36 | about the detected differences, and allow the user to exclude records |
37 | individually. |
38 | + |
39 | Any problem found while updating will be shown on the last step. |
40 | """, |
41 | 'license': "AGPL-3", |
42 | |
43 | === modified file 'account_chart_update/i18n/account_chart_update.pot' |
44 | --- account_chart_update/i18n/account_chart_update.pot 2013-10-01 16:28:19 +0000 |
45 | +++ account_chart_update/i18n/account_chart_update.pot 2013-10-15 14:29:10 +0000 |
46 | @@ -4,10 +4,10 @@ |
47 | # |
48 | msgid "" |
49 | msgstr "" |
50 | -"Project-Id-Version: OpenERP Server 7.0-20130927-231103\n" |
51 | +"Project-Id-Version: OpenERP Server 7.0\n" |
52 | "Report-Msgid-Bugs-To: \n" |
53 | -"POT-Creation-Date: 2013-09-30 21:45+0000\n" |
54 | -"PO-Revision-Date: 2013-09-30 21:45+0000\n" |
55 | +"POT-Creation-Date: 2013-10-15 14:01+0000\n" |
56 | +"PO-Revision-Date: 2013-10-15 14:01+0000\n" |
57 | "Last-Translator: <>\n" |
58 | "Language-Team: \n" |
59 | "MIME-Version: 1.0\n" |
60 | @@ -16,12 +16,17 @@ |
61 | "Plural-Forms: \n" |
62 | |
63 | #. module: account_chart_update |
64 | +#: view:wizard.update.charts.accounts:0 |
65 | +msgid "Update chart of accounts from a template" |
66 | +msgstr "" |
67 | + |
68 | +#. module: account_chart_update |
69 | #: field:wizard.update.charts.accounts.account,update_account_id:0 |
70 | msgid "Account to update" |
71 | msgstr "" |
72 | |
73 | #. module: account_chart_update |
74 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:359 |
75 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:368 |
76 | #, python-format |
77 | msgid "The code field is different.\n" |
78 | "" |
79 | @@ -43,19 +48,14 @@ |
80 | msgstr "" |
81 | |
82 | #. module: account_chart_update |
83 | -#: help:wizard.update.charts.accounts,update_account:0 |
84 | -msgid "Existing accounts are updated. Accounts are searched by code." |
85 | -msgstr "" |
86 | - |
87 | -#. module: account_chart_update |
88 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:753 |
89 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:716 |
90 | #, python-format |
91 | msgid "Created tax code %s.\n" |
92 | "" |
93 | msgstr "" |
94 | |
95 | #. module: account_chart_update |
96 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1083 |
97 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1012 |
98 | #, python-format |
99 | msgid "Tax %s: The collected account can not be set.\n" |
100 | "" |
101 | @@ -80,14 +80,14 @@ |
102 | msgstr "" |
103 | |
104 | #. module: account_chart_update |
105 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1161 |
106 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1076 |
107 | #, python-format |
108 | msgid "Fiscal position %s: The destination tax %s can not be set.\n" |
109 | "" |
110 | msgstr "" |
111 | |
112 | #. module: account_chart_update |
113 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:892 |
114 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:839 |
115 | #, python-format |
116 | msgid "Tax %s: The tax code for the tax refund %s can not be set.\n" |
117 | "" |
118 | @@ -104,7 +104,7 @@ |
119 | msgstr "" |
120 | |
121 | #. module: account_chart_update |
122 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630 |
123 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:617 |
124 | #, python-format |
125 | msgid "The template has taxes the fiscal position instance does not.\n" |
126 | "" |
127 | @@ -135,31 +135,19 @@ |
128 | msgstr "" |
129 | |
130 | #. module: account_chart_update |
131 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:362 |
132 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:371 |
133 | #, python-format |
134 | msgid "The info field is different.\n" |
135 | "" |
136 | msgstr "" |
137 | |
138 | #. module: account_chart_update |
139 | -#: selection:wizard.update.charts.accounts,state:0 |
140 | -msgid "Wizard Complete" |
141 | -msgstr "" |
142 | - |
143 | -#. module: account_chart_update |
144 | -#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart |
145 | -#: model:ir.ui.menu,name:account_chart_update.menu_wizard |
146 | -msgid "Update Chart of Accounts from a Chart Template\n" |
147 | -" " |
148 | -msgstr "" |
149 | - |
150 | -#. module: account_chart_update |
151 | #: field:wizard.update.charts.accounts,new_taxes:0 |
152 | msgid "New taxes" |
153 | msgstr "" |
154 | |
155 | #. module: account_chart_update |
156 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:762 |
157 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:723 |
158 | #, python-format |
159 | msgid "Updated tax code %s.\n" |
160 | "" |
161 | @@ -176,21 +164,21 @@ |
162 | msgstr "" |
163 | |
164 | #. module: account_chart_update |
165 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:853 |
166 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:806 |
167 | #, python-format |
168 | msgid "Created tax %s.\n" |
169 | "" |
170 | msgstr "" |
171 | |
172 | #. module: account_chart_update |
173 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456 |
174 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459 |
175 | #, python-format |
176 | msgid "The base sign field is different.\n" |
177 | "" |
178 | msgstr "" |
179 | |
180 | #. module: account_chart_update |
181 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438 |
182 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441 |
183 | #, python-format |
184 | msgid "The type field is different.\n" |
185 | "" |
186 | @@ -208,14 +196,14 @@ |
187 | msgstr "" |
188 | |
189 | #. module: account_chart_update |
190 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:888 |
191 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:835 |
192 | #, python-format |
193 | msgid "Tax %s: The tax code for the tax %s can not be set.\n" |
194 | "" |
195 | msgstr "" |
196 | |
197 | #. module: account_chart_update |
198 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:625 |
199 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:612 |
200 | #, python-format |
201 | msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n" |
202 | "" |
203 | @@ -250,7 +238,12 @@ |
204 | msgstr "" |
205 | |
206 | #. module: account_chart_update |
207 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:432 |
208 | +#: help:wizard.update.charts.accounts,code_digits:0 |
209 | +msgid "No. of digits to use for account code. Make sure it is the same number as existing accounts." |
210 | +msgstr "" |
211 | + |
212 | +#. module: account_chart_update |
213 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435 |
214 | #, python-format |
215 | msgid "The sequence field is different.\n" |
216 | "" |
217 | @@ -262,7 +255,7 @@ |
218 | msgstr "" |
219 | |
220 | #. module: account_chart_update |
221 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:645 |
222 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630 |
223 | #, python-format |
224 | msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n" |
225 | "" |
226 | @@ -287,7 +280,7 @@ |
227 | msgstr "" |
228 | |
229 | #. module: account_chart_update |
230 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462 |
231 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465 |
232 | #, python-format |
233 | msgid "The include base amount field is different.\n" |
234 | "" |
235 | @@ -299,7 +292,7 @@ |
236 | msgstr "" |
237 | |
238 | #. module: account_chart_update |
239 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648 |
240 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:633 |
241 | #, python-format |
242 | msgid "The template has accounts the fiscal position instance does not.\n" |
243 | "" |
244 | @@ -316,14 +309,20 @@ |
245 | msgstr "" |
246 | |
247 | #. module: account_chart_update |
248 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1085 |
249 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1014 |
250 | #, python-format |
251 | msgid "Tax %s: The paid account can not be set.\n" |
252 | "" |
253 | msgstr "" |
254 | |
255 | #. module: account_chart_update |
256 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1002 |
257 | +#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart |
258 | +#: model:ir.ui.menu,name:account_chart_update.menu_wizard |
259 | +msgid "Update chart of accounts" |
260 | +msgstr "" |
261 | + |
262 | +#. module: account_chart_update |
263 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:941 |
264 | #, python-format |
265 | msgid "Exception creating account %s: %s - %s.\n" |
266 | "" |
267 | @@ -335,7 +334,7 @@ |
268 | msgstr "" |
269 | |
270 | #. module: account_chart_update |
271 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450 |
272 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:453 |
273 | #, python-format |
274 | msgid "The python compute field is different.\n" |
275 | "" |
276 | @@ -347,36 +346,29 @@ |
277 | msgstr "" |
278 | |
279 | #. module: account_chart_update |
280 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1187 |
281 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1092 |
282 | #, python-format |
283 | msgid "Fiscal position %s: The source account %s can not be set.\n" |
284 | "" |
285 | msgstr "" |
286 | |
287 | #. module: account_chart_update |
288 | -#: field:wizard.update.charts.accounts,code_digits:0 |
289 | -msgid "# of Digits" |
290 | -msgstr "" |
291 | - |
292 | -#. module: account_chart_update |
293 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:886 |
294 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:833 |
295 | #, python-format |
296 | msgid "Tax %s: The tax code for the base %s can not be set.\n" |
297 | "" |
298 | msgstr "" |
299 | |
300 | #. module: account_chart_update |
301 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1015 |
302 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:952 |
303 | #, python-format |
304 | msgid "Exception writing account %s: %s - %s.\n" |
305 | "" |
306 | msgstr "" |
307 | |
308 | #. module: account_chart_update |
309 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1028 |
310 | -#, python-format |
311 | -msgid "Account %s: The parent account %s can not be set.\n" |
312 | -"" |
313 | +#: view:wizard.update.charts.accounts:0 |
314 | +msgid "Note: Not all the fields are tested for changes, just the main ones" |
315 | msgstr "" |
316 | |
317 | #. module: account_chart_update |
318 | @@ -385,14 +377,18 @@ |
319 | msgstr "" |
320 | |
321 | #. module: account_chart_update |
322 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:239 |
323 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:705 |
324 | +#: view:wizard.update.charts.accounts:0 |
325 | +msgid "or" |
326 | +msgstr "" |
327 | + |
328 | +#. module: account_chart_update |
329 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:250 |
330 | #, python-format |
331 | msgid "Update Chart of Accounts from a Chart Template " |
332 | msgstr "" |
333 | |
334 | #. module: account_chart_update |
335 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534 |
336 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:531 |
337 | #, python-format |
338 | msgid "The name is different.\n" |
339 | "" |
340 | @@ -404,28 +400,28 @@ |
341 | msgstr "" |
342 | |
343 | #. module: account_chart_update |
344 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:777 |
345 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:736 |
346 | #, python-format |
347 | msgid "Tax code %s: The parent tax code %s can not be set.\n" |
348 | "" |
349 | msgstr "" |
350 | |
351 | #. module: account_chart_update |
352 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435 |
353 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438 |
354 | #, python-format |
355 | msgid "The amount field is different.\n" |
356 | "" |
357 | msgstr "" |
358 | |
359 | #. module: account_chart_update |
360 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447 |
361 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450 |
362 | #, python-format |
363 | msgid "The child depend field is different.\n" |
364 | "" |
365 | msgstr "" |
366 | |
367 | #. module: account_chart_update |
368 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1011 |
369 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:948 |
370 | #, python-format |
371 | msgid "Updated account %s.\n" |
372 | "" |
373 | @@ -442,14 +438,26 @@ |
374 | msgstr "" |
375 | |
376 | #. module: account_chart_update |
377 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465 |
378 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:468 |
379 | #, python-format |
380 | msgid "The type tax use field is different.\n" |
381 | "" |
382 | msgstr "" |
383 | |
384 | #. module: account_chart_update |
385 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:884 |
386 | +#: selection:wizard.update.charts.accounts,state:0 |
387 | +msgid "Wizard completed" |
388 | +msgstr "" |
389 | + |
390 | +#. module: account_chart_update |
391 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:963 |
392 | +#, python-format |
393 | +msgid "Account %s: The parent account %s can not be set.\n" |
394 | +"" |
395 | +msgstr "" |
396 | + |
397 | +#. module: account_chart_update |
398 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:831 |
399 | #, python-format |
400 | msgid "Tax %s: The parent tax %s can not be set.\n" |
401 | "" |
402 | @@ -477,29 +485,34 @@ |
403 | msgstr "" |
404 | |
405 | #. module: account_chart_update |
406 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:365 |
407 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:374 |
408 | #, python-format |
409 | msgid "The sign field is different.\n" |
410 | "" |
411 | msgstr "" |
412 | |
413 | #. module: account_chart_update |
414 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:862 |
415 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:813 |
416 | #, python-format |
417 | msgid "Updated tax %s.\n" |
418 | "" |
419 | msgstr "" |
420 | |
421 | #. module: account_chart_update |
422 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:927 |
423 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:874 |
424 | #, python-format |
425 | msgid "Exception setting the parent of account %s children: %s - %s.\n" |
426 | "" |
427 | msgstr "" |
428 | |
429 | #. module: account_chart_update |
430 | -#: help:wizard.update.charts.accounts,code_digits:0 |
431 | -msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts." |
432 | +#: help:wizard.update.charts.accounts,update_account:0 |
433 | +msgid "Existing accounts are updated. Accounts are searched by code." |
434 | +msgstr "" |
435 | + |
436 | +#. module: account_chart_update |
437 | +#: field:wizard.update.charts.accounts,code_digits:0 |
438 | +msgid "# of digits" |
439 | msgstr "" |
440 | |
441 | #. module: account_chart_update |
442 | @@ -518,23 +531,18 @@ |
443 | msgstr "" |
444 | |
445 | #. module: account_chart_update |
446 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226 |
447 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1127 |
448 | #, python-format |
449 | msgid "Error" |
450 | msgstr "" |
451 | |
452 | #. module: account_chart_update |
453 | #: view:wizard.update.charts.accounts:0 |
454 | -msgid "Update Chart of Accounts from a Chart Template" |
455 | -msgstr "" |
456 | - |
457 | -#. module: account_chart_update |
458 | -#: view:wizard.update.charts.accounts:0 |
459 | msgid "Summary of created objects" |
460 | msgstr "" |
461 | |
462 | #. module: account_chart_update |
463 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537 |
464 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534 |
465 | #, python-format |
466 | msgid "The type is different.\n" |
467 | "" |
468 | @@ -563,16 +571,11 @@ |
469 | |
470 | #. module: account_chart_update |
471 | #: view:wizard.update.charts.accounts:0 |
472 | -msgid "Note:Not all the fields are tested for changes, just the main ones" |
473 | -msgstr "" |
474 | - |
475 | -#. module: account_chart_update |
476 | -#: view:wizard.update.charts.accounts:0 |
477 | msgid "Create/Update" |
478 | msgstr "" |
479 | |
480 | #. module: account_chart_update |
481 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:890 |
482 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:837 |
483 | #, python-format |
484 | msgid "Tax %s: The tax code for the base refund %s can not be set.\n" |
485 | "" |
486 | @@ -589,14 +592,14 @@ |
487 | msgstr "" |
488 | |
489 | #. module: account_chart_update |
490 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459 |
491 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462 |
492 | #, python-format |
493 | msgid "The tax sign field is different.\n" |
494 | "" |
495 | msgstr "" |
496 | |
497 | #. module: account_chart_update |
498 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226 |
499 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1127 |
500 | #, python-format |
501 | msgid "One or more errors detected!\n" |
502 | "\n" |
503 | @@ -604,7 +607,7 @@ |
504 | msgstr "" |
505 | |
506 | #. module: account_chart_update |
507 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1189 |
508 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1094 |
509 | #, python-format |
510 | msgid "Fiscal position %s: The destination account %s can not be set.\n" |
511 | "" |
512 | @@ -616,7 +619,7 @@ |
513 | msgstr "" |
514 | |
515 | #. module: account_chart_update |
516 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441 |
517 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444 |
518 | #, python-format |
519 | msgid "The applicable type field is different.\n" |
520 | "" |
521 | @@ -633,7 +636,7 @@ |
522 | msgstr "" |
523 | |
524 | #. module: account_chart_update |
525 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:627 |
526 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:614 |
527 | #, python-format |
528 | msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n" |
529 | "" |
530 | @@ -650,7 +653,7 @@ |
531 | msgstr "" |
532 | |
533 | #. module: account_chart_update |
534 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540 |
535 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537 |
536 | #, python-format |
537 | msgid "The user type is different.\n" |
538 | "" |
539 | @@ -670,26 +673,20 @@ |
540 | msgstr "" |
541 | |
542 | #. module: account_chart_update |
543 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:543 |
544 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540 |
545 | #, python-format |
546 | msgid "The reconcile is different.\n" |
547 | "" |
548 | msgstr "" |
549 | |
550 | #. module: account_chart_update |
551 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444 |
552 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447 |
553 | #, python-format |
554 | msgid "The domain field is different.\n" |
555 | "" |
556 | msgstr "" |
557 | |
558 | #. module: account_chart_update |
559 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1253 |
560 | -#, python-format |
561 | -msgid "Update Accounts" |
562 | -msgstr "" |
563 | - |
564 | -#. module: account_chart_update |
565 | #: view:wizard.update.charts.accounts:0 |
566 | msgid "Other options" |
567 | msgstr "" |
568 | @@ -705,14 +702,14 @@ |
569 | msgstr "" |
570 | |
571 | #. module: account_chart_update |
572 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1191 |
573 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1096 |
574 | #, python-format |
575 | msgid "Created or updated fiscal position %s.\n" |
576 | "" |
577 | msgstr "" |
578 | |
579 | #. module: account_chart_update |
580 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1159 |
581 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1074 |
582 | #, python-format |
583 | msgid "Fiscal position %s: The source tax %s can not be set.\n" |
584 | "" |
585 | @@ -729,7 +726,7 @@ |
586 | msgstr "" |
587 | |
588 | #. module: account_chart_update |
589 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:998 |
590 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:937 |
591 | #, python-format |
592 | msgid "Created account %s.\n" |
593 | "" |
594 | |
595 | === modified file 'account_chart_update/i18n/ca.po' |
596 | --- account_chart_update/i18n/ca.po 2013-10-01 16:28:19 +0000 |
597 | +++ account_chart_update/i18n/ca.po 2013-10-15 14:29:10 +0000 |
598 | @@ -208,7 +208,7 @@ |
599 | |
600 | #. module: account_chart_update |
601 | #: selection:wizard.update.charts.accounts,state:0 |
602 | -msgid "Wizard Complete" |
603 | +msgid "Wizard completep" |
604 | msgstr "Assistent completat" |
605 | |
606 | #. module: account_chart_update |
607 | |
608 | === modified file 'account_chart_update/i18n/ca_ES.po' |
609 | --- account_chart_update/i18n/ca_ES.po 2013-10-01 16:28:19 +0000 |
610 | +++ account_chart_update/i18n/ca_ES.po 2013-10-15 14:29:10 +0000 |
611 | @@ -233,7 +233,7 @@ |
612 | |
613 | #. module: account_chart_update |
614 | #: selection:wizard.update.charts.accounts,state:0 |
615 | -msgid "Wizard Complete" |
616 | +msgid "Wizard completed" |
617 | msgstr "Assistent completat" |
618 | |
619 | #. module: account_chart_update |
620 | |
621 | === modified file 'account_chart_update/i18n/es.po' |
622 | --- account_chart_update/i18n/es.po 2013-10-01 16:28:19 +0000 |
623 | +++ account_chart_update/i18n/es.po 2013-10-15 14:29:10 +0000 |
624 | @@ -1,21 +1,24 @@ |
625 | # Translation of OpenERP Server. |
626 | # This file contains the translation of the following modules: |
627 | -# * account_chart_update |
628 | +# * account_chart_update |
629 | # |
630 | msgid "" |
631 | msgstr "" |
632 | -"Project-Id-Version: OpenERP Server 5.0.10\n" |
633 | +"Project-Id-Version: OpenERP Server 7.0\n" |
634 | "Report-Msgid-Bugs-To: \n" |
635 | -"POT-Creation-Date: 2013-09-30 21:45+0000\n" |
636 | -"PO-Revision-Date: 2013-09-30 23:52+0100\n" |
637 | -"Last-Translator: Joaquin Gutierrez <joaquing.pedrosa@gmail.com>\n" |
638 | +"POT-Creation-Date: 2013-10-15 14:02+0000\n" |
639 | +"PO-Revision-Date: 2013-10-15 16:02+0100\n" |
640 | +"Last-Translator: Pedro Manuel Baeza <pedro.baeza@serviciosbaeza.com>\n" |
641 | "Language-Team: \n" |
642 | -"Language: \n" |
643 | "MIME-Version: 1.0\n" |
644 | "Content-Type: text/plain; charset=UTF-8\n" |
645 | "Content-Transfer-Encoding: 8bit\n" |
646 | -"X-Launchpad-Export-Date: 2012-11-28 04:55+0000\n" |
647 | -"X-Generator: Launchpad (build 16309)\n" |
648 | +"Plural-Forms: \n" |
649 | + |
650 | +#. module: account_chart_update |
651 | +#: view:wizard.update.charts.accounts:0 |
652 | +msgid "Update chart of accounts from a template" |
653 | +msgstr "Actualizar plan contable desde una plantilla" |
654 | |
655 | #. module: account_chart_update |
656 | #: field:wizard.update.charts.accounts.account,update_account_id:0 |
657 | @@ -23,7 +26,7 @@ |
658 | msgstr "Cuenta a actualizar" |
659 | |
660 | #. module: account_chart_update |
661 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:359 |
662 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:368 |
663 | #, python-format |
664 | msgid "The code field is different.\n" |
665 | msgstr "El campo código es diferente.\n" |
666 | @@ -44,18 +47,13 @@ |
667 | msgstr "Posición fiscal a actualizar" |
668 | |
669 | #. module: account_chart_update |
670 | -#: help:wizard.update.charts.accounts,update_account:0 |
671 | -msgid "Existing accounts are updated. Accounts are searched by code." |
672 | -msgstr "Las cuentas contables existentes serán actualizadas. Las cuentas se buscarán por código." |
673 | - |
674 | -#. module: account_chart_update |
675 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:753 |
676 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:716 |
677 | #, python-format |
678 | msgid "Created tax code %s.\n" |
679 | msgstr "Creado código de impuesto %s.\n" |
680 | |
681 | #. module: account_chart_update |
682 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1083 |
683 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1012 |
684 | #, python-format |
685 | msgid "Tax %s: The collected account can not be set.\n" |
686 | msgstr "Impuesto %s: No se pudo establecer la cuenta a recibir.\n" |
687 | @@ -79,22 +77,21 @@ |
688 | msgstr "Compañía" |
689 | |
690 | #. module: account_chart_update |
691 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1161 |
692 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1076 |
693 | #, python-format |
694 | msgid "Fiscal position %s: The destination tax %s can not be set.\n" |
695 | msgstr "Posición fiscal %s: No se pudo establecer la cuenta destino %s.\n" |
696 | |
697 | #. module: account_chart_update |
698 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:892 |
699 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:839 |
700 | #, python-format |
701 | msgid "Tax %s: The tax code for the tax refund %s can not be set.\n" |
702 | msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la devolución de impuesto %s.\n" |
703 | |
704 | #. module: account_chart_update |
705 | #: view:wizard.update.charts.accounts:0 |
706 | -#, fuzzy |
707 | msgid "If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)" |
708 | -msgstr "Si deja marcadas estas opciones, el asistente no sólo creará nuevos registros, sino que también actualizará registros con cambios (p.ej. diferente importe de impuesto)" |
709 | +msgstr "Si deja esta opción marcada, el asistente creará no sólo nuevos registros, si no que también actualizará aquellos con cambios (por ejemplo, diferente porcentaje de impuesto)" |
710 | |
711 | #. module: account_chart_update |
712 | #: field:wizard.update.charts.accounts,updated_tax_codes:0 |
713 | @@ -102,7 +99,7 @@ |
714 | msgstr "Códigos de impuesto actualizados" |
715 | |
716 | #. module: account_chart_update |
717 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630 |
718 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:617 |
719 | #, python-format |
720 | msgid "The template has taxes the fiscal position instance does not.\n" |
721 | msgstr "La plantilla tiene impuestos que la instancia de posición fiscal no.\n" |
722 | @@ -132,32 +129,18 @@ |
723 | msgstr "Impuestos" |
724 | |
725 | #. module: account_chart_update |
726 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:362 |
727 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:371 |
728 | #, python-format |
729 | msgid "The info field is different.\n" |
730 | msgstr "El campo info es diferente.\n" |
731 | |
732 | #. module: account_chart_update |
733 | -#: selection:wizard.update.charts.accounts,state:0 |
734 | -msgid "Wizard Complete" |
735 | -msgstr "Asistente completado" |
736 | - |
737 | -#. module: account_chart_update |
738 | -#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart |
739 | -#: model:ir.ui.menu,name:account_chart_update.menu_wizard |
740 | -#, fuzzy |
741 | -msgid "" |
742 | -"Update Chart of Accounts from a Chart Template\n" |
743 | -"\t\t\t" |
744 | -msgstr "Actualizar plan contable a partir de una plantilla de plan contable" |
745 | - |
746 | -#. module: account_chart_update |
747 | #: field:wizard.update.charts.accounts,new_taxes:0 |
748 | msgid "New taxes" |
749 | msgstr "Nuevos impuestos" |
750 | |
751 | #. module: account_chart_update |
752 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:762 |
753 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:723 |
754 | #, python-format |
755 | msgid "Updated tax code %s.\n" |
756 | msgstr "Actualizado código de impuesto %s.\n" |
757 | @@ -173,19 +156,19 @@ |
758 | msgstr "Impuesto a actualizar" |
759 | |
760 | #. module: account_chart_update |
761 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:853 |
762 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:806 |
763 | #, python-format |
764 | msgid "Created tax %s.\n" |
765 | msgstr "Creado impuesto %s.\n" |
766 | |
767 | #. module: account_chart_update |
768 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456 |
769 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459 |
770 | #, python-format |
771 | msgid "The base sign field is different.\n" |
772 | msgstr "El campo signo base es diferente.\n" |
773 | |
774 | #. module: account_chart_update |
775 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438 |
776 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441 |
777 | #, python-format |
778 | msgid "The type field is different.\n" |
779 | msgstr "El campo tipo es diferente.\n" |
780 | @@ -193,7 +176,7 @@ |
781 | #. module: account_chart_update |
782 | #: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account |
783 | msgid "wizard.update.charts.accounts.account" |
784 | -msgstr "wizard.update.charts.accounts.account" |
785 | +msgstr "Asistente de actualización de plan contable" |
786 | |
787 | #. module: account_chart_update |
788 | #: view:wizard.update.charts.accounts:0 |
789 | @@ -202,13 +185,13 @@ |
790 | msgstr "Cuentas" |
791 | |
792 | #. module: account_chart_update |
793 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:888 |
794 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:835 |
795 | #, python-format |
796 | msgid "Tax %s: The tax code for the tax %s can not be set.\n" |
797 | msgstr "Impuesto %s: No se pudo establecer el código de impuesto para el impuesto %s.\n" |
798 | |
799 | #. module: account_chart_update |
800 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:625 |
801 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:612 |
802 | #, python-format |
803 | msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n" |
804 | msgstr "Mapeo de cuenta no encontrado en la instancia de la posición fiscal: %s -> %s.\n" |
805 | @@ -242,7 +225,12 @@ |
806 | msgstr "Nueva plantilla" |
807 | |
808 | #. module: account_chart_update |
809 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:432 |
810 | +#: help:wizard.update.charts.accounts,code_digits:0 |
811 | +msgid "No. of digits to use for account code. Make sure it is the same number as existing accounts." |
812 | +msgstr "Nº de dígitos a usar para el código de cuenta. Asegúrese que este número es el mismo que el de las cuentas existentes." |
813 | + |
814 | +#. module: account_chart_update |
815 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435 |
816 | #, python-format |
817 | msgid "The sequence field is different.\n" |
818 | msgstr "El campo secuencia es diferente.\n" |
819 | @@ -253,7 +241,7 @@ |
820 | msgstr "Cuentas actualizadas" |
821 | |
822 | #. module: account_chart_update |
823 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:645 |
824 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630 |
825 | #, python-format |
826 | msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n" |
827 | msgstr "Mapeo de cuenta no encontrado en la instancia de posición fiscal: %s -> %s.\n" |
828 | @@ -277,7 +265,7 @@ |
829 | msgstr "Impuestos actualizados" |
830 | |
831 | #. module: account_chart_update |
832 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462 |
833 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465 |
834 | #, python-format |
835 | msgid "The include base amount field is different.\n" |
836 | msgstr "El campo incluir en importe base es diferente.\n" |
837 | @@ -288,7 +276,7 @@ |
838 | msgstr "Plan contable" |
839 | |
840 | #. module: account_chart_update |
841 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648 |
842 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:633 |
843 | #, python-format |
844 | msgid "The template has accounts the fiscal position instance does not.\n" |
845 | msgstr "La plantilla tiene cuentas que la instancia de posición fiscal no.\n" |
846 | @@ -304,13 +292,19 @@ |
847 | msgstr "Paso 2" |
848 | |
849 | #. module: account_chart_update |
850 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1085 |
851 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1014 |
852 | #, python-format |
853 | msgid "Tax %s: The paid account can not be set.\n" |
854 | msgstr "Impuesto %s: No se pudo establecer la cuenta a pagar.\n" |
855 | |
856 | #. module: account_chart_update |
857 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1002 |
858 | +#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart |
859 | +#: model:ir.ui.menu,name:account_chart_update.menu_wizard |
860 | +msgid "Update chart of accounts" |
861 | +msgstr "Actualizar plan de cuentas" |
862 | + |
863 | +#. module: account_chart_update |
864 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:941 |
865 | #, python-format |
866 | msgid "Exception creating account %s: %s - %s.\n" |
867 | msgstr "Excepción creando cuenta %s: %s - %s.\n" |
868 | @@ -321,7 +315,7 @@ |
869 | msgstr "Continuar tras errores" |
870 | |
871 | #. module: account_chart_update |
872 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450 |
873 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:453 |
874 | #, python-format |
875 | msgid "The python compute field is different.\n" |
876 | msgstr "El campo cálculo python es diferente.\n" |
877 | @@ -332,33 +326,27 @@ |
878 | msgstr "wizard.update.charts.accounts.tax.code" |
879 | |
880 | #. module: account_chart_update |
881 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1187 |
882 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1092 |
883 | #, python-format |
884 | msgid "Fiscal position %s: The source account %s can not be set.\n" |
885 | msgstr "Posición fiscal %s: No se pudo establecer la cuenta de origen %s.\n" |
886 | |
887 | #. module: account_chart_update |
888 | -#: field:wizard.update.charts.accounts,code_digits:0 |
889 | -msgid "# of Digits" |
890 | -msgstr "Núm. de dígitos" |
891 | - |
892 | -#. module: account_chart_update |
893 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:886 |
894 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:833 |
895 | #, python-format |
896 | msgid "Tax %s: The tax code for the base %s can not be set.\n" |
897 | msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la base %s.\n" |
898 | |
899 | #. module: account_chart_update |
900 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1015 |
901 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:952 |
902 | #, python-format |
903 | msgid "Exception writing account %s: %s - %s.\n" |
904 | msgstr "Excepción escribiendo cuenta %s: %s - %s.\n" |
905 | |
906 | #. module: account_chart_update |
907 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1028 |
908 | -#, python-format |
909 | -msgid "Account %s: The parent account %s can not be set.\n" |
910 | -msgstr "Cuenta %s: No se pudo establecer la cuenta padre %s.\n" |
911 | +#: view:wizard.update.charts.accounts:0 |
912 | +msgid "Note: Not all the fields are tested for changes, just the main ones" |
913 | +msgstr "Nota: No se comprueban todos los campos, sólo los importantes" |
914 | |
915 | #. module: account_chart_update |
916 | #: field:wizard.update.charts.accounts,update_fiscal_position:0 |
917 | @@ -366,14 +354,18 @@ |
918 | msgstr "Actualizar posiciones fiscales" |
919 | |
920 | #. module: account_chart_update |
921 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:239 |
922 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:705 |
923 | -#, fuzzy, python-format |
924 | +#: view:wizard.update.charts.accounts:0 |
925 | +msgid "or" |
926 | +msgstr "o" |
927 | + |
928 | +#. module: account_chart_update |
929 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:250 |
930 | +#, python-format |
931 | msgid "Update Chart of Accounts from a Chart Template " |
932 | msgstr "Actualizar plan contable a partir de una plantilla de plan contable" |
933 | |
934 | #. module: account_chart_update |
935 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534 |
936 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:531 |
937 | #, python-format |
938 | msgid "The name is different.\n" |
939 | msgstr "El nombre es diferente.\n" |
940 | @@ -384,25 +376,25 @@ |
941 | msgstr "Registro" |
942 | |
943 | #. module: account_chart_update |
944 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:777 |
945 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:736 |
946 | #, python-format |
947 | msgid "Tax code %s: The parent tax code %s can not be set.\n" |
948 | msgstr "Código de impuesto %s: No se pudo establecer el código de impuesto padre %s.\n" |
949 | |
950 | #. module: account_chart_update |
951 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435 |
952 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438 |
953 | #, python-format |
954 | msgid "The amount field is different.\n" |
955 | msgstr "El campo importe es diferente.\n" |
956 | |
957 | #. module: account_chart_update |
958 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447 |
959 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450 |
960 | #, python-format |
961 | msgid "The child depend field is different.\n" |
962 | msgstr "El campo impuesto en hijos es diferente.\n" |
963 | |
964 | #. module: account_chart_update |
965 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1011 |
966 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:948 |
967 | #, python-format |
968 | msgid "Updated account %s.\n" |
969 | msgstr "Actualizada cuenta %s.\n" |
970 | @@ -418,13 +410,24 @@ |
971 | msgstr "Mensajes y errores" |
972 | |
973 | #. module: account_chart_update |
974 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465 |
975 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:468 |
976 | #, python-format |
977 | msgid "The type tax use field is different.\n" |
978 | msgstr "El campo aplicación impuesto es diferente.\n" |
979 | |
980 | #. module: account_chart_update |
981 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:884 |
982 | +#: selection:wizard.update.charts.accounts,state:0 |
983 | +msgid "Wizard completed" |
984 | +msgstr "Asistente completado" |
985 | + |
986 | +#. module: account_chart_update |
987 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:963 |
988 | +#, python-format |
989 | +msgid "Account %s: The parent account %s can not be set.\n" |
990 | +msgstr "Cuenta %s: No se pudo establecer la cuenta padre %s.\n" |
991 | + |
992 | +#. module: account_chart_update |
993 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:831 |
994 | #, python-format |
995 | msgid "Tax %s: The parent tax %s can not be set.\n" |
996 | msgstr "Impuesto %s: No se pudo establecer el impuesto padre %s.\n" |
997 | @@ -451,27 +454,32 @@ |
998 | msgstr "Resumen de objetos actualizados" |
999 | |
1000 | #. module: account_chart_update |
1001 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:365 |
1002 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:374 |
1003 | #, python-format |
1004 | msgid "The sign field is different.\n" |
1005 | msgstr "El campo signo es diferente.\n" |
1006 | |
1007 | #. module: account_chart_update |
1008 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:862 |
1009 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:813 |
1010 | #, python-format |
1011 | msgid "Updated tax %s.\n" |
1012 | msgstr "Actualizado impuesto %s.\n" |
1013 | |
1014 | #. module: account_chart_update |
1015 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:927 |
1016 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:874 |
1017 | #, python-format |
1018 | msgid "Exception setting the parent of account %s children: %s - %s.\n" |
1019 | msgstr "Excepción estableciendo el padre de los hijos de la cuenta %s: %s - %s.\n" |
1020 | |
1021 | #. module: account_chart_update |
1022 | -#: help:wizard.update.charts.accounts,code_digits:0 |
1023 | -msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts." |
1024 | -msgstr "Número de dígitos para utilizar en el código de cuenta. Asegúrese que sea el mismo número de dígitos que el de las cuentas existentes." |
1025 | +#: help:wizard.update.charts.accounts,update_account:0 |
1026 | +msgid "Existing accounts are updated. Accounts are searched by code." |
1027 | +msgstr "Las cuentas contables existentes serán actualizadas. Las cuentas se buscarán por código." |
1028 | + |
1029 | +#. module: account_chart_update |
1030 | +#: field:wizard.update.charts.accounts,code_digits:0 |
1031 | +msgid "# of digits" |
1032 | +msgstr "Nº de dígitos" |
1033 | |
1034 | #. module: account_chart_update |
1035 | #: field:wizard.update.charts.accounts,update_tax_code:0 |
1036 | @@ -489,23 +497,18 @@ |
1037 | msgstr "Plantilla de cuenta" |
1038 | |
1039 | #. module: account_chart_update |
1040 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226 |
1041 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1127 |
1042 | #, python-format |
1043 | msgid "Error" |
1044 | msgstr "Error" |
1045 | |
1046 | #. module: account_chart_update |
1047 | #: view:wizard.update.charts.accounts:0 |
1048 | -msgid "Update Chart of Accounts from a Chart Template" |
1049 | -msgstr "Actualizar plan contable a partir de una plantilla de plan contable" |
1050 | - |
1051 | -#. module: account_chart_update |
1052 | -#: view:wizard.update.charts.accounts:0 |
1053 | msgid "Summary of created objects" |
1054 | msgstr "Resumen de objetos creados" |
1055 | |
1056 | #. module: account_chart_update |
1057 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537 |
1058 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534 |
1059 | #, python-format |
1060 | msgid "The type is different.\n" |
1061 | msgstr "El tipo es diferente.\n" |
1062 | @@ -533,17 +536,11 @@ |
1063 | |
1064 | #. module: account_chart_update |
1065 | #: view:wizard.update.charts.accounts:0 |
1066 | -#, fuzzy |
1067 | -msgid "Note:Not all the fields are tested for changes, just the main ones" |
1068 | -msgstr "Nota: No se buscan cambios en todos los campos, sólo en los principales." |
1069 | - |
1070 | -#. module: account_chart_update |
1071 | -#: view:wizard.update.charts.accounts:0 |
1072 | msgid "Create/Update" |
1073 | msgstr "Crear/Actualizar" |
1074 | |
1075 | #. module: account_chart_update |
1076 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:890 |
1077 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:837 |
1078 | #, python-format |
1079 | msgid "Tax %s: The tax code for the base refund %s can not be set.\n" |
1080 | msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la base de devolución %s.\n" |
1081 | @@ -559,13 +556,13 @@ |
1082 | msgstr "Plantilla plan contable" |
1083 | |
1084 | #. module: account_chart_update |
1085 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459 |
1086 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462 |
1087 | #, python-format |
1088 | msgid "The tax sign field is different.\n" |
1089 | msgstr "El campo signo de impuesto es diferente.\n" |
1090 | |
1091 | #. module: account_chart_update |
1092 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226 |
1093 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1127 |
1094 | #, python-format |
1095 | msgid "" |
1096 | "One or more errors detected!\n" |
1097 | @@ -577,7 +574,7 @@ |
1098 | "%s" |
1099 | |
1100 | #. module: account_chart_update |
1101 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1189 |
1102 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1094 |
1103 | #, python-format |
1104 | msgid "Fiscal position %s: The destination account %s can not be set.\n" |
1105 | msgstr "Posición fiscal %s: No se pudo establecer la cuenta de destino %s.\n" |
1106 | @@ -588,7 +585,7 @@ |
1107 | msgstr "Nuevas posiciones fiscales" |
1108 | |
1109 | #. module: account_chart_update |
1110 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441 |
1111 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444 |
1112 | #, python-format |
1113 | msgid "The applicable type field is different.\n" |
1114 | msgstr "El campo tipo aplicable es diferente.\n" |
1115 | @@ -604,7 +601,7 @@ |
1116 | msgstr "Plantilla de impuesto" |
1117 | |
1118 | #. module: account_chart_update |
1119 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:627 |
1120 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:614 |
1121 | #, python-format |
1122 | msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n" |
1123 | msgstr "Mapeo de cuentas no encontrado en la instancia de posición fiscal: %s -> Ninguno.\n" |
1124 | @@ -620,7 +617,7 @@ |
1125 | msgstr "Las posiciones fiscales existentes serán actualizadas. Las posiciones fiscales se buscarán por nombre." |
1126 | |
1127 | #. module: account_chart_update |
1128 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540 |
1129 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537 |
1130 | #, python-format |
1131 | msgid "The user type is different.\n" |
1132 | msgstr "El tipo de usuario es diferente.\n" |
1133 | @@ -635,29 +632,22 @@ |
1134 | |
1135 | #. module: account_chart_update |
1136 | #: view:wizard.update.charts.accounts:0 |
1137 | -#, fuzzy |
1138 | msgid "This wizard will update your accounts, taxes and fiscal positions according to the selected chart template" |
1139 | -msgstr "Este asistente actualizará sus cuentas, impuestos y posiciones fiscales de acuerdo a la plantilla de plan contable seleccionada." |
1140 | +msgstr "Este asistente actualizará sus cuentas, impuestos y posiciones fiscales de acuerdo a la plantilla de plan contable seleccionada" |
1141 | |
1142 | #. module: account_chart_update |
1143 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:543 |
1144 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540 |
1145 | #, python-format |
1146 | msgid "The reconcile is different.\n" |
1147 | msgstr "El campo reconciliar es diferente.\n" |
1148 | |
1149 | #. module: account_chart_update |
1150 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444 |
1151 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447 |
1152 | #, python-format |
1153 | msgid "The domain field is different.\n" |
1154 | msgstr "El campo dominio es diferente.\n" |
1155 | |
1156 | #. module: account_chart_update |
1157 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1253 |
1158 | -#, fuzzy, python-format |
1159 | -msgid "Update Accounts" |
1160 | -msgstr "Actualizar cuentas" |
1161 | - |
1162 | -#. module: account_chart_update |
1163 | #: view:wizard.update.charts.accounts:0 |
1164 | msgid "Other options" |
1165 | msgstr "Otras opciones" |
1166 | @@ -673,13 +663,13 @@ |
1167 | msgstr "Registros a crear/actualizar" |
1168 | |
1169 | #. module: account_chart_update |
1170 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1191 |
1171 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1096 |
1172 | #, python-format |
1173 | msgid "Created or updated fiscal position %s.\n" |
1174 | msgstr "Creada o actualizada posición fiscal %s.\n" |
1175 | |
1176 | #. module: account_chart_update |
1177 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1159 |
1178 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1074 |
1179 | #, python-format |
1180 | msgid "Fiscal position %s: The source tax %s can not be set.\n" |
1181 | msgstr "Posición fiscal %s: No se pudo establecer el impuesto origen %s.\n" |
1182 | @@ -692,10 +682,10 @@ |
1183 | #. module: account_chart_update |
1184 | #: help:wizard.update.charts.accounts,lang:0 |
1185 | msgid "For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language." |
1186 | -msgstr "Para los registros de (impuestos, códigos de impuestos y posiciones fiscales) se comparan con los de la plantilla seleccionada, basándose en sus nombres." |
1187 | +msgstr "Para los registros de impuestos, códigos de impuestos y posiciones fiscales, sus nombres se comparan con los de la plantilla seleccionada." |
1188 | |
1189 | #. module: account_chart_update |
1190 | -#: code:addons/account_chart_update/wizard/wizard_chart_update.py:998 |
1191 | +#: code:addons/account_chart_update/wizard/wizard_chart_update.py:937 |
1192 | #, python-format |
1193 | msgid "Created account %s.\n" |
1194 | msgstr "Creada cuenta %s.\n" |
1195 | @@ -708,101 +698,10 @@ |
1196 | #. module: account_chart_update |
1197 | #: help:wizard.update.charts.accounts,continue_on_errors:0 |
1198 | msgid "If set, the wizard will continue to the next step even if there are minor errors (for example the parent account of a new account couldn't be set)." |
1199 | -msgstr "Si marcado, el asistente continuará al paso siguiente incluso si hay errores menores (por ejemplo no se pudo establecer la cuenta padre de una nueva cuenta)." |
1200 | +msgstr "Si está marcado, el asistente continuará al paso siguiente incluso si hay errores menores (por ejemplo, no se pudo establecer la cuenta padre de una nueva cuenta)." |
1201 | |
1202 | #. module: account_chart_update |
1203 | #: field:wizard.update.charts.accounts.tax.code,tax_code_id:0 |
1204 | msgid "Tax code template" |
1205 | msgstr "Plantilla de código de impuesto" |
1206 | |
1207 | -#~ msgid "Invalid model name in the action definition." |
1208 | -#~ msgstr "Nombre de modelo inválido en la definición de acción." |
1209 | - |
1210 | -#~ msgid "Ok" |
1211 | -#~ msgstr "Aceptar" |
1212 | - |
1213 | -#~ msgid "The tax group field is different.\n" |
1214 | -#~ msgstr "El campo grupo de impuestos es diferente.\n" |
1215 | - |
1216 | -#~ msgid "Invalid XML for View Architecture!" |
1217 | -#~ msgstr "¡XML inválido para la estructura de la vista!" |
1218 | - |
1219 | -#~ msgid "" |
1220 | -#~ "\n" |
1221 | -#~ "Adds a wizard to update a company account chart from a chart template.\n" |
1222 | -#~ "\n" |
1223 | -#~ "This is a pretty useful tool to update OpenERP instalations after tax " |
1224 | -#~ "reforms\n" |
1225 | -#~ "on the oficial charts of accounts, or to apply fixes performed on the " |
1226 | -#~ "chart\n" |
1227 | -#~ "template.\n" |
1228 | -#~ "\n" |
1229 | -#~ "The wizard:\n" |
1230 | -#~ "\n" |
1231 | -#~ "- Allows the user to compare a chart and a template showing differences\n" |
1232 | -#~ " on accounts, taxes, tax codes and fiscal positions.\n" |
1233 | -#~ "- It may create the new account, taxes, tax codes and fiscal positions " |
1234 | -#~ "detected\n" |
1235 | -#~ " on the template.\n" |
1236 | -#~ "- It can also update (overwrite) the accounts, taxes, tax codes and " |
1237 | -#~ "fiscal\n" |
1238 | -#~ " positions that got modified on the template.\n" |
1239 | -#~ "\n" |
1240 | -#~ "The wizard lets the user select what kind of objects must be checked/" |
1241 | -#~ "updated,\n" |
1242 | -#~ "and whether old records must be checked for changes and updated.\n" |
1243 | -#~ "It will display all the accounts to be created / updated with some " |
1244 | -#~ "information\n" |
1245 | -#~ "about the detected differences, and allow the user to exclude records\n" |
1246 | -#~ "individually.\n" |
1247 | -#~ "Any problem found while updating will be shown on the last step.\n" |
1248 | -#~ "\n" |
1249 | -#~ "Authors:\n" |
1250 | -#~ " Jordi Esteve (Zikzakmedia) <jesteve@zikzakmedia.com>\n" |
1251 | -#~ " Borja López Soilán (Pexego) <borjals@pexego.es>\n" |
1252 | -#~ msgstr "" |
1253 | -#~ "\n" |
1254 | -#~ "Añade un asistente para actualizar el plan de cuentas de una compañía " |
1255 | -#~ "desde una plantilla.\n" |
1256 | -#~ "\n" |
1257 | -#~ "Es una herramienta bastante útil para actualizar instalaciones de OpenERP " |
1258 | -#~ "tras reformas de impuestos\n" |
1259 | -#~ "en los planes contables oficiales, o para aplicar correcciones realizadas " |
1260 | -#~ "en la plantilla del\n" |
1261 | -#~ "plan contable.\n" |
1262 | -#~ "\n" |
1263 | -#~ "El asistente:\n" |
1264 | -#~ "\n" |
1265 | -#~ "- Permite al usuario comparar un plan y una plantilla mostrando las " |
1266 | -#~ "diferencias\n" |
1267 | -#~ " en cuentas, impuestos, códigos de impuestos y posiciones fiscales.\n" |
1268 | -#~ "- Puede crear las nuevas cuentas, impuestos, códigos de impuestos y " |
1269 | -#~ "posiciones fiscales\n" |
1270 | -#~ " detectadas en la plantilla.\n" |
1271 | -#~ "- También puede actualizar (sobreescribir) las cuentas, impuestos, " |
1272 | -#~ "códigos de impuestos y posiciones\n" |
1273 | -#~ " fiscales que se modificaron en la plantilla.\n" |
1274 | -#~ "\n" |
1275 | -#~ "El asistente permite al usuario seleccionar que clase de objetos deben " |
1276 | -#~ "ser comprobados/actualizados,\n" |
1277 | -#~ "y si se deben buscar cambios en los registros existentes y " |
1278 | -#~ "actualizarlos.\n" |
1279 | -#~ "Mostrará todas las cuentas a crear / actualizar con alguna información\n" |
1280 | -#~ "sobre las diferencias detectadas, permitiendo al usuario excluir " |
1281 | -#~ "registros\n" |
1282 | -#~ "individualmente.\n" |
1283 | -#~ "Cualquier problema encontrado al actualizar se mostrará en el último " |
1284 | -#~ "paso.\n" |
1285 | -#~ "\n" |
1286 | -#~ "Autores:\n" |
1287 | -#~ " Jordi Esteve (Zikzakmedia) <jesteve@zikzakmedia.com>\n" |
1288 | -#~ " Borja López Soilán (Pexego) <borjals@pexego.es>\n" |
1289 | - |
1290 | -#~ msgid "Detect changes and update the Account Chart from a template" |
1291 | -#~ msgstr "Detectar cambios y actualizar el Plan Contable desde una plantilla" |
1292 | - |
1293 | -#~ msgid "" |
1294 | -#~ "The Object name must start with x_ and not contain any special character !" |
1295 | -#~ msgstr "" |
1296 | -#~ "¡El objeto debe empezar con x_ y no puede contener ningún carácter " |
1297 | -#~ "especial!" |
1298 | |
1299 | === modified file 'account_chart_update/i18n/es_ES.po' |
1300 | --- account_chart_update/i18n/es_ES.po 2013-10-01 16:28:19 +0000 |
1301 | +++ account_chart_update/i18n/es_ES.po 2013-10-15 14:29:10 +0000 |
1302 | @@ -138,7 +138,7 @@ |
1303 | |
1304 | #. module: account_chart_update |
1305 | #: selection:wizard.update.charts.accounts,state:0 |
1306 | -msgid "Wizard Complete" |
1307 | +msgid "Wizard completed" |
1308 | msgstr "Asistente completado" |
1309 | |
1310 | #. module: account_chart_update |
1311 | |
1312 | === modified file 'account_chart_update/i18n/fr.po' |
1313 | --- account_chart_update/i18n/fr.po 2013-10-08 18:15:46 +0000 |
1314 | +++ account_chart_update/i18n/fr.po 2013-10-15 14:29:10 +0000 |
1315 | @@ -140,7 +140,7 @@ |
1316 | |
1317 | #. module: account_chart_update |
1318 | #: selection:wizard.update.charts.accounts,state:0 |
1319 | -msgid "Wizard Complete" |
1320 | +msgid "Wizard completed" |
1321 | msgstr "Assistant terminé" |
1322 | |
1323 | #. module: account_chart_update |
1324 | |
1325 | === modified file 'account_chart_update/i18n/pt.po' |
1326 | --- account_chart_update/i18n/pt.po 2013-10-01 16:28:19 +0000 |
1327 | +++ account_chart_update/i18n/pt.po 2013-10-15 14:29:10 +0000 |
1328 | @@ -208,7 +208,7 @@ |
1329 | |
1330 | #. module: account_chart_update |
1331 | #: selection:wizard.update.charts.accounts,state:0 |
1332 | -msgid "Wizard Complete" |
1333 | +msgid "Wizard completed" |
1334 | msgstr "Assistente Completo" |
1335 | |
1336 | #. module: account_chart_update |
1337 | |
1338 | === modified file 'account_chart_update/i18n/sv.po' |
1339 | --- account_chart_update/i18n/sv.po 2013-10-01 16:28:19 +0000 |
1340 | +++ account_chart_update/i18n/sv.po 2013-10-15 14:29:10 +0000 |
1341 | @@ -201,7 +201,7 @@ |
1342 | |
1343 | #. module: account_chart_update |
1344 | #: selection:wizard.update.charts.accounts,state:0 |
1345 | -msgid "Wizard Complete" |
1346 | +msgid "Wizard completed" |
1347 | msgstr "" |
1348 | |
1349 | #. module: account_chart_update |
1350 | |
1351 | === modified file 'account_chart_update/wizard/wizard_chart_update.py' |
1352 | --- account_chart_update/wizard/wizard_chart_update.py 2013-10-08 18:15:46 +0000 |
1353 | +++ account_chart_update/wizard/wizard_chart_update.py 2013-10-15 14:29:10 +0000 |
1354 | @@ -19,15 +19,10 @@ |
1355 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
1356 | # |
1357 | ############################################################################## |
1358 | -""" |
1359 | -Account Chart Update Wizard |
1360 | -""" |
1361 | - |
1362 | from openerp.osv import fields, orm |
1363 | from openerp.tools.translate import _ |
1364 | import logging |
1365 | |
1366 | - |
1367 | def _reopen(self, res_id, model): |
1368 | return { |
1369 | 'type': 'ir.actions.act_window', |
1370 | @@ -54,10 +49,10 @@ |
1371 | self.messages = [] |
1372 | self.errors = [] |
1373 | |
1374 | - """ |
1375 | - Adds a message to the log. |
1376 | - """ |
1377 | def add(self, message, is_error=False): |
1378 | + """ |
1379 | + Adds a message to the log. |
1380 | + """ |
1381 | logger = logging.getLogger("account_chart_update") |
1382 | if is_error: |
1383 | logger.warning(u"Log line: %s" % message) |
1384 | @@ -66,10 +61,10 @@ |
1385 | logger.debug(u"Log line: %s" % message) |
1386 | self.messages.append(message) |
1387 | |
1388 | - """ |
1389 | - Returns whether errors where logged. |
1390 | - """ |
1391 | def has_errors(self): |
1392 | + """ |
1393 | + Returns whether errors where logged. |
1394 | + """ |
1395 | return self.errors |
1396 | |
1397 | def __call__(self): |
1398 | @@ -85,10 +80,10 @@ |
1399 | class wizard_update_charts_accounts(orm.TransientModel): |
1400 | _name = 'wizard.update.charts.accounts' |
1401 | |
1402 | - """ |
1403 | - Gets the available languages for the selection. |
1404 | - """ |
1405 | def _get_lang_selection_options(self, cr, uid, context={}): |
1406 | + """ |
1407 | + Gets the available languages for the selection. |
1408 | + """ |
1409 | obj = self.pool.get('res.lang') |
1410 | ids = obj.search(cr, uid, [], context=context) |
1411 | res = obj.read(cr, uid, ids, ['code', 'name'], context) |
1412 | @@ -98,11 +93,11 @@ |
1413 | 'state': fields.selection([ |
1414 | ('init', 'Step 1'), |
1415 | ('ready', 'Step 2'), |
1416 | - ('done', 'Wizard Complete') |
1417 | + ('done', 'Wizard completed') |
1418 | ], 'Status', readonly=True), |
1419 | 'company_id': fields.many2one('res.company', 'Company', required=True, ondelete='set null'), |
1420 | 'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', required=True, ondelete='set null'), |
1421 | - 'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code. Make sure it is the same number as existing accounts."), |
1422 | + 'code_digits': fields.integer('# of digits', required=True, help="No. of digits to use for account code. Make sure it is the same number as existing accounts."), |
1423 | 'lang': fields.selection(_get_lang_selection_options, 'Language', size=5, help="For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language."), |
1424 | 'update_tax_code': fields.boolean('Update tax codes', help="Existing tax codes are updated. Tax codes are searched by name."), |
1425 | 'update_tax': fields.boolean('Update taxes', help="Existing taxes are updated. Taxes are searched by name."), |
1426 | @@ -125,11 +120,11 @@ |
1427 | 'updated_fps': fields.integer('Updated fiscal positions', readonly=True), |
1428 | 'log': fields.text('Messages and Errors', readonly=True) |
1429 | } |
1430 | - """ |
1431 | - Redefine the search to search by company name. |
1432 | - """ |
1433 | def name_search(self, cr, user, name, |
1434 | args=None, operator='ilike', context=None, limit=80): |
1435 | + """ |
1436 | + Redefine the search to search by company name. |
1437 | + """ |
1438 | if not name: |
1439 | name = '%' |
1440 | if not args: |
1441 | @@ -142,10 +137,10 @@ |
1442 | cr, user, [('company_id', operator, name)] + args, limit=limit) |
1443 | return self.name_get(cr, user, ids, context=context) |
1444 | |
1445 | - """ |
1446 | - Use the company name and template as name. |
1447 | - """ |
1448 | def name_get(self, cr, uid, ids, context=None): |
1449 | + """ |
1450 | + Use the company name and template as name. |
1451 | + """ |
1452 | if context is None: |
1453 | context = {} |
1454 | if not len(ids): |
1455 | @@ -157,10 +152,10 @@ |
1456 | ' - ' + record.chart_template_id.name)) |
1457 | return res |
1458 | |
1459 | - """ |
1460 | - Returns the default chart template. |
1461 | - """ |
1462 | def _get_chart(self, cr, uid, context=None): |
1463 | + """ |
1464 | + Returns the default chart template. |
1465 | + """ |
1466 | if context is None: |
1467 | context = {} |
1468 | ids = self.pool.get( |
1469 | @@ -169,13 +164,13 @@ |
1470 | return ids[0] |
1471 | return False |
1472 | |
1473 | - """ |
1474 | - Returns the default code size for the accounts. |
1475 | - To figure out the number of digits of the accounts it look at the |
1476 | - code size of the default receivable account of the company |
1477 | - (or user's company if any company is given). |
1478 | - """ |
1479 | def _get_code_digits(self, cr, uid, context=None, company_id=None): |
1480 | + """ |
1481 | + Returns the default code size for the accounts. |
1482 | + To figure out the number of digits of the accounts it look at the |
1483 | + code size of the default receivable account of the company |
1484 | + (or user's company if any company is given). |
1485 | + """ |
1486 | if context is None: |
1487 | context = {} |
1488 | property_obj = self.pool.get('ir.property') |
1489 | @@ -225,10 +220,10 @@ |
1490 | 'lang': lambda self, cr, uid, context: context and context.get('lang') or None, |
1491 | } |
1492 | |
1493 | - """ |
1494 | - Update the code size when the company changes |
1495 | - """ |
1496 | def onchange_company_id(self, cr, uid, ids, company_id, context=None): |
1497 | + """ |
1498 | + Update the code size when the company changes |
1499 | + """ |
1500 | res = { |
1501 | 'value': { |
1502 | 'code_digits': self._get_code_digits( |
1503 | @@ -240,10 +235,10 @@ |
1504 | } |
1505 | return res |
1506 | |
1507 | - """ |
1508 | - Initial action that sets the initial state. |
1509 | - """ |
1510 | def action_init(self, cr, uid, ids, context=None): |
1511 | + """ |
1512 | + Initial action that sets the initial state. |
1513 | + """ |
1514 | if context is None: |
1515 | context = {} |
1516 | wizard = self.browse(cr, uid, ids[0], context=context) |
1517 | @@ -268,10 +263,11 @@ |
1518 | ########################################################################## |
1519 | # Helper methods |
1520 | ########################################################################## |
1521 | - """ |
1522 | + |
1523 | + def _map_tax_template(self, cr, uid, wizard, tax_template_mapping, tax_template, context=None): |
1524 | + """ |
1525 | Adds a tax template -> tax id to the mapping. |
1526 | - """ |
1527 | - def _map_tax_template(self, cr, uid, wizard, tax_template_mapping, tax_template, context=None): |
1528 | + """ |
1529 | if tax_template and not tax_template_mapping.get(tax_template.id): |
1530 | taxes = self.pool.get('account.tax') |
1531 | tax_ids = taxes.search(cr, uid, [ |
1532 | @@ -281,10 +277,10 @@ |
1533 | if tax_ids: |
1534 | tax_template_mapping[tax_template.id] = tax_ids[0] |
1535 | |
1536 | - """ |
1537 | - Adds a tax code template -> tax code id to the mapping. |
1538 | - """ |
1539 | def _map_tax_code_template(self, cr, uid, wizard, tax_code_template_mapping, tax_code_template, context=None): |
1540 | + """ |
1541 | + Adds a tax code template -> tax code id to the mapping. |
1542 | + """ |
1543 | if tax_code_template and not tax_code_template_mapping.get(tax_code_template.id): |
1544 | tax_codes = self.pool.get('account.tax.code') |
1545 | root_tax_code_id = wizard.chart_template_id.tax_code_root_id.id |
1546 | @@ -297,10 +293,10 @@ |
1547 | tax_code_template_mapping[ |
1548 | tax_code_template.id] = tax_code_ids[0] |
1549 | |
1550 | - """ |
1551 | - Adds an account template -> account id to the mapping |
1552 | - """ |
1553 | def _map_account_template(self, cr, uid, wizard, account_template_mapping, account_template, context=None): |
1554 | + """ |
1555 | + Adds an account template -> account id to the mapping |
1556 | + """ |
1557 | if account_template and not account_template_mapping.get(account_template.id): |
1558 | accounts = self.pool.get('account.account') |
1559 | code = account_template.code or '' |
1560 | @@ -314,10 +310,11 @@ |
1561 | ], context=context) |
1562 | if account_ids: |
1563 | account_template_mapping[account_template.id] = account_ids[0] |
1564 | - """ |
1565 | - Adds a fiscal position template -> fiscal position id to the mapping. |
1566 | - """ |
1567 | + |
1568 | def _map_fp_template(self, cr, uid, wizard, fp_template_mapping, fp_template, context=None): |
1569 | + """ |
1570 | + Adds a fiscal position template -> fiscal position id to the mapping. |
1571 | + """ |
1572 | if fp_template and not fp_template_mapping.get(fp_template.id): |
1573 | fiscalpositions = self.pool.get('account.fiscal.position') |
1574 | fp_ids = fiscalpositions.search(cr, uid, [ |
1575 | @@ -327,10 +324,10 @@ |
1576 | if fp_ids: |
1577 | fp_template_mapping[fp_template.id] = fp_ids[0] |
1578 | |
1579 | - """ |
1580 | - Search for, and load, tax code templates to create/update. |
1581 | - """ |
1582 | def _find_tax_codes(self, cr, uid, wizard, context=None): |
1583 | + """ |
1584 | + Search for, and load, tax code templates to create/update. |
1585 | + """ |
1586 | new_tax_codes = 0 |
1587 | updated_tax_codes = 0 |
1588 | tax_code_template_mapping = {} |
1589 | @@ -343,9 +340,7 @@ |
1590 | wiz_taxcodes.unlink( |
1591 | cr, uid, wiz_taxcodes.search(cr, uid, [])) |
1592 | |
1593 | - # |
1594 | # Search for new / updated tax codes |
1595 | - # |
1596 | root_tax_code_id = wizard.chart_template_id.tax_code_root_id.id |
1597 | children_tax_code_template = taxes_codes_templates.search(cr, uid, [( |
1598 | 'parent_id', 'child_of', [root_tax_code_id])], order='id') |
1599 | @@ -363,9 +358,7 @@ |
1600 | 'type': 'new', |
1601 | }, context) |
1602 | elif wizard.update_tax_code: |
1603 | - # |
1604 | # Check the tax code for changes. |
1605 | - # |
1606 | modified = False |
1607 | notes = "" |
1608 | tax_code = taxcodes.browse( |
1609 | @@ -384,9 +377,7 @@ |
1610 | # TODO: We could check other account fields for changes... |
1611 | |
1612 | if modified: |
1613 | - # |
1614 | # Tax code to update. |
1615 | - # |
1616 | updated_tax_codes += 1 |
1617 | wiz_taxcodes.create(cr, uid, { |
1618 | 'tax_code_id': tax_code_template.id, |
1619 | @@ -401,10 +392,11 @@ |
1620 | 'updated': updated_tax_codes, |
1621 | 'mapping': tax_code_template_mapping |
1622 | } |
1623 | - """ |
1624 | - Search for, and load, tax templates to create/update. |
1625 | - """ |
1626 | + |
1627 | def _find_taxes(self, cr, uid, wizard, context=None): |
1628 | + """ |
1629 | + Search for, and load, tax templates to create/update. |
1630 | + """ |
1631 | new_taxes = 0 |
1632 | updated_taxes = 0 |
1633 | tax_template_mapping = {} |
1634 | @@ -415,10 +407,7 @@ |
1635 | delay_wiz_tax = [] |
1636 | # Remove previous taxes |
1637 | wiz_taxes.unlink(cr, uid, wiz_taxes.search(cr, uid, [])) |
1638 | - |
1639 | - # |
1640 | # Search for new / updated taxes |
1641 | - # |
1642 | for tax_template in wizard.chart_template_id.tax_template_ids: |
1643 | # Ensure the tax template is on the map (search for the mapped tax |
1644 | # id). |
1645 | @@ -438,9 +427,7 @@ |
1646 | else: |
1647 | delay_wiz_tax.append(vals_wiz) |
1648 | elif wizard.update_tax: |
1649 | - # |
1650 | # Check the tax for changes. |
1651 | - # |
1652 | modified = False |
1653 | notes = "" |
1654 | tax = taxes.browse(cr, uid, tax_id, context=context) |
1655 | @@ -483,9 +470,7 @@ |
1656 | # TODO: We could check other tax fields for changes... |
1657 | |
1658 | if modified: |
1659 | - # |
1660 | # Tax code to update. |
1661 | - # |
1662 | updated_taxes += 1 |
1663 | wiz_taxes.create(cr, uid, { |
1664 | 'tax_id': tax_template.id, |
1665 | @@ -500,10 +485,10 @@ |
1666 | |
1667 | return {'new': new_taxes, 'updated': updated_taxes, 'mapping': tax_template_mapping} |
1668 | |
1669 | - """ |
1670 | - Search for, and load, account templates to create/update. |
1671 | - """ |
1672 | def _find_accounts(self, cr, uid, wizard, context=None): |
1673 | + """ |
1674 | + Search for, and load, account templates to create/update. |
1675 | + """ |
1676 | new_accounts = 0 |
1677 | updated_accounts = 0 |
1678 | account_template_mapping = {} |
1679 | @@ -517,9 +502,7 @@ |
1680 | wiz_accounts.unlink( |
1681 | cr, uid, wiz_accounts.search(cr, uid, [])) |
1682 | |
1683 | - # |
1684 | # Search for new / updated accounts |
1685 | - # |
1686 | root_account_id = wizard.chart_template_id.account_root_id.id |
1687 | children_acc_template = accounts_template.search(cr, uid, [( |
1688 | 'parent_id', 'child_of', [root_account_id])], context=context) |
1689 | @@ -538,9 +521,7 @@ |
1690 | 'type': 'new', |
1691 | }, context) |
1692 | elif wizard.update_account: |
1693 | - # |
1694 | # Check the account for changes. |
1695 | - # |
1696 | modified = False |
1697 | notes = "" |
1698 | account = accounts.browse( |
1699 | @@ -562,9 +543,7 @@ |
1700 | # TODO: We could check other account fields for changes... |
1701 | |
1702 | if modified: |
1703 | - # |
1704 | # Account to update. |
1705 | - # |
1706 | updated_accounts += 1 |
1707 | wiz_accounts.create(cr, uid, { |
1708 | 'account_id': account_template.id, |
1709 | @@ -576,10 +555,10 @@ |
1710 | |
1711 | return {'new': new_accounts, 'updated': updated_accounts, 'mapping': account_template_mapping} |
1712 | |
1713 | - """ |
1714 | - Search for, and load, fiscal position templates to create/update. |
1715 | - """ |
1716 | def _find_fiscal_positions(self, cr, uid, wizard, context=None): |
1717 | + """ |
1718 | + Search for, and load, fiscal position templates to create/update. |
1719 | + """ |
1720 | new_fps = 0 |
1721 | updated_fps = 0 |
1722 | fp_template_mapping = {} |
1723 | @@ -592,9 +571,7 @@ |
1724 | # Remove previous fiscal positions |
1725 | wiz_fiscalpositions.unlink(cr, uid, wiz_fiscalpositions.search(cr, uid, [])) |
1726 | |
1727 | - # |
1728 | # Search for new / updated fiscal positions |
1729 | - # |
1730 | fp_template_ids = fiscalpostitions_template.search(cr, uid, [('chart_template_id', '=', wizard.chart_template_id.id)], context=context) |
1731 | for fp_template in fiscalpostitions_template.browse(cr, uid, fp_template_ids, context=context): |
1732 | # Ensure the fiscal position template is on the map (search for the |
1733 | @@ -604,9 +581,7 @@ |
1734 | |
1735 | fp_id = fp_template_mapping.get(fp_template.id) |
1736 | if not fp_id: |
1737 | - # |
1738 | # New fiscal position template. |
1739 | - # |
1740 | new_fps += 1 |
1741 | wiz_fiscalpositions.create(cr, uid, { |
1742 | 'fiscal_position_id': fp_template.id, |
1743 | @@ -614,16 +589,12 @@ |
1744 | 'type': 'new', |
1745 | }, context) |
1746 | elif wizard.update_fiscal_position: |
1747 | - # |
1748 | # Check the fiscal position for changes. |
1749 | - # |
1750 | modified = False |
1751 | notes = "" |
1752 | fp = fiscalpositions.browse(cr, uid, fp_id, context=context) |
1753 | |
1754 | - # |
1755 | # Check fiscal position taxes for changes. |
1756 | - # |
1757 | if fp_template.tax_ids and fp.tax_ids: |
1758 | for fp_tax_template in fp_template.tax_ids: |
1759 | found = False |
1760 | @@ -646,9 +617,7 @@ |
1761 | notes += _("The template has taxes the fiscal position instance does not.\n") |
1762 | modified = True |
1763 | |
1764 | - # |
1765 | # Check fiscal position accounts for changes. |
1766 | - # |
1767 | if fp_template.account_ids and fp.account_ids: |
1768 | for fp_account_template in fp_template.account_ids: |
1769 | found = False |
1770 | @@ -665,9 +634,7 @@ |
1771 | modified = True |
1772 | |
1773 | if modified: |
1774 | - # |
1775 | # Fiscal position template to update. |
1776 | - # |
1777 | updated_fps += 1 |
1778 | wiz_fiscalpositions.create(cr, uid, { |
1779 | 'fiscal_position_id': fp_template.id, |
1780 | @@ -679,10 +646,10 @@ |
1781 | |
1782 | return {'new': new_fps, 'updated': updated_fps, 'mapping': fp_template_mapping} |
1783 | |
1784 | - """ |
1785 | - Searchs for records to update/create and shows them |
1786 | - """ |
1787 | def action_find_records(self, cr, uid, ids, context=None): |
1788 | + """ |
1789 | + Searchs for records to update/create and shows them |
1790 | + """ |
1791 | if context is None: |
1792 | context = {} |
1793 | wizard = self.browse(cr, uid, ids[0], context=context) |
1794 | @@ -692,17 +659,13 @@ |
1795 | elif context.get('lang'): |
1796 | del context['lang'] |
1797 | |
1798 | - # |
1799 | # Search for, and load, the records to create/update. |
1800 | - # |
1801 | tax_codes_res = self._find_tax_codes(cr, uid, wizard, context=context) |
1802 | taxes_res = self._find_taxes(cr, uid, wizard, context=context) |
1803 | accounts_res = self._find_accounts(cr, uid, wizard, context=context) |
1804 | fps_res = self._find_fiscal_positions(cr, uid, wizard, context=context) |
1805 | |
1806 | - # |
1807 | # Write the results, and go to the next step. |
1808 | - # |
1809 | self.write(cr, uid, [wizard.id], { |
1810 | 'state': 'ready', |
1811 | 'new_tax_codes': tax_codes_res.get('new', 0), |
1812 | @@ -716,10 +679,11 @@ |
1813 | }, context) |
1814 | |
1815 | return _reopen(self, wizard.id, 'wizard.update.chart.accounts') |
1816 | - """ |
1817 | - Search for, and load, tax code templates to create/update. |
1818 | - """ |
1819 | + |
1820 | def _update_tax_codes(self, cr, uid, wizard, log, context=None): |
1821 | + """ |
1822 | + Search for, and load, tax code templates to create/update. |
1823 | + """ |
1824 | taxcodes = self.pool.get('account.tax.code') |
1825 | root_tax_code_id = wizard.chart_template_id.tax_code_root_id.id |
1826 | new_tax_codes = 0 |
1827 | @@ -733,9 +697,7 @@ |
1828 | # Ensure the parent tax code template is on the map. |
1829 | self._map_tax_code_template(cr, uid, wizard, tax_code_template_mapping, tax_code_template.parent_id, context) |
1830 | |
1831 | - # |
1832 | # Values |
1833 | - # |
1834 | vals = { |
1835 | 'name': tax_code_name, |
1836 | 'code': tax_code_template.code, |
1837 | @@ -749,17 +711,13 @@ |
1838 | modified = False |
1839 | |
1840 | if wiz_tax_code.type == 'new': |
1841 | - # |
1842 | # Create the tax code |
1843 | - # |
1844 | tax_code_id = taxcodes.create(cr, uid, vals) |
1845 | log.add(_("Created tax code %s.\n") % tax_code_name) |
1846 | new_tax_codes += 1 |
1847 | modified = True |
1848 | elif wizard.update_tax_code and wiz_tax_code.update_tax_code_id: |
1849 | - # |
1850 | # Update the tax code |
1851 | - # |
1852 | tax_code_id = wiz_tax_code.update_tax_code_id.id |
1853 | taxcodes.write(cr, uid, [tax_code_id], vals) |
1854 | log.add(_("Updated tax code %s.\n") % tax_code_name) |
1855 | @@ -773,9 +731,7 @@ |
1856 | tax_code_template_mapping[tax_code_template.id] = tax_code_id |
1857 | |
1858 | if modified: |
1859 | - # |
1860 | # Detect errors |
1861 | - # |
1862 | if tax_code_template.parent_id and not tax_code_template_mapping.get(tax_code_template.parent_id.id): |
1863 | log.add(_("Tax code %s: The parent tax code %s can not be set.\n") % (tax_code_name, tax_code_template.parent_id.name), True) |
1864 | |
1865 | @@ -785,10 +741,10 @@ |
1866 | 'mapping': tax_code_template_mapping |
1867 | } |
1868 | |
1869 | - """ |
1870 | - Search for, and load, tax templates to create/update. |
1871 | - """ |
1872 | def _update_taxes(self, cr, uid, wizard, log, tax_code_template_mapping, context=None): |
1873 | + """ |
1874 | + Search for, and load, tax templates to create/update. |
1875 | + """ |
1876 | taxes = self.pool.get('account.tax') |
1877 | |
1878 | new_taxes = 0 |
1879 | @@ -803,9 +759,7 @@ |
1880 | self._map_tax_template(cr, uid, wizard, tax_template_mapping, |
1881 | tax_template.parent_id, context) |
1882 | |
1883 | - # |
1884 | # Ensure the referenced tax codes are on the map. |
1885 | - # |
1886 | tax_code_templates_to_find = [ |
1887 | tax_template.base_code_id, |
1888 | tax_template.tax_code_id, |
1889 | @@ -815,9 +769,7 @@ |
1890 | for tax_code_template in [tmpl for tmpl in tax_code_templates_to_find if tmpl]: |
1891 | self._map_tax_code_template(cr, uid, wizard, tax_code_template_mapping, tax_code_template) |
1892 | |
1893 | - # |
1894 | # Values |
1895 | - # |
1896 | vals_tax = { |
1897 | 'name': tax_template.name, |
1898 | 'sequence': tax_template.sequence, |
1899 | @@ -849,17 +801,13 @@ |
1900 | modified = False |
1901 | |
1902 | if wiz_tax.type == 'new': |
1903 | - # |
1904 | # Create a new tax. |
1905 | - # |
1906 | tax_id = taxes.create(cr, uid, vals_tax) |
1907 | log.add(_("Created tax %s.\n") % tax_template.name) |
1908 | new_taxes += 1 |
1909 | modified = True |
1910 | elif wizard.update_tax and wiz_tax.update_tax_id: |
1911 | - # |
1912 | # Update a tax. |
1913 | - # |
1914 | tax_id = wiz_tax.update_tax_id.id |
1915 | taxes.write(cr, uid, [tax_id], vals_tax) |
1916 | log.add(_("Updated tax %s.\n") % tax_template.name) |
1917 | @@ -872,17 +820,13 @@ |
1918 | tax_template_mapping[tax_template.id] = tax_id |
1919 | |
1920 | if modified: |
1921 | - # |
1922 | # Add to the dict of taxes waiting for accounts. |
1923 | - # |
1924 | taxes_pending_for_accounts[tax_id] = { |
1925 | 'account_collected_id': tax_template.account_collected_id and tax_template.account_collected_id.id or False, |
1926 | 'account_paid_id': tax_template.account_paid_id and tax_template.account_paid_id.id or False, |
1927 | } |
1928 | |
1929 | - # |
1930 | # Detect errors |
1931 | - # |
1932 | if tax_template.parent_id and not tax_template_mapping.get(tax_template.parent_id.id): |
1933 | log.add(_("Tax %s: The parent tax %s can not be set.\n") % (tax_template.name, tax_template.parent_id.name), True) |
1934 | if tax_template.base_code_id and not tax_code_template_mapping.get(tax_template.base_code_id.id): |
1935 | @@ -901,12 +845,12 @@ |
1936 | 'pending': taxes_pending_for_accounts |
1937 | } |
1938 | |
1939 | - """ |
1940 | - Updates the parent_id of accounts that seem to be children of the |
1941 | - given account (accounts that start with the same code and are brothers |
1942 | - of the first account). |
1943 | - """ |
1944 | def _update_children_accounts_parent(self, cr, uid, wizard, log, parent_account_id, context=None): |
1945 | + """ |
1946 | + Updates the parent_id of accounts that seem to be children of the |
1947 | + given account (accounts that start with the same code and are brothers |
1948 | + of the first account). |
1949 | + """ |
1950 | account_account = self.pool.get('account.account') |
1951 | parent_account = account_account.browse( |
1952 | cr, uid, parent_account_id, context=context) |
1953 | @@ -931,10 +875,10 @@ |
1954 | |
1955 | return True |
1956 | |
1957 | - """ |
1958 | - Search for, and load, account templates to create/update. |
1959 | - """ |
1960 | def _update_accounts(self, cr, uid, wizard, log, tax_template_mapping, context=None): |
1961 | + """ |
1962 | + Search for, and load, account templates to create/update. |
1963 | + """ |
1964 | accounts = self.pool.get('account.account') |
1965 | root_account_id = wizard.chart_template_id.account_root_id.id |
1966 | |
1967 | @@ -951,9 +895,7 @@ |
1968 | # Ensure the parent account template is on the map. |
1969 | self._map_account_template(cr, uid, wizard, account_template_mapping, account_template.parent_id, context) |
1970 | |
1971 | - # |
1972 | # Ensure the related tax templates are on the map. |
1973 | - # |
1974 | for tax_template in account_template.tax_ids: |
1975 | self._map_tax_template(cr, uid, wizard, tax_template_mapping, |
1976 | tax_template, context) |
1977 | @@ -961,19 +903,15 @@ |
1978 | # Get the tax ids |
1979 | tax_ids = [tax_template_mapping[tax_template.id] for tax_template in account_template.tax_ids if tax_template_mapping[tax_template.id]] |
1980 | |
1981 | - # |
1982 | # Calculate the account code (we need to add zeros to non-view |
1983 | # account codes) |
1984 | - # |
1985 | code = account_template.code or '' |
1986 | if account_template.type != 'view': |
1987 | if len(code) > 0 and len(code) <= wizard.code_digits: |
1988 | code = '%s%s' % ( |
1989 | code, '0' * (wizard.code_digits - len(code))) |
1990 | |
1991 | - # |
1992 | # Values |
1993 | - # |
1994 | vals = { |
1995 | 'name': (root_account_id == account_template.id) and wizard.company_id.name or account_template.name, |
1996 | #'sign': account_template.sign, |
1997 | @@ -993,9 +931,7 @@ |
1998 | modified = False |
1999 | |
2000 | if wiz_account.type == 'new': |
2001 | - # |
2002 | # Create the account |
2003 | - # |
2004 | try: |
2005 | account_id = accounts.create(cr, uid, vals) |
2006 | log.add(_("Created account %s.\n") % code) |
2007 | @@ -1005,9 +941,7 @@ |
2008 | log.add(_("Exception creating account %s: %s - %s.\n") |
2009 | % (code, ex.name, ex.value), True) |
2010 | elif wizard.update_account and wiz_account.update_account_id: |
2011 | - # |
2012 | # Update the account |
2013 | - # |
2014 | account_id = wiz_account.update_account_id.id |
2015 | try: |
2016 | accounts.write(cr, uid, [account_id], vals) |
2017 | @@ -1024,24 +958,18 @@ |
2018 | account_template_mapping[account_template.id] = account_id |
2019 | |
2020 | if modified: |
2021 | - # |
2022 | # Detect errors |
2023 | - # |
2024 | if account_template.parent_id and not account_template_mapping.get(account_template.parent_id.id): |
2025 | log.add(_("Account %s: The parent account %s can not be set.\n") % (code, account_template.parent_id.code), True) |
2026 | |
2027 | - # |
2028 | # Set this account as the parent of the accounts that seem to |
2029 | # be its children (brothers starting with the same code). |
2030 | - # |
2031 | if wizard.update_children_accounts_parent: |
2032 | self._update_children_accounts_parent( |
2033 | cr, uid, wizard, log, account_id, context=context) |
2034 | |
2035 | - # |
2036 | # Reenable the parent_store computing on account_account |
2037 | # and force the recomputation. |
2038 | - # |
2039 | self.pool._init = False |
2040 | self.pool.get('account.account')._parent_store_compute(cr) |
2041 | |
2042 | @@ -1051,19 +979,17 @@ |
2043 | 'mapping': account_template_mapping |
2044 | } |
2045 | |
2046 | - """ |
2047 | - Updates the taxes (created or updated on previous steps) to set |
2048 | - the references to the accounts (the taxes where created/updated first, |
2049 | - when the referenced accounts where still not available). |
2050 | - """ |
2051 | def _update_taxes_pending_for_accounts(self, cr, uid, wizard, log, taxes_pending_for_accounts, account_template_mapping, context=None): |
2052 | + """ |
2053 | + Updates the taxes (created or updated on previous steps) to set |
2054 | + the references to the accounts (the taxes where created/updated first, |
2055 | + when the referenced accounts where still not available). |
2056 | + """ |
2057 | taxes = self.pool.get('account.tax') |
2058 | accounts_template = self.pool.get('account.account.template') |
2059 | |
2060 | for key, value in taxes_pending_for_accounts.items(): |
2061 | - # |
2062 | # Ensure the related account templates are on the map. |
2063 | - # |
2064 | if value['account_collected_id']: |
2065 | account_template = accounts_template.browse( |
2066 | cr, uid, value['account_collected_id'], context=context) |
2067 | @@ -1088,10 +1014,10 @@ |
2068 | log.add(_("Tax %s: The paid account can not be set.\n") |
2069 | % (tax.name), True) |
2070 | |
2071 | - """ |
2072 | - Search for, and load, fiscal position templates to create/update. |
2073 | - """ |
2074 | def _update_fiscal_positions(self, cr, uid, wizard, log, tax_template_mapping, account_template_mapping, context=None): |
2075 | + """ |
2076 | + Search for, and load, fiscal position templates to create/update. |
2077 | + """ |
2078 | fiscalpositions = self.pool.get('account.fiscal.position') |
2079 | fiscalpositions_taxes = self.pool.get('account.fiscal.position.tax') |
2080 | fiscalpositions_account = self.pool.get('account.fiscal.position.account') |
2081 | @@ -1104,9 +1030,7 @@ |
2082 | fp_id = None |
2083 | modified = False |
2084 | if wiz_fp.type == 'new': |
2085 | - # |
2086 | # Create a new fiscal position |
2087 | - # |
2088 | vals_fp = { |
2089 | 'company_id': wizard.company_id.id, |
2090 | 'name': fp_template.name, |
2091 | @@ -1115,10 +1039,8 @@ |
2092 | new_fps += 1 |
2093 | modified = True |
2094 | elif wizard.update_fiscal_position and wiz_fp.update_fiscal_position_id: |
2095 | - # |
2096 | # Update the given fiscal position (remove the tax and account |
2097 | # mappings, that will be regenerated later) |
2098 | - # |
2099 | fp_id = wiz_fp.update_fiscal_position_id.id |
2100 | updated_fps += 1 |
2101 | modified = True |
2102 | @@ -1134,58 +1056,38 @@ |
2103 | fp_id = wiz_fp.update_fiscal_position_id and wiz_fp.update_fiscal_position_id.id |
2104 | |
2105 | if modified: |
2106 | - # |
2107 | # (Re)create the tax mappings |
2108 | - # |
2109 | for fp_tax in fp_template.tax_ids: |
2110 | - # |
2111 | # Ensure the related tax templates are on the map. |
2112 | - # |
2113 | self._map_tax_template(cr, uid, wizard, tax_template_mapping, fp_tax.tax_src_id, context) |
2114 | if fp_tax.tax_dest_id: |
2115 | self._map_tax_template(cr, uid, wizard, tax_template_mapping, fp_tax.tax_dest_id, context) |
2116 | - |
2117 | - # |
2118 | # Create the fp tax mapping |
2119 | - # |
2120 | vals_tax = { |
2121 | 'tax_src_id': tax_template_mapping.get(fp_tax.tax_src_id.id), |
2122 | 'tax_dest_id': fp_tax.tax_dest_id and tax_template_mapping.get(fp_tax.tax_dest_id.id), |
2123 | 'position_id': fp_id, |
2124 | } |
2125 | fiscalpositions_taxes.create(cr, uid, vals_tax) |
2126 | - |
2127 | - # |
2128 | # Check for errors |
2129 | - # |
2130 | if not tax_template_mapping.get(fp_tax.tax_src_id.id): |
2131 | log.add(_("Fiscal position %s: The source tax %s can not be set.\n") % (fp_template.name, fp_tax.tax_src_id.code), True) |
2132 | if fp_tax.tax_dest_id and not tax_template_mapping.get(fp_tax.tax_dest_id.id): |
2133 | log.add(_("Fiscal position %s: The destination tax %s can not be set.\n") % (fp_template.name, fp_tax.tax_dest_id.name), True) |
2134 | - # |
2135 | # (Re)create the account mappings |
2136 | - # |
2137 | for fp_account in fp_template.account_ids: |
2138 | - # |
2139 | # Ensure the related account templates are on the map. |
2140 | - # |
2141 | self._map_account_template(cr, uid, wizard, account_template_mapping, fp_account.account_src_id, context) |
2142 | if fp_account.account_dest_id: |
2143 | self._map_account_template(cr, uid, wizard, account_template_mapping, fp_account.account_dest_id, context) |
2144 | - |
2145 | - # |
2146 | # Create the fp account mapping |
2147 | - # |
2148 | vals_account = { |
2149 | 'account_src_id': account_template_mapping.get(fp_account.account_src_id.id), |
2150 | 'account_dest_id': fp_account.account_dest_id and account_template_mapping.get(fp_account.account_dest_id.id), |
2151 | 'position_id': fp_id, |
2152 | } |
2153 | fiscalpositions_account.create(cr, uid, vals_account) |
2154 | - |
2155 | - # |
2156 | # Check for errors |
2157 | - # |
2158 | if not account_template_mapping.get(fp_account.account_src_id.id): |
2159 | log.add(_("Fiscal position %s: The source account %s can not be set.\n") % (fp_template.name, fp_account.account_src_id.code), True) |
2160 | if fp_account.account_dest_id and not account_template_mapping.get(fp_account.account_dest_id.id): |
2161 | @@ -1195,10 +1097,10 @@ |
2162 | % fp_template.name) |
2163 | return {'new': new_fps, 'updated': updated_fps} |
2164 | |
2165 | - """ |
2166 | - Action that creates/updates the selected elements. |
2167 | - """ |
2168 | def action_update_records(self, cr, uid, ids, context=None): |
2169 | + """ |
2170 | + Action that creates/updates the selected elements. |
2171 | + """ |
2172 | if context is None: |
2173 | context = {} |
2174 | wizard = self.browse(cr, uid, ids[0], context=context) |
2175 | @@ -1210,9 +1112,7 @@ |
2176 | |
2177 | log = WizardLog() |
2178 | |
2179 | - # |
2180 | # Create or update the records. |
2181 | - # |
2182 | tax_codes_res = self._update_tax_codes( |
2183 | cr, uid, wizard, log, context=context) |
2184 | taxes_res = self._update_taxes( |
2185 | @@ -1222,16 +1122,12 @@ |
2186 | self._update_taxes_pending_for_accounts(cr, uid, wizard, log, taxes_res['pending'], accounts_res['mapping'], context=context) |
2187 | fps_res = self._update_fiscal_positions(cr, uid, wizard, log, taxes_res['mapping'], accounts_res['mapping'], context=context) |
2188 | |
2189 | - # |
2190 | # Check if errors where detected and wether we should stop. |
2191 | - # |
2192 | if log.has_errors() and not wizard.continue_on_errors: |
2193 | raise orm.except_orm(_('Error'), _( |
2194 | "One or more errors detected!\n\n%s") % log.get_errors_str()) |
2195 | |
2196 | - # |
2197 | # Store the data and go to the next step. |
2198 | - # |
2199 | self.write(cr, uid, [wizard.id], { |
2200 | 'state': 'done', |
2201 | 'new_tax_codes': tax_codes_res.get('new', 0), |
2202 | @@ -1247,8 +1143,6 @@ |
2203 | |
2204 | return _reopen(self, wizard.id, 'wizard.update.chart.accounts') |
2205 | |
2206 | -wizard_update_charts_accounts() |
2207 | - |
2208 | |
2209 | class wizard_update_charts_accounts_tax_code(orm.TransientModel): |
2210 | """ |
2211 | @@ -1268,9 +1162,7 @@ |
2212 | 'notes': fields.text('Notes'), |
2213 | } |
2214 | _defaults = { |
2215 | - } |
2216 | - |
2217 | -wizard_update_charts_accounts_tax_code() |
2218 | + } |
2219 | |
2220 | |
2221 | class wizard_update_charts_accounts_tax(orm.TransientModel): |
2222 | @@ -1292,9 +1184,7 @@ |
2223 | } |
2224 | |
2225 | _defaults = { |
2226 | - } |
2227 | - |
2228 | -wizard_update_charts_accounts_tax() |
2229 | + } |
2230 | |
2231 | |
2232 | class wizard_update_charts_accounts_account(orm.TransientModel): |
2233 | @@ -1307,7 +1197,6 @@ |
2234 | # The chart of accounts can have a lot of accounts, so we need an higher |
2235 | # limit for the objects in memory to let the wizard create all the items |
2236 | # at once. |
2237 | - _max_count = 4096 |
2238 | _columns = { |
2239 | 'account_id': fields.many2one('account.account.template', 'Account template', required=True, ondelete='set null'), |
2240 | 'update_chart_wizard_id': fields.many2one('wizard.update.charts.accounts', 'Update chart wizard', required=True, ondelete='cascade'), |
2241 | @@ -1320,9 +1209,7 @@ |
2242 | } |
2243 | |
2244 | _defaults = { |
2245 | - } |
2246 | - |
2247 | -wizard_update_charts_accounts_account() |
2248 | + } |
2249 | |
2250 | |
2251 | class wizard_update_charts_accounts_fiscal_position(orm.TransientModel): |
2252 | @@ -1343,9 +1230,6 @@ |
2253 | 'notes': fields.text('Notes'), |
2254 | } |
2255 | _defaults = { |
2256 | - } |
2257 | - |
2258 | - |
2259 | -wizard_update_charts_accounts_fiscal_position() |
2260 | + } |
2261 | |
2262 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
2263 | |
2264 | === modified file 'account_chart_update/wizard/wizard_chart_update_view.xml' |
2265 | --- account_chart_update/wizard/wizard_chart_update_view.xml 2013-10-01 16:28:19 +0000 |
2266 | +++ account_chart_update/wizard/wizard_chart_update_view.xml 2013-10-15 14:29:10 +0000 |
2267 | @@ -1,176 +1,173 @@ |
2268 | <?xml version="1.0" encoding="utf-8"?> |
2269 | <openerp> |
2270 | - <data> |
2271 | - |
2272 | - <!-- Wizard for Multi Charts of Accounts --> |
2273 | - |
2274 | - <record id="view_update_multi_chart" model="ir.ui.view"> |
2275 | - <field name="name">Update Chart of Accounts from a Chart Template |
2276 | - </field> |
2277 | - <field name="model">wizard.update.charts.accounts</field> |
2278 | - <!-- <field name="type">form</field> --> |
2279 | - <field name="arch" type="xml"> |
2280 | - <form string="Update Chart of Accounts from a Chart Template" version="7.0"> |
2281 | - <header> |
2282 | - <field name="state" select="2" widget="statusbar" |
2283 | - statusbar_visible="init,ready,done" statusbar_colors='{"ready":"blue","done":"blue"}' /> |
2284 | - </header> |
2285 | - <group attrs="{'invisible':[('state','!=','init')]}"> |
2286 | - <h3> |
2287 | - <p><center>This wizard will update your accounts, taxes and fiscal positions according to the selected chart template</center></p> |
2288 | - |
2289 | - </h3> |
2290 | - </group> |
2291 | - <group string="Chart of Accounts" attrs="{'invisible':[('state','!=','init')]}"> |
2292 | - <field name="company_id" on_change="onchange_company_id(company_id)" |
2293 | - attrs="{'invisible':[('state','!=','init')]}" /> |
2294 | - <field name="code_digits" attrs="{'invisible':[('state','!=','init')]}" /> |
2295 | - <field name="chart_template_id" attrs="{'invisible':[('state','!=','init')]}" /> |
2296 | - <field name="lang" attrs="{'invisible':[('state','!=','init')]}" /> |
2297 | - </group> |
2298 | - <group attrs="{'invisible':[('state','!=','init')]}"> |
2299 | - <group string="Update records?"> |
2300 | - <field name="update_tax_code" /> |
2301 | - <field name="update_tax" /> |
2302 | - <field name="update_account" /> |
2303 | - <field name="update_fiscal_position" /> |
2304 | - </group> |
2305 | - <group string="Other options" attrs="{'invisible':[('state','!=','init')]}"> |
2306 | - <field name="update_children_accounts_parent" /> |
2307 | - <field name="continue_on_errors" /> |
2308 | - </group> |
2309 | - </group> |
2310 | - |
2311 | - <group attrs="{'invisible':[('state','!=','init')]}"> |
2312 | - <h5> |
2313 | - <p>If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)</p> |
2314 | - <p>Note:Not all the fields are tested for changes, just the main ones</p> |
2315 | - </h5> |
2316 | - </group> |
2317 | - <group attrs="{'invisible':[('state','!=','ready'),]}" |
2318 | - string="Records to create/update"> |
2319 | - <notebook colspan="4"> |
2320 | - <page string="Tax codes"> |
2321 | - <field name="tax_code_ids"> |
2322 | - <tree string="Tax codes" colors="red:type=='updated'"> |
2323 | - <field name="tax_code_id" /> |
2324 | - <field name="update_tax_code_id" /> |
2325 | - <field name="type" invisible="1" /> |
2326 | - </tree> |
2327 | - <form string="Tax code" version="7.0"> |
2328 | - <group> |
2329 | - <field name="tax_code_id" /> |
2330 | - <field name="type" /> |
2331 | - <field name="update_tax_code_id" /> |
2332 | - <field name="notes" readonly="1" class="oe_inline" /> |
2333 | - </group> |
2334 | - </form> |
2335 | - </field> |
2336 | - </page> |
2337 | - |
2338 | - <page string="Taxes"> |
2339 | - <field name="tax_ids" nolabel="1"> |
2340 | - <tree string="Taxes" colors="red:type=='updated'"> |
2341 | - <field name="tax_id" /> |
2342 | - <field name="update_tax_id" /> |
2343 | - <field name="type" invisible="1" /> |
2344 | - </tree> |
2345 | - <form string="Tax" version="7.0"> |
2346 | - <group> |
2347 | - <field name="tax_id" /> |
2348 | - <field name="type" /> |
2349 | - <field name="update_tax_id" /> |
2350 | - <field name="notes" readonly="1" class="oe_inline" /> |
2351 | - </group> |
2352 | - </form> |
2353 | - </field> |
2354 | - </page> |
2355 | - <page string="Accounts"> |
2356 | - <field name="account_ids" nolabel="1"> |
2357 | - <tree string="Accounts" colors="red:type=='updated'"> |
2358 | - <field name="account_id" /> |
2359 | - <field name="update_account_id" /> |
2360 | - <field name="type" invisible="1" /> |
2361 | - </tree> |
2362 | - <form string="Account" version="7.0"> |
2363 | - <group> |
2364 | - <field name="account_id" /> |
2365 | - <field name="type" /> |
2366 | - <field name="update_account_id" /> |
2367 | - <field name="notes" readonly="1" class="oe_inline" /> |
2368 | - </group> |
2369 | - </form> |
2370 | - </field> |
2371 | - </page> |
2372 | - <page string="Fiscal positions"> |
2373 | - <field name="fiscal_position_ids" nolabel="1"> |
2374 | - <tree string="Fiscal positions" colors="red:type=='updated'"> |
2375 | - <field name="fiscal_position_id" /> |
2376 | - <field name="update_fiscal_position_id" /> |
2377 | - <field name="type" invisible="1" /> |
2378 | - </tree> |
2379 | - <form string="Fiscal position" version="7.0"> |
2380 | - <group> |
2381 | - <field name="fiscal_position_id" /> |
2382 | - <field name="type" /> |
2383 | - <field name="update_fiscal_position_id" /> |
2384 | - <field name="notes" readonly="1" class="oe_inline" /> |
2385 | - </group> |
2386 | - </form> |
2387 | - </field> |
2388 | - </page> |
2389 | - |
2390 | - </notebook> |
2391 | - </group> |
2392 | - |
2393 | - <group col="4" colspan="4" |
2394 | - attrs="{'invisible':[('state','!=','done'),]}"> |
2395 | - <separator colspan="4" string="Log" /> |
2396 | - <field name="log" colspan="4" nolabel="1" /> |
2397 | - <group colspan="4"> |
2398 | - <separator colspan="4" string="Summary of created objects" /> |
2399 | - <field name="new_tax_codes" /> |
2400 | - <field name="new_taxes" /> |
2401 | - <field name="new_accounts" /> |
2402 | - <field name="new_fps" /> |
2403 | - </group> |
2404 | - <group colspan="4"> |
2405 | - <separator colspan="4" string="Summary of updated objects" /> |
2406 | - <field name="updated_tax_codes" /> |
2407 | - <field name="updated_taxes" /> |
2408 | - <field name="updated_accounts" /> |
2409 | - <field name="updated_fps" /> |
2410 | - </group> |
2411 | - </group> |
2412 | - |
2413 | - <footer> |
2414 | - <div states="init"> |
2415 | - <button name="action_find_records" string="Next" class="oe_highlight" type="object" /> |
2416 | - o |
2417 | - <button special="cancel" string="Cancel" class="oe_link" /> |
2418 | - </div> |
2419 | - <div states="ready"> |
2420 | - <button name="action_init" string="Previous" type="object" /> |
2421 | - <button name="action_update_records" string="Create/Update" type="object" class="oe_highlight" /> |
2422 | - o |
2423 | - <button special="cancel" string="Cancel" class="oe_link" /> |
2424 | - </div> |
2425 | - </footer> |
2426 | - </form> |
2427 | - </field> |
2428 | - </record> |
2429 | - |
2430 | - <record id="action_wizard_update_chart" model="ir.actions.act_window"> |
2431 | - <field name="name">Update Chart of Accounts from a Chart Template |
2432 | - </field> |
2433 | - <field name="type">ir.actions.act_window</field> |
2434 | - <field name="res_model">wizard.update.charts.accounts</field> |
2435 | - <field name="view_type">form</field> |
2436 | - <field name="view_mode">form</field> |
2437 | - <field name="target">new</field> |
2438 | - </record> |
2439 | - |
2440 | - <menuitem parent="account.account_template_folder" action="action_wizard_update_chart" id="menu_wizard" /> |
2441 | - |
2442 | - </data> |
2443 | + <data> |
2444 | + |
2445 | + <!-- Wizard for Multi Charts of Accounts --> |
2446 | + |
2447 | + <record id="view_update_multi_chart" model="ir.ui.view"> |
2448 | + <field name="name">Update Chart of Accounts from a Chart Template |
2449 | + </field> |
2450 | + <field name="model">wizard.update.charts.accounts</field> |
2451 | + <field name="arch" type="xml"> |
2452 | + <form string="Update chart of accounts from a template" version="7.0"> |
2453 | + <header> |
2454 | + <field name="state" select="2" widget="statusbar" |
2455 | + statusbar_visible="init,ready,done" statusbar_colors='{"ready":"blue","done":"blue"}' /> |
2456 | + </header> |
2457 | + <group attrs="{'invisible':[('state','!=','init')]}"> |
2458 | + <h3> |
2459 | + <p><center>This wizard will update your accounts, taxes and fiscal positions according to the selected chart template</center></p> |
2460 | + </h3> |
2461 | + </group> |
2462 | + <group string="Chart of Accounts" attrs="{'invisible':[('state','!=','init')]}"> |
2463 | + <field name="company_id" on_change="onchange_company_id(company_id)" |
2464 | + attrs="{'invisible':[('state','!=','init')]}" /> |
2465 | + <field name="code_digits" attrs="{'invisible':[('state','!=','init')]}" /> |
2466 | + <field name="chart_template_id" attrs="{'invisible':[('state','!=','init')]}" /> |
2467 | + <field name="lang" attrs="{'invisible':[('state','!=','init')]}" /> |
2468 | + </group> |
2469 | + <group attrs="{'invisible':[('state','!=','init')]}"> |
2470 | + <group string="Update records?"> |
2471 | + <field name="update_tax_code" /> |
2472 | + <field name="update_tax" /> |
2473 | + <field name="update_account" /> |
2474 | + <field name="update_fiscal_position" /> |
2475 | + </group> |
2476 | + <group string="Other options" attrs="{'invisible':[('state','!=','init')]}"> |
2477 | + <field name="update_children_accounts_parent" /> |
2478 | + <field name="continue_on_errors" /> |
2479 | + </group> |
2480 | + </group> |
2481 | + |
2482 | + <group attrs="{'invisible':[('state','!=','init')]}"> |
2483 | + <h5> |
2484 | + <p>If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)</p> |
2485 | + <p>Note: Not all the fields are tested for changes, just the main ones</p> |
2486 | + </h5> |
2487 | + </group> |
2488 | + <group attrs="{'invisible':[('state','!=','ready'),]}" |
2489 | + string="Records to create/update"> |
2490 | + <notebook colspan="4"> |
2491 | + <page string="Tax codes"> |
2492 | + <field name="tax_code_ids"> |
2493 | + <tree string="Tax codes" colors="red:type=='updated'"> |
2494 | + <field name="tax_code_id" /> |
2495 | + <field name="update_tax_code_id" /> |
2496 | + <field name="type" invisible="1" /> |
2497 | + </tree> |
2498 | + <form string="Tax code" version="7.0"> |
2499 | + <group> |
2500 | + <field name="tax_code_id" /> |
2501 | + <field name="type" /> |
2502 | + <field name="update_tax_code_id" /> |
2503 | + <field name="notes" readonly="1" class="oe_inline" /> |
2504 | + </group> |
2505 | + </form> |
2506 | + </field> |
2507 | + </page> |
2508 | + |
2509 | + <page string="Taxes"> |
2510 | + <field name="tax_ids" nolabel="1"> |
2511 | + <tree string="Taxes" colors="red:type=='updated'"> |
2512 | + <field name="tax_id" /> |
2513 | + <field name="update_tax_id" /> |
2514 | + <field name="type" invisible="1" /> |
2515 | + </tree> |
2516 | + <form string="Tax" version="7.0"> |
2517 | + <group> |
2518 | + <field name="tax_id" /> |
2519 | + <field name="type" /> |
2520 | + <field name="update_tax_id" /> |
2521 | + <field name="notes" readonly="1" class="oe_inline" /> |
2522 | + </group> |
2523 | + </form> |
2524 | + </field> |
2525 | + </page> |
2526 | + <page string="Accounts"> |
2527 | + <field name="account_ids" nolabel="1"> |
2528 | + <tree string="Accounts" colors="red:type=='updated'"> |
2529 | + <field name="account_id" /> |
2530 | + <field name="update_account_id" /> |
2531 | + <field name="type" invisible="1" /> |
2532 | + </tree> |
2533 | + <form string="Account" version="7.0"> |
2534 | + <group> |
2535 | + <field name="account_id" /> |
2536 | + <field name="type" /> |
2537 | + <field name="update_account_id" /> |
2538 | + <field name="notes" readonly="1" class="oe_inline" /> |
2539 | + </group> |
2540 | + </form> |
2541 | + </field> |
2542 | + </page> |
2543 | + <page string="Fiscal positions"> |
2544 | + <field name="fiscal_position_ids" nolabel="1"> |
2545 | + <tree string="Fiscal positions" colors="red:type=='updated'"> |
2546 | + <field name="fiscal_position_id" /> |
2547 | + <field name="update_fiscal_position_id" /> |
2548 | + <field name="type" invisible="1" /> |
2549 | + </tree> |
2550 | + <form string="Fiscal position" version="7.0"> |
2551 | + <group> |
2552 | + <field name="fiscal_position_id" /> |
2553 | + <field name="type" /> |
2554 | + <field name="update_fiscal_position_id" /> |
2555 | + <field name="notes" readonly="1" class="oe_inline" /> |
2556 | + </group> |
2557 | + </form> |
2558 | + </field> |
2559 | + </page> |
2560 | + |
2561 | + </notebook> |
2562 | + </group> |
2563 | + |
2564 | + <group col="4" colspan="4" |
2565 | + attrs="{'invisible':[('state','!=','done'),]}"> |
2566 | + <separator colspan="4" string="Log" /> |
2567 | + <field name="log" colspan="4" nolabel="1" /> |
2568 | + <group colspan="4"> |
2569 | + <separator colspan="4" string="Summary of created objects" /> |
2570 | + <field name="new_tax_codes" /> |
2571 | + <field name="new_taxes" /> |
2572 | + <field name="new_accounts" /> |
2573 | + <field name="new_fps" /> |
2574 | + </group> |
2575 | + <group colspan="4"> |
2576 | + <separator colspan="4" string="Summary of updated objects" /> |
2577 | + <field name="updated_tax_codes" /> |
2578 | + <field name="updated_taxes" /> |
2579 | + <field name="updated_accounts" /> |
2580 | + <field name="updated_fps" /> |
2581 | + </group> |
2582 | + </group> |
2583 | + |
2584 | + <footer> |
2585 | + <div states="init"> |
2586 | + <button name="action_find_records" string="Next" class="oe_highlight" type="object" /> |
2587 | + or |
2588 | + <button special="cancel" string="Cancel" class="oe_link" /> |
2589 | + </div> |
2590 | + <div states="ready"> |
2591 | + <button name="action_init" string="Previous" type="object" /> |
2592 | + <button name="action_update_records" string="Create/Update" type="object" class="oe_highlight" /> |
2593 | + or |
2594 | + <button special="cancel" string="Cancel" class="oe_link" /> |
2595 | + </div> |
2596 | + </footer> |
2597 | + </form> |
2598 | + </field> |
2599 | + </record> |
2600 | + |
2601 | + <record id="action_wizard_update_chart" model="ir.actions.act_window"> |
2602 | + <field name="name">Update chart of accounts</field> |
2603 | + <field name="type">ir.actions.act_window</field> |
2604 | + <field name="res_model">wizard.update.charts.accounts</field> |
2605 | + <field name="view_type">form</field> |
2606 | + <field name="view_mode">form</field> |
2607 | + <field name="target">new</field> |
2608 | + </record> |
2609 | + |
2610 | + <menuitem sequence="0" parent="account.account_account_menu" action="action_wizard_update_chart" id="menu_wizard" /> |
2611 | + |
2612 | + </data> |
2613 | </openerp> |
2614 | |
2615 | === added directory 'currency_rate_date_check' |
2616 | === added file 'currency_rate_date_check/__init__.py' |
2617 | --- currency_rate_date_check/__init__.py 1970-01-01 00:00:00 +0000 |
2618 | +++ currency_rate_date_check/__init__.py 2013-10-15 14:29:10 +0000 |
2619 | @@ -0,0 +1,25 @@ |
2620 | +# -*- encoding: utf-8 -*- |
2621 | +############################################################################## |
2622 | +# |
2623 | +# Currency rate date check module for OpenERP |
2624 | +# Copyright (C) 2012-2013 Akretion (http://www.akretion.com). |
2625 | +# @author Alexis de Lattre <alexis.delattre@akretion.com> |
2626 | +# |
2627 | +# This program is free software: you can redistribute it and/or modify |
2628 | +# it under the terms of the GNU Affero General Public License as |
2629 | +# published by the Free Software Foundation, either version 3 of the |
2630 | +# License, or (at your option) any later version. |
2631 | +# |
2632 | +# This program is distributed in the hope that it will be useful, |
2633 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2634 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2635 | +# GNU Affero General Public License for more details. |
2636 | +# |
2637 | +# You should have received a copy of the GNU Affero General Public License |
2638 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
2639 | +# |
2640 | +############################################################################## |
2641 | + |
2642 | +from . import company |
2643 | +from . import currency_rate_date_check |
2644 | + |
2645 | |
2646 | === added file 'currency_rate_date_check/__openerp__.py' |
2647 | --- currency_rate_date_check/__openerp__.py 1970-01-01 00:00:00 +0000 |
2648 | +++ currency_rate_date_check/__openerp__.py 2013-10-15 14:29:10 +0000 |
2649 | @@ -0,0 +1,48 @@ |
2650 | +# -*- encoding: utf-8 -*- |
2651 | +############################################################################## |
2652 | +# |
2653 | +# Currency rate date check module for OpenERP |
2654 | +# Copyright (C) 2012-2013 Akretion (http://www.akretion.com). |
2655 | +# @author Alexis de Lattre <alexis.delattre@akretion.com> |
2656 | +# |
2657 | +# This program is free software: you can redistribute it and/or modify |
2658 | +# it under the terms of the GNU Affero General Public License as |
2659 | +# published by the Free Software Foundation, either version 3 of the |
2660 | +# License, or (at your option) any later version. |
2661 | +# |
2662 | +# This program is distributed in the hope that it will be useful, |
2663 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2664 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2665 | +# GNU Affero General Public License for more details. |
2666 | +# |
2667 | +# You should have received a copy of the GNU Affero General Public License |
2668 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
2669 | +# |
2670 | +############################################################################## |
2671 | + |
2672 | + |
2673 | +{ |
2674 | + 'name': 'Currency Rate Date Check', |
2675 | + 'version': '1.0', |
2676 | + 'category': 'Financial Management/Configuration', |
2677 | + 'license': 'AGPL-3', |
2678 | + 'summary': "Make sure currency rates used are always up-to-update", |
2679 | + 'description': """ |
2680 | +Currency Rate Date Check |
2681 | +======================== |
2682 | + |
2683 | +This module adds a check on dates when doing currency conversion in OpenERP. It checks that the currency rate used to make the conversion is not more than N days away from the date of the amount to convert. The maximum number of days of the interval can be configured on the company form. |
2684 | + |
2685 | +Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com> for any help or question about this module. |
2686 | + """, |
2687 | + 'author': 'Akretion', |
2688 | + 'website': 'http://www.akretion.com', |
2689 | + 'depends': ['base'], |
2690 | + 'data': ['company_view.xml'], |
2691 | + 'images': [ |
2692 | + 'images/date_check_error_popup.jpg', |
2693 | + 'images/date_check_company_config.jpg', |
2694 | + ], |
2695 | + 'installable': True, |
2696 | + 'active': False, |
2697 | +} |
2698 | |
2699 | === added file 'currency_rate_date_check/company.py' |
2700 | --- currency_rate_date_check/company.py 1970-01-01 00:00:00 +0000 |
2701 | +++ currency_rate_date_check/company.py 2013-10-15 14:29:10 +0000 |
2702 | @@ -0,0 +1,42 @@ |
2703 | +# -*- encoding: utf-8 -*- |
2704 | +############################################################################## |
2705 | +# |
2706 | +# Currency rate date check module for OpenERP |
2707 | +# Copyright (C) 2012-2013 Akretion (http://www.akretion.com) |
2708 | +# @author Alexis de Lattre <alexis.delattre@akretion.com> |
2709 | +# |
2710 | +# This program is free software: you can redistribute it and/or modify |
2711 | +# it under the terms of the GNU Affero General Public License as |
2712 | +# published by the Free Software Foundation, either version 3 of the |
2713 | +# License, or (at your option) any later version. |
2714 | +# |
2715 | +# This program is distributed in the hope that it will be useful, |
2716 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2717 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2718 | +# GNU Affero General Public License for more details. |
2719 | +# |
2720 | +# You should have received a copy of the GNU Affero General Public License |
2721 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
2722 | +# |
2723 | +############################################################################## |
2724 | + |
2725 | +from openerp.osv import orm, fields |
2726 | + |
2727 | +class res_company(orm.Model): |
2728 | + _inherit = 'res.company' |
2729 | + |
2730 | + _columns = { |
2731 | + 'currency_rate_max_delta': fields.integer( |
2732 | + 'Max Time Delta in Days for Currency Rates', |
2733 | + help="This is the maximum interval in days between the date associated with the amount to convert and the date of the nearest currency rate available in OpenERP."), |
2734 | + } |
2735 | + |
2736 | + _defaults = { |
2737 | + 'currency_rate_max_delta': 7, |
2738 | + } |
2739 | + |
2740 | + _sql_constraints = [ |
2741 | + ('currency_rate_max_delta_positive', |
2742 | + 'CHECK (currency_rate_max_delta >= 0)', |
2743 | + "The value of the field 'Max Time Delta in Days for Currency Rates' must be positive or 0."), |
2744 | + ] |
2745 | |
2746 | === added file 'currency_rate_date_check/company_view.xml' |
2747 | --- currency_rate_date_check/company_view.xml 1970-01-01 00:00:00 +0000 |
2748 | +++ currency_rate_date_check/company_view.xml 2013-10-15 14:29:10 +0000 |
2749 | @@ -0,0 +1,25 @@ |
2750 | +<?xml version="1.0" encoding="utf-8"?> |
2751 | + |
2752 | +<!-- |
2753 | + Copyright (C) 2012 Akretion (http://www.akretion.com/) |
2754 | + @author Alexis de Lattre <alexis.delattre@akretion.com> |
2755 | + The licence is in the file __openerp__.py |
2756 | +--> |
2757 | + |
2758 | +<openerp> |
2759 | +<data> |
2760 | + |
2761 | +<record id="currency_rate_date_check_form" model="ir.ui.view"> |
2762 | + <field name="name">currency.rate.date.check.form</field> |
2763 | + <field name="model">res.company</field> |
2764 | + <field name="inherit_id" ref="base.view_company_form" /> |
2765 | + <field name="arch" type="xml"> |
2766 | + <field name="currency_id" position="after"> |
2767 | + <field name="currency_rate_max_delta" /> |
2768 | + </field> |
2769 | + </field> |
2770 | +</record> |
2771 | + |
2772 | + |
2773 | +</data> |
2774 | +</openerp> |
2775 | |
2776 | === added file 'currency_rate_date_check/currency_rate_date_check.py' |
2777 | --- currency_rate_date_check/currency_rate_date_check.py 1970-01-01 00:00:00 +0000 |
2778 | +++ currency_rate_date_check/currency_rate_date_check.py 2013-10-15 14:29:10 +0000 |
2779 | @@ -0,0 +1,82 @@ |
2780 | +# -*- encoding: utf-8 -*- |
2781 | +############################################################################## |
2782 | +# |
2783 | +# Currency rate date check module for OpenERP |
2784 | +# Copyright (C) 2012-2013 Akretion (http://www.akretion.com) |
2785 | +# @author Alexis de Lattre <alexis.delattre@akretion.com> |
2786 | +# |
2787 | +# This program is free software: you can redistribute it and/or modify |
2788 | +# it under the terms of the GNU Affero General Public License as |
2789 | +# published by the Free Software Foundation, either version 3 of the |
2790 | +# License, or (at your option) any later version. |
2791 | +# |
2792 | +# This program is distributed in the hope that it will be useful, |
2793 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2794 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2795 | +# GNU Affero General Public License for more details. |
2796 | +# |
2797 | +# You should have received a copy of the GNU Affero General Public License |
2798 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
2799 | +# |
2800 | +############################################################################## |
2801 | + |
2802 | +from openerp.osv import fields, orm |
2803 | +from datetime import datetime, timedelta |
2804 | +from openerp.tools.translate import _ |
2805 | + |
2806 | +# Here are some explainations about the design of this module. |
2807 | +# In server/openerp/addons/base/res/res_currency.py : |
2808 | +# compute() -> _get_conversion_rate() -> _current_rate() -> _current_rate_computation() |
2809 | +# The date used for the rate is the one in the context |
2810 | +# compute() adds currency_rate_type_from and currency_rate_type_to to the context |
2811 | +# _get_conversion_rate() adds currency_rate_type_id to context ; its value is currency_rate_type_to ; if it doesn't exist it's currency_rate_type_from ; if it doesn't exist either it's False |
2812 | +# It already contains raise "No rate found for currency ... at the date ..." |
2813 | +# _current_rate() reads currency_rate_type_id from context and uses it in the SQL request |
2814 | +# This is the function used for the definition of the field.function 'rate' on res_currency |
2815 | + |
2816 | +# Which one of the 3 functions should we inherit ? Good question... |
2817 | +# It's probably better to inherit the lowest level function, i.e. _current_rate_computation() |
2818 | +# Advantage : by inheriting the lowest level function, we can be sure that the check |
2819 | +# always apply, even for scenarios where we read the field "rate" of the obj currency |
2820 | +# => that's the solution I implement in the code below |
2821 | + |
2822 | + |
2823 | +class res_currency(orm.Model): |
2824 | + _inherit = 'res.currency' |
2825 | + |
2826 | + def _current_rate_computation(self, cr, uid, ids, name, arg, raise_on_no_rate, context=None): |
2827 | + if context is None: context = {} |
2828 | + # We only do the check if there is an explicit date in the context and |
2829 | + # there is no specific currency_rate_type_id |
2830 | + if context.get('date') and not context.get('currency_rate_type_id') and not context.get('disable_rate_date_check'): |
2831 | + for currency_id in ids: |
2832 | + # We could get the company from the currency, but it's not a |
2833 | + # 'required' field, so we should probably continue to get it from |
2834 | + # the user, shouldn't we ? |
2835 | + user = self.pool['res.users'].browse(cr, uid, uid, context=context) |
2836 | + # if it's the company currency, don't do anything |
2837 | + # (there is just one old rate at 1.0) |
2838 | + if user.company_id.currency_id.id == currency_id: |
2839 | + continue |
2840 | + else: |
2841 | + # now we do the real work ! |
2842 | + date = context.get('date', datetime.today().strftime('%Y-%m-%d')) |
2843 | + date_datetime = datetime.strptime(date, '%Y-%m-%d') |
2844 | + rate_obj = self.pool['res.currency.rate'] |
2845 | + selected_rate = rate_obj.search(cr, uid, [ |
2846 | + ('currency_id', '=', currency_id), |
2847 | + ('name', '<=', date), |
2848 | + ('currency_rate_type_id', '=', None) |
2849 | + ], order='name desc', limit=1, context=context) |
2850 | + if not selected_rate: |
2851 | + continue |
2852 | + |
2853 | + rate_date = rate_obj.read(cr, uid, selected_rate[0], ['name'], context=context)['name'] |
2854 | + rate_date_datetime = datetime.strptime(rate_date, '%Y-%m-%d') |
2855 | + max_delta = user.company_id.currency_rate_max_delta |
2856 | + if (date_datetime - rate_date_datetime).days > max_delta: |
2857 | + currency_name = self.read(cr, uid, currency_id, ['name'], context=context)['name'] |
2858 | + raise orm.except_orm(_('Error'), _('You are requesting a rate conversion on %s for currency %s but the nearest rate before that date is dated %s and the maximum currency rate time delta for your company is %s days') % (date, currency_name, rate_date, max_delta)) |
2859 | + # Now we call the regular function from the "base" module |
2860 | + return super(res_currency, self)._current_rate_computation(cr, uid, ids, name, arg, raise_on_no_rate, context=context) |
2861 | + |
2862 | |
2863 | === added directory 'currency_rate_date_check/i18n' |
2864 | === added file 'currency_rate_date_check/i18n/currency_rate_date_check.pot' |
2865 | --- currency_rate_date_check/i18n/currency_rate_date_check.pot 1970-01-01 00:00:00 +0000 |
2866 | +++ currency_rate_date_check/i18n/currency_rate_date_check.pot 2013-10-15 14:29:10 +0000 |
2867 | @@ -0,0 +1,54 @@ |
2868 | +# Translation of OpenERP Server. |
2869 | +# This file contains the translation of the following modules: |
2870 | +# * currency_rate_date_check |
2871 | +# |
2872 | +msgid "" |
2873 | +msgstr "" |
2874 | +"Project-Id-Version: OpenERP Server 7.0\n" |
2875 | +"Report-Msgid-Bugs-To: \n" |
2876 | +"POT-Creation-Date: 2013-09-23 10:05+0000\n" |
2877 | +"PO-Revision-Date: 2013-09-23 10:05+0000\n" |
2878 | +"Last-Translator: <>\n" |
2879 | +"Language-Team: \n" |
2880 | +"MIME-Version: 1.0\n" |
2881 | +"Content-Type: text/plain; charset=UTF-8\n" |
2882 | +"Content-Transfer-Encoding: \n" |
2883 | +"Plural-Forms: \n" |
2884 | + |
2885 | +#. module: currency_rate_date_check |
2886 | +#: model:ir.model,name:currency_rate_date_check.model_res_currency |
2887 | +msgid "Currency" |
2888 | +msgstr "" |
2889 | + |
2890 | +#. module: currency_rate_date_check |
2891 | +#: code:addons/currency_rate_date_check/currency_rate_date_check.py:84 |
2892 | +#, python-format |
2893 | +msgid "You are requesting a rate conversion on %s for currency %s but the nearest rate before that date is dated %s and the maximum currency rate time delta for your company is %s days" |
2894 | +msgstr "" |
2895 | + |
2896 | +#. module: currency_rate_date_check |
2897 | +#: model:ir.model,name:currency_rate_date_check.model_res_company |
2898 | +msgid "Companies" |
2899 | +msgstr "" |
2900 | + |
2901 | +#. module: currency_rate_date_check |
2902 | +#: field:res.company,currency_rate_max_delta:0 |
2903 | +msgid "Max Time Delta in Days for Currency Rates" |
2904 | +msgstr "" |
2905 | + |
2906 | +#. module: currency_rate_date_check |
2907 | +#: help:res.company,currency_rate_max_delta:0 |
2908 | +msgid "This is the maximum interval in days between the date associated with the amount to convert and the date of the nearest currency rate available in OpenERP." |
2909 | +msgstr "" |
2910 | + |
2911 | +#. module: currency_rate_date_check |
2912 | +#: code:addons/currency_rate_date_check/currency_rate_date_check.py:84 |
2913 | +#, python-format |
2914 | +msgid "Error" |
2915 | +msgstr "" |
2916 | + |
2917 | +#. module: currency_rate_date_check |
2918 | +#: constraint:res.company:0 |
2919 | +msgid "The value must be positive or 0" |
2920 | +msgstr "" |
2921 | + |
2922 | |
2923 | === added file 'currency_rate_date_check/i18n/fr.po' |
2924 | --- currency_rate_date_check/i18n/fr.po 1970-01-01 00:00:00 +0000 |
2925 | +++ currency_rate_date_check/i18n/fr.po 2013-10-15 14:29:10 +0000 |
2926 | @@ -0,0 +1,54 @@ |
2927 | +# Translation of OpenERP Server. |
2928 | +# This file contains the translation of the following modules: |
2929 | +# * currency_rate_date_check |
2930 | +# |
2931 | +msgid "" |
2932 | +msgstr "" |
2933 | +"Project-Id-Version: OpenERP Server 7.0\n" |
2934 | +"Report-Msgid-Bugs-To: \n" |
2935 | +"POT-Creation-Date: 2013-09-23 10:06+0000\n" |
2936 | +"PO-Revision-Date: 2013-09-23 10:06+0000\n" |
2937 | +"Last-Translator: <>\n" |
2938 | +"Language-Team: \n" |
2939 | +"MIME-Version: 1.0\n" |
2940 | +"Content-Type: text/plain; charset=UTF-8\n" |
2941 | +"Content-Transfer-Encoding: \n" |
2942 | +"Plural-Forms: \n" |
2943 | + |
2944 | +#. module: currency_rate_date_check |
2945 | +#: model:ir.model,name:currency_rate_date_check.model_res_currency |
2946 | +msgid "Currency" |
2947 | +msgstr "Devise" |
2948 | + |
2949 | +#. module: currency_rate_date_check |
2950 | +#: code:addons/currency_rate_date_check/currency_rate_date_check.py:84 |
2951 | +#, python-format |
2952 | +msgid "You are requesting a rate conversion on %s for currency %s but the nearest rate before that date is dated %s and the maximum currency rate time delta for your company is %s days" |
2953 | +msgstr "Vous demandez une conversion de devise à la date du %s pour la devise %s mais le taux de change le plus proche qui précède cette date est daté du %s et l'écart temporel maximum pour les taux de change pour votre société est de %s jours" |
2954 | + |
2955 | +#. module: currency_rate_date_check |
2956 | +#: model:ir.model,name:currency_rate_date_check.model_res_company |
2957 | +msgid "Companies" |
2958 | +msgstr "Sociétés" |
2959 | + |
2960 | +#. module: currency_rate_date_check |
2961 | +#: field:res.company,currency_rate_max_delta:0 |
2962 | +msgid "Max Time Delta in Days for Currency Rates" |
2963 | +msgstr "Ecart temporel maximum pour les taux de change (en jours)" |
2964 | + |
2965 | +#. module: currency_rate_date_check |
2966 | +#: help:res.company,currency_rate_max_delta:0 |
2967 | +msgid "This is the maximum interval in days between the date associated with the amount to convert and the date of the nearest currency rate available in OpenERP." |
2968 | +msgstr "Intervalle de temps maximum en jours entre la date associée au montant à convertir et la date du taux de change le plus rapproché disponible dans OpenERP." |
2969 | + |
2970 | +#. module: currency_rate_date_check |
2971 | +#: code:addons/currency_rate_date_check/currency_rate_date_check.py:84 |
2972 | +#, python-format |
2973 | +msgid "Error" |
2974 | +msgstr "Erreur" |
2975 | + |
2976 | +#. module: currency_rate_date_check |
2977 | +#: constraint:res.company:0 |
2978 | +msgid "The value must be positive or 0" |
2979 | +msgstr "La valeur doit être positive ou nulle" |
2980 | + |
2981 | |
2982 | === added directory 'currency_rate_date_check/images' |
2983 | === added file 'currency_rate_date_check/images/date_check_company_config.jpg' |
2984 | Binary files currency_rate_date_check/images/date_check_company_config.jpg 1970-01-01 00:00:00 +0000 and currency_rate_date_check/images/date_check_company_config.jpg 2013-10-15 14:29:10 +0000 differ |
2985 | === added file 'currency_rate_date_check/images/date_check_error_popup.jpg' |
2986 | Binary files currency_rate_date_check/images/date_check_error_popup.jpg 1970-01-01 00:00:00 +0000 and currency_rate_date_check/images/date_check_error_popup.jpg 2013-10-15 14:29:10 +0000 differ |
2987 | === added directory 'currency_rate_date_check/static' |
2988 | === added directory 'currency_rate_date_check/static/src' |
2989 | === added directory 'currency_rate_date_check/static/src/img' |
2990 | === added file 'currency_rate_date_check/static/src/img/icon.png' |
2991 | Binary files currency_rate_date_check/static/src/img/icon.png 1970-01-01 00:00:00 +0000 and currency_rate_date_check/static/src/img/icon.png 2013-10-15 14:29:10 +0000 differ |
Thanks for your work Revision