Merge lp:~ludo-neobis/openobject-server/fix_for_bug_1180692 into lp:openobject-server

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
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.

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 :

Diff has conflicts, did you mean to target lp:openobject-server/7.0?

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 #