Merge lp:~ludo-neobis/openobject-server/fix_for_bug_1180692 into lp:openobject-server
- fix_for_bug_1180692
- Merge into trunk
Proposed by
Ludo (Neobis)
Status: | Superseded | ||||
---|---|---|---|---|---|
Proposed branch: | lp:~ludo-neobis/openobject-server/fix_for_bug_1180692 | ||||
Merge into: | lp:openobject-server | ||||
Diff against target: |
1551 lines (+722/-84) (has conflicts) 29 files modified
debian/copyright (+4/-4) history/check_profile_l10n_all.py (+0/-1) history/gen_graph.sh (+1/-1) openerp-wsgi.py (+0/-1) openerp/addons/base/i18n/de.po (+15/-0) openerp/addons/base/i18n/et.po (+14/-0) openerp/addons/base/i18n/fr.po (+64/-24) openerp/addons/base/i18n/id.po (+15/-1) openerp/addons/base/i18n/lt.po (+138/-3) openerp/addons/base/i18n/ro.po (+14/-0) openerp/addons/base/i18n/tr.po (+30/-0) openerp/addons/base/ir/ir_ui_menu.py (+25/-0) openerp/addons/base/res/res_partner.py (+3/-2) openerp/addons/base/res/res_partner_view.xml (+2/-2) openerp/addons/base/tests/test_base.py (+18/-0) openerp/addons/base_quality_interrogation.py.OTHER (+353/-0) openerp/cli/server.py (+0/-1) openerp/modules/loading.py (+4/-0) openerp/netsvc.py (+0/-1) openerp/osv/expression.py (+0/-1) openerp/report/render/rml2html/rml2html.py (+1/-1) openerp/report/render/rml2html/utils.py (+1/-1) openerp/report/render/rml2pdf/utils.py (+4/-20) openerp/service/cron.py (+0/-1) openerp/service/http_server.py (+1/-1) openerp/service/websrv_lib.py (+1/-1) openerp/tools/amount_to_text.py (+13/-15) setup.nsi (+1/-1) setup.py (+0/-1) Text conflict in openerp/addons/base/i18n/de.po Text conflict in openerp/addons/base/i18n/et.po Text conflict in openerp/addons/base/i18n/fr.po Text conflict in openerp/addons/base/i18n/id.po Text conflict in openerp/addons/base/i18n/lt.po Text conflict in openerp/addons/base/i18n/ro.po Text conflict in openerp/addons/base/i18n/tr.po Contents conflict in openerp/addons/base_quality_interrogation.py Text conflict in openerp/modules/loading.py |
||||
To merge this branch: | bzr merge lp:~ludo-neobis/openobject-server/fix_for_bug_1180692 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenERP Dutch Team - Nederland | code | Pending | |
Review via email: mp+164093@code.launchpad.net |
This proposal has been superseded by a proposal from 2013-05-16.
Commit message
Description of the change
Fix for bug 1180692, concerning the amount_to_text file from tools.
Please review.
To post a comment you must log in.
Revision history for this message
Stefan Rijnhart (Opener) (stefan-opener) wrote : | # |
Unmerged revisions
- 4976. By Ludo van Zuylen <ludo@neosws03>
-
[FIX] - Fixed the representation of the dutch text. Style according to the site from "Onze Taal" (onzetaal.nl).
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'debian/copyright' |
2 | --- debian/copyright 2011-10-06 00:18:10 +0000 |
3 | +++ debian/copyright 2013-05-16 08:48:42 +0000 |
4 | @@ -40,7 +40,7 @@ |
5 | . |
6 | You should have received a copy of the GNU General Public License |
7 | along with this program; if not, write to the Free Software |
8 | - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
9 | + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
10 | . |
11 | On Debian systems, the complete text of the GNU General Public License |
12 | can be found in /usr/share/common-licenses/GPL-2 file. |
13 | @@ -93,7 +93,7 @@ |
14 | . |
15 | You should have received a copy of the GNU Library General Public |
16 | License along with this library; if not, write to the Free |
17 | - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
18 | + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
19 | . |
20 | On Debian systems, the complete text of the GNU Library General Public License |
21 | can be found in /usr/share/common-licenses/LGPL-2.1 file. |
22 | @@ -137,7 +137,7 @@ |
23 | . |
24 | You should have received a copy of the GNU General Public License |
25 | along with this program; if not, write to the Free Software |
26 | - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
27 | + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
28 | . |
29 | On Debian systems, the complete text of the GNU General Public License |
30 | can be found in /usr/share/common-licenses/GPL-2 file. |
31 | @@ -159,7 +159,7 @@ |
32 | . |
33 | You should have received a copy of the GNU General Public License |
34 | along with this program; if not, write to the Free Software |
35 | - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
36 | + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
37 | . |
38 | On Debian systems, the complete text of the GNU General Public License |
39 | can be found in /usr/share/common-licenses/GPL-2 file. |
40 | |
41 | === modified file 'history/check_profile_l10n_all.py' |
42 | --- history/check_profile_l10n_all.py 2011-11-07 15:45:01 +0000 |
43 | +++ history/check_profile_l10n_all.py 2013-05-16 08:48:42 +0000 |
44 | @@ -1,4 +1,3 @@ |
45 | -#!/usr/bin/env python |
46 | # -*- coding: utf-8 -*- |
47 | ############################################################################## |
48 | # |
49 | |
50 | === modified file 'history/gen_graph.sh' |
51 | --- history/gen_graph.sh 2011-09-26 00:54:44 +0000 |
52 | +++ history/gen_graph.sh 2013-05-16 08:48:42 +0000 |
53 | @@ -24,7 +24,7 @@ |
54 | # |
55 | # You should have received a copy of the GNU General Public License |
56 | # along with this program; if not, write to the Free Software |
57 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
58 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
59 | # |
60 | ############################################################################## |
61 | |
62 | |
63 | === modified file 'openerp-wsgi.py' |
64 | --- openerp-wsgi.py 2012-09-24 10:50:11 +0000 |
65 | +++ openerp-wsgi.py 2013-05-16 08:48:42 +0000 |
66 | @@ -1,4 +1,3 @@ |
67 | -#!/usr/bin/python |
68 | # WSGI Handler sample configuration file. |
69 | # |
70 | # Change the appropriate settings below, in order to provide the parameters |
71 | |
72 | === modified file 'openerp/addons/base/i18n/de.po' |
73 | --- openerp/addons/base/i18n/de.po 2013-05-10 05:51:58 +0000 |
74 | +++ openerp/addons/base/i18n/de.po 2013-05-16 08:48:42 +0000 |
75 | @@ -5,17 +5,32 @@ |
76 | # Ferdinand Gassauer <f.gassauer@chricar.at>, 2010. |
77 | msgid "" |
78 | msgstr "" |
79 | +<<<<<<< TREE |
80 | "Project-Id-Version: OpenERP Server 5.0.4\n" |
81 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
82 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
83 | "PO-Revision-Date: 2012-12-22 01:32+0000\n" |
84 | "Last-Translator: Felix Schubert <Unknown>\n" |
85 | "Language-Team: German <kde-i18n-doc@kde.org>\n" |
86 | +======= |
87 | +"Project-Id-Version: openobject-server\n" |
88 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
89 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
90 | +"PO-Revision-Date: 2013-04-24 12:39+0000\n" |
91 | +"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-" |
92 | +"consulting.net>\n" |
93 | +"Language-Team: German <de@li.org>\n" |
94 | +>>>>>>> MERGE-SOURCE |
95 | "MIME-Version: 1.0\n" |
96 | "Content-Type: text/plain; charset=UTF-8\n" |
97 | "Content-Transfer-Encoding: 8bit\n" |
98 | +<<<<<<< TREE |
99 | "X-Launchpad-Export-Date: 2013-05-10 05:43+0000\n" |
100 | "X-Generator: Launchpad (build 16598)\n" |
101 | +======= |
102 | +"X-Launchpad-Export-Date: 2013-04-25 06:05+0000\n" |
103 | +"X-Generator: Launchpad (build 16580)\n" |
104 | +>>>>>>> MERGE-SOURCE |
105 | |
106 | #. module: base |
107 | #: model:ir.module.module,description:base.module_account_check_writing |
108 | |
109 | === modified file 'openerp/addons/base/i18n/et.po' |
110 | --- openerp/addons/base/i18n/et.po 2013-05-10 05:51:58 +0000 |
111 | +++ openerp/addons/base/i18n/et.po 2013-05-16 08:48:42 +0000 |
112 | @@ -4,17 +4,31 @@ |
113 | # |
114 | msgid "" |
115 | msgstr "" |
116 | +<<<<<<< TREE |
117 | "Project-Id-Version: OpenERP Server 5.0.4\n" |
118 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
119 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
120 | "PO-Revision-Date: 2012-12-21 18:17+0000\n" |
121 | "Last-Translator: Ahti Hinnov <sipelgas@gmail.com>\n" |
122 | "Language-Team: \n" |
123 | +======= |
124 | +"Project-Id-Version: openobject-server\n" |
125 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
126 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
127 | +"PO-Revision-Date: 2013-04-25 15:21+0000\n" |
128 | +"Last-Translator: Illimar Saatväli <is@hot.ee>\n" |
129 | +"Language-Team: Estonian <et@li.org>\n" |
130 | +>>>>>>> MERGE-SOURCE |
131 | "MIME-Version: 1.0\n" |
132 | "Content-Type: text/plain; charset=UTF-8\n" |
133 | "Content-Transfer-Encoding: 8bit\n" |
134 | +<<<<<<< TREE |
135 | "X-Launchpad-Export-Date: 2013-05-10 05:43+0000\n" |
136 | "X-Generator: Launchpad (build 16598)\n" |
137 | +======= |
138 | +"X-Launchpad-Export-Date: 2013-04-26 06:23+0000\n" |
139 | +"X-Generator: Launchpad (build 16580)\n" |
140 | +>>>>>>> MERGE-SOURCE |
141 | |
142 | #. module: base |
143 | #: model:ir.module.module,description:base.module_account_check_writing |
144 | |
145 | === modified file 'openerp/addons/base/i18n/fr.po' |
146 | --- openerp/addons/base/i18n/fr.po 2013-05-10 05:51:58 +0000 |
147 | +++ openerp/addons/base/i18n/fr.po 2013-05-16 08:48:42 +0000 |
148 | @@ -4,17 +4,31 @@ |
149 | # |
150 | msgid "" |
151 | msgstr "" |
152 | +<<<<<<< TREE |
153 | "Project-Id-Version: OpenERP Server 5.0.4\n" |
154 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
155 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
156 | "PO-Revision-Date: 2012-12-06 10:07+0000\n" |
157 | "Last-Translator: Quentin THEURET <Unknown>\n" |
158 | "Language-Team: \n" |
159 | +======= |
160 | +"Project-Id-Version: openobject-server\n" |
161 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
162 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
163 | +"PO-Revision-Date: 2013-05-13 14:03+0000\n" |
164 | +"Last-Translator: WANTELLET Sylvain <Swantellet@tetra-info.com>\n" |
165 | +"Language-Team: French <fr@li.org>\n" |
166 | +>>>>>>> MERGE-SOURCE |
167 | "MIME-Version: 1.0\n" |
168 | "Content-Type: text/plain; charset=UTF-8\n" |
169 | "Content-Transfer-Encoding: 8bit\n" |
170 | +<<<<<<< TREE |
171 | "X-Launchpad-Export-Date: 2013-05-10 05:43+0000\n" |
172 | "X-Generator: Launchpad (build 16598)\n" |
173 | +======= |
174 | +"X-Launchpad-Export-Date: 2013-05-14 06:25+0000\n" |
175 | +"X-Generator: Launchpad (build 16617)\n" |
176 | +>>>>>>> MERGE-SOURCE |
177 | |
178 | #. module: base |
179 | #: model:ir.module.module,description:base.module_account_check_writing |
180 | @@ -601,7 +615,7 @@ |
181 | #. module: base |
182 | #: model:ir.module.module,summary:base.module_hr |
183 | msgid "Jobs, Departments, Employees Details" |
184 | -msgstr "Postes, Départements, Détail des Employés" |
185 | +msgstr "Postes, départements, coordonnées des employés" |
186 | |
187 | #. module: base |
188 | #: model:ir.module.module,description:base.module_analytic |
189 | @@ -1262,7 +1276,7 @@ |
190 | #. module: base |
191 | #: model:ir.module.module,shortdesc:base.module_fleet |
192 | msgid "Fleet Management" |
193 | -msgstr "Gestion de flotte" |
194 | +msgstr "Parc automobile" |
195 | |
196 | #. module: base |
197 | #: help:ir.server.object.lines,value:0 |
198 | @@ -6817,7 +6831,7 @@ |
199 | #. module: base |
200 | #: model:ir.module.module,summary:base.module_mrp |
201 | msgid "Manufacturing Orders, Bill of Materials, Routing" |
202 | -msgstr "Ordres de fabrication, Nomenclature, Gammes opératoire" |
203 | +msgstr "Ordres de fabrication, nomenclature, gammes opératoires" |
204 | |
205 | #. module: base |
206 | #: field:ir.attachment,name:0 |
207 | @@ -8961,7 +8975,16 @@ |
208 | #. module: base |
209 | #: field:change.password.user,user_login:0 |
210 | msgid "User Login" |
211 | -msgstr "Identifiant" |
212 | +<<<<<<< TREE |
213 | +msgstr "Identifiant" |
214 | +======= |
215 | +msgstr "Identifiant" |
216 | + |
217 | +#. module: base |
218 | +#: view:ir.filters:0 |
219 | +msgid "Filters created by myself" |
220 | +msgstr "Mes filtres" |
221 | +>>>>>>> MERGE-SOURCE |
222 | |
223 | #. module: base |
224 | #: model:ir.module.module,shortdesc:base.module_l10n_hn |
225 | @@ -9136,7 +9159,7 @@ |
226 | #. module: base |
227 | #: view:ir.cron:0 |
228 | msgid "Scheduled Action" |
229 | -msgstr "" |
230 | +msgstr "Action plannifiée" |
231 | |
232 | #. module: base |
233 | #: model:res.country,name:base.bi |
234 | @@ -9184,6 +9207,15 @@ |
235 | |
236 | #. module: base |
237 | #: view:res.partner:0 |
238 | +<<<<<<< TREE |
239 | +======= |
240 | +#: view:res.users:0 |
241 | +msgid "Tags..." |
242 | +msgstr "Étiquettes..." |
243 | + |
244 | +#. module: base |
245 | +#: view:res.partner:0 |
246 | +>>>>>>> MERGE-SOURCE |
247 | msgid "at" |
248 | msgstr "" |
249 | |
250 | @@ -9208,6 +9240,14 @@ |
251 | msgstr "Format de fichier" |
252 | |
253 | #. module: base |
254 | +<<<<<<< TREE |
255 | +======= |
256 | +#: view:ir.filters:0 |
257 | +msgid "My filters" |
258 | +msgstr "Mes filtres" |
259 | + |
260 | +#. module: base |
261 | +>>>>>>> MERGE-SOURCE |
262 | #: field:res.lang,iso_code:0 |
263 | msgid "ISO code" |
264 | msgstr "Code ISO" |
265 | @@ -9451,7 +9491,7 @@ |
266 | #. module: base |
267 | #: view:base.language.export:0 |
268 | msgid "Launchpad" |
269 | -msgstr "" |
270 | +msgstr "Launchpad" |
271 | |
272 | #. module: base |
273 | #: help:res.currency.rate,currency_rate_type_id:0 |
274 | @@ -9519,7 +9559,7 @@ |
275 | #. module: base |
276 | #: model:ir.module.module,summary:base.module_account_accountant |
277 | msgid "Financial and Analytic Accounting" |
278 | -msgstr "" |
279 | +msgstr "Comptabilité financière et analytique" |
280 | |
281 | #. module: base |
282 | #: model:ir.module.module,shortdesc:base.module_portal_project |
283 | @@ -9542,7 +9582,7 @@ |
284 | #: view:res.partner:0 |
285 | #: field:res.partner,user_id:0 |
286 | msgid "Salesperson" |
287 | -msgstr "" |
288 | +msgstr "Vendeur" |
289 | |
290 | #. module: base |
291 | #: view:res.lang:0 |
292 | @@ -9614,7 +9654,7 @@ |
293 | #: code:addons/base/ir/ir_model.py:728 |
294 | #, python-format |
295 | msgid "Sorry, you are not allowed to modify this document." |
296 | -msgstr "" |
297 | +msgstr "Désolé, vous n’êtes pas autorisé à modifier ce document." |
298 | |
299 | #. module: base |
300 | #: code:addons/base/res/res_config.py:350 |
301 | @@ -9705,7 +9745,7 @@ |
302 | #. module: base |
303 | #: model:res.partner.category,name:base.res_partner_category_13 |
304 | msgid "Distributor" |
305 | -msgstr "" |
306 | +msgstr "Distributeur" |
307 | |
308 | #. module: base |
309 | #: help:ir.actions.server,subject:0 |
310 | @@ -9962,7 +10002,7 @@ |
311 | #. module: base |
312 | #: model:ir.module.module,shortdesc:base.module_account_followup |
313 | msgid "Payment Follow-up Management" |
314 | -msgstr "" |
315 | +msgstr "Gestion des relances de paiement" |
316 | |
317 | #. module: base |
318 | #: field:workflow.workitem,inst_id:0 |
319 | @@ -10204,7 +10244,7 @@ |
320 | #. module: base |
321 | #: field:ir.translation,name:0 |
322 | msgid "Translated field" |
323 | -msgstr "" |
324 | +msgstr "Champ traduit" |
325 | |
326 | #. module: base |
327 | #: model:ir.module.module,shortdesc:base.module_stock_location |
328 | @@ -10224,7 +10264,7 @@ |
329 | #. module: base |
330 | #: model:ir.module.module,shortdesc:base.module_document_page |
331 | msgid "Document Page" |
332 | -msgstr "" |
333 | +msgstr "Gestion documentaire de pages Web" |
334 | |
335 | #. module: base |
336 | #: model:ir.module.module,shortdesc:base.module_l10n_ar |
337 | @@ -10234,7 +10274,7 @@ |
338 | #. module: base |
339 | #: field:ir.module.module,description_html:0 |
340 | msgid "Description HTML" |
341 | -msgstr "" |
342 | +msgstr "Description HTML" |
343 | |
344 | #. module: base |
345 | #: help:res.groups,implied_ids:0 |
346 | @@ -10245,7 +10285,7 @@ |
347 | #. module: base |
348 | #: model:ir.module.module,summary:base.module_note |
349 | msgid "Sticky notes, Collaborative, Memos" |
350 | -msgstr "" |
351 | +msgstr "Notes repositionnables, collaboratif, mémos" |
352 | |
353 | #. module: base |
354 | #: model:ir.module.module,shortdesc:base.module_hr_attendance |
355 | @@ -10392,7 +10432,7 @@ |
356 | #. module: base |
357 | #: field:res.currency,position:0 |
358 | msgid "Symbol Position" |
359 | -msgstr "" |
360 | +msgstr "Position du symbole" |
361 | |
362 | #. module: base |
363 | #: model:ir.module.module,description:base.module_l10n_de |
364 | @@ -10430,7 +10470,7 @@ |
365 | #. module: base |
366 | #: view:base.language.export:0 |
367 | msgid "documentation" |
368 | -msgstr "" |
369 | +msgstr "documentation" |
370 | |
371 | #. module: base |
372 | #: help:ir.model,osv_memory:0 |
373 | @@ -10476,7 +10516,7 @@ |
374 | #: code:addons/base/ir/ir_model.py:730 |
375 | #, python-format |
376 | msgid "Sorry, you are not allowed to delete this document." |
377 | -msgstr "" |
378 | +msgstr "Désolé, vous n’êtes pas autorisé à supprimer ce document." |
379 | |
380 | #. module: base |
381 | #: constraint:ir.rule:0 |
382 | @@ -10549,7 +10589,7 @@ |
383 | #. module: base |
384 | #: view:ir.attachment:0 |
385 | msgid "My Document(s)" |
386 | -msgstr "" |
387 | +msgstr "Mes documents" |
388 | |
389 | #. module: base |
390 | #: help:ir.actions.act_window,res_model:0 |
391 | @@ -10626,12 +10666,12 @@ |
392 | #. module: base |
393 | #: model:res.partner.category,name:base.res_partner_category_5 |
394 | msgid "Silver" |
395 | -msgstr "" |
396 | +msgstr "Argent" |
397 | |
398 | #. module: base |
399 | #: field:res.partner.title,shortcut:0 |
400 | msgid "Abbreviation" |
401 | -msgstr "" |
402 | +msgstr "Abréviation" |
403 | |
404 | #. module: base |
405 | #: model:ir.ui.menu,name:base.menu_crm_case_job_req_main |
406 | @@ -11115,7 +11155,7 @@ |
407 | #: code:addons/base/module/module.py:499 |
408 | #, python-format |
409 | msgid "The `base` module cannot be uninstalled" |
410 | -msgstr "" |
411 | +msgstr "Le module \"base\" ne peut pas être désinstallé" |
412 | |
413 | #. module: base |
414 | #: code:addons/base/ir/ir_cron.py:254 |
415 | @@ -11142,7 +11182,7 @@ |
416 | #: code:addons/base/ir/ir_model.py:729 |
417 | #, python-format |
418 | msgid "Sorry, you are not allowed to create this kind of document." |
419 | -msgstr "" |
420 | +msgstr "Désolé, vous n'êtes pas autorisé à créer ce type de document." |
421 | |
422 | #. module: base |
423 | #: field:base.language.export,lang:0 |
424 | @@ -11184,7 +11224,7 @@ |
425 | #. module: base |
426 | #: field:ir.model.fields,on_delete:0 |
427 | msgid "On Delete" |
428 | -msgstr "" |
429 | +msgstr "En cas de suppression" |
430 | |
431 | #. module: base |
432 | #: code:addons/base/ir/ir_model.py:348 |
433 | |
434 | === modified file 'openerp/addons/base/i18n/id.po' |
435 | --- openerp/addons/base/i18n/id.po 2013-05-10 05:51:58 +0000 |
436 | +++ openerp/addons/base/i18n/id.po 2013-05-16 08:48:42 +0000 |
437 | @@ -7,15 +7,26 @@ |
438 | msgstr "" |
439 | "Project-Id-Version: openobject-addons\n" |
440 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
441 | +<<<<<<< TREE |
442 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
443 | "PO-Revision-Date: 2011-02-22 17:30+0000\n" |
444 | "Last-Translator: Agus Purnomo <goesspoerr@gmail.com>\n" |
445 | +======= |
446 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
447 | +"PO-Revision-Date: 2013-05-13 05:49+0000\n" |
448 | +"Last-Translator: David Leonardi <Unknown>\n" |
449 | +>>>>>>> MERGE-SOURCE |
450 | "Language-Team: Indonesian <id@li.org>\n" |
451 | "MIME-Version: 1.0\n" |
452 | "Content-Type: text/plain; charset=UTF-8\n" |
453 | "Content-Transfer-Encoding: 8bit\n" |
454 | +<<<<<<< TREE |
455 | "X-Launchpad-Export-Date: 2013-05-10 05:44+0000\n" |
456 | "X-Generator: Launchpad (build 16598)\n" |
457 | +======= |
458 | +"X-Launchpad-Export-Date: 2013-05-14 06:25+0000\n" |
459 | +"X-Generator: Launchpad (build 16617)\n" |
460 | +>>>>>>> MERGE-SOURCE |
461 | |
462 | #. module: base |
463 | #: model:ir.module.module,description:base.module_account_check_writing |
464 | @@ -25,6 +36,9 @@ |
465 | "================================================\n" |
466 | " " |
467 | msgstr "" |
468 | +"\n" |
469 | +"Modul untuk menulis dan mencetak Cek\n" |
470 | +" " |
471 | |
472 | #. module: base |
473 | #: model:res.country,name:base.sh |
474 | @@ -58,7 +72,7 @@ |
475 | #. module: base |
476 | #: model:ir.module.module,summary:base.module_sale_stock |
477 | msgid "Quotation, Sale Orders, Delivery & Invoicing Control" |
478 | -msgstr "" |
479 | +msgstr "Kontrol Penawaran, Pesanan Penjualan, Pengiriman & Faktur" |
480 | |
481 | #. module: base |
482 | #: selection:ir.sequence,implementation:0 |
483 | |
484 | === modified file 'openerp/addons/base/i18n/lt.po' |
485 | --- openerp/addons/base/i18n/lt.po 2013-05-10 05:51:58 +0000 |
486 | +++ openerp/addons/base/i18n/lt.po 2013-05-16 08:48:42 +0000 |
487 | @@ -1,20 +1,41 @@ |
488 | +<<<<<<< TREE |
489 | # Translation of OpenERP Server. |
490 | # This file contains the translation of the following modules: |
491 | # * base |
492 | +======= |
493 | +# Lithuanian translation for openobject-server |
494 | +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 |
495 | +# This file is distributed under the same license as the openobject-server package. |
496 | +# Giedrius Slavinskas <giedrius@inovera.lt>, 2012. |
497 | +>>>>>>> MERGE-SOURCE |
498 | # |
499 | msgid "" |
500 | msgstr "" |
501 | +<<<<<<< TREE |
502 | "Project-Id-Version: OpenERP Server 5.0.0\n" |
503 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
504 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
505 | "PO-Revision-Date: 2012-08-20 15:52+0000\n" |
506 | "Last-Translator: Paulius Sladkevičius <paulius@hacbee.com>\n" |
507 | "Language-Team: \n" |
508 | +======= |
509 | +"Project-Id-Version: openobject-server\n" |
510 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
511 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
512 | +"PO-Revision-Date: 2013-05-07 09:54+0000\n" |
513 | +"Last-Translator: Paulius Sladkevičius <paulius@hacbee.com>\n" |
514 | +"Language-Team: Lithuanian <lt@li.org>\n" |
515 | +>>>>>>> MERGE-SOURCE |
516 | "MIME-Version: 1.0\n" |
517 | "Content-Type: text/plain; charset=UTF-8\n" |
518 | "Content-Transfer-Encoding: 8bit\n" |
519 | +<<<<<<< TREE |
520 | "X-Launchpad-Export-Date: 2013-05-10 05:46+0000\n" |
521 | "X-Generator: Launchpad (build 16598)\n" |
522 | +======= |
523 | +"X-Launchpad-Export-Date: 2013-05-08 06:17+0000\n" |
524 | +"X-Generator: Launchpad (build 16598)\n" |
525 | +>>>>>>> MERGE-SOURCE |
526 | |
527 | #. module: base |
528 | #: model:ir.module.module,description:base.module_account_check_writing |
529 | @@ -26,6 +47,14 @@ |
530 | msgstr "" |
531 | |
532 | #. module: base |
533 | +<<<<<<< TREE |
534 | +======= |
535 | +#: view:res.partner.bank:0 |
536 | +msgid "e.g. GEBABEBB" |
537 | +msgstr "pvz. GEBABEBB" |
538 | + |
539 | +#. module: base |
540 | +>>>>>>> MERGE-SOURCE |
541 | #: model:res.country,name:base.sh |
542 | msgid "Saint Helena" |
543 | msgstr "Šv. Elenos sala" |
544 | @@ -649,6 +678,14 @@ |
545 | msgstr "Pardavimai ir pirkimai" |
546 | |
547 | #. module: base |
548 | +<<<<<<< TREE |
549 | +======= |
550 | +#: view:res.partner:0 |
551 | +msgid "Put an internal note..." |
552 | +msgstr "Įveskite vidines pastabas..." |
553 | + |
554 | +#. module: base |
555 | +>>>>>>> MERGE-SOURCE |
556 | #: view:ir.translation:0 |
557 | msgid "Untranslated" |
558 | msgstr "Neišversta" |
559 | @@ -977,6 +1014,18 @@ |
560 | msgstr "" |
561 | |
562 | #. module: base |
563 | +<<<<<<< TREE |
564 | +======= |
565 | +#: view:res.bank:0 |
566 | +#: view:res.company:0 |
567 | +#: view:res.partner:0 |
568 | +#: view:res.partner.bank:0 |
569 | +#: view:res.users:0 |
570 | +msgid "ZIP" |
571 | +msgstr "Pašto kodas" |
572 | + |
573 | +#. module: base |
574 | +>>>>>>> MERGE-SOURCE |
575 | #: selection:base.language.install,lang:0 |
576 | msgid "Spanish (UY) / Español (UY)" |
577 | msgstr "" |
578 | @@ -2717,12 +2766,16 @@ |
579 | #: field:ir.translation,res_id:0 |
580 | #: field:ir.values,res_id:0 |
581 | msgid "Record ID" |
582 | +<<<<<<< TREE |
583 | msgstr "Įrašo ID" |
584 | |
585 | #. module: base |
586 | #: view:ir.filters:0 |
587 | msgid "My Filters" |
588 | msgstr "" |
589 | +======= |
590 | +msgstr "Įrašo ID" |
591 | +>>>>>>> MERGE-SOURCE |
592 | |
593 | #. module: base |
594 | #: field:ir.actions.server,email:0 |
595 | @@ -3111,6 +3164,14 @@ |
596 | msgstr "" |
597 | |
598 | #. module: base |
599 | +<<<<<<< TREE |
600 | +======= |
601 | +#: view:res.company:0 |
602 | +msgid "e.g. Global Business Solutions" |
603 | +msgstr "pvz. Global Business Solutions" |
604 | + |
605 | +#. module: base |
606 | +>>>>>>> MERGE-SOURCE |
607 | #: field:res.company,rml_header1:0 |
608 | msgid "Company Tagline" |
609 | msgstr "Įmonės šūkis" |
610 | @@ -5998,7 +6059,16 @@ |
611 | #. module: base |
612 | #: model:res.country,name:base.um |
613 | msgid "USA Minor Outlying Islands" |
614 | -msgstr "JAV smulkios atokios salos" |
615 | +<<<<<<< TREE |
616 | +msgstr "JAV smulkios atokios salos" |
617 | +======= |
618 | +msgstr "JAV smulkios atokios salos" |
619 | + |
620 | +#. module: base |
621 | +#: view:base.language.import:0 |
622 | +msgid "e.g. English" |
623 | +msgstr "pvz. English" |
624 | +>>>>>>> MERGE-SOURCE |
625 | |
626 | #. module: base |
627 | #: help:ir.cron,numbercall:0 |
628 | @@ -6084,6 +6154,16 @@ |
629 | msgstr "" |
630 | |
631 | #. module: base |
632 | +<<<<<<< TREE |
633 | +======= |
634 | +#: view:res.company:0 |
635 | +#: view:res.partner:0 |
636 | +#: view:res.users:0 |
637 | +msgid "e.g. www.openerp.com" |
638 | +msgstr "pvz. www.openerp.com" |
639 | + |
640 | +#. module: base |
641 | +>>>>>>> MERGE-SOURCE |
642 | #: selection:ir.cron,interval_type:0 |
643 | msgid "Hours" |
644 | msgstr "Valandos" |
645 | @@ -7296,7 +7376,16 @@ |
646 | #. module: base |
647 | #: field:change.password.user,user_login:0 |
648 | msgid "User Login" |
649 | -msgstr "Naudotojo registracijos vardas" |
650 | +<<<<<<< TREE |
651 | +msgstr "Naudotojo registracijos vardas" |
652 | +======= |
653 | +msgstr "Naudotojo registracijos vardas" |
654 | + |
655 | +#. module: base |
656 | +#: view:ir.filters:0 |
657 | +msgid "Filters created by myself" |
658 | +msgstr "" |
659 | +>>>>>>> MERGE-SOURCE |
660 | |
661 | #. module: base |
662 | #: model:ir.module.module,shortdesc:base.module_l10n_hn |
663 | @@ -7515,6 +7604,15 @@ |
664 | |
665 | #. module: base |
666 | #: view:res.partner:0 |
667 | +<<<<<<< TREE |
668 | +======= |
669 | +#: view:res.users:0 |
670 | +msgid "Tags..." |
671 | +msgstr "Žymos..." |
672 | + |
673 | +#. module: base |
674 | +#: view:res.partner:0 |
675 | +>>>>>>> MERGE-SOURCE |
676 | msgid "at" |
677 | msgstr "su" |
678 | |
679 | @@ -10168,6 +10266,17 @@ |
680 | msgstr "" |
681 | |
682 | #. module: base |
683 | +<<<<<<< TREE |
684 | +======= |
685 | +#: view:res.bank:0 |
686 | +#: view:res.company:0 |
687 | +#: view:res.partner:0 |
688 | +#: view:res.users:0 |
689 | +msgid "Street..." |
690 | +msgstr "Gatvė..." |
691 | + |
692 | +#. module: base |
693 | +>>>>>>> MERGE-SOURCE |
694 | #: constraint:res.users:0 |
695 | msgid "The chosen company is not in the allowed companies for this user" |
696 | msgstr "" |
697 | @@ -11452,7 +11561,17 @@ |
698 | #. module: base |
699 | #: field:res.partner,customer:0 |
700 | msgid "Customer" |
701 | -msgstr "Pirkėjas" |
702 | +<<<<<<< TREE |
703 | +msgstr "Pirkėjas" |
704 | +======= |
705 | +msgstr "Pirkėjas" |
706 | + |
707 | +#. module: base |
708 | +#: view:res.partner:0 |
709 | +#: view:res.users:0 |
710 | +msgid "e.g. +32.81.81.37.00" |
711 | +msgstr "pvz. +32.81.81.37.00" |
712 | +>>>>>>> MERGE-SOURCE |
713 | |
714 | #. module: base |
715 | #: selection:base.language.install,lang:0 |
716 | @@ -14618,6 +14737,14 @@ |
717 | msgstr "" |
718 | |
719 | #. module: base |
720 | +<<<<<<< TREE |
721 | +======= |
722 | +#: view:res.partner:0 |
723 | +msgid "e.g. Sales Director" |
724 | +msgstr "pvz. Pardavimų vadovas" |
725 | + |
726 | +#. module: base |
727 | +>>>>>>> MERGE-SOURCE |
728 | #: selection:base.language.install,lang:0 |
729 | msgid "Czech / Čeština" |
730 | msgstr "" |
731 | @@ -14791,6 +14918,14 @@ |
732 | msgstr "" |
733 | |
734 | #. module: base |
735 | +<<<<<<< TREE |
736 | +======= |
737 | +#: view:base.language.import:0 |
738 | +msgid "e.g. en_US" |
739 | +msgstr "pvz. en_US" |
740 | + |
741 | +#. module: base |
742 | +>>>>>>> MERGE-SOURCE |
743 | #: model:ir.module.module,description:base.module_l10n_hn |
744 | msgid "" |
745 | "\n" |
746 | |
747 | === modified file 'openerp/addons/base/i18n/ro.po' |
748 | --- openerp/addons/base/i18n/ro.po 2013-05-10 05:51:58 +0000 |
749 | +++ openerp/addons/base/i18n/ro.po 2013-05-16 08:48:42 +0000 |
750 | @@ -4,17 +4,31 @@ |
751 | # |
752 | msgid "" |
753 | msgstr "" |
754 | +<<<<<<< TREE |
755 | "Project-Id-Version: OpenERP Server 5.0.4\n" |
756 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
757 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
758 | "PO-Revision-Date: 2013-01-05 18:18+0000\n" |
759 | "Last-Translator: Fekete Mihai <mihai@erpsystems.ro>\n" |
760 | "Language-Team: \n" |
761 | +======= |
762 | +"Project-Id-Version: openobject-server\n" |
763 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
764 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
765 | +"PO-Revision-Date: 2013-05-07 16:32+0000\n" |
766 | +"Last-Translator: Dorin <dhongu@gmail.com>\n" |
767 | +"Language-Team: Romanian <ro@li.org>\n" |
768 | +>>>>>>> MERGE-SOURCE |
769 | "MIME-Version: 1.0\n" |
770 | "Content-Type: text/plain; charset=UTF-8\n" |
771 | "Content-Transfer-Encoding: 8bit\n" |
772 | +<<<<<<< TREE |
773 | "X-Launchpad-Export-Date: 2013-05-10 05:47+0000\n" |
774 | "X-Generator: Launchpad (build 16598)\n" |
775 | +======= |
776 | +"X-Launchpad-Export-Date: 2013-05-08 06:17+0000\n" |
777 | +"X-Generator: Launchpad (build 16598)\n" |
778 | +>>>>>>> MERGE-SOURCE |
779 | |
780 | #. module: base |
781 | #: model:ir.module.module,description:base.module_account_check_writing |
782 | |
783 | === modified file 'openerp/addons/base/i18n/tr.po' |
784 | --- openerp/addons/base/i18n/tr.po 2013-05-10 05:51:58 +0000 |
785 | +++ openerp/addons/base/i18n/tr.po 2013-05-16 08:48:42 +0000 |
786 | @@ -4,17 +4,31 @@ |
787 | # |
788 | msgid "" |
789 | msgstr "" |
790 | +<<<<<<< TREE |
791 | "Project-Id-Version: OpenERP Server 5.0.4\n" |
792 | "Report-Msgid-Bugs-To: support@openerp.com\n" |
793 | "POT-Creation-Date: 2012-12-21 17:04+0000\n" |
794 | "PO-Revision-Date: 2012-11-28 08:41+0000\n" |
795 | "Last-Translator: Ahmet Altınışık <Unknown>\n" |
796 | "Language-Team: \n" |
797 | +======= |
798 | +"Project-Id-Version: openobject-server\n" |
799 | +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
800 | +"POT-Creation-Date: 2013-03-07 08:36+0000\n" |
801 | +"PO-Revision-Date: 2013-05-05 17:30+0000\n" |
802 | +"Last-Translator: Ayhan KIZILTAN <Unknown>\n" |
803 | +"Language-Team: Turkish <tr@li.org>\n" |
804 | +>>>>>>> MERGE-SOURCE |
805 | "MIME-Version: 1.0\n" |
806 | "Content-Type: text/plain; charset=UTF-8\n" |
807 | "Content-Transfer-Encoding: 8bit\n" |
808 | +<<<<<<< TREE |
809 | "X-Launchpad-Export-Date: 2013-05-10 05:48+0000\n" |
810 | "X-Generator: Launchpad (build 16598)\n" |
811 | +======= |
812 | +"X-Launchpad-Export-Date: 2013-05-06 06:35+0000\n" |
813 | +"X-Generator: Launchpad (build 16598)\n" |
814 | +>>>>>>> MERGE-SOURCE |
815 | |
816 | #. module: base |
817 | #: model:ir.module.module,description:base.module_account_check_writing |
818 | @@ -3281,6 +3295,14 @@ |
819 | msgstr "" |
820 | |
821 | #. module: base |
822 | +<<<<<<< TREE |
823 | +======= |
824 | +#: view:res.company:0 |
825 | +msgid "e.g. Global Business Solutions" |
826 | +msgstr "e.g. Global İş Çözümleri" |
827 | + |
828 | +#. module: base |
829 | +>>>>>>> MERGE-SOURCE |
830 | #: field:res.company,rml_header1:0 |
831 | msgid "Company Tagline" |
832 | msgstr "Firma Sloganı" |
833 | @@ -6766,6 +6788,14 @@ |
834 | msgstr "ir.cron" |
835 | |
836 | #. module: base |
837 | +<<<<<<< TREE |
838 | +======= |
839 | +#: model:ir.ui.menu,name:base.menu_sales_followup |
840 | +msgid "Payment Follow-up" |
841 | +msgstr "Ödeme Takibi" |
842 | + |
843 | +#. module: base |
844 | +>>>>>>> MERGE-SOURCE |
845 | #: model:res.country,name:base.cw |
846 | msgid "Curaçao" |
847 | msgstr "" |
848 | |
849 | === modified file 'openerp/addons/base/ir/ir_ui_menu.py' |
850 | --- openerp/addons/base/ir/ir_ui_menu.py 2013-03-29 14:07:23 +0000 |
851 | +++ openerp/addons/base/ir/ir_ui_menu.py 2013-05-16 08:48:42 +0000 |
852 | @@ -299,8 +299,33 @@ |
853 | - the needaction counter of the related action, taking into account |
854 | the action domain |
855 | """ |
856 | + if context is None: |
857 | + context = {} |
858 | res = {} |
859 | + menu_ids = set() |
860 | for menu in self.browse(cr, uid, ids, context=context): |
861 | + menu_ids.add(menu.id) |
862 | + ctx = None |
863 | + if menu.action and menu.action.type in ('ir.actions.act_window', 'ir.actions.client') and menu.action.context: |
864 | + try: |
865 | + # use magical UnquoteEvalContext to ignore undefined client-side variables such as `active_id` |
866 | + eval_ctx = tools.UnquoteEvalContext(**context) |
867 | + ctx = eval(menu.action.context, locals_dict=eval_ctx, nocopy=True) or None |
868 | + except Exception: |
869 | + # if the eval still fails for some reason, we'll simply skip this menu |
870 | + pass |
871 | + menu_ref = ctx and ctx.get('needaction_menu_ref') |
872 | + if menu_ref: |
873 | + if not isinstance(menu_ref, list): |
874 | + menu_ref = [menu_ref] |
875 | + model_data_obj = self.pool.get('ir.model.data') |
876 | + for menu_data in menu_ref: |
877 | + model, id = model_data_obj.get_object_reference(cr, uid, menu_data.split('.')[0], menu_data.split('.')[1]) |
878 | + if (model == 'ir.ui.menu'): |
879 | + menu_ids.add(id) |
880 | + menu_ids = list(menu_ids) |
881 | + |
882 | + for menu in self.browse(cr, uid, menu_ids, context=context): |
883 | res[menu.id] = { |
884 | 'needaction_enabled': False, |
885 | 'needaction_counter': False, |
886 | |
887 | === modified file 'openerp/addons/base/res/res_partner.py' |
888 | --- openerp/addons/base/res/res_partner.py 2013-04-24 13:19:36 +0000 |
889 | +++ openerp/addons/base/res/res_partner.py 2013-05-16 08:48:42 +0000 |
890 | @@ -74,7 +74,8 @@ |
891 | |
892 | |
893 | def _tz_get(self,cr,uid, context=None): |
894 | - return [(x, x) for x in pytz.all_timezones] |
895 | + # put POSIX 'Etc/*' entries at the end to avoid confusing users - see bug 1086728 |
896 | + return [(tz,tz) for tz in sorted(pytz.all_timezones, key=lambda tz: tz if not tz.startswith('Etc/') else '_')] |
897 | |
898 | class res_partner_category(osv.osv): |
899 | |
900 | @@ -462,7 +463,7 @@ |
901 | """ Sync commercial fields and address fields from company and to children after create/update, |
902 | just as if those were all modeled as fields.related to the parent """ |
903 | # 1. From UPSTREAM: sync from parent |
904 | - if update_values.get('parent_id') or update_values.get('use_company_address'): |
905 | + if update_values.get('parent_id') or update_values.get('use_parent_address'): |
906 | # 1a. Commercial fields: sync if parent changed |
907 | if update_values.get('parent_id'): |
908 | self._commercial_sync_from_company(cr, uid, partner, context=context) |
909 | |
910 | === modified file 'openerp/addons/base/res/res_partner_view.xml' |
911 | --- openerp/addons/base/res/res_partner_view.xml 2013-04-22 09:36:55 +0000 |
912 | +++ openerp/addons/base/res/res_partner_view.xml 2013-05-16 08:48:42 +0000 |
913 | @@ -157,8 +157,8 @@ |
914 | <div> |
915 | <field name="use_parent_address" class="oe_edit_only oe_inline" |
916 | on_change="onchange_address(use_parent_address, parent_id)" |
917 | - attrs="{'invisible': [('parent_id','=', False)]}"/> |
918 | - <label for="use_parent_address" class="oe_edit_only" attrs="{'invisible': [('parent_id','=', False)]}"/> |
919 | + attrs="{'invisible': [('parent_id','=', False),('use_parent_address','=',False)]}"/> |
920 | + <label for="use_parent_address" class="oe_edit_only" attrs="{'invisible': [('parent_id','=', False),('use_parent_address','=',False)]}"/> |
921 | <button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only" |
922 | attrs="{'invisible': ['|',('parent_id','=', False),('use_parent_address','=',False)]}"/> |
923 | <field name="street" placeholder="Street..." attrs="{'readonly': [('use_parent_address','=',True)]}"/> |
924 | |
925 | === modified file 'openerp/addons/base/tests/test_base.py' |
926 | --- openerp/addons/base/tests/test_base.py 2013-04-22 09:36:55 +0000 |
927 | +++ openerp/addons/base/tests/test_base.py 2013-05-16 08:48:42 +0000 |
928 | @@ -61,6 +61,24 @@ |
929 | self.assertEqual(p1.phone, p1phone, 'Phone should be preserved after address sync') |
930 | self.assertEqual(p1.type, 'contact', 'Type should be preserved after address sync') |
931 | self.assertEqual(p1.email, 'denis.bladesmith@ghoststep.com', 'Email should be preserved after sync') |
932 | + |
933 | + # turn off sync |
934 | + p1street = 'Different street, 42' |
935 | + p1.write({'street': p1street, |
936 | + 'use_parent_address': False}) |
937 | + p1.refresh(), ghoststep.refresh() |
938 | + self.assertEqual(p1.street, p1street, 'Address fields must not be synced after turning sync off') |
939 | + self.assertNotEqual(ghoststep.street, p1street, 'Parent address must never be touched') |
940 | + |
941 | + # turn on sync again |
942 | + p1.write({'use_parent_address': True}) |
943 | + p1.refresh() |
944 | + self.assertEqual(p1.street, ghoststep.street, 'Address fields must be synced again') |
945 | + self.assertEqual(p1.phone, p1phone, 'Phone should be preserved after address sync') |
946 | + self.assertEqual(p1.type, 'contact', 'Type should be preserved after address sync') |
947 | + self.assertEqual(p1.email, 'denis.bladesmith@ghoststep.com', 'Email should be preserved after sync') |
948 | + |
949 | + # Modify parent, sync to children |
950 | ghoststreet = 'South Street, 25' |
951 | ghoststep.write({'street': ghoststreet}) |
952 | p1.refresh() |
953 | |
954 | === added file 'openerp/addons/base_quality_interrogation.py.OTHER' |
955 | --- openerp/addons/base_quality_interrogation.py.OTHER 1970-01-01 00:00:00 +0000 |
956 | +++ openerp/addons/base_quality_interrogation.py.OTHER 2013-05-16 08:48:42 +0000 |
957 | @@ -0,0 +1,353 @@ |
958 | +#!/usr/bin/env python |
959 | +# -*- coding: utf-8 -*- |
960 | +############################################################################## |
961 | +# |
962 | +# OpenERP, Open Source Management Solution |
963 | +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). |
964 | +# |
965 | +# This program is free software: you can redistribute it and/or modify |
966 | +# it under the terms of the GNU Affero General Public License as |
967 | +# published by the Free Software Foundation, either version 3 of the |
968 | +# License, or (at your option) any later version. |
969 | +# |
970 | +# This program is distributed in the hope that it will be useful, |
971 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
972 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
973 | +# GNU Affero General Public License for more details. |
974 | +# |
975 | +# You should have received a copy of the GNU Affero General Public License |
976 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
977 | +# |
978 | +############################################################################## |
979 | + |
980 | +import xmlrpclib |
981 | +import optparse |
982 | +import sys |
983 | +import threading |
984 | +import os |
985 | +import time |
986 | +import base64 |
987 | +import socket |
988 | +import string |
989 | + |
990 | +admin_passwd = 'admin' |
991 | +waittime = 10 |
992 | +wait_count = 0 |
993 | +wait_limit = 12 |
994 | + |
995 | +def to_decode(s): |
996 | + try: |
997 | + return s.encode('utf-8') |
998 | + except UnicodeError: |
999 | + try: |
1000 | + return s.encode('latin') |
1001 | + except UnicodeError: |
1002 | + try: |
1003 | + return s.decode('ascii') |
1004 | + except UnicodeError: |
1005 | + return s |
1006 | + |
1007 | +def start_server(root_path, port, netport, addons_path): |
1008 | + os.system('python2.5 %sopenerp-server --pidfile=openerp.pid --no-xmlrpcs --xmlrpc-port=%s --netrpc-port=%s --addons-path=%s' %(root_path, str(port),str(netport),addons_path)) |
1009 | +def clean(): |
1010 | + if os.path.isfile('openerp.pid'): |
1011 | + ps = open('openerp.pid') |
1012 | + if ps: |
1013 | + pid = int(ps.read()) |
1014 | + ps.close() |
1015 | + if pid: |
1016 | + os.kill(pid,9) |
1017 | + |
1018 | +def execute(connector, method, *args): |
1019 | + global wait_count |
1020 | + res = False |
1021 | + try: |
1022 | + res = getattr(connector,method)(*args) |
1023 | + except socket.error,e: |
1024 | + if e.args[0] == 111: |
1025 | + if wait_count > wait_limit: |
1026 | + print "Server is taking too long to start, it has exceeded the maximum limit of %d seconds." % wait_limit |
1027 | + clean() |
1028 | + sys.exit(1) |
1029 | + print 'Please wait %d sec to start server....' % waittime |
1030 | + wait_count += 1 |
1031 | + time.sleep(waittime) |
1032 | + res = execute(connector, method, *args) |
1033 | + else: |
1034 | + raise e |
1035 | + wait_count = 0 |
1036 | + return res |
1037 | + |
1038 | +def login(uri, dbname, user, pwd): |
1039 | + conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/common') |
1040 | + uid = execute(conn,'login',dbname, user, pwd) |
1041 | + return uid |
1042 | + |
1043 | +def import_translate(uri, user, pwd, dbname, translate_in): |
1044 | + uid = login(uri, dbname, user, pwd) |
1045 | + if uid: |
1046 | + conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard') |
1047 | + wiz_id = execute(conn,'create',dbname, uid, pwd, 'base.language.import') |
1048 | + for trans_in in translate_in: |
1049 | + lang,ext = os.path.splitext(trans_in.split('/')[-1]) |
1050 | + state = 'init' |
1051 | + datas = {'form':{}} |
1052 | + while state!='end': |
1053 | + res = execute(conn,'execute',dbname, uid, pwd, wiz_id, datas, state, {}) |
1054 | + if 'datas' in res: |
1055 | + datas['form'].update( res['datas'].get('form',{}) ) |
1056 | + if res['type']=='form': |
1057 | + for field in res['fields'].keys(): |
1058 | + datas['form'][field] = res['fields'][field].get('value', False) |
1059 | + state = res['state'][-1][0] |
1060 | + trans_obj = open(trans_in) |
1061 | + datas['form'].update({ |
1062 | + 'name': lang, |
1063 | + 'code': lang, |
1064 | + 'data' : base64.encodestring(trans_obj.read()) |
1065 | + }) |
1066 | + trans_obj.close() |
1067 | + elif res['type']=='action': |
1068 | + state = res['state'] |
1069 | + |
1070 | + |
1071 | +def check_quality(uri, user, pwd, dbname, modules, quality_logs): |
1072 | + uid = login(uri, dbname, user, pwd) |
1073 | + quality_logs += 'quality-logs' |
1074 | + if uid: |
1075 | + conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') |
1076 | + final = {} |
1077 | + for module in modules: |
1078 | + qualityresult = {} |
1079 | + test_detail = {} |
1080 | + quality_result = execute(conn,'execute', dbname, uid, pwd,'module.quality.check','check_quality',module) |
1081 | + detail_html = '' |
1082 | + html = '''<html><body><a name="TOP"></a>''' |
1083 | + html +="<h1> Module: %s </h1>"%(quality_result['name']) |
1084 | + html += "<h2> Final score: %s</h2>"%(quality_result['final_score']) |
1085 | + html += "<div id='tabs'>" |
1086 | + html += "<ul>" |
1087 | + for x,y,detail in quality_result['check_detail_ids']: |
1088 | + test = detail.get('name') |
1089 | + msg = detail.get('message','') |
1090 | + score = round(float(detail.get('score',0)),2) |
1091 | + html += "<li><a href=\"#%s\">%s</a></li>"%(test.replace(' ','-'),test) |
1092 | + detail_html +='''<div id=\"%s\"><h3>%s (Score : %s)</h3><font color=red><h5>%s</h5></font>%s</div>'''%(test.replace(' ', '-'), test, score, msg, detail.get('detail', '')) |
1093 | + test_detail[test] = (score,msg,detail.get('detail','')) |
1094 | + html += "</ul>" |
1095 | + html += "%s"% detail_html |
1096 | + html += "</div></body></html>" |
1097 | + if not os.path.isdir(quality_logs): |
1098 | + os.mkdir(quality_logs) |
1099 | + fp = open('%s/%s.html'%(quality_logs,module),'wb') |
1100 | + fp.write(to_decode(html)) |
1101 | + fp.close() |
1102 | + #final[quality_result['name']] = (quality_result['final_score'],html,test_detail) |
1103 | + |
1104 | + #fp = open('quality_log.pck','wb') |
1105 | + #pck_obj = pickle.dump(final,fp) |
1106 | + #fp.close() |
1107 | + #print "LOG PATH%s"%(os.path.realpath('quality_log.pck')) |
1108 | + return True |
1109 | + else: |
1110 | + print 'Login Failed...' |
1111 | + clean() |
1112 | + sys.exit(1) |
1113 | + |
1114 | + |
1115 | + |
1116 | +def wait(id,url=''): |
1117 | + progress=0.0 |
1118 | + sock2 = xmlrpclib.ServerProxy(url+'/xmlrpc/db') |
1119 | + while not progress==1.0: |
1120 | + progress,users = execute(sock2,'get_progress',admin_passwd, id) |
1121 | + return True |
1122 | + |
1123 | + |
1124 | +def create_db(uri, dbname, user='admin', pwd='admin', lang='en_US'): |
1125 | + conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/db') |
1126 | + obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') |
1127 | + wiz_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard') |
1128 | + login_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/common') |
1129 | + db_list = execute(conn, 'list') |
1130 | + if dbname in db_list: |
1131 | + drop_db(uri, dbname) |
1132 | + id = execute(conn,'create',admin_passwd, dbname, True, lang) |
1133 | + wait(id,uri) |
1134 | + install_module(uri, dbname, ['base_module_quality'],user=user,pwd=pwd) |
1135 | + return True |
1136 | + |
1137 | +def drop_db(uri, dbname): |
1138 | + conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/db') |
1139 | + db_list = execute(conn,'list') |
1140 | + if dbname in db_list: |
1141 | + execute(conn, 'drop', admin_passwd, dbname) |
1142 | + return True |
1143 | + |
1144 | +def make_links(uri, uid, dbname, source, destination, module, user, pwd): |
1145 | + if module in ('base','quality_integration_server'): |
1146 | + return True |
1147 | + if os.path.islink(destination + '/' + module): |
1148 | + os.unlink(destination + '/' + module) |
1149 | + for path in source: |
1150 | + if os.path.isdir(path + '/' + module): |
1151 | + os.symlink(path + '/' + module, destination + '/' + module) |
1152 | + obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') |
1153 | + execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'update_list') |
1154 | + module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','=',module)]) |
1155 | + if len(module_ids): |
1156 | + data = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'read', module_ids[0],['name','dependencies_id']) |
1157 | + dep_datas = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module.dependency', 'read', data['dependencies_id'],['name']) |
1158 | + for dep_data in dep_datas: |
1159 | + make_links(uri, uid, dbname, source, destination, dep_data['name'], user, pwd) |
1160 | + return False |
1161 | + |
1162 | +def install_module(uri, dbname, modules, addons='', extra_addons='', user='admin', pwd='admin'): |
1163 | + uid = login(uri, dbname, user, pwd) |
1164 | + if extra_addons: |
1165 | + extra_addons = extra_addons.split(',') |
1166 | + if uid: |
1167 | + if addons and extra_addons: |
1168 | + for module in modules: |
1169 | + make_links(uri, uid, dbname, extra_addons, addons, module, user, pwd) |
1170 | + |
1171 | + obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') |
1172 | + wizard_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard') |
1173 | + module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)]) |
1174 | + execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'button_install', module_ids) |
1175 | + wiz_id = execute(wizard_conn, 'create', dbname, uid, pwd, 'module.upgrade.simple') |
1176 | + state = 'init' |
1177 | + datas = {} |
1178 | + #while state!='menu': |
1179 | + while state!='end': |
1180 | + res = execute(wizard_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {}) |
1181 | + if state == 'init': |
1182 | + state = 'start' |
1183 | + elif state == 'start': |
1184 | + state = 'end' |
1185 | + return True |
1186 | + |
1187 | +def upgrade_module(uri, dbname, modules, user='admin', pwd='admin'): |
1188 | + uid = login(uri, dbname, user, pwd) |
1189 | + if uid: |
1190 | + obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') |
1191 | + wizard_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard') |
1192 | + module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)]) |
1193 | + execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'button_upgrade', module_ids) |
1194 | + wiz_id = execute(wizard_conn, 'create', dbname, uid, pwd, 'module.upgrade.simple') |
1195 | + state = 'init' |
1196 | + datas = {} |
1197 | + #while state!='menu': |
1198 | + while state!='end': |
1199 | + res = execute(wizard_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {}) |
1200 | + if state == 'init': |
1201 | + state = 'start' |
1202 | + elif state == 'start': |
1203 | + state = 'end' |
1204 | + |
1205 | + return True |
1206 | + |
1207 | + |
1208 | + |
1209 | + |
1210 | + |
1211 | +usage = """%prog command [options] |
1212 | + |
1213 | +Basic Commands: |
1214 | + start-server Start Server |
1215 | + create-db Create new database |
1216 | + drop-db Drop database |
1217 | + install-module Install module |
1218 | + upgrade-module Upgrade module |
1219 | + install-translation Install translation file |
1220 | + check-quality Calculate quality and dump quality result into quality_log.pck using pickle |
1221 | +""" |
1222 | +parser = optparse.OptionParser(usage) |
1223 | +parser.add_option("--modules", dest="modules", |
1224 | + help="specify modules to install or check quality") |
1225 | +parser.add_option("--addons-path", dest="addons_path", help="specify the addons path") |
1226 | +parser.add_option("--quality-logs", dest="quality_logs", help="specify the path of quality logs files which has to stores") |
1227 | +parser.add_option("--root-path", dest="root_path", help="specify the root path") |
1228 | +parser.add_option("-p", "--port", dest="port", help="specify the TCP port", type="int") |
1229 | +parser.add_option("--net_port", dest="netport",help="specify the TCP port for netrpc") |
1230 | +parser.add_option("-d", "--database", dest="db_name", help="specify the database name") |
1231 | +parser.add_option("--login", dest="login", help="specify the User Login") |
1232 | +parser.add_option("--password", dest="pwd", help="specify the User Password") |
1233 | +parser.add_option("--translate-in", dest="translate_in", |
1234 | + help="specify .po files to import translation terms") |
1235 | +parser.add_option("--extra-addons", dest="extra_addons", |
1236 | + help="specify extra_addons and trunkCommunity modules path ") |
1237 | + |
1238 | +(opt, args) = parser.parse_args() |
1239 | +if len(args) != 1: |
1240 | + parser.error("incorrect number of arguments") |
1241 | +command = args[0] |
1242 | +if command not in ('start-server','create-db','drop-db','install-module','upgrade-module','check-quality','install-translation'): |
1243 | + parser.error("incorrect command") |
1244 | + |
1245 | +def die(cond, msg): |
1246 | + if cond: |
1247 | + print msg |
1248 | + sys.exit(1) |
1249 | + |
1250 | +die(opt.modules and (not opt.db_name), |
1251 | + "the modules option cannot be used without the database (-d) option") |
1252 | + |
1253 | +die(opt.translate_in and (not opt.db_name), |
1254 | + "the translate-in option cannot be used without the database (-d) option") |
1255 | + |
1256 | +options = { |
1257 | + 'addons-path' : opt.addons_path or 'addons', |
1258 | + 'quality-logs' : opt.quality_logs or '', |
1259 | + 'root-path' : opt.root_path or '', |
1260 | + 'translate-in': [], |
1261 | + 'port' : opt.port or 8069, |
1262 | + 'netport':opt.netport or 8070, |
1263 | + 'database': opt.db_name or 'terp', |
1264 | + 'modules' : map(string.strip, opt.modules.split(',')) if opt.modules else [], |
1265 | + 'login' : opt.login or 'admin', |
1266 | + 'pwd' : opt.pwd or '', |
1267 | + 'extra-addons':opt.extra_addons or [] |
1268 | +} |
1269 | +# Hint:i18n-import=purchase:ar_AR.po+sale:fr_FR.po,nl_BE.po |
1270 | +if opt.translate_in: |
1271 | + translate = opt.translate_in |
1272 | + for module_name,po_files in map(lambda x:tuple(x.split(':')),translate.split('+')): |
1273 | + for po_file in po_files.split(','): |
1274 | + if module_name == 'base': |
1275 | + po_link = '%saddons/%s/i18n/%s'%(options['root-path'],module_name,po_file) |
1276 | + else: |
1277 | + po_link = '%s/%s/i18n/%s'%(options['addons-path'], module_name, po_file) |
1278 | + options['translate-in'].append(po_link) |
1279 | + |
1280 | +uri = 'http://localhost:' + str(options['port']) |
1281 | + |
1282 | +server_thread = threading.Thread(target=start_server, |
1283 | + args=(options['root-path'], options['port'],options['netport'], options['addons-path'])) |
1284 | +try: |
1285 | + server_thread.start() |
1286 | + if command == 'create-db': |
1287 | + create_db(uri, options['database'], options['login'], options['pwd']) |
1288 | + if command == 'drop-db': |
1289 | + drop_db(uri, options['database']) |
1290 | + if command == 'install-module': |
1291 | + install_module(uri, options['database'], options['modules'],options['addons-path'],options['extra-addons'],options['login'], options['pwd']) |
1292 | + if command == 'upgrade-module': |
1293 | + upgrade_module(uri, options['database'], options['modules'], options['login'], options['pwd']) |
1294 | + if command == 'check-quality': |
1295 | + check_quality(uri, options['login'], options['pwd'], options['database'], options['modules'], options['quality-logs']) |
1296 | + if command == 'install-translation': |
1297 | + import_translate(uri, options['login'], options['pwd'], options['database'], options['translate-in']) |
1298 | + clean() |
1299 | + sys.exit(0) |
1300 | + |
1301 | +except xmlrpclib.Fault, e: |
1302 | + print e.faultString |
1303 | + clean() |
1304 | + sys.exit(1) |
1305 | +except Exception, e: |
1306 | + print e |
1307 | + clean() |
1308 | + sys.exit(1) |
1309 | + |
1310 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
1311 | |
1312 | === modified file 'openerp/cli/server.py' |
1313 | --- openerp/cli/server.py 2013-04-04 13:07:04 +0000 |
1314 | +++ openerp/cli/server.py 2013-05-16 08:48:42 +0000 |
1315 | @@ -1,4 +1,3 @@ |
1316 | -#!/usr/bin/env python |
1317 | # -*- coding: utf-8 -*- |
1318 | ############################################################################## |
1319 | # |
1320 | |
1321 | === modified file 'openerp/modules/loading.py' |
1322 | --- openerp/modules/loading.py 2013-04-11 07:30:17 +0000 |
1323 | +++ openerp/modules/loading.py 2013-05-16 08:48:42 +0000 |
1324 | @@ -96,10 +96,14 @@ |
1325 | |
1326 | """ |
1327 | for filename in package.data[kind]: |
1328 | +<<<<<<< TREE |
1329 | if kind == 'test': |
1330 | _test_logger.info("module %s: loading %s", module_name, filename) |
1331 | else: |
1332 | _logger.info("module %s: loading %s", module_name, filename) |
1333 | +======= |
1334 | + _logger.info("module %s: loading %s", module_name, filename) |
1335 | +>>>>>>> MERGE-SOURCE |
1336 | _, ext = os.path.splitext(filename) |
1337 | pathname = os.path.join(module_name, filename) |
1338 | fp = tools.file_open(pathname) |
1339 | |
1340 | === modified file 'openerp/netsvc.py' |
1341 | --- openerp/netsvc.py 2013-04-04 13:07:04 +0000 |
1342 | +++ openerp/netsvc.py 2013-05-16 08:48:42 +0000 |
1343 | @@ -1,4 +1,3 @@ |
1344 | -#!/usr/bin/env python |
1345 | # -*- coding: utf-8 -*- |
1346 | ############################################################################## |
1347 | # |
1348 | |
1349 | === modified file 'openerp/osv/expression.py' |
1350 | --- openerp/osv/expression.py 2013-04-23 18:37:23 +0000 |
1351 | +++ openerp/osv/expression.py 2013-05-16 08:48:42 +0000 |
1352 | @@ -1,4 +1,3 @@ |
1353 | -#!/usr/bin/env python |
1354 | # -*- coding: utf-8 -*- |
1355 | ############################################################################## |
1356 | # |
1357 | |
1358 | === modified file 'openerp/report/render/rml2html/rml2html.py' |
1359 | --- openerp/report/render/rml2html/rml2html.py 2013-04-22 17:04:20 +0000 |
1360 | +++ openerp/report/render/rml2html/rml2html.py 2013-05-16 08:48:42 +0000 |
1361 | @@ -16,7 +16,7 @@ |
1362 | # |
1363 | # You should have received a copy of the GNU Lesser General Public |
1364 | # License along with this library; if not, write to the Free Software |
1365 | -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
1366 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
1367 | # |
1368 | ############################################################################## |
1369 | |
1370 | |
1371 | === modified file 'openerp/report/render/rml2html/utils.py' |
1372 | --- openerp/report/render/rml2html/utils.py 2013-04-22 17:04:20 +0000 |
1373 | +++ openerp/report/render/rml2html/utils.py 2013-05-16 08:48:42 +0000 |
1374 | @@ -16,7 +16,7 @@ |
1375 | # |
1376 | # You should have received a copy of the GNU Lesser General Public |
1377 | # License along with this library; if not, write to the Free Software |
1378 | -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
1379 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
1380 | # |
1381 | ############################################################################## |
1382 | |
1383 | |
1384 | === modified file 'openerp/report/render/rml2pdf/utils.py' |
1385 | --- openerp/report/render/rml2pdf/utils.py 2013-03-27 16:04:20 +0000 |
1386 | +++ openerp/report/render/rml2pdf/utils.py 2013-05-16 08:48:42 +0000 |
1387 | @@ -1,26 +1,8 @@ |
1388 | # -*- coding: utf-8 -*- |
1389 | ############################################################################## |
1390 | # |
1391 | -# OpenERP, Open Source Management Solution |
1392 | -# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). |
1393 | -# |
1394 | -# This program is free software: you can redistribute it and/or modify |
1395 | -# it under the terms of the GNU Affero General Public License as |
1396 | -# published by the Free Software Foundation, either version 3 of the |
1397 | -# License, or (at your option) any later version. |
1398 | -# |
1399 | -# This program is distributed in the hope that it will be useful, |
1400 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
1401 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1402 | -# GNU Affero General Public License for more details. |
1403 | -# |
1404 | -# You should have received a copy of the GNU Affero General Public License |
1405 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. |
1406 | -# |
1407 | -############################################################################## |
1408 | - |
1409 | -# trml2pdf - An RML to PDF converter |
1410 | # Copyright (C) 2003, Fabien Pinckaers, UCL, FSA |
1411 | +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). |
1412 | # |
1413 | # This library is free software; you can redistribute it and/or |
1414 | # modify it under the terms of the GNU Lesser General Public |
1415 | @@ -34,7 +16,9 @@ |
1416 | # |
1417 | # You should have received a copy of the GNU Lesser General Public |
1418 | # License along with this library; if not, write to the Free Software |
1419 | -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
1420 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
1421 | +# |
1422 | +############################################################################## |
1423 | |
1424 | import copy |
1425 | import locale |
1426 | |
1427 | === modified file 'openerp/service/cron.py' |
1428 | --- openerp/service/cron.py 2013-04-04 13:07:04 +0000 |
1429 | +++ openerp/service/cron.py 2013-05-16 08:48:42 +0000 |
1430 | @@ -1,4 +1,3 @@ |
1431 | -#!/usr/bin/env python |
1432 | # -*- coding: utf-8 -*- |
1433 | ############################################################################## |
1434 | # |
1435 | |
1436 | === modified file 'openerp/service/http_server.py' |
1437 | --- openerp/service/http_server.py 2013-02-12 14:24:10 +0000 |
1438 | +++ openerp/service/http_server.py 2013-05-16 08:48:42 +0000 |
1439 | @@ -23,7 +23,7 @@ |
1440 | # |
1441 | # You should have received a copy of the GNU General Public License |
1442 | # along with this program; if not, write to the Free Software |
1443 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
1444 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
1445 | ############################################################################### |
1446 | |
1447 | |
1448 | |
1449 | === modified file 'openerp/service/websrv_lib.py' |
1450 | --- openerp/service/websrv_lib.py 2013-02-12 14:24:10 +0000 |
1451 | +++ openerp/service/websrv_lib.py 2013-05-16 08:48:42 +0000 |
1452 | @@ -21,7 +21,7 @@ |
1453 | # |
1454 | # You should have received a copy of the GNU General Public License |
1455 | # along with this program; if not, write to the Free Software |
1456 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
1457 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
1458 | ############################################################################### |
1459 | |
1460 | |
1461 | |
1462 | === modified file 'openerp/tools/amount_to_text.py' |
1463 | --- openerp/tools/amount_to_text.py 2012-12-14 13:44:55 +0000 |
1464 | +++ openerp/tools/amount_to_text.py 2013-05-16 08:48:42 +0000 |
1465 | @@ -92,15 +92,15 @@ |
1466 | # Dutch |
1467 | #------------------------------------------------------------- |
1468 | |
1469 | -to_19_nl = ( 'Nul', 'Een', 'Twee', 'Drie', 'Vier', 'Vijf', 'Zes', |
1470 | - 'Zeven', 'Acht', 'Negen', 'Tien', 'Elf', 'Twaalf', 'Dertien', |
1471 | - 'Veertien', 'Vijftien', 'Zestien', 'Zeventien', 'Achttien', 'Negentien' ) |
1472 | -tens_nl = ( 'Twintig', 'Dertig', 'Veertig', 'Vijftig', 'Zestig', 'Zeventig', 'Tachtig', 'Negentig') |
1473 | +to_19_nl = ( 'nul', 'een', 'twee', 'drie', 'vier', 'vijf', 'zes', |
1474 | + 'zeven', 'acht', 'negen', 'tien', 'elf', 'twaalf', 'dertien', |
1475 | + 'veertien', 'vijftien', 'zestien', 'zeventien', 'achttien', 'negentien' ) |
1476 | +tens_nl = ( 'twintig', 'dertig', 'veertig', 'vijftig', 'zestig', 'zeventig', 'tachtig', 'negentig') |
1477 | denom_nl = ( '', |
1478 | - 'Duizend', 'Miljoen', 'Miljard', 'Triljoen', 'Quadriljoen', |
1479 | - 'Quintillion', 'Sextiljoen', 'Septillion', 'Octillion', 'Nonillion', |
1480 | - 'Decillion', 'Undecillion', 'Duodecillion', 'Tredecillion', 'Quattuordecillion', |
1481 | - 'Sexdecillion', 'Septendecillion', 'Octodecillion', 'Novemdecillion', 'Vigintillion' ) |
1482 | + 'duizend', ' miljoen', ' miljard', ' triljoen', ' quadriljoen', |
1483 | + ' quintillion', ' sextiljoen', ' septillion', ' octillion', ' nonillion', |
1484 | + ' decillion', ' undecillion', ' duodecillion', ' tredecillion', ' quattuordecillion', |
1485 | + ' sexdecillion', ' septendecillion', ' octodecillion', ' novemdecillion', ' vigintillion' ) |
1486 | |
1487 | def _convert_nn_nl(val): |
1488 | """ convert a value < 100 to Dutch |
1489 | @@ -110,7 +110,7 @@ |
1490 | for (dcap, dval) in ((k, 20 + (10 * v)) for (v, k) in enumerate(tens_nl)): |
1491 | if dval + 10 > val: |
1492 | if val % 10: |
1493 | - return dcap + '-' + to_19_nl[val % 10] |
1494 | + return to_19_nl[val % 10] + 'en' + dcap |
1495 | return dcap |
1496 | |
1497 | def _convert_nnn_nl(val): |
1498 | @@ -123,9 +123,7 @@ |
1499 | word = '' |
1500 | (mod, rem) = (val % 100, val // 100) |
1501 | if rem > 0: |
1502 | - word = to_19_nl[rem] + ' Honderd' |
1503 | - if mod > 0: |
1504 | - word += ' ' |
1505 | + word = to_19_nl[rem] + 'honderd' |
1506 | if mod > 0: |
1507 | word += _convert_nn_nl(mod) |
1508 | return word |
1509 | @@ -140,9 +138,9 @@ |
1510 | mod = 1000 ** didx |
1511 | l = val // mod |
1512 | r = val - (l * mod) |
1513 | - ret = _convert_nnn_nl(l) + ' ' + denom_nl[didx] |
1514 | + ret = _convert_nnn_nl(l) + denom_nl[didx] |
1515 | if r > 0: |
1516 | - ret = ret + ', ' + dutch_number(r) |
1517 | + ret = ret + ' ' + dutch_number(r) |
1518 | return ret |
1519 | |
1520 | def amount_to_text_nl(number, currency): |
1521 | @@ -153,7 +151,7 @@ |
1522 | end_word = dutch_number(int(list[1])) |
1523 | cents_number = int(list[1]) |
1524 | cents_name = (cents_number > 1) and 'cent' or 'cent' |
1525 | - final_result = start_word +' '+units_name+' '+ end_word +' '+cents_name |
1526 | + final_result = " %s %s en %s %s" % (start_word, units_name, end_word, cents_name) |
1527 | return final_result |
1528 | |
1529 | #------------------------------------------------------------- |
1530 | |
1531 | === modified file 'setup.nsi' |
1532 | --- setup.nsi 2013-03-06 14:34:44 +0000 |
1533 | +++ setup.nsi 2013-05-16 08:48:42 +0000 |
1534 | @@ -21,7 +21,7 @@ |
1535 | # |
1536 | # You should have received a copy of the GNU General Public License |
1537 | # along with this program; if not, write to the Free Software |
1538 | -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
1539 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
1540 | ##################################################################################### |
1541 | |
1542 | !include 'MUI2.nsh' |
1543 | |
1544 | === modified file 'setup.py' (properties changed: +x to -x) |
1545 | --- setup.py 2013-05-06 07:48:25 +0000 |
1546 | +++ setup.py 2013-05-16 08:48:42 +0000 |
1547 | @@ -1,4 +1,3 @@ |
1548 | -#!/usr/bin/env python |
1549 | # -*- coding: utf-8 -*- |
1550 | ############################################################################## |
1551 | # |
Diff has conflicts, did you mean to target lp:openobject-server/7.0?