diff --git a/addons/web/i18n/ar.po b/addons/web/i18n/ar.po
index 3ba35d1dc59..d237236136c 100644
--- a/addons/web/i18n/ar.po
+++ b/addons/web/i18n/ar.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "تم"
@@ -98,7 +98,7 @@ msgstr "تغيير كلمة المرور"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "تصدير البيانات"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "إغلاق"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "استيراد البيانات"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "إستيراد ملف"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "معرف خارجي"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"مرة:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*لم يتم اختيار الحقول المطلوبة :"
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "حفظ كإفتراضي"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "عامل غير معروف %s في نطاق %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "حقل غير معروف %s في نطاق %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "عامل غير مدعوم %s في نطاق %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "تأكيد"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " مزيداً من البحث..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " إنشاء \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " إنشاء و تحرير..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "بحث: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "إنشاء: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "فتح: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "اضافة"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "إضافة: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "عيِّن صورة"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po
index 0c949bcbd8e..f8d6336165b 100644
--- a/addons/web/i18n/bg.po
+++ b/addons/web/i18n/bg.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "ОК"
@@ -98,7 +98,7 @@ msgstr "Смяна на парола"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Експорт на данни"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Затваряне"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "Импортиране на данни"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Импорт на файл"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Външен ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"избрани повече от един път:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Задължителните полета не са избрани :"
@@ -561,65 +561,65 @@ msgid "Save default"
msgstr "Запази по подразбиране"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Непознат оператор %s в домейн %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Непознато поле %s в домейн %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Неподдържан оператор %s в домейн %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Потвърждаване"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Търси още..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Създаване \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Създаване и редакция..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Търсене: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Създаване: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Отвори: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -627,7 +627,7 @@ msgid "Add"
msgstr "Добавяне"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Добавяне: "
@@ -1252,7 +1252,7 @@ msgid "Set Image"
msgstr "Задай изображение"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/bn.po b/addons/web/i18n/bn.po
index 5302f0c2475..1112da416c8 100644
--- a/addons/web/i18n/bn.po
+++ b/addons/web/i18n/bn.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "বেশ"
@@ -98,7 +98,7 @@ msgstr "অনুমোদন শব্দ পরিবর্তন করুন
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "বহীরায়িত তথ্য"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "বন্ধ করুন"
@@ -229,24 +229,24 @@ msgid "Import Data"
msgstr "তথ্য আনায়ন করুন"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "ফাইল আনায়ন করুন"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "বহিরাগত আই-ডি"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "অবিকল্পিতভাবে সংরক্ষন করুন"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "এলাকার মধ্যে %s অজানা পরিচালক %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "এলাকার মধ্যে %s অজানা ক্ষেত্র %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "এলাকার মধ্যে %s অসমর্থিত পরিচালক %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "নিশ্চিত করুন"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " আরো খুঁজুন..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " তৈরি করুন \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " নির্মাণ ও সম্পাদনা করুন..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "অনুসন্ধান: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "তৈরি করুন: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "খুলুন: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "যোগ করুন"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "যোগ করুন: "
@@ -1249,7 +1249,7 @@ msgid "Set Image"
msgstr "ছবি বসান"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/bs.po b/addons/web/i18n/bs.po
index 98f7b651e81..5f63ccd21e0 100644
--- a/addons/web/i18n/bs.po
+++ b/addons/web/i18n/bs.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Uredu"
@@ -98,7 +98,7 @@ msgstr "Promijeni šifru"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Zatvori"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Uvezi podatke"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Externi ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr "Snimi zadano"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Nepoznat operator %s na domeni %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Portvrdi"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Traži Više..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Kreiraj\"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Kreiraj i Uredi..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Otvori: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/ca.po b/addons/web/i18n/ca.po
index 0d6025bf82c..36000bec82c 100644
--- a/addons/web/i18n/ca.po
+++ b/addons/web/i18n/ca.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po
index 1ba20c822b9..5c07120c4c3 100644
--- a/addons/web/i18n/cs.po
+++ b/addons/web/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
"X-Poedit-Language: Czech\n"
#. openerp-web
@@ -23,7 +23,7 @@ msgstr ""
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -99,7 +99,7 @@ msgstr "Změnit heslo"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -194,11 +194,11 @@ msgstr "Exportovat data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Zavřít"
@@ -229,24 +229,24 @@ msgid "Import Data"
msgstr "Importovat data"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importovat soubor"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Vnější ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr "Uložit výchozí"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Neznámý operátor %s v doméně %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Neplatné pole %s v doméně %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Nepodporovaný operátor %s v doméně %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Potvrdit"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Hledat další..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Vytvořit \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Vytvořit nebo upravit..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Hledat: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Vytvořit: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Otevřít: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Přidat"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Přidat "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "Nastavit obrázek"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/da.po b/addons/web/i18n/da.po
index 71f548415c2..12667911ba6 100644
--- a/addons/web/i18n/da.po
+++ b/addons/web/i18n/da.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Skift adgangskode"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Eksporter Data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Luk"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Importer data"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importér fil"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Eksternt ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Gem som standard"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Bekræft"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Søg efter mere...."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Create \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Opret og rediger..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Søg: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Tilføj"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1249,7 +1249,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/de.po b/addons/web/i18n/de.po
index a5eb33b65f8..70fd3f3a3a0 100644
--- a/addons/web/i18n/de.po
+++ b/addons/web/i18n/de.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Passwort ändern"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Daten exportieren"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Schließen"
@@ -229,32 +229,34 @@ msgid "Import Data"
msgstr "Daten importieren"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Datei importieren"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Externe ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
+"Zielfelder dürfen nur einmal ausgewählt sein, derzeit sind welche mehrmach "
+"ausgewählt:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
-msgstr ""
+msgstr "* Pflichtfelder sind nicht ausgewählt"
#. openerp-web
#: addons/web/static/src/js/formats.js:139
#, python-format
msgid "(%d records)"
-msgstr ""
+msgstr "(%d Datensätze)"
#. openerp-web
#: addons/web/static/src/js/formats.js:325
@@ -559,65 +561,65 @@ msgid "Save default"
msgstr "Standardwert speichern"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Unbekannter Operator %s in Domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Unbekanntes Feld %s in Domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Nicht unterstützer Operator %s in Domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Bestätigen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Suche mehr..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Anlegen \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Anlegen und Bearbeiten..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Suche: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Erstelle: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Öffne: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +627,7 @@ msgid "Add"
msgstr "Hinzufügen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Hinzufügen: "
@@ -1251,7 +1253,7 @@ msgid "Set Image"
msgstr "Bild festlegen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po
index c6212e2ad88..39286ff6654 100644
--- a/addons/web/i18n/en_AU.po
+++ b/addons/web/i18n/en_AU.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "OK"
@@ -98,7 +98,7 @@ msgstr "Change password"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Export Data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Close"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Import Data"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Import File"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "External ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Unknown operator %s in domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Unknown field %s in domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Unsupported operator %s in domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirm"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Continue Search ..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Create \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Create and Edit..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Search: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Create: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Open: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Add"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Add: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Load Image"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/en_GB.po b/addons/web/i18n/en_GB.po
index 3e4a554b400..8747f1d7673 100644
--- a/addons/web/i18n/en_GB.po
+++ b/addons/web/i18n/en_GB.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Change password"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Export Data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Close"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Import Data"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Import File"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "External ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr "Save default"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Unknown operator %s in domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Unknown field %s in domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Unsupported operator %s in domain %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirm"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Search More..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Create \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Create and Edit..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Search: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Create: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Open: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Add"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Add: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "Set Image"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/es.po b/addons/web/i18n/es.po
index 16e92bb71b0..2da9ed2d493 100644
--- a/addons/web/i18n/es.po
+++ b/addons/web/i18n/es.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Cambiar contraseña"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportar información"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Cerrar"
@@ -229,24 +229,24 @@ msgid "Import Data"
msgstr "Importar información"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar Fichero"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -560,65 +560,65 @@ msgid "Save default"
msgstr "Guardar por defecto"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconocido %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconocido %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador no soportado %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Buscar más..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Crear \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Crear y Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Buscar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Crear: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Abrir: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -626,7 +626,7 @@ msgid "Add"
msgstr "Añadir"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Añadir: "
@@ -1252,7 +1252,7 @@ msgid "Set Image"
msgstr "Establecer Imagen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/es_CL.po b/addons/web/i18n/es_CL.po
index a66db88bbe2..00a9689d06f 100644
--- a/addons/web/i18n/es_CL.po
+++ b/addons/web/i18n/es_CL.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Cambiar la Contraseña"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportar datos"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Cerrar"
@@ -229,24 +229,24 @@ msgid "Import Data"
msgstr "Importar datos"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar archivo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -560,65 +560,65 @@ msgid "Save default"
msgstr "Guardar por defecto"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconocido %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconocido %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador no soportado %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confimar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Buscar más..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Crear \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Crear y Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Buscar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Crear: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Abrir "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -626,7 +626,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Agregar: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/es_CR.po b/addons/web/i18n/es_CR.po
index 7c01a2104c4..986040accbb 100644
--- a/addons/web/i18n/es_CR.po
+++ b/addons/web/i18n/es_CR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
"Language: es\n"
#. openerp-web
@@ -23,7 +23,7 @@ msgstr ""
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -99,7 +99,7 @@ msgstr "Cambiar contraseña"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -194,11 +194,11 @@ msgstr "Exportar información"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Cerrar"
@@ -230,24 +230,24 @@ msgid "Import Data"
msgstr "Importar información"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar Fichero"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -561,65 +561,65 @@ msgid "Save default"
msgstr "Guardar por defecto"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconocido %s en dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Archivo desconocido %s en dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador no compatible %s en domino %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Buscar más..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Crear \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Crear y Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Buscar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Crear: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Abrir "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -627,7 +627,7 @@ msgid "Add"
msgstr "Añadir"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Agregar: "
@@ -1253,7 +1253,7 @@ msgid "Set Image"
msgstr "Establecer Imagen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po
index 5683e05fd95..26850332763 100644
--- a/addons/web/i18n/es_EC.po
+++ b/addons/web/i18n/es_EC.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Cambiar Contraseña"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportar Datos"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Cerrar"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Importar Datos"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar Archivo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Guardar por defecto"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconocido %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconocido %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador no soportado %s en el dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Buscar Más..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Crear \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Crear y Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Buscar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Crear: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Abrir: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Agregar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Agregar: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Establecer Imagen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po
index d8cac4ed68f..0d467739688 100644
--- a/addons/web/i18n/et.po
+++ b/addons/web/i18n/et.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "Lisa"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/eu.po b/addons/web/i18n/eu.po
index 901df5e6f3a..c86bd2ea1c8 100644
--- a/addons/web/i18n/eu.po
+++ b/addons/web/i18n/eu.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ados"
@@ -98,7 +98,7 @@ msgstr "Pasahitza aldatu"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Datuak Esportatu"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Irten"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po
index e95a6471d81..52e37bd2d4c 100644
--- a/addons/web/i18n/fi.po
+++ b/addons/web/i18n/fi.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Vaihda salasana"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Vie tiedot"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Sulje"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Tuo tiedot"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Tuo tiedosto"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Ulkoinen ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr "Tallenna oletusarvo"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Tuntematon operaattori %s toimialueella %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Tuntematon kenttä %s toimialueella %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Ei tuettu operaattori %s toimialueella %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Hyväksy"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " hae lisää..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Luo \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Luo ja muokkaa..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Etsi: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Luo: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Avaa: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "LIsää"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Lisää: "
@@ -1249,7 +1249,7 @@ msgid "Set Image"
msgstr "Aseta kuva"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/fr.po b/addons/web/i18n/fr.po
index a7e6e4140d7..50815ffe6ab 100644
--- a/addons/web/i18n/fr.po
+++ b/addons/web/i18n/fr.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Changer de mot de passe"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Export de données"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Fermer"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Import de données"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importer un fichier"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Identifiant externe"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Enregistrer comme valeur par défaut"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Opérateur inconnu %s dans le domaine %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Champ %s inconnu dans le domaine %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Opérateur %s non supporté dans le domaine %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmer"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Plus de résultats..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Créer \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Créer et modifier..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Rechercher : "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Créer : "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Ouvrir : "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Ajouter"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Ajouter "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Utiliser comme image"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/fr_CA.po b/addons/web/i18n/fr_CA.po
index 594a27bce2d..ae752394b51 100644
--- a/addons/web/i18n/fr_CA.po
+++ b/addons/web/i18n/fr_CA.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/gl.po b/addons/web/i18n/gl.po
index 19483531a48..2ccfe758450 100644
--- a/addons/web/i18n/gl.po
+++ b/addons/web/i18n/gl.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Cambiar o contrasinal"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportación de datos"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Pechar"
@@ -229,24 +229,24 @@ msgid "Import Data"
msgstr "Importar datos"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar Arquivo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Gardar como predeterminado"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconocido %s en dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconocido %s en dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador non soportado %s en dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Buscar máis..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Crear \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Crear e Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Procurar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Crear: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Abrir: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Engadir"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Engadir: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Estabelecer imaxe"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/gu.po b/addons/web/i18n/gu.po
index b334ecb0bb0..22ac401a774 100644
--- a/addons/web/i18n/gu.po
+++ b/addons/web/i18n/gu.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "બરાબર"
@@ -98,7 +98,7 @@ msgstr "પાસવર્ડ બદલો"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "બંધ કરો"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "માહિતી આયાત કરો"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "ફાઈલ આયાત કરો"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "ખાતરી"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "શોધો: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "ઉમેરવું"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "ઉમેરવું: "
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/hi.po b/addons/web/i18n/hi.po
index d80dd1c4fc7..87203a95e28 100644
--- a/addons/web/i18n/hi.po
+++ b/addons/web/i18n/hi.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "ठीक है"
@@ -98,7 +98,7 @@ msgstr "पासवर्ड बदलें"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "निर्यात आंकड़ा"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "बंद"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "डाटा आयात करें"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "फ़ाइल आयात करें"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "बाहरी आईडी"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr "डिफ़ॉल्ट रूप में सहेजें"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "पुष्टि करें"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "खोजें: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "बनाएँ: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "खोलने के लिए "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "जोड़ना"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "जोड़ना: "
@@ -1248,7 +1248,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/hr.po b/addons/web/i18n/hr.po
index b95e832c834..60d684992e4 100644
--- a/addons/web/i18n/hr.po
+++ b/addons/web/i18n/hr.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "U redu"
@@ -98,7 +98,7 @@ msgstr "Promijeni zaporku"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Izvoz podataka"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Zatvori"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Uvoz podataka"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Uvoz datoteke"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Vanjski ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr "Snimi zadano"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Nepoznat operator %s u domeni %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Nepoznato polje %s unutar domene %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operator %s nije podržan unutar domene %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Potvrdi"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Traži dalje..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Kreiraj \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Kreiraj i uredi..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Traži: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Kreiraj: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Otvori: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Dodaj"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Dodaj: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "Postavi sliku"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po
index b6af9f9bd9e..c6b3c3e78c6 100644
--- a/addons/web/i18n/hu.po
+++ b/addons/web/i18n/hu.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "OK"
@@ -98,7 +98,7 @@ msgstr "Jelszó megváltoztatása"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Adatok exportálása"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Bezárás"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Adatok importálása"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Fájl importálása"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Szükséges mezők nincsennek kiválasztva:"
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr "Alapértelmezés mentése"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Még több keresése..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Létrehozás \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Létrehozás és Szerkesztés..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Keresés: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Létrehozás: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "Hozzáadás"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/id.po b/addons/web/i18n/id.po
index f374b325afa..1d79472e5d9 100644
--- a/addons/web/i18n/id.po
+++ b/addons/web/i18n/id.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Ubah kata sandi"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Ekspor Data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Selesai"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po
index 1cfd2637a61..fc5e946f0dd 100644
--- a/addons/web/i18n/it.po
+++ b/addons/web/i18n/it.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Cambia password"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Esporta Dati"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Chiudi"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Importa Dati"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importa File"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID Esterno"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Salva Default"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operatore %s sconosciuto nel dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo %s sconosciuto nel dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operatore %s non supportato nel dominio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Conferma"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Cerca ancora..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Crea \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Crea e modifica..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Cerca: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Crea: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Apri: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Aggiungi"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Aggiungi: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Imposta Immagine"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po
index 772832fb034..6c553ddeeb4 100644
--- a/addons/web/i18n/ja.po
+++ b/addons/web/i18n/ja.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "OK"
@@ -98,7 +98,7 @@ msgstr "パスワードの変更"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "データのエクスポート"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "閉じる"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "データをインポート"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "ファイルをインポート"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "外部ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr "宛先項目の選択は1回のみです。幾つかの項目は複数回選択されます:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "* 必須項目が選択されていません:"
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr "デフォルトに保存"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "ドメイン %s に無効な演算 %s があります"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "ドメイン %s に無効な項目 %s があります"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "ドメイン %s に無効な演算 %s があります"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "確認"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " さらに検索…"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " 作成 \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " 作成&編集…"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "検索: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "作成: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "開く: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "追加"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "追加: "
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr "画像をセット"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/ka.po b/addons/web/i18n/ka.po
index 1a8ee713848..9a3bf76a186 100644
--- a/addons/web/i18n/ka.po
+++ b/addons/web/i18n/ka.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "ოკ"
@@ -98,7 +98,7 @@ msgstr "პაროლის შეცვლა"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "მონაცემების ექსპორტი"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "დახურვა"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "მონაცემების იმპორტი"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "ფაილის იმპორტი"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "გარე ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -560,65 +560,65 @@ msgid "Save default"
msgstr "ნაგულისხმებად შენახვა"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "გაურკვეველი ოპერატორი %s დომენში %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "გაურკვეველი ველი %s დომენში %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "უცხო ოპერატორი %s დომენში %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "დამოწმება"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " ვეძებოთ მეტი..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " შევქმნათ \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " შევქმნათ და შევცვალოთ..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "ძიება: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "შექმნა: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "ღია: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -626,7 +626,7 @@ msgid "Add"
msgstr "დამატება"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "დამატება: "
@@ -1252,7 +1252,7 @@ msgid "Set Image"
msgstr "განსაზღვრე სურათი"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/mk.po b/addons/web/i18n/mk.po
index cd2aa466809..d22b2721a71 100644
--- a/addons/web/i18n/mk.po
+++ b/addons/web/i18n/mk.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Во Ред"
@@ -98,7 +98,7 @@ msgstr "Промени лозинка"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Експортирај ги податоците"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Затвори"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Импортирај податоци"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Импортирај датотека"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID Externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Campos Obrigatórios não selecionados :"
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Потврди"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Најди Повеќе..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Креирај \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Креирај и Измени..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Барај: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Креирај: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Отвори: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Додади"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Додади: "
@@ -1248,7 +1248,7 @@ msgid "Set Image"
msgstr "Постави слика"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/mn.po b/addons/web/i18n/mn.po
index a171aed6be2..010b331b3e6 100644
--- a/addons/web/i18n/mn.po
+++ b/addons/web/i18n/mn.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Нууц үг солих"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Өгөгдөл Экспортлох"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Хаах"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "Өгөгдөл импортлох"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Файл импортлох"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Гадаад ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"олон удаа сонгосон байна:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Заавал бөглөх талбарууд бөглөгдөөгүй байна :"
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Үндсэн болгож хадгалах"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "%s гэсэн буруу %s дөмэйнд байна"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "%s гэсэн мэдэгдэхгүй талбарын нэр %s дөмэйнд байна"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "%s гэсэн зөвшөөрөгдөөгүй оператор %s дөмэйнд байна"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Батлах"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Нарийвчилж Хайх..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Үүсгэх \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Үүсгэх ба Засварлах..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Хайх: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Үүсгэх: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Нээх "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Нэмэх"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Нэмэх: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "Зураг сонгох"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po
index e0107459add..6c38bf0de21 100644
--- a/addons/web/i18n/nb.po
+++ b/addons/web/i18n/nb.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Endre passord"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Eksporter data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Lukk"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Importer data"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importer fil"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Bekreft"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Opprett\"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Søk: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Opprett: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Åpne: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Legg til"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Legg til: "
@@ -1248,7 +1248,7 @@ msgid "Set Image"
msgstr "Bruk bilde"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po
index eec0a770d12..df2938cc5f4 100644
--- a/addons/web/i18n/nl.po
+++ b/addons/web/i18n/nl.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Wachtwoord wijzigen"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Gegevens exporteren"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Sluiten"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "Gegevens importeren"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Bestand importeren"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Externe ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"velden zijn meer dan één keer geselecteerd:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Verplichte velden zijn niet geselecteerd:"
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Opslaan als standaard"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Onbekend operator% s in domein% s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Onbekend veld %s in domein %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Niet ondersteunde operator %s in domein %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Bevestig"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Zoek verder..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Maak \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Maak en wijzig..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Zoeken: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Maken: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Open: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Toevoegen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Toevoegen: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Afbeelding instellen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/nl_BE.po b/addons/web/i18n/nl_BE.po
index ccfe3ccedbe..ec7225e7edb 100644
--- a/addons/web/i18n/nl_BE.po
+++ b/addons/web/i18n/nl_BE.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "OK"
@@ -98,7 +98,7 @@ msgstr "Wachtwoord wijzigen"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Gegevens exporteren"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Sluiten"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Gegevens importeren"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Bestand importeren"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Externe id"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Uitgebreid zoeken..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Creër \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Creër en bewerk..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Toevoegen"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1249,7 +1249,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/pl.po b/addons/web/i18n/pl.po
index b637c93321e..37435488dbf 100644
--- a/addons/web/i18n/pl.po
+++ b/addons/web/i18n/pl.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr "Zmień hasło"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Eksport danych"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Zamknij"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Importuj dane"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Import z pliku"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Identyfikator zewnętrzny"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr "Zapisz jako domyślne"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Nieznany operator %s w domenie %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Nieznane pole %s w domenie %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Nieobsługiwany operator %s w domenie %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Potwierdź"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Szukaj dalej..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Utwórz \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Utwórz i edytuj..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Szukaj: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Utwórz: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Otwarte: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "Dodaj"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Dodaj: "
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr "Ustaw obrazek"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/pt.po b/addons/web/i18n/pt.po
index c0333fcd8ac..201e9666379 100644
--- a/addons/web/i18n/pt.po
+++ b/addons/web/i18n/pt.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "OK"
@@ -98,7 +98,7 @@ msgstr "Alterar palavra-chave"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportar Dados"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Fechar"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Importar Dados"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar Ficheiro"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID Externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Salvar Padrão"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconhecido %s no domínio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconhecido %s no domínio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador não suportado %s no domínio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Procurar Mais..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Criar \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Criar e Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Pesquisar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Criar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Abrir: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Acrescentar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Adicionar: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Definir Imagem"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po
index 1c096ca1c99..716450df49d 100644
--- a/addons/web/i18n/pt_BR.po
+++ b/addons/web/i18n/pt_BR.po
@@ -15,15 +15,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -99,7 +99,7 @@ msgstr "Alterar Senha"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -194,11 +194,11 @@ msgstr "Exportar Dados"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Fechar"
@@ -229,17 +229,17 @@ msgid "Import Data"
msgstr "Importar Dados"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importar Arquivo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID Externo"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -248,7 +248,7 @@ msgstr ""
"selecionados mais de uma vez:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Campos Obrigatórios não selecionados :"
@@ -560,65 +560,65 @@ msgid "Save default"
msgstr "Salvar padrão"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconhecido %s no domínio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconhecido %s no domínio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador não suportado %s no domínio %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Procurar Mais..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Criar \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Criar e Editar..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Pesquisar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Criar: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Aberto: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -626,7 +626,7 @@ msgid "Add"
msgstr "Adicionar"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Adicionar: "
@@ -1252,7 +1252,7 @@ msgid "Set Image"
msgstr "Definir Imagem"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po
index 9b4542c91e2..0285d511a95 100644
--- a/addons/web/i18n/ro.po
+++ b/addons/web/i18n/ro.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Schimbati parola"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportati Datele"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Inchideti"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "Importa Date"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importa Fisier"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "ID Extern"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"selectate de mai multe ori:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Campurile obligatorii nu sunt selectate :"
@@ -562,65 +562,65 @@ msgid "Save default"
msgstr "Salveaza implicit"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operator necunoscut %s in domeniul %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Camp necunoscut %s in domeniul %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operator nesustinut %s in domeniul %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Confirmati"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Cauta mai multe..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Creeaza \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Creeaza si Editeaza..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Cauta: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Creati: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Deschideti: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -628,7 +628,7 @@ msgid "Add"
msgstr "Adaugati"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Adaugati: "
@@ -1254,7 +1254,7 @@ msgid "Set Image"
msgstr "Setati Imaginea"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/ru.po b/addons/web/i18n/ru.po
index 1f7b96ab0e2..44f3628970d 100644
--- a/addons/web/i18n/ru.po
+++ b/addons/web/i18n/ru.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ок"
@@ -98,7 +98,7 @@ msgstr "Изменить пароль"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Экспорт данных"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Закрыть"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Импорт данных"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Импортировать файл"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Внешний идентификатор"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr "Сохранить как По Умолчанию"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Неизвестный оператор %s в домене %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Неизвестное поле %s в домене %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Неподдерживаемый оператор %s в домене %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Подтвердить"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Найти еще..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Создать \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Создать и Изменить..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Найти: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Создать: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Открыть: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Добавить"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Добавить: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "Назначить изображение"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/sk.po b/addons/web/i18n/sk.po
index 3f3a14c89fb..cee3204f93e 100644
--- a/addons/web/i18n/sk.po
+++ b/addons/web/i18n/sk.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/sl.po b/addons/web/i18n/sl.po
index a90e26131ba..1e017510061 100644
--- a/addons/web/i18n/sl.po
+++ b/addons/web/i18n/sl.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "V redu"
@@ -98,7 +98,7 @@ msgstr "Spremeni geslo"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Izvozi podatke"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Zapri"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Uvoz podatkov"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Uvoz datoteke"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Zunanji ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Shrani privzeto"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Potrdi"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Iskanje več..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Ustvari \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Ustvari in uredi..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Iskanje: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Ustvari: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Odpri: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Dodaj"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Dodaj: "
@@ -1249,7 +1249,7 @@ msgid "Set Image"
msgstr "Nastavi sliko"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/sq.po b/addons/web/i18n/sq.po
index f7a00d31e3f..acf9e89b55d 100644
--- a/addons/web/i18n/sq.po
+++ b/addons/web/i18n/sq.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:54+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/sr@latin.po b/addons/web/i18n/sr@latin.po
index 5656116c127..b46d56f58b7 100644
--- a/addons/web/i18n/sr@latin.po
+++ b/addons/web/i18n/sr@latin.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "U redu"
@@ -98,7 +98,7 @@ msgstr "Izmena lozinke"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Izvezi podatke"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Zatvori"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "Uvezi podatke"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Uvezi Datoteku"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Externi ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -558,65 +558,65 @@ msgid "Save default"
msgstr "Sačuvaj podrazumevano"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Nepoznat operator %s na domenu %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Nepoznato polje %s na domenu %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Nepodržan operator %s na domenu %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Potvrdi"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Traži Dalje..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Create \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Kreiraj i Uredi..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Pretraga: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Kreiraj: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Otvori: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -624,7 +624,7 @@ msgid "Add"
msgstr "Dodaj"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Dodaj: "
@@ -1250,7 +1250,7 @@ msgid "Set Image"
msgstr "Podesi sliku"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/sv.po b/addons/web/i18n/sv.po
index f3231e32bc8..e7b7e1c9734 100644
--- a/addons/web/i18n/sv.po
+++ b/addons/web/i18n/sv.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Ok"
@@ -98,7 +98,7 @@ msgstr "Ändra lösenord"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Exportera data"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Stäng"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "Importera data"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Importera fil"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Externt ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"gång:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "* Obligatoriska fälj ej valda :"
@@ -559,65 +559,65 @@ msgid "Save default"
msgstr "Spara standardvärden"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Okänd operator %s i domän %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Okänt fält %s i domän %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Felaktig operator %s i domän %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Bekräfta"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Sök mer..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Skapa \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Skapa och ändra..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Sök: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Skapa: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Öppna: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -625,7 +625,7 @@ msgid "Add"
msgstr "Lägg till"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Lägg till: "
@@ -1251,7 +1251,7 @@ msgid "Set Image"
msgstr "Välj bild"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/tr.po b/addons/web/i18n/tr.po
index 87199089e33..da03519d393 100644
--- a/addons/web/i18n/tr.po
+++ b/addons/web/i18n/tr.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "Tamam"
@@ -98,7 +98,7 @@ msgstr "Parolayı değiştir"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "Veri Dışaaktar"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "Kapat"
@@ -228,17 +228,17 @@ msgid "Import Data"
msgstr "Veri İçeakktar"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "Dosyayı İçeakktar"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "Dış ID"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
@@ -247,7 +247,7 @@ msgstr ""
"seçilebilir:"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr "*Gerekli Alanlar seçilmedi:"
@@ -560,65 +560,65 @@ msgid "Save default"
msgstr "Varsayılanı Kaydet"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Etki alanı %s te bilinmeyen %s operatörü"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Bilinmeyen alan %s alan adında %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Desteklenmeyen operatör %s alan adında %s"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "Onayla"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " Daha Fazla..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " Oluştur \"%s\""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " Oluştur ve Düzenle..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "Ara: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "Oluştur: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "Aç: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -626,7 +626,7 @@ msgid "Add"
msgstr "Ekle"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "Ekle: "
@@ -1253,7 +1253,7 @@ msgid "Set Image"
msgstr "Görüntü Ayarla"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po
index dd0aa2b2f4c..5aaf5375900 100644
--- a/addons/web/i18n/uk.po
+++ b/addons/web/i18n/uk.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po
index a117e3e4119..a19dad87680 100644
--- a/addons/web/i18n/zh_CN.po
+++ b/addons/web/i18n/zh_CN.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr "确定"
@@ -98,7 +98,7 @@ msgstr "更改密码"
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr "导出数据"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "关闭"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr "导入数据"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr "导入文件"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr "外部标识"
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr "保存默认值"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "发现未知操作符 %s ,过滤条件 %s 有误"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "发现未知字段 %s ,过滤条件 %s 有误"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "有不支持的操作符 %s ,过滤条件 %s 有误"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr "确认"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " 搜索更多..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " 创建“%s”"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " 创建并编辑..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr "搜索: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr "创建: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr "打开: "
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "添加"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr "添加: "
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr "设置图片"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/i18n/zh_TW.po b/addons/web/i18n/zh_TW.po
index fe15b8da8f3..50600d342ae 100644
--- a/addons/web/i18n/zh_TW.po
+++ b/addons/web/i18n/zh_TW.po
@@ -14,15 +14,15 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-09-05 04:55+0000\n"
+"X-Generator: Launchpad (build 15901)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
#: addons/web/static/src/js/chrome.js:202
#: addons/web/static/src/js/chrome.js:380
#: addons/web/static/src/js/view_form.js:457
-#: addons/web/static/src/js/view_form.js:1292
+#: addons/web/static/src/js/view_form.js:1295
#: addons/web/static/src/xml/base.xml:1701
msgid "Ok"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
#: addons/web/static/src/js/view_editor.js:95
#: addons/web/static/src/js/view_editor.js:836
#: addons/web/static/src/js/view_editor.js:962
-#: addons/web/static/src/js/view_form.js:1287
+#: addons/web/static/src/js/view_form.js:1290
#: addons/web/static/src/xml/base.xml:743
#: addons/web/static/src/xml/base.xml:1502
#: addons/web/static/src/xml/base.xml:1512
@@ -193,11 +193,11 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
-#: addons/web/static/src/js/data_import.js:70
+#: addons/web/static/src/js/data_import.js:71
#: addons/web/static/src/js/view_editor.js:49
#: addons/web/static/src/js/view_editor.js:398
#: addons/web/static/src/js/view_form.js:734
-#: addons/web/static/src/js/view_form.js:3298
+#: addons/web/static/src/js/view_form.js:3325
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr "關閉"
@@ -228,24 +228,24 @@ msgid "Import Data"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:71
+#: addons/web/static/src/js/data_import.js:72
msgid "Import File"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:106
+#: addons/web/static/src/js/data_import.js:108
msgid "External ID"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:346
+#: addons/web/static/src/js/data_import.js:349
msgid ""
"Destination fields should only be selected once, some fields are selected "
"more than once:"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/data_import.js:383
+#: addons/web/static/src/js/data_import.js:386
msgid "*Required Fields are not selected :"
msgstr ""
@@ -557,65 +557,65 @@ msgid "Save default"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:867
+#: addons/web/static/src/js/view_form.js:870
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:875
+#: addons/web/static/src/js/view_form.js:878
#, python-format
msgid "Unknown field %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:913
+#: addons/web/static/src/js/view_form.js:916
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1284
+#: addons/web/static/src/js/view_form.js:1287
msgid "Confirm"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2193
+#: addons/web/static/src/js/view_form.js:2220
msgid " Search More..."
msgstr " 搜尋更多..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2211
+#: addons/web/static/src/js/view_form.js:2238
#, python-format
msgid " Create \"%s\""
msgstr " 建立「%s」"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2217
+#: addons/web/static/src/js/view_form.js:2244
msgid " Create and Edit..."
msgstr " 建立並編輯..."
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
+#: addons/web/static/src/js/view_form.js:2277
#: addons/web/static/src/js/views.js:680
msgid "Search: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2250
-#: addons/web/static/src/js/view_form.js:2738
+#: addons/web/static/src/js/view_form.js:2277
+#: addons/web/static/src/js/view_form.js:2765
msgid "Create: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2040
-#: addons/web/static/src/js/view_form.js:2766
-#: addons/web/static/src/js/view_form.js:2991
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2793
+#: addons/web/static/src/js/view_form.js:3018
msgid "Open: "
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2911
+#: addons/web/static/src/js/view_form.js:2938
#: addons/web/static/src/xml/base.xml:755
#: addons/web/static/src/xml/base.xml:777
#: addons/web/static/src/xml/base.xml:1652
@@ -623,7 +623,7 @@ msgid "Add"
msgstr "添加"
#. openerp-web
-#: addons/web/static/src/js/view_form.js:2971
+#: addons/web/static/src/js/view_form.js:2998
msgid "Add: "
msgstr ""
@@ -1247,7 +1247,7 @@ msgid "Set Image"
msgstr ""
#. openerp-web
-#: addons/web/static/src/js/view_form.js:1620
+#: addons/web/static/src/js/view_form.js:1623
#: addons/web/static/src/xml/base.xml:1170
#: addons/web/static/src/xml/base.xml:1220
#: addons/web/static/src/xml/base.xml:1222
diff --git a/addons/web/static/lib/qunit/qunit.css b/addons/web/static/lib/qunit/qunit.css
index 58101ea34ce..257b224ff44 100644
--- a/addons/web/static/lib/qunit/qunit.css
+++ b/addons/web/static/lib/qunit/qunit.css
@@ -1,5 +1,5 @@
/**
- * QUnit v1.4.0pre - A JavaScript Unit Testing Framework
+ * QUnit v1.9.0 - A JavaScript Unit Testing Framework
*
* http://docs.jquery.com/QUnit
*
@@ -38,10 +38,10 @@
line-height: 1em;
font-weight: normal;
- border-radius: 15px 15px 0 0;
- -moz-border-radius: 15px 15px 0 0;
- -webkit-border-top-right-radius: 15px;
- -webkit-border-top-left-radius: 15px;
+ border-radius: 5px 5px 0 0;
+ -moz-border-radius: 5px 5px 0 0;
+ -webkit-border-top-right-radius: 5px;
+ -webkit-border-top-left-radius: 5px;
}
#qunit-header a {
@@ -54,8 +54,9 @@
color: #fff;
}
-#qunit-header label {
+#qunit-testrunner-toolbar label {
display: inline-block;
+ padding: 0 .5em 0 .1em;
}
#qunit-banner {
@@ -112,13 +113,9 @@
background-color: #fff;
- border-radius: 15px;
- -moz-border-radius: 15px;
- -webkit-border-radius: 15px;
-
- box-shadow: inset 0px 2px 13px #999;
- -moz-box-shadow: inset 0px 2px 13px #999;
- -webkit-box-shadow: inset 0px 2px 13px #999;
+ border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
}
#qunit-tests table {
@@ -161,8 +158,7 @@
#qunit-tests b.failed { color: #710909; }
#qunit-tests li li {
- margin: 0.5em;
- padding: 0.4em 0.5em 0.4em 0.5em;
+ padding: 5px;
background-color: #fff;
border-bottom: none;
list-style-position: inside;
@@ -171,9 +167,9 @@
/*** Passing Styles */
#qunit-tests li li.pass {
- color: #5E740B;
+ color: #3c510c;
background-color: #fff;
- border-left: 26px solid #C6E746;
+ border-left: 10px solid #C6E746;
}
#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; }
@@ -189,15 +185,15 @@
#qunit-tests li li.fail {
color: #710909;
background-color: #fff;
- border-left: 26px solid #EE5757;
+ border-left: 10px solid #EE5757;
white-space: pre;
}
#qunit-tests > li:last-child {
- border-radius: 0 0 15px 15px;
- -moz-border-radius: 0 0 15px 15px;
- -webkit-border-bottom-right-radius: 15px;
- -webkit-border-bottom-left-radius: 15px;
+ border-radius: 0 0 5px 5px;
+ -moz-border-radius: 0 0 5px 5px;
+ -webkit-border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
}
#qunit-tests .fail { color: #000000; background-color: #EE5757; }
@@ -220,6 +216,9 @@
border-bottom: 1px solid white;
}
+#qunit-testresult .module-name {
+ font-weight: bold;
+}
/** Fixture */
diff --git a/addons/web/static/lib/qunit/qunit.js b/addons/web/static/lib/qunit/qunit.js
index b71381313c7..65625336453 100644
--- a/addons/web/static/lib/qunit/qunit.js
+++ b/addons/web/static/lib/qunit/qunit.js
@@ -1,5 +1,5 @@
/**
- * QUnit v1.4.0pre - A JavaScript Unit Testing Framework
+ * QUnit v1.9.0 - A JavaScript Unit Testing Framework
*
* http://docs.jquery.com/QUnit
*
@@ -8,75 +8,89 @@
* or GPL (GPL-LICENSE.txt) licenses.
*/
-(function(window) {
+(function( window ) {
-var defined = {
+var QUnit,
+ config,
+ onErrorFnPrev,
+ testId = 0,
+ fileName = (sourceFromStacktrace( 0 ) || "" ).replace(/(:\d+)+\)?/, "").replace(/.+\//, ""),
+ toString = Object.prototype.toString,
+ hasOwn = Object.prototype.hasOwnProperty,
+ defined = {
setTimeout: typeof window.setTimeout !== "undefined",
sessionStorage: (function() {
var x = "qunit-test-string";
try {
- sessionStorage.setItem(x, x);
- sessionStorage.removeItem(x);
+ sessionStorage.setItem( x, x );
+ sessionStorage.removeItem( x );
return true;
- } catch(e) {
+ } catch( e ) {
return false;
}
- })()
+ }())
};
-var testId = 0,
- toString = Object.prototype.toString,
- hasOwn = Object.prototype.hasOwnProperty;
-
-var Test = function(name, testName, expected, async, callback) {
- this.name = name;
- this.testName = testName;
- this.expected = expected;
- this.async = async;
- this.callback = callback;
+function Test( settings ) {
+ extend( this, settings );
this.assertions = [];
-};
+ this.testNumber = ++Test.count;
+}
+
+Test.count = 0;
+
Test.prototype = {
init: function() {
- var tests = id("qunit-tests");
- if (tests) {
- var b = document.createElement("strong");
- b.innerHTML = "Running " + this.name;
- var li = document.createElement("li");
- li.appendChild( b );
- li.className = "running";
- li.id = this.id = "test-output" + testId++;
+ var a, b, li,
+ tests = id( "qunit-tests" );
+
+ if ( tests ) {
+ b = document.createElement( "strong" );
+ b.innerHTML = this.name;
+
+ // `a` initialized at top of scope
+ a = document.createElement( "a" );
+ a.innerHTML = "Rerun";
+ a.href = QUnit.url({ testNumber: this.testNumber });
+
+ li = document.createElement( "li" );
+ li.appendChild( b );
+ li.appendChild( a );
+ li.className = "running";
+ li.id = this.id = "qunit-test-output" + testId++;
+
tests.appendChild( li );
}
},
setup: function() {
- if (this.module != config.previousModule) {
+ if ( this.module !== config.previousModule ) {
if ( config.previousModule ) {
- runLoggingCallbacks('moduleDone', QUnit, {
+ runLoggingCallbacks( "moduleDone", QUnit, {
name: config.previousModule,
failed: config.moduleStats.bad,
passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all
- } );
+ });
}
config.previousModule = this.module;
config.moduleStats = { all: 0, bad: 0 };
- runLoggingCallbacks( 'moduleStart', QUnit, {
+ runLoggingCallbacks( "moduleStart", QUnit, {
name: this.module
- } );
- } else if (config.autorun) {
- runLoggingCallbacks( 'moduleStart', QUnit, {
+ });
+ } else if ( config.autorun ) {
+ runLoggingCallbacks( "moduleStart", QUnit, {
name: this.module
- } );
+ });
}
config.current = this;
+
this.testEnvironment = extend({
setup: function() {},
teardown: function() {}
- }, this.moduleTestEnvironment);
+ }, this.moduleTestEnvironment );
- runLoggingCallbacks( 'testStart', QUnit, {
+ runLoggingCallbacks( "testStart", QUnit, {
name: this.testName,
module: this.module
});
@@ -85,31 +99,41 @@ Test.prototype = {
// TODO why??
QUnit.current_testEnvironment = this.testEnvironment;
+ if ( !config.pollution ) {
+ saveGlobal();
+ }
+ if ( config.notrycatch ) {
+ this.testEnvironment.setup.call( this.testEnvironment );
+ return;
+ }
try {
- if ( !config.pollution ) {
- saveGlobal();
- }
-
- this.testEnvironment.setup.call(this.testEnvironment);
- } catch(e) {
- QUnit.ok( false, "Setup failed on " + this.testName + ": " + e.message );
+ this.testEnvironment.setup.call( this.testEnvironment );
+ } catch( e ) {
+ QUnit.pushFailure( "Setup failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) );
}
},
run: function() {
config.current = this;
+
+ var running = id( "qunit-testresult" );
+
+ if ( running ) {
+ running.innerHTML = "Running:
" + this.name;
+ }
+
if ( this.async ) {
QUnit.stop();
}
if ( config.notrycatch ) {
- this.callback.call(this.testEnvironment);
+ this.callback.call( this.testEnvironment, QUnit.assert );
return;
}
+
try {
- this.callback.call(this.testEnvironment);
- } catch(e) {
- fail("Test " + this.testName + " died, exception and test follows", e, this.callback);
- QUnit.ok( false, "Died on test #" + (this.assertions.length + 1) + ": " + e.message + " - " + QUnit.jsDump.parse(e) );
+ this.callback.call( this.testEnvironment, QUnit.assert );
+ } catch( e ) {
+ QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + e.message, extractStacktrace( e, 0 ) );
// else next test will carry the responsibility
saveGlobal();
@@ -121,34 +145,46 @@ Test.prototype = {
},
teardown: function() {
config.current = this;
- try {
- this.testEnvironment.teardown.call(this.testEnvironment);
- checkPollution();
- } catch(e) {
- QUnit.ok( false, "Teardown failed on " + this.testName + ": " + e.message );
+ if ( config.notrycatch ) {
+ this.testEnvironment.teardown.call( this.testEnvironment );
+ return;
+ } else {
+ try {
+ this.testEnvironment.teardown.call( this.testEnvironment );
+ } catch( e ) {
+ QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) );
+ }
}
+ checkPollution();
},
finish: function() {
config.current = this;
- if ( this.expected != null && this.expected != this.assertions.length ) {
- QUnit.ok( false, "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run" );
+ if ( config.requireExpects && this.expected == null ) {
+ QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack );
+ } else if ( this.expected != null && this.expected != this.assertions.length ) {
+ QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack );
+ } else if ( this.expected == null && !this.assertions.length ) {
+ QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack );
}
- var good = 0, bad = 0,
- tests = id("qunit-tests");
+ var assertion, a, b, i, li, ol,
+ test = this,
+ good = 0,
+ bad = 0,
+ tests = id( "qunit-tests" );
config.stats.all += this.assertions.length;
config.moduleStats.all += this.assertions.length;
if ( tests ) {
- var ol = document.createElement("ol");
+ ol = document.createElement( "ol" );
- for ( var i = 0; i < this.assertions.length; i++ ) {
- var assertion = this.assertions[i];
+ for ( i = 0; i < this.assertions.length; i++ ) {
+ assertion = this.assertions[i];
- var li = document.createElement("li");
+ li = document.createElement( "li" );
li.className = assertion.result ? "pass" : "fail";
- li.innerHTML = assertion.message || (assertion.result ? "okay" : "failed");
+ li.innerHTML = assertion.message || ( assertion.result ? "okay" : "failed" );
ol.appendChild( li );
if ( assertion.result ) {
@@ -162,49 +198,48 @@ Test.prototype = {
// store result when possible
if ( QUnit.config.reorder && defined.sessionStorage ) {
- if (bad) {
- sessionStorage.setItem("qunit-" + this.module + "-" + this.testName, bad);
+ if ( bad ) {
+ sessionStorage.setItem( "qunit-test-" + this.module + "-" + this.testName, bad );
} else {
- sessionStorage.removeItem("qunit-" + this.module + "-" + this.testName);
+ sessionStorage.removeItem( "qunit-test-" + this.module + "-" + this.testName );
}
}
- if (bad == 0) {
+ if ( bad === 0 ) {
ol.style.display = "none";
}
- var b = document.createElement("strong");
+ // `b` initialized at top of scope
+ b = document.createElement( "strong" );
b.innerHTML = this.name + " (" + bad + ", " + good + ", " + this.assertions.length + ")";
- var a = document.createElement("a");
- a.innerHTML = "Rerun";
- a.href = QUnit.url({ filter: getText([b]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") });
-
addEvent(b, "click", function() {
var next = b.nextSibling.nextSibling,
display = next.style.display;
next.style.display = display === "none" ? "block" : "none";
});
- addEvent(b, "dblclick", function(e) {
+ addEvent(b, "dblclick", function( e ) {
var target = e && e.target ? e.target : window.event.srcElement;
if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) {
target = target.parentNode;
}
if ( window.location && target.nodeName.toLowerCase() === "strong" ) {
- window.location = QUnit.url({ filter: getText([target]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") });
+ window.location = QUnit.url({ testNumber: test.testNumber });
}
});
- var li = id(this.id);
+ // `li` initialized at top of scope
+ li = id( this.id );
li.className = bad ? "fail" : "pass";
li.removeChild( li.firstChild );
+ a = li.firstChild;
li.appendChild( b );
- li.appendChild( a );
+ li.appendChild ( a );
li.appendChild( ol );
} else {
- for ( var i = 0; i < this.assertions.length; i++ ) {
+ for ( i = 0; i < this.assertions.length; i++ ) {
if ( !this.assertions[i].result ) {
bad++;
config.stats.bad++;
@@ -213,23 +248,23 @@ Test.prototype = {
}
}
- try {
- QUnit.reset();
- } catch(e) {
- fail("reset() failed, following Test " + this.testName + ", exception and reset fn follows", e, QUnit.reset);
- }
-
- runLoggingCallbacks( 'testDone', QUnit, {
+ runLoggingCallbacks( "testDone", QUnit, {
name: this.testName,
module: this.module,
failed: bad,
passed: this.assertions.length - bad,
total: this.assertions.length
- } );
+ });
+
+ QUnit.reset();
+
+ config.current = undefined;
},
queue: function() {
- var test = this;
+ var bad,
+ test = this;
+
synchronize(function() {
test.init();
});
@@ -248,36 +283,42 @@ Test.prototype = {
test.finish();
});
}
+
+ // `bad` initialized at top of scope
// defer when previous test run passed, if storage is available
- var bad = QUnit.config.reorder && defined.sessionStorage && +sessionStorage.getItem("qunit-" + this.module + "-" + this.testName);
- if (bad) {
+ bad = QUnit.config.reorder && defined.sessionStorage &&
+ +sessionStorage.getItem( "qunit-test-" + this.module + "-" + this.testName );
+
+ if ( bad ) {
run();
} else {
- synchronize(run, true);
- };
+ synchronize( run, true );
+ }
}
-
};
-var QUnit = {
+// Root QUnit object.
+// `QUnit` initialized at top of scope
+QUnit = {
// call on start of module test to prepend name to all tests
- module: function(name, testEnvironment) {
+ module: function( name, testEnvironment ) {
config.currentModule = name;
config.currentModuleTestEnviroment = testEnvironment;
},
- asyncTest: function(testName, expected, callback) {
+ asyncTest: function( testName, expected, callback ) {
if ( arguments.length === 2 ) {
callback = expected;
expected = null;
}
- QUnit.test(testName, expected, callback, true);
+ QUnit.test( testName, expected, callback, true );
},
- test: function(testName, expected, callback, async) {
- var name = '' + escapeInnerText(testName) + '';
+ test: function( testName, expected, callback, async ) {
+ var test,
+ name = "" + escapeInnerText( testName ) + "";
if ( arguments.length === 2 ) {
callback = expected;
@@ -285,180 +326,245 @@ var QUnit = {
}
if ( config.currentModule ) {
- name = '' + config.currentModule + ": " + name;
+ name = "" + config.currentModule + ": " + name;
}
- if ( !validTest(config.currentModule + ": " + testName) ) {
+ test = new Test({
+ name: name,
+ testName: testName,
+ expected: expected,
+ async: async,
+ callback: callback,
+ module: config.currentModule,
+ moduleTestEnvironment: config.currentModuleTestEnviroment,
+ stack: sourceFromStacktrace( 2 )
+ });
+
+ if ( !validTest( test ) ) {
return;
}
- var test = new Test(name, testName, expected, async, callback);
- test.module = config.currentModule;
- test.moduleTestEnvironment = config.currentModuleTestEnviroment;
test.queue();
},
- /**
- * Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through.
- */
- expect: function(asserts) {
+ // Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through.
+ expect: function( asserts ) {
config.current.expected = asserts;
},
+ start: function( count ) {
+ config.semaphore -= count || 1;
+ // don't start until equal number of stop-calls
+ if ( config.semaphore > 0 ) {
+ return;
+ }
+ // ignore if start is called more often then stop
+ if ( config.semaphore < 0 ) {
+ config.semaphore = 0;
+ }
+ // A slight delay, to avoid any current callbacks
+ if ( defined.setTimeout ) {
+ window.setTimeout(function() {
+ if ( config.semaphore > 0 ) {
+ return;
+ }
+ if ( config.timeout ) {
+ clearTimeout( config.timeout );
+ }
+
+ config.blocking = false;
+ process( true );
+ }, 13);
+ } else {
+ config.blocking = false;
+ process( true );
+ }
+ },
+
+ stop: function( count ) {
+ config.semaphore += count || 1;
+ config.blocking = true;
+
+ if ( config.testTimeout && defined.setTimeout ) {
+ clearTimeout( config.timeout );
+ config.timeout = window.setTimeout(function() {
+ QUnit.ok( false, "Test timed out" );
+ config.semaphore = 1;
+ QUnit.start();
+ }, config.testTimeout );
+ }
+ }
+};
+
+// Asssert helpers
+// All of these must call either QUnit.push() or manually do:
+// - runLoggingCallbacks( "log", .. );
+// - config.current.assertions.push({ .. });
+QUnit.assert = {
/**
- * Asserts true.
+ * Asserts rough true-ish result.
+ * @name ok
+ * @function
* @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
*/
- ok: function(a, msg) {
- if (!config.current) {
- throw new Error("ok() assertion outside test context, was " + sourceFromStacktrace(2));
+ ok: function( result, msg ) {
+ if ( !config.current ) {
+ throw new Error( "ok() assertion outside test context, was " + sourceFromStacktrace(2) );
}
- a = !!a;
- var details = {
- result: a,
- message: msg
- };
- msg = escapeInnerText(msg);
- runLoggingCallbacks( 'log', QUnit, details );
+ result = !!result;
+
+ var source,
+ details = {
+ result: result,
+ message: msg
+ };
+
+ msg = escapeInnerText( msg || (result ? "okay" : "failed" ) );
+ msg = "" + msg + "";
+
+ if ( !result ) {
+ source = sourceFromStacktrace( 2 );
+ if ( source ) {
+ details.source = source;
+ msg += "
Source: | " + escapeInnerText( source ) + " |
---|
";
+ }
+ }
+ runLoggingCallbacks( "log", QUnit, details );
config.current.assertions.push({
- result: a,
+ result: result,
message: msg
});
},
/**
- * Checks that the first two arguments are equal, with an optional message.
+ * Assert that the first two arguments are equal, with an optional message.
* Prints out both actual and expected values.
- *
- * Prefered to ok( actual == expected, message )
- *
- * @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." );
- *
- * @param Object actual
- * @param Object expected
- * @param String message (optional)
+ * @name equal
+ * @function
+ * @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" );
*/
- equal: function(actual, expected, message) {
- QUnit.push(expected == actual, actual, expected, message);
+ equal: function( actual, expected, message ) {
+ QUnit.push( expected == actual, actual, expected, message );
},
- notEqual: function(actual, expected, message) {
- QUnit.push(expected != actual, actual, expected, message);
+ /**
+ * @name notEqual
+ * @function
+ */
+ notEqual: function( actual, expected, message ) {
+ QUnit.push( expected != actual, actual, expected, message );
},
- deepEqual: function(actual, expected, message) {
- QUnit.push(QUnit.equiv(actual, expected), actual, expected, message);
+ /**
+ * @name deepEqual
+ * @function
+ */
+ deepEqual: function( actual, expected, message ) {
+ QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
},
- notDeepEqual: function(actual, expected, message) {
- QUnit.push(!QUnit.equiv(actual, expected), actual, expected, message);
+ /**
+ * @name notDeepEqual
+ * @function
+ */
+ notDeepEqual: function( actual, expected, message ) {
+ QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
},
- strictEqual: function(actual, expected, message) {
- QUnit.push(expected === actual, actual, expected, message);
+ /**
+ * @name strictEqual
+ * @function
+ */
+ strictEqual: function( actual, expected, message ) {
+ QUnit.push( expected === actual, actual, expected, message );
},
- notStrictEqual: function(actual, expected, message) {
- QUnit.push(expected !== actual, actual, expected, message);
+ /**
+ * @name notStrictEqual
+ * @function
+ */
+ notStrictEqual: function( actual, expected, message ) {
+ QUnit.push( expected !== actual, actual, expected, message );
},
- raises: function(block, expected, message) {
- var actual, ok = false;
+ throws: function( block, expected, message ) {
+ var actual,
+ ok = false;
- if (typeof expected === 'string') {
+ // 'expected' is optional
+ if ( typeof expected === "string" ) {
message = expected;
expected = null;
}
+ config.current.ignoreGlobalErrors = true;
try {
- block();
+ block.call( config.current.testEnvironment );
} catch (e) {
actual = e;
}
+ config.current.ignoreGlobalErrors = false;
- if (actual) {
+ if ( actual ) {
// we don't want to validate thrown error
- if (!expected) {
+ if ( !expected ) {
ok = true;
// expected is a regexp
- } else if (QUnit.objectType(expected) === "regexp") {
- ok = expected.test(actual);
+ } else if ( QUnit.objectType( expected ) === "regexp" ) {
+ ok = expected.test( actual );
// expected is a constructor
- } else if (actual instanceof expected) {
+ } else if ( actual instanceof expected ) {
ok = true;
// expected is a validation function which returns true is validation passed
- } else if (expected.call({}, actual) === true) {
+ } else if ( expected.call( {}, actual ) === true ) {
ok = true;
}
- }
- QUnit.ok(ok, message);
- },
-
- start: function(count) {
- config.semaphore -= count || 1;
- if (config.semaphore > 0) {
- // don't start until equal number of stop-calls
- return;
- }
- if (config.semaphore < 0) {
- // ignore if start is called more often then stop
- config.semaphore = 0;
- }
- // A slight delay, to avoid any current callbacks
- if ( defined.setTimeout ) {
- window.setTimeout(function() {
- if (config.semaphore > 0) {
- return;
- }
- if ( config.timeout ) {
- clearTimeout(config.timeout);
- }
-
- config.blocking = false;
- process(true);
- }, 13);
+ QUnit.push( ok, actual, null, message );
} else {
- config.blocking = false;
- process(true);
- }
- },
-
- stop: function(count) {
- config.semaphore += count || 1;
- config.blocking = true;
-
- if ( config.testTimeout && defined.setTimeout ) {
- clearTimeout(config.timeout);
- config.timeout = window.setTimeout(function() {
- QUnit.ok( false, "Test timed out" );
- config.semaphore = 1;
- QUnit.start();
- }, config.testTimeout);
+ QUnit.pushFailure( message, null, 'No exception was thrown.' );
}
}
};
-//We want access to the constructor's prototype
-(function() {
- function F(){};
- F.prototype = QUnit;
- QUnit = new F();
- //Make F QUnit's constructor so that we can add to the prototype later
- QUnit.constructor = F;
-})();
+/**
+ * @deprecate since 1.8.0
+ * Kept assertion helpers in root for backwards compatibility
+ */
+extend( QUnit, QUnit.assert );
-// deprecated; still export them to window to provide clear error messages
-// next step: remove entirely
+/**
+ * @deprecated since 1.9.0
+ * Kept global "raises()" for backwards compatibility
+ */
+QUnit.raises = QUnit.assert.throws;
+
+/**
+ * @deprecated since 1.0.0, replaced with error pushes since 1.3.0
+ * Kept to avoid TypeErrors for undefined methods.
+ */
QUnit.equals = function() {
- throw new Error("QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead");
+ QUnit.push( false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead" );
};
QUnit.same = function() {
- throw new Error("QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead");
+ QUnit.push( false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead" );
};
-// Maintain internal state
-var config = {
+// We want access to the constructor's prototype
+(function() {
+ function F() {}
+ F.prototype = QUnit;
+ QUnit = new F();
+ // Make F QUnit's constructor so that we can add to the prototype later
+ QUnit.constructor = F;
+}());
+
+/**
+ * Config object: Maintain internal state
+ * Later exposed as QUnit.config
+ * `config` initialized at top of scope
+ */
+config = {
// The queue of tests to run
queue: [],
@@ -476,9 +582,25 @@ var config = {
// by default, modify document.title when suite is done
altertitle: true,
- urlConfig: ['noglobals', 'notrycatch'],
+ // when enabled, all tests must call expect()
+ requireExpects: false,
- //logging callback queues
+ // add checkboxes that are persisted in the query-string
+ // when enabled, the id is set to `true` as a `QUnit.config` property
+ urlConfig: [
+ {
+ id: "noglobals",
+ label: "Check for Globals",
+ tooltip: "Enabling this will test if any test introduces new properties on the `window` object. Stored as query-strings."
+ },
+ {
+ id: "notrycatch",
+ label: "No try-catch",
+ tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging exceptions in IE reasonable. Stored as query-strings."
+ }
+ ],
+
+ // logging callback queues
begin: [],
done: [],
log: [],
@@ -488,16 +610,17 @@ var config = {
moduleDone: []
};
-// Load paramaters
+// Initialize more QUnit.config and QUnit.urlParams
(function() {
- var location = window.location || { search: "", protocol: "file:" },
+ var i,
+ location = window.location || { search: "", protocol: "file:" },
params = location.search.slice( 1 ).split( "&" ),
length = params.length,
urlParams = {},
current;
if ( params[ 0 ] ) {
- for ( var i = 0; i < length; i++ ) {
+ for ( i = 0; i < length; i++ ) {
current = params[ i ].split( "=" );
current[ 0 ] = decodeURIComponent( current[ 0 ] );
// allow just a key to turn on a flag, e.g., test.html?noglobals
@@ -507,31 +630,39 @@ var config = {
}
QUnit.urlParams = urlParams;
+
+ // String search anywhere in moduleName+testName
config.filter = urlParams.filter;
- // Figure out if we're running the tests from a server or not
- QUnit.isLocal = !!(location.protocol === 'file:');
-})();
+ // Exact match of the module name
+ config.module = urlParams.module;
-// Expose the API as global variables, unless an 'exports'
-// object exists, in that case we assume we're in CommonJS
-if ( typeof exports === "undefined" || typeof require === "undefined" ) {
- extend(window, QUnit);
+ config.testNumber = parseInt( urlParams.testNumber, 10 ) || null;
+
+ // Figure out if we're running the tests from a server or not
+ QUnit.isLocal = location.protocol === "file:";
+}());
+
+// Export global variables, unless an 'exports' object exists,
+// in that case we assume we're in CommonJS (dealt with on the bottom of the script)
+if ( typeof exports === "undefined" ) {
+ extend( window, QUnit );
+
+ // Expose QUnit object
window.QUnit = QUnit;
-} else {
- module.exports = QUnit;
}
-// define these after exposing globals to keep them in these QUnit namespace only
-extend(QUnit, {
+// Extend QUnit object,
+// these after set here because they should not be exposed as global functions
+extend( QUnit, {
config: config,
// Initialize the configuration options
init: function() {
- extend(config, {
+ extend( config, {
stats: { all: 0, bad: 0 },
moduleStats: { all: 0, bad: 0 },
- started: +new Date,
+ started: +new Date(),
updateRate: 1000,
blocking: false,
autostart: true,
@@ -541,19 +672,21 @@ extend(QUnit, {
semaphore: 0
});
- var qunit = id( "qunit" );
+ var tests, banner, result,
+ qunit = id( "qunit" );
+
if ( qunit ) {
qunit.innerHTML =
- '' +
- '' +
- '' +
- '' +
- '
';
+ "" +
+ "" +
+ "" +
+ "" +
+ "
";
}
- var tests = id( "qunit-tests" ),
- banner = id( "qunit-banner" ),
- result = id( "qunit-testresult" );
+ tests = id( "qunit-tests" );
+ banner = id( "qunit-banner" );
+ result = id( "qunit-testresult" );
if ( tests ) {
tests.innerHTML = "";
@@ -572,43 +705,36 @@ extend(QUnit, {
result.id = "qunit-testresult";
result.className = "result";
tests.parentNode.insertBefore( result, tests );
- result.innerHTML = 'Running...
';
+ result.innerHTML = "Running...
";
}
},
- /**
- * Resets the test setup. Useful for tests that modify the DOM.
- *
- * If jQuery is available, uses jQuery's replaceWith(), otherwise use replaceChild
- */
+ // Resets the test setup. Useful for tests that modify the DOM.
+ // If jQuery is available, uses jQuery's html(), otherwise just innerHTML.
reset: function() {
- var main = id( 'qunit-fixture' );
- if ( main ) {
- if ( window.jQuery ) {
- jQuery( main ).replaceWith( config.fixture.cloneNode(true) );
- } else {
- main.parentNode.replaceChild(config.fixture.cloneNode(true), main);
+ var fixture;
+
+ if ( window.jQuery ) {
+ jQuery( "#qunit-fixture" ).html( config.fixture );
+ } else {
+ fixture = id( "qunit-fixture" );
+ if ( fixture ) {
+ fixture.innerHTML = config.fixture;
}
}
},
- /**
- * Trigger an event on an element.
- *
- * @example triggerEvent( document.body, "click" );
- *
- * @param DOMElement elem
- * @param String type
- */
+ // Trigger an event on an element.
+ // @example triggerEvent( document.body, "click" );
triggerEvent: function( elem, type, event ) {
if ( document.createEvent ) {
- event = document.createEvent("MouseEvents");
+ event = document.createEvent( "MouseEvents" );
event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
- elem.dispatchEvent( event );
+ elem.dispatchEvent( event );
} else if ( elem.fireEvent ) {
- elem.fireEvent("on"+type);
+ elem.fireEvent( "on" + type );
}
},
@@ -618,69 +744,74 @@ extend(QUnit, {
},
objectType: function( obj ) {
- if (typeof obj === "undefined") {
+ if ( typeof obj === "undefined" ) {
return "undefined";
-
// consider: typeof null === object
}
- if (obj === null) {
+ if ( obj === null ) {
return "null";
}
- var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || '';
+ var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || "";
- switch (type) {
- case 'Number':
- if (isNaN(obj)) {
- return "nan";
- } else {
- return "number";
- }
- case 'String':
- case 'Boolean':
- case 'Array':
- case 'Date':
- case 'RegExp':
- case 'Function':
- return type.toLowerCase();
+ switch ( type ) {
+ case "Number":
+ if ( isNaN(obj) ) {
+ return "nan";
+ }
+ return "number";
+ case "String":
+ case "Boolean":
+ case "Array":
+ case "Date":
+ case "RegExp":
+ case "Function":
+ return type.toLowerCase();
}
- if (typeof obj === "object") {
- return "object";
+ if ( typeof obj === "object" ) {
+ return "object";
}
return undefined;
},
- push: function(result, actual, expected, message) {
- if (!config.current) {
- throw new Error("assertion outside test context, was " + sourceFromStacktrace());
+ push: function( result, actual, expected, message ) {
+ if ( !config.current ) {
+ throw new Error( "assertion outside test context, was " + sourceFromStacktrace() );
}
- var details = {
- result: result,
- message: message,
- actual: actual,
- expected: expected
- };
- message = escapeInnerText(message) || (result ? "okay" : "failed");
- message = '' + message + "";
- var output = message;
- if (!result) {
- expected = escapeInnerText(QUnit.jsDump.parse(expected));
- actual = escapeInnerText(QUnit.jsDump.parse(actual));
- output += 'Expected: | ' + expected + ' |
';
- if (actual != expected) {
- output += 'Result: | ' + actual + ' |
';
- output += 'Diff: | ' + QUnit.diff(expected, actual) +' |
';
+ var output, source,
+ details = {
+ result: result,
+ message: message,
+ actual: actual,
+ expected: expected
+ };
+
+ message = escapeInnerText( message ) || ( result ? "okay" : "failed" );
+ message = "" + message + "";
+ output = message;
+
+ if ( !result ) {
+ expected = escapeInnerText( QUnit.jsDump.parse(expected) );
+ actual = escapeInnerText( QUnit.jsDump.parse(actual) );
+ output += "Expected: | " + expected + " |
";
+
+ if ( actual != expected ) {
+ output += "Result: | " + actual + " |
";
+ output += "Diff: | " + QUnit.diff( expected, actual ) + " |
";
}
- var source = sourceFromStacktrace();
- if (source) {
+
+ source = sourceFromStacktrace();
+
+ if ( source ) {
details.source = source;
- output += 'Source: | ' + escapeInnerText(source) + ' |
';
+ output += "Source: | " + escapeInnerText( source ) + " |
";
}
+
output += "
";
}
- runLoggingCallbacks( 'log', QUnit, details );
+ runLoggingCallbacks( "log", QUnit, details );
config.current.assertions.push({
result: !!result,
@@ -688,10 +819,47 @@ extend(QUnit, {
});
},
+ pushFailure: function( message, source, actual ) {
+ if ( !config.current ) {
+ throw new Error( "pushFailure() assertion outside test context, was " + sourceFromStacktrace(2) );
+ }
+
+ var output,
+ details = {
+ result: false,
+ message: message
+ };
+
+ message = escapeInnerText( message ) || "error";
+ message = "" + message + "";
+ output = message;
+
+ output += "";
+
+ if ( actual ) {
+ output += "Result: | " + escapeInnerText( actual ) + " |
";
+ }
+
+ if ( source ) {
+ details.source = source;
+ output += "Source: | " + escapeInnerText( source ) + " |
";
+ }
+
+ output += "
";
+
+ runLoggingCallbacks( "log", QUnit, details );
+
+ config.current.assertions.push({
+ result: false,
+ message: output
+ });
+ },
+
url: function( params ) {
params = extend( extend( {}, QUnit.urlParams ), params );
- var querystring = "?",
- key;
+ var key,
+ querystring = "?";
+
for ( key in params ) {
if ( !hasOwn.call( params, key ) ) {
continue;
@@ -705,27 +873,39 @@ extend(QUnit, {
extend: extend,
id: id,
addEvent: addEvent
+ // load, equiv, jsDump, diff: Attached later
});
-//QUnit.constructor is set to the empty F() above so that we can add to it's prototype later
-//Doing this allows us to tell if the following methods have been overwritten on the actual
-//QUnit object, which is a deprecated way of using the callbacks.
-extend(QUnit.constructor.prototype, {
+/**
+ * @deprecated: Created for backwards compatibility with test runner that set the hook function
+ * into QUnit.{hook}, instead of invoking it and passing the hook function.
+ * QUnit.constructor is set to the empty F() above so that we can add to it's prototype here.
+ * Doing this allows us to tell if the following methods have been overwritten on the actual
+ * QUnit object.
+ */
+extend( QUnit.constructor.prototype, {
+
// Logging callbacks; all receive a single argument with the listed properties
// run test/logs.html for any related changes
- begin: registerLoggingCallback('begin'),
+ begin: registerLoggingCallback( "begin" ),
+
// done: { failed, passed, total, runtime }
- done: registerLoggingCallback('done'),
+ done: registerLoggingCallback( "done" ),
+
// log: { result, actual, expected, message }
- log: registerLoggingCallback('log'),
+ log: registerLoggingCallback( "log" ),
+
// testStart: { name }
- testStart: registerLoggingCallback('testStart'),
+ testStart: registerLoggingCallback( "testStart" ),
+
// testDone: { name, failed, passed, total }
- testDone: registerLoggingCallback('testDone'),
+ testDone: registerLoggingCallback( "testDone" ),
+
// moduleStart: { name }
- moduleStart: registerLoggingCallback('moduleStart'),
+ moduleStart: registerLoggingCallback( "moduleStart" ),
+
// moduleDone: { name, failed, passed, total }
- moduleDone: registerLoggingCallback('moduleDone')
+ moduleDone: registerLoggingCallback( "moduleDone" )
});
if ( typeof document === "undefined" || document.readyState === "complete" ) {
@@ -733,90 +913,140 @@ if ( typeof document === "undefined" || document.readyState === "complete" ) {
}
QUnit.load = function() {
- runLoggingCallbacks( 'begin', QUnit, {} );
+ runLoggingCallbacks( "begin", QUnit, {} );
// Initialize the config, saving the execution queue
- var oldconfig = extend({}, config);
+ var banner, filter, i, label, len, main, ol, toolbar, userAgent, val, urlConfigCheckboxes,
+ urlConfigHtml = "",
+ oldconfig = extend( {}, config );
+
QUnit.init();
extend(config, oldconfig);
config.blocking = false;
- var urlConfigHtml = '', len = config.urlConfig.length;
- for ( var i = 0, val; i < len, val = config.urlConfig[i]; i++ ) {
- config[val] = QUnit.urlParams[val];
- urlConfigHtml += '';
+ len = config.urlConfig.length;
+
+ for ( i = 0; i < len; i++ ) {
+ val = config.urlConfig[i];
+ if ( typeof val === "string" ) {
+ val = {
+ id: val,
+ label: val,
+ tooltip: "[no tooltip available]"
+ };
+ }
+ config[ val.id ] = QUnit.urlParams[ val.id ];
+ urlConfigHtml += "";
}
- var userAgent = id("qunit-userAgent");
+ // `userAgent` initialized at top of scope
+ userAgent = id( "qunit-userAgent" );
if ( userAgent ) {
userAgent.innerHTML = navigator.userAgent;
}
- var banner = id("qunit-header");
+
+ // `banner` initialized at top of scope
+ banner = id( "qunit-header" );
if ( banner ) {
- banner.innerHTML = ' ' + banner.innerHTML + ' ' + urlConfigHtml;
- addEvent( banner, "change", function( event ) {
- var params = {};
- params[ event.target.name ] = event.target.checked ? true : undefined;
- window.location = QUnit.url( params );
- });
+ banner.innerHTML = "" + banner.innerHTML + " ";
}
- var toolbar = id("qunit-testrunner-toolbar");
+ // `toolbar` initialized at top of scope
+ toolbar = id( "qunit-testrunner-toolbar" );
if ( toolbar ) {
- var filter = document.createElement("input");
+ // `filter` initialized at top of scope
+ filter = document.createElement( "input" );
filter.type = "checkbox";
filter.id = "qunit-filter-pass";
+
addEvent( filter, "click", function() {
- var ol = document.getElementById("qunit-tests");
+ var tmp,
+ ol = document.getElementById( "qunit-tests" );
+
if ( filter.checked ) {
ol.className = ol.className + " hidepass";
} else {
- var tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
- ol.className = tmp.replace(/ hidepass /, " ");
+ tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
+ ol.className = tmp.replace( / hidepass /, " " );
}
if ( defined.sessionStorage ) {
if (filter.checked) {
- sessionStorage.setItem("qunit-filter-passed-tests", "true");
+ sessionStorage.setItem( "qunit-filter-passed-tests", "true" );
} else {
- sessionStorage.removeItem("qunit-filter-passed-tests");
+ sessionStorage.removeItem( "qunit-filter-passed-tests" );
}
}
});
- if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem("qunit-filter-passed-tests") ) {
+
+ if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem( "qunit-filter-passed-tests" ) ) {
filter.checked = true;
- var ol = document.getElementById("qunit-tests");
+ // `ol` initialized at top of scope
+ ol = document.getElementById( "qunit-tests" );
ol.className = ol.className + " hidepass";
}
toolbar.appendChild( filter );
- var label = document.createElement("label");
- label.setAttribute("for", "qunit-filter-pass");
+ // `label` initialized at top of scope
+ label = document.createElement( "label" );
+ label.setAttribute( "for", "qunit-filter-pass" );
+ label.setAttribute( "title", "Only show tests and assertons that fail. Stored in sessionStorage." );
label.innerHTML = "Hide passed tests";
toolbar.appendChild( label );
+
+ urlConfigCheckboxes = document.createElement( 'span' );
+ urlConfigCheckboxes.innerHTML = urlConfigHtml;
+ addEvent( urlConfigCheckboxes, "change", function( event ) {
+ var params = {};
+ params[ event.target.name ] = event.target.checked ? true : undefined;
+ window.location = QUnit.url( params );
+ });
+ toolbar.appendChild( urlConfigCheckboxes );
}
- var main = id('qunit-fixture');
+ // `main` initialized at top of scope
+ main = id( "qunit-fixture" );
if ( main ) {
- config.fixture = main.cloneNode(true);
+ config.fixture = main.innerHTML;
}
- if (config.autostart) {
+ if ( config.autostart ) {
QUnit.start();
}
};
-addEvent(window, "load", QUnit.load);
+addEvent( window, "load", QUnit.load );
-// addEvent(window, "error") gives us a useless event object
-window.onerror = function( message, file, line ) {
- if ( QUnit.config.current ) {
- ok( false, message + ", " + file + ":" + line );
- } else {
- test( "global failure", function() {
- ok( false, message + ", " + file + ":" + line );
- });
+// `onErrorFnPrev` initialized at top of scope
+// Preserve other handlers
+onErrorFnPrev = window.onerror;
+
+// Cover uncaught exceptions
+// Returning true will surpress the default browser handler,
+// returning false will let it run.
+window.onerror = function ( error, filePath, linerNr ) {
+ var ret = false;
+ if ( onErrorFnPrev ) {
+ ret = onErrorFnPrev( error, filePath, linerNr );
}
+
+ // Treat return value as window.onerror itself does,
+ // Only do our handling if not surpressed.
+ if ( ret !== true ) {
+ if ( QUnit.config.current ) {
+ if ( QUnit.config.current.ignoreGlobalErrors ) {
+ return true;
+ }
+ QUnit.pushFailure( error, filePath + ":" + linerNr );
+ } else {
+ QUnit.test( "global failure", function() {
+ QUnit.pushFailure( error, filePath + ":" + linerNr );
+ });
+ }
+ return false;
+ }
+
+ return ret;
};
function done() {
@@ -824,33 +1054,34 @@ function done() {
// Log the last module results
if ( config.currentModule ) {
- runLoggingCallbacks( 'moduleDone', QUnit, {
+ runLoggingCallbacks( "moduleDone", QUnit, {
name: config.currentModule,
failed: config.moduleStats.bad,
passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all
- } );
+ });
}
- var banner = id("qunit-banner"),
- tests = id("qunit-tests"),
- runtime = +new Date - config.started,
+ var i, key,
+ banner = id( "qunit-banner" ),
+ tests = id( "qunit-tests" ),
+ runtime = +new Date() - config.started,
passed = config.stats.all - config.stats.bad,
html = [
- 'Tests completed in ',
+ "Tests completed in ",
runtime,
- ' milliseconds.
',
- '',
+ " milliseconds.
",
+ "",
passed,
- ' tests of ',
+ " tests of ",
config.stats.all,
- ' passed, ',
+ " passed, ",
config.stats.bad,
- ' failed.'
- ].join('');
+ " failed."
+ ].join( "" );
if ( banner ) {
- banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass");
+ banner.className = ( config.stats.bad ? "qunit-fail" : "qunit-pass" );
}
if ( tests ) {
@@ -861,84 +1092,119 @@ function done() {
// show ✖ for good, ✔ for bad suite result in title
// use escape sequences in case file gets loaded with non-utf-8-charset
document.title = [
- (config.stats.bad ? "\u2716" : "\u2714"),
- document.title.replace(/^[\u2714\u2716] /i, "")
- ].join(" ");
+ ( config.stats.bad ? "\u2716" : "\u2714" ),
+ document.title.replace( /^[\u2714\u2716] /i, "" )
+ ].join( " " );
}
// clear own sessionStorage items if all tests passed
if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) {
- for (var key in sessionStorage) {
- if (sessionStorage.hasOwnProperty(key) && key.indexOf("qunit-") === 0 ) {
- sessionStorage.removeItem(key);
+ // `key` & `i` initialized at top of scope
+ for ( i = 0; i < sessionStorage.length; i++ ) {
+ key = sessionStorage.key( i++ );
+ if ( key.indexOf( "qunit-test-" ) === 0 ) {
+ sessionStorage.removeItem( key );
}
}
}
- runLoggingCallbacks( 'done', QUnit, {
+ runLoggingCallbacks( "done", QUnit, {
failed: config.stats.bad,
passed: passed,
total: config.stats.all,
runtime: runtime
- } );
+ });
}
-function validTest( name ) {
- var filter = config.filter,
- run = false;
+/** @return Boolean: true if this test should be ran */
+function validTest( test ) {
+ var include,
+ filter = config.filter && config.filter.toLowerCase(),
+ module = config.module && config.module.toLowerCase(),
+ fullName = (test.module + ": " + test.testName).toLowerCase();
+
+ if ( config.testNumber ) {
+ return test.testNumber === config.testNumber;
+ }
+
+ if ( module && ( !test.module || test.module.toLowerCase() !== module ) ) {
+ return false;
+ }
if ( !filter ) {
return true;
}
- var not = filter.charAt( 0 ) === "!";
- if ( not ) {
+ include = filter.charAt( 0 ) !== "!";
+ if ( !include ) {
filter = filter.slice( 1 );
}
- if ( name.indexOf( filter ) !== -1 ) {
- return !not;
+ // If the filter matches, we need to honour include
+ if ( fullName.indexOf( filter ) !== -1 ) {
+ return include;
}
- if ( not ) {
- run = true;
- }
-
- return run;
+ // Otherwise, do the opposite
+ return !include;
}
-// so far supports only Firefox, Chrome and Opera (buggy)
-// could be extended in the future to use something like https://github.com/csnover/TraceKit
-function sourceFromStacktrace(offset) {
- offset = offset || 3;
+// so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions)
+// Later Safari and IE10 are supposed to support error.stack as well
+// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
+function extractStacktrace( e, offset ) {
+ offset = offset === undefined ? 3 : offset;
+
+ var stack, include, i, regex;
+
+ if ( e.stacktrace ) {
+ // Opera
+ return e.stacktrace.split( "\n" )[ offset + 3 ];
+ } else if ( e.stack ) {
+ // Firefox, Chrome
+ stack = e.stack.split( "\n" );
+ if (/^error$/i.test( stack[0] ) ) {
+ stack.shift();
+ }
+ if ( fileName ) {
+ include = [];
+ for ( i = offset; i < stack.length; i++ ) {
+ if ( stack[ i ].indexOf( fileName ) != -1 ) {
+ break;
+ }
+ include.push( stack[ i ] );
+ }
+ if ( include.length ) {
+ return include.join( "\n" );
+ }
+ }
+ return stack[ offset ];
+ } else if ( e.sourceURL ) {
+ // Safari, PhantomJS
+ // hopefully one day Safari provides actual stacktraces
+ // exclude useless self-reference for generated Error objects
+ if ( /qunit.js$/.test( e.sourceURL ) ) {
+ return;
+ }
+ // for actual exceptions, this is useful
+ return e.sourceURL + ":" + e.line;
+ }
+}
+function sourceFromStacktrace( offset ) {
try {
throw new Error();
} catch ( e ) {
- if (e.stacktrace) {
- // Opera
- return e.stacktrace.split("\n")[offset + 3];
- } else if (e.stack) {
- // Firefox, Chrome
- var stack = e.stack.split("\n");
- if (/^error$/i.test(stack[0])) {
- stack.shift();
- }
- return stack[offset];
- } else if (e.sourceURL) {
- // Safari, PhantomJS
- // TODO sourceURL points at the 'throw new Error' line above, useless
- //return e.sourceURL + ":" + e.line;
- }
+ return extractStacktrace( e, offset );
}
}
-function escapeInnerText(s) {
- if (!s) {
+function escapeInnerText( s ) {
+ if ( !s ) {
return "";
}
s = s + "";
- return s.replace(/[\&<>]/g, function(s) {
- switch(s) {
+ return s.replace( /[\&<>]/g, function( s ) {
+ switch( s ) {
case "&": return "&";
case "<": return "<";
case ">": return ">";
@@ -951,11 +1217,14 @@ function synchronize( callback, last ) {
config.queue.push( callback );
if ( config.autorun && !config.blocking ) {
- process(last);
+ process( last );
}
}
function process( last ) {
+ function next() {
+ process( last );
+ }
var start = new Date().getTime();
config.depth = config.depth ? config.depth + 1 : 1;
@@ -963,9 +1232,7 @@ function process( last ) {
if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) {
config.queue.shift()();
} else {
- window.setTimeout( function(){
- process( last );
- }, 13 );
+ window.setTimeout( next, 13 );
break;
}
}
@@ -980,7 +1247,8 @@ function saveGlobal() {
if ( config.noglobals ) {
for ( var key in window ) {
- if ( !hasOwn.call( window, key ) ) {
+ // in Opera sometimes DOM element ids show up here, ignore them
+ if ( !hasOwn.call( window, key ) || /^qunit-test-output/.test( key ) ) {
continue;
}
config.pollution.push( key );
@@ -989,27 +1257,32 @@ function saveGlobal() {
}
function checkPollution( name ) {
- var old = config.pollution;
+ var newGlobals,
+ deletedGlobals,
+ old = config.pollution;
+
saveGlobal();
- var newGlobals = diff( config.pollution, old );
+ newGlobals = diff( config.pollution, old );
if ( newGlobals.length > 0 ) {
- ok( false, "Introduced global variable(s): " + newGlobals.join(", ") );
+ QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") );
}
- var deletedGlobals = diff( old, config.pollution );
+ deletedGlobals = diff( old, config.pollution );
if ( deletedGlobals.length > 0 ) {
- ok( false, "Deleted global variable(s): " + deletedGlobals.join(", ") );
+ QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") );
}
}
// returns a new Array with the elements that are in a but not in b
function diff( a, b ) {
- var result = a.slice();
- for ( var i = 0; i < result.length; i++ ) {
- for ( var j = 0; j < b.length; j++ ) {
+ var i, j,
+ result = a.slice();
+
+ for ( i = 0; i < result.length; i++ ) {
+ for ( j = 0; j < b.length; j++ ) {
if ( result[i] === b[j] ) {
- result.splice(i, 1);
+ result.splice( i, 1 );
i--;
break;
}
@@ -1018,33 +1291,21 @@ function diff( a, b ) {
return result;
}
-function fail(message, exception, callback) {
- if ( typeof console !== "undefined" && console.error && console.warn ) {
- console.error(message);
- console.error(exception);
- console.error(exception.stack);
- console.warn(callback.toString());
-
- } else if ( window.opera && opera.postError ) {
- opera.postError(message, exception, callback.toString);
- }
-}
-
-function extend(a, b) {
+function extend( a, b ) {
for ( var prop in b ) {
- if ( b[prop] === undefined ) {
- delete a[prop];
+ if ( b[ prop ] === undefined ) {
+ delete a[ prop ];
// Avoid "Member not found" error in IE8 caused by setting window.constructor
} else if ( prop !== "constructor" || a !== window ) {
- a[prop] = b[prop];
+ a[ prop ] = b[ prop ];
}
}
return a;
}
-function addEvent(elem, type, fn) {
+function addEvent( elem, type, fn ) {
if ( elem.addEventListener ) {
elem.addEventListener( type, fn, false );
} else if ( elem.attachEvent ) {
@@ -1054,215 +1315,214 @@ function addEvent(elem, type, fn) {
}
}
-function id(name) {
- return !!(typeof document !== "undefined" && document && document.getElementById) &&
+function id( name ) {
+ return !!( typeof document !== "undefined" && document && document.getElementById ) &&
document.getElementById( name );
}
-function registerLoggingCallback(key){
- return function(callback){
+function registerLoggingCallback( key ) {
+ return function( callback ) {
config[key].push( callback );
};
}
// Supports deprecated method of completely overwriting logging callbacks
-function runLoggingCallbacks(key, scope, args) {
+function runLoggingCallbacks( key, scope, args ) {
//debugger;
- var callbacks;
- if ( QUnit.hasOwnProperty(key) ) {
- QUnit[key].call(scope, args);
+ var i, callbacks;
+ if ( QUnit.hasOwnProperty( key ) ) {
+ QUnit[ key ].call(scope, args );
} else {
- callbacks = config[key];
- for( var i = 0; i < callbacks.length; i++ ) {
- callbacks[i].call( scope, args );
+ callbacks = config[ key ];
+ for ( i = 0; i < callbacks.length; i++ ) {
+ callbacks[ i ].call( scope, args );
}
}
}
// Test for equality any JavaScript type.
// Author: Philippe Rathé
-QUnit.equiv = function () {
-
- var innerEquiv; // the real equiv function
- var callers = []; // stack to decide between skip/abort functions
- var parents = []; // stack to avoiding loops from circular referencing
+QUnit.equiv = (function() {
// Call the o related callback with the given arguments.
- function bindCallbacks(o, callbacks, args) {
- var prop = QUnit.objectType(o);
- if (prop) {
- if (QUnit.objectType(callbacks[prop]) === "function") {
- return callbacks[prop].apply(callbacks, args);
+ function bindCallbacks( o, callbacks, args ) {
+ var prop = QUnit.objectType( o );
+ if ( prop ) {
+ if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) {
+ return callbacks[ prop ].apply( callbacks, args );
} else {
- return callbacks[prop]; // or undefined
+ return callbacks[ prop ]; // or undefined
}
}
}
- var getProto = Object.getPrototypeOf || function (obj) {
- return obj.__proto__;
- };
+ // the real equiv function
+ var innerEquiv,
+ // stack to decide between skip/abort functions
+ callers = [],
+ // stack to avoiding loops from circular referencing
+ parents = [],
- var callbacks = function () {
+ getProto = Object.getPrototypeOf || function ( obj ) {
+ return obj.__proto__;
+ },
+ callbacks = (function () {
- // for string, boolean, number and null
- function useStrictEquality(b, a) {
- if (b instanceof a.constructor || a instanceof b.constructor) {
- // to catch short annotaion VS 'new' annotation of a
- // declaration
- // e.g. var i = 1;
- // var j = new Number(1);
- return a == b;
- } else {
- return a === b;
+ // for string, boolean, number and null
+ function useStrictEquality( b, a ) {
+ if ( b instanceof a.constructor || a instanceof b.constructor ) {
+ // to catch short annotaion VS 'new' annotation of a
+ // declaration
+ // e.g. var i = 1;
+ // var j = new Number(1);
+ return a == b;
+ } else {
+ return a === b;
+ }
}
- }
- return {
- "string" : useStrictEquality,
- "boolean" : useStrictEquality,
- "number" : useStrictEquality,
- "null" : useStrictEquality,
- "undefined" : useStrictEquality,
+ return {
+ "string": useStrictEquality,
+ "boolean": useStrictEquality,
+ "number": useStrictEquality,
+ "null": useStrictEquality,
+ "undefined": useStrictEquality,
- "nan" : function(b) {
- return isNaN(b);
- },
+ "nan": function( b ) {
+ return isNaN( b );
+ },
- "date" : function(b, a) {
- return QUnit.objectType(b) === "date"
- && a.valueOf() === b.valueOf();
- },
+ "date": function( b, a ) {
+ return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
+ },
- "regexp" : function(b, a) {
- return QUnit.objectType(b) === "regexp"
- && a.source === b.source && // the regex itself
- a.global === b.global && // and its modifers
- // (gmi) ...
- a.ignoreCase === b.ignoreCase
- && a.multiline === b.multiline;
- },
+ "regexp": function( b, a ) {
+ return QUnit.objectType( b ) === "regexp" &&
+ // the regex itself
+ a.source === b.source &&
+ // and its modifers
+ a.global === b.global &&
+ // (gmi) ...
+ a.ignoreCase === b.ignoreCase &&
+ a.multiline === b.multiline;
+ },
- // - skip when the property is a method of an instance (OOP)
- // - abort otherwise,
- // initial === would have catch identical references anyway
- "function" : function() {
- var caller = callers[callers.length - 1];
- return caller !== Object && typeof caller !== "undefined";
- },
+ // - skip when the property is a method of an instance (OOP)
+ // - abort otherwise,
+ // initial === would have catch identical references anyway
+ "function": function() {
+ var caller = callers[callers.length - 1];
+ return caller !== Object && typeof caller !== "undefined";
+ },
- "array" : function(b, a) {
- var i, j, loop;
- var len;
+ "array": function( b, a ) {
+ var i, j, len, loop;
- // b could be an object literal here
- if (!(QUnit.objectType(b) === "array")) {
- return false;
- }
+ // b could be an object literal here
+ if ( QUnit.objectType( b ) !== "array" ) {
+ return false;
+ }
- len = a.length;
- if (len !== b.length) { // safe and faster
- return false;
- }
+ len = a.length;
+ if ( len !== b.length ) {
+ // safe and faster
+ return false;
+ }
- // track reference to avoid circular references
- parents.push(a);
- for (i = 0; i < len; i++) {
- loop = false;
- for (j = 0; j < parents.length; j++) {
- if (parents[j] === a[i]) {
- loop = true;// dont rewalk array
+ // track reference to avoid circular references
+ parents.push( a );
+ for ( i = 0; i < len; i++ ) {
+ loop = false;
+ for ( j = 0; j < parents.length; j++ ) {
+ if ( parents[j] === a[i] ) {
+ loop = true;// dont rewalk array
+ }
+ }
+ if ( !loop && !innerEquiv(a[i], b[i]) ) {
+ parents.pop();
+ return false;
}
}
- if (!loop && !innerEquiv(a[i], b[i])) {
- parents.pop();
- return false;
+ parents.pop();
+ return true;
+ },
+
+ "object": function( b, a ) {
+ var i, j, loop,
+ // Default to true
+ eq = true,
+ aProperties = [],
+ bProperties = [];
+
+ // comparing constructors is more strict than using
+ // instanceof
+ if ( a.constructor !== b.constructor ) {
+ // Allow objects with no prototype to be equivalent to
+ // objects with Object as their constructor.
+ if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) ||
+ ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) {
+ return false;
+ }
}
- }
- parents.pop();
- return true;
- },
- "object" : function(b, a) {
- var i, j, loop;
- var eq = true; // unless we can proove it
- var aProperties = [], bProperties = []; // collection of
- // strings
+ // stack constructor before traversing properties
+ callers.push( a.constructor );
+ // track reference to avoid circular references
+ parents.push( a );
- // comparing constructors is more strict than using
- // instanceof
- if (a.constructor !== b.constructor) {
- // Allow objects with no prototype to be equivalent to
- // objects with Object as their constructor.
- if (!((getProto(a) === null && getProto(b) === Object.prototype) ||
- (getProto(b) === null && getProto(a) === Object.prototype)))
- {
- return false;
+ for ( i in a ) { // be strict: don't ensures hasOwnProperty
+ // and go deep
+ loop = false;
+ for ( j = 0; j < parents.length; j++ ) {
+ if ( parents[j] === a[i] ) {
+ // don't go down the same path twice
+ loop = true;
+ }
+ }
+ aProperties.push(i); // collect a's properties
+
+ if (!loop && !innerEquiv( a[i], b[i] ) ) {
+ eq = false;
+ break;
+ }
}
- }
- // stack constructor before traversing properties
- callers.push(a.constructor);
- // track reference to avoid circular references
- parents.push(a);
+ callers.pop(); // unstack, we are done
+ parents.pop();
- for (i in a) { // be strict: don't ensures hasOwnProperty
- // and go deep
- loop = false;
- for (j = 0; j < parents.length; j++) {
- if (parents[j] === a[i])
- loop = true; // don't go down the same path
- // twice
+ for ( i in b ) {
+ bProperties.push( i ); // collect b's properties
}
- aProperties.push(i); // collect a's properties
- if (!loop && !innerEquiv(a[i], b[i])) {
- eq = false;
- break;
- }
+ // Ensures identical properties name
+ return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
}
-
- callers.pop(); // unstack, we are done
- parents.pop();
-
- for (i in b) {
- bProperties.push(i); // collect b's properties
- }
-
- // Ensures identical properties name
- return eq
- && innerEquiv(aProperties.sort(), bProperties
- .sort());
- }
- };
- }();
+ };
+ }());
innerEquiv = function() { // can take multiple arguments
- var args = Array.prototype.slice.apply(arguments);
- if (args.length < 2) {
+ var args = [].slice.apply( arguments );
+ if ( args.length < 2 ) {
return true; // end transition
}
- return (function(a, b) {
- if (a === b) {
+ return (function( a, b ) {
+ if ( a === b ) {
return true; // catch the most you can
- } else if (a === null || b === null || typeof a === "undefined"
- || typeof b === "undefined"
- || QUnit.objectType(a) !== QUnit.objectType(b)) {
+ } else if ( a === null || b === null || typeof a === "undefined" ||
+ typeof b === "undefined" ||
+ QUnit.objectType(a) !== QUnit.objectType(b) ) {
return false; // don't lose time with error prone cases
} else {
return bindCallbacks(a, callbacks, [ b, a ]);
}
// apply transition with (1..n) arguments
- })(args[0], args[1])
- && arguments.callee.apply(this, args.splice(1,
- args.length - 1));
+ }( args[0], args[1] ) && arguments.callee.apply( this, args.splice(1, args.length - 1 )) );
};
return innerEquiv;
-
-}();
+}());
/**
* jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com |
@@ -1276,188 +1536,215 @@ QUnit.equiv = function () {
*/
QUnit.jsDump = (function() {
function quote( str ) {
- return '"' + str.toString().replace(/"/g, '\\"') + '"';
- };
+ return '"' + str.toString().replace( /"/g, '\\"' ) + '"';
+ }
function literal( o ) {
- return o + '';
- };
+ return o + "";
+ }
function join( pre, arr, post ) {
var s = jsDump.separator(),
base = jsDump.indent(),
inner = jsDump.indent(1);
- if ( arr.join )
- arr = arr.join( ',' + s + inner );
- if ( !arr )
+ if ( arr.join ) {
+ arr = arr.join( "," + s + inner );
+ }
+ if ( !arr ) {
return pre + post;
+ }
return [ pre, inner + arr, base + post ].join(s);
- };
+ }
function array( arr, stack ) {
- var i = arr.length, ret = Array(i);
+ var i = arr.length, ret = new Array(i);
this.up();
- while ( i-- )
+ while ( i-- ) {
ret[i] = this.parse( arr[i] , undefined , stack);
+ }
this.down();
- return join( '[', ret, ']' );
- };
+ return join( "[", ret, "]" );
+ }
- var reName = /^function (\w+)/;
+ var reName = /^function (\w+)/,
+ jsDump = {
+ parse: function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance
+ stack = stack || [ ];
+ var inStack, res,
+ parser = this.parsers[ type || this.typeOf(obj) ];
- var jsDump = {
- parse:function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance
- stack = stack || [ ];
- var parser = this.parsers[ type || this.typeOf(obj) ];
- type = typeof parser;
- var inStack = inArray(obj, stack);
- if (inStack != -1) {
- return 'recursion('+(inStack - stack.length)+')';
- }
- //else
- if (type == 'function') {
- stack.push(obj);
- var res = parser.call( this, obj, stack );
+ type = typeof parser;
+ inStack = inArray( obj, stack );
+
+ if ( inStack != -1 ) {
+ return "recursion(" + (inStack - stack.length) + ")";
+ }
+ //else
+ if ( type == "function" ) {
+ stack.push( obj );
+ res = parser.call( this, obj, stack );
stack.pop();
return res;
- }
- // else
- return (type == 'string') ? parser : this.parsers.error;
- },
- typeOf:function( obj ) {
- var type;
- if ( obj === null ) {
- type = "null";
- } else if (typeof obj === "undefined") {
- type = "undefined";
- } else if (QUnit.is("RegExp", obj)) {
- type = "regexp";
- } else if (QUnit.is("Date", obj)) {
- type = "date";
- } else if (QUnit.is("Function", obj)) {
- type = "function";
- } else if (typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined") {
- type = "window";
- } else if (obj.nodeType === 9) {
- type = "document";
- } else if (obj.nodeType) {
- type = "node";
- } else if (
- // native arrays
- toString.call( obj ) === "[object Array]" ||
- // NodeList objects
- ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
- ) {
- type = "array";
- } else {
- type = typeof obj;
- }
- return type;
- },
- separator:function() {
- return this.multiline ? this.HTML ? '
' : '\n' : this.HTML ? ' ' : ' ';
- },
- indent:function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing
- if ( !this.multiline )
- return '';
- var chr = this.indentChar;
- if ( this.HTML )
- chr = chr.replace(/\t/g,' ').replace(/ /g,' ');
- return Array( this._depth_ + (extra||0) ).join(chr);
- },
- up:function( a ) {
- this._depth_ += a || 1;
- },
- down:function( a ) {
- this._depth_ -= a || 1;
- },
- setParser:function( name, parser ) {
- this.parsers[name] = parser;
- },
- // The next 3 are exposed so you can use them
- quote:quote,
- literal:literal,
- join:join,
- //
- _depth_: 1,
- // This is the list of parsers, to modify them, use jsDump.setParser
- parsers:{
- window: '[Window]',
- document: '[Document]',
- error:'[ERROR]', //when no parser is found, shouldn't happen
- unknown: '[Unknown]',
- 'null':'null',
- 'undefined':'undefined',
- 'function':function( fn ) {
- var ret = 'function',
- name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE
- if ( name )
- ret += ' ' + name;
- ret += '(';
-
- ret = [ ret, QUnit.jsDump.parse( fn, 'functionArgs' ), '){'].join('');
- return join( ret, QUnit.jsDump.parse(fn,'functionCode'), '}' );
- },
- array: array,
- nodelist: array,
- arguments: array,
- object:function( map, stack ) {
- var ret = [ ];
- QUnit.jsDump.up();
- for ( var key in map ) {
- var val = map[key];
- ret.push( QUnit.jsDump.parse(key,'key') + ': ' + QUnit.jsDump.parse(val, undefined, stack));
}
- QUnit.jsDump.down();
- return join( '{', ret, '}' );
+ // else
+ return ( type == "string" ) ? parser : this.parsers.error;
},
- node:function( node ) {
- var open = QUnit.jsDump.HTML ? '<' : '<',
- close = QUnit.jsDump.HTML ? '>' : '>';
-
- var tag = node.nodeName.toLowerCase(),
- ret = open + tag;
-
- for ( var a in QUnit.jsDump.DOMAttrs ) {
- var val = node[QUnit.jsDump.DOMAttrs[a]];
- if ( val )
- ret += ' ' + a + '=' + QUnit.jsDump.parse( val, 'attribute' );
+ typeOf: function( obj ) {
+ var type;
+ if ( obj === null ) {
+ type = "null";
+ } else if ( typeof obj === "undefined" ) {
+ type = "undefined";
+ } else if ( QUnit.is( "regexp", obj) ) {
+ type = "regexp";
+ } else if ( QUnit.is( "date", obj) ) {
+ type = "date";
+ } else if ( QUnit.is( "function", obj) ) {
+ type = "function";
+ } else if ( typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined" ) {
+ type = "window";
+ } else if ( obj.nodeType === 9 ) {
+ type = "document";
+ } else if ( obj.nodeType ) {
+ type = "node";
+ } else if (
+ // native arrays
+ toString.call( obj ) === "[object Array]" ||
+ // NodeList objects
+ ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
+ ) {
+ type = "array";
+ } else {
+ type = typeof obj;
}
- return ret + close + open + '/' + tag + close;
+ return type;
},
- functionArgs:function( fn ) {//function calls it internally, it's the arguments part of the function
- var l = fn.length;
- if ( !l ) return '';
+ separator: function() {
+ return this.multiline ? this.HTML ? "
" : "\n" : this.HTML ? " " : " ";
+ },
+ indent: function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing
+ if ( !this.multiline ) {
+ return "";
+ }
+ var chr = this.indentChar;
+ if ( this.HTML ) {
+ chr = chr.replace( /\t/g, " " ).replace( / /g, " " );
+ }
+ return new Array( this._depth_ + (extra||0) ).join(chr);
+ },
+ up: function( a ) {
+ this._depth_ += a || 1;
+ },
+ down: function( a ) {
+ this._depth_ -= a || 1;
+ },
+ setParser: function( name, parser ) {
+ this.parsers[name] = parser;
+ },
+ // The next 3 are exposed so you can use them
+ quote: quote,
+ literal: literal,
+ join: join,
+ //
+ _depth_: 1,
+ // This is the list of parsers, to modify them, use jsDump.setParser
+ parsers: {
+ window: "[Window]",
+ document: "[Document]",
+ error: "[ERROR]", //when no parser is found, shouldn"t happen
+ unknown: "[Unknown]",
+ "null": "null",
+ "undefined": "undefined",
+ "function": function( fn ) {
+ var ret = "function",
+ name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1];//functions never have name in IE
- var args = Array(l);
- while ( l-- )
- args[l] = String.fromCharCode(97+l);//97 is 'a'
- return ' ' + args.join(', ') + ' ';
+ if ( name ) {
+ ret += " " + name;
+ }
+ ret += "( ";
+
+ ret = [ ret, QUnit.jsDump.parse( fn, "functionArgs" ), "){" ].join( "" );
+ return join( ret, QUnit.jsDump.parse(fn,"functionCode" ), "}" );
+ },
+ array: array,
+ nodelist: array,
+ "arguments": array,
+ object: function( map, stack ) {
+ var ret = [ ], keys, key, val, i;
+ QUnit.jsDump.up();
+ if ( Object.keys ) {
+ keys = Object.keys( map );
+ } else {
+ keys = [];
+ for ( key in map ) {
+ keys.push( key );
+ }
+ }
+ keys.sort();
+ for ( i = 0; i < keys.length; i++ ) {
+ key = keys[ i ];
+ val = map[ key ];
+ ret.push( QUnit.jsDump.parse( key, "key" ) + ": " + QUnit.jsDump.parse( val, undefined, stack ) );
+ }
+ QUnit.jsDump.down();
+ return join( "{", ret, "}" );
+ },
+ node: function( node ) {
+ var a, val,
+ open = QUnit.jsDump.HTML ? "<" : "<",
+ close = QUnit.jsDump.HTML ? ">" : ">",
+ tag = node.nodeName.toLowerCase(),
+ ret = open + tag;
+
+ for ( a in QUnit.jsDump.DOMAttrs ) {
+ val = node[ QUnit.jsDump.DOMAttrs[a] ];
+ if ( val ) {
+ ret += " " + a + "=" + QUnit.jsDump.parse( val, "attribute" );
+ }
+ }
+ return ret + close + open + "/" + tag + close;
+ },
+ functionArgs: function( fn ) {//function calls it internally, it's the arguments part of the function
+ var args,
+ l = fn.length;
+
+ if ( !l ) {
+ return "";
+ }
+
+ args = new Array(l);
+ while ( l-- ) {
+ args[l] = String.fromCharCode(97+l);//97 is 'a'
+ }
+ return " " + args.join( ", " ) + " ";
+ },
+ key: quote, //object calls it internally, the key part of an item in a map
+ functionCode: "[code]", //function calls it internally, it's the content of the function
+ attribute: quote, //node calls it internally, it's an html attribute value
+ string: quote,
+ date: quote,
+ regexp: literal, //regex
+ number: literal,
+ "boolean": literal
},
- key:quote, //object calls it internally, the key part of an item in a map
- functionCode:'[code]', //function calls it internally, it's the content of the function
- attribute:quote, //node calls it internally, it's an html attribute value
- string:quote,
- date:quote,
- regexp:literal, //regex
- number:literal,
- 'boolean':literal
- },
- DOMAttrs:{//attributes to dump from nodes, name=>realName
- id:'id',
- name:'name',
- 'class':'className'
- },
- HTML:false,//if true, entities are escaped ( <, >, \t, space and \n )
- indentChar:' ',//indentation unit
- multiline:true //if true, items in a collection, are separated by a \n, else just a space.
- };
+ DOMAttrs: {
+ //attributes to dump from nodes, name=>realName
+ id: "id",
+ name: "name",
+ "class": "className"
+ },
+ HTML: false,//if true, entities are escaped ( <, >, \t, space and \n )
+ indentChar: " ",//indentation unit
+ multiline: true //if true, items in a collection, are separated by a \n, else just a space.
+ };
return jsDump;
-})();
+}());
// from Sizzle.js
function getText( elems ) {
- var ret = "", elem;
+ var i, elem,
+ ret = "";
- for ( var i = 0; elems[i]; i++ ) {
+ for ( i = 0; elems[i]; i++ ) {
elem = elems[i];
// Get the text from text nodes and CDATA nodes
@@ -1471,9 +1758,9 @@ function getText( elems ) {
}
return ret;
-};
+}
-//from jquery.js
+// from jquery.js
function inArray( elem, array ) {
if ( array.indexOf ) {
return array.indexOf( elem );
@@ -1500,70 +1787,75 @@ function inArray( elem, array ) {
*
* Usage: QUnit.diff(expected, actual)
*
- * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick brown fox jumped jumps over"
+ * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the quick brown fox jumped jumps over"
*/
QUnit.diff = (function() {
- function diff(o, n) {
- var ns = {};
- var os = {};
+ function diff( o, n ) {
+ var i,
+ ns = {},
+ os = {};
- for (var i = 0; i < n.length; i++) {
- if (ns[n[i]] == null)
- ns[n[i]] = {
+ for ( i = 0; i < n.length; i++ ) {
+ if ( ns[ n[i] ] == null ) {
+ ns[ n[i] ] = {
rows: [],
o: null
};
- ns[n[i]].rows.push(i);
+ }
+ ns[ n[i] ].rows.push( i );
}
- for (var i = 0; i < o.length; i++) {
- if (os[o[i]] == null)
- os[o[i]] = {
+ for ( i = 0; i < o.length; i++ ) {
+ if ( os[ o[i] ] == null ) {
+ os[ o[i] ] = {
rows: [],
n: null
};
- os[o[i]].rows.push(i);
+ }
+ os[ o[i] ].rows.push( i );
}
- for (var i in ns) {
+ for ( i in ns ) {
if ( !hasOwn.call( ns, i ) ) {
continue;
}
- if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) {
- n[ns[i].rows[0]] = {
- text: n[ns[i].rows[0]],
+ if ( ns[i].rows.length == 1 && typeof os[i] != "undefined" && os[i].rows.length == 1 ) {
+ n[ ns[i].rows[0] ] = {
+ text: n[ ns[i].rows[0] ],
row: os[i].rows[0]
};
- o[os[i].rows[0]] = {
- text: o[os[i].rows[0]],
+ o[ os[i].rows[0] ] = {
+ text: o[ os[i].rows[0] ],
row: ns[i].rows[0]
};
}
}
- for (var i = 0; i < n.length - 1; i++) {
- if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null &&
- n[i + 1] == o[n[i].row + 1]) {
- n[i + 1] = {
- text: n[i + 1],
+ for ( i = 0; i < n.length - 1; i++ ) {
+ if ( n[i].text != null && n[ i + 1 ].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null &&
+ n[ i + 1 ] == o[ n[i].row + 1 ] ) {
+
+ n[ i + 1 ] = {
+ text: n[ i + 1 ],
row: n[i].row + 1
};
- o[n[i].row + 1] = {
- text: o[n[i].row + 1],
+ o[ n[i].row + 1 ] = {
+ text: o[ n[i].row + 1 ],
row: i + 1
};
}
}
- for (var i = n.length - 1; i > 0; i--) {
- if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null &&
- n[i - 1] == o[n[i].row - 1]) {
- n[i - 1] = {
- text: n[i - 1],
+ for ( i = n.length - 1; i > 0; i-- ) {
+ if ( n[i].text != null && n[ i - 1 ].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null &&
+ n[ i - 1 ] == o[ n[i].row - 1 ]) {
+
+ n[ i - 1 ] = {
+ text: n[ i - 1 ],
row: n[i].row - 1
};
- o[n[i].row - 1] = {
- text: o[n[i].row - 1],
+ o[ n[i].row - 1 ] = {
+ text: o[ n[i].row - 1 ],
row: i - 1
};
}
@@ -1575,49 +1867,52 @@ QUnit.diff = (function() {
};
}
- return function(o, n) {
- o = o.replace(/\s+$/, '');
- n = n.replace(/\s+$/, '');
- var out = diff(o == "" ? [] : o.split(/\s+/), n == "" ? [] : n.split(/\s+/));
+ return function( o, n ) {
+ o = o.replace( /\s+$/, "" );
+ n = n.replace( /\s+$/, "" );
- var str = "";
+ var i, pre,
+ str = "",
+ out = diff( o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/) ),
+ oSpace = o.match(/\s+/g),
+ nSpace = n.match(/\s+/g);
- var oSpace = o.match(/\s+/g);
- if (oSpace == null) {
- oSpace = [" "];
+ if ( oSpace == null ) {
+ oSpace = [ " " ];
}
else {
- oSpace.push(" ");
- }
- var nSpace = n.match(/\s+/g);
- if (nSpace == null) {
- nSpace = [" "];
- }
- else {
- nSpace.push(" ");
+ oSpace.push( " " );
}
- if (out.n.length == 0) {
- for (var i = 0; i < out.o.length; i++) {
- str += '' + out.o[i] + oSpace[i] + "";
+ if ( nSpace == null ) {
+ nSpace = [ " " ];
+ }
+ else {
+ nSpace.push( " " );
+ }
+
+ if ( out.n.length === 0 ) {
+ for ( i = 0; i < out.o.length; i++ ) {
+ str += "" + out.o[i] + oSpace[i] + "";
}
}
else {
- if (out.n[0].text == null) {
- for (n = 0; n < out.o.length && out.o[n].text == null; n++) {
- str += '' + out.o[n] + oSpace[n] + "";
+ if ( out.n[0].text == null ) {
+ for ( n = 0; n < out.o.length && out.o[n].text == null; n++ ) {
+ str += "" + out.o[n] + oSpace[n] + "";
}
}
- for (var i = 0; i < out.n.length; i++) {
+ for ( i = 0; i < out.n.length; i++ ) {
if (out.n[i].text == null) {
- str += '' + out.n[i] + nSpace[i] + "";
+ str += "" + out.n[i] + nSpace[i] + "";
}
else {
- var pre = "";
+ // `pre` initialized at top of scope
+ pre = "";
- for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) {
- pre += '' + out.o[n] + oSpace[n] + "";
+ for ( n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) {
+ pre += "" + out.o[n] + oSpace[n] + "";
}
str += " " + out.n[i].text + nSpace[i] + pre;
}
@@ -1626,7 +1921,12 @@ QUnit.diff = (function() {
return str;
};
-})();
+}());
+
+// for CommonJS enviroments, export everything
+if ( typeof exports !== "undefined" ) {
+ extend(exports, QUnit);
+}
// get at whatever the global object is, like window in browsers
-})( (function() {return this}).call() );
+}( (function() {return this;}.call()) ));
diff --git a/addons/web/static/src/css/Makefile b/addons/web/static/src/css/Makefile
index eca044497ef..d6b4f4b2fc8 100644
--- a/addons/web/static/src/css/Makefile
+++ b/addons/web/static/src/css/Makefile
@@ -1,3 +1,3 @@
base.css: base.sass
- sass -t expanded base.sass base.css
+ sass --trace -t expanded base.sass base.css
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 846c62f64b4..03898f25d78 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -20,50 +20,6 @@
font-style: normal;
}
-@-moz-keyframes bounce {
- 0% {
- -moz-transform: scale(0);
- opacity: 0;
- }
-
- 50% {
- -moz-transform: scale(1.3);
- opacity: 0.4;
- }
-
- 75% {
- -moz-transform: scale(0.9);
- opacity: 0.7;
- }
-
- 100% {
- -moz-transform: scale(1);
- opacity: 1;
- }
-}
-
-@-webkit-keyframes bounce {
- 0% {
- -webkit-transform: scale(0);
- opacity: 0;
- }
-
- 50% {
- -webkit-transform: scale(1.3);
- opacity: 0.4;
- }
-
- 75% {
- -webkit-transform: scale(0.9);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- opacity: 1;
- }
-}
-
@media print {
.oe_topbar, .oe_leftbar, .oe_loading {
display: none !important;
@@ -141,13 +97,6 @@
background-image: -o-linear-gradient(top, #eeeeee, #dedede);
background-image: linear-gradient(to bottom, #eeeeee, #dedede);
}
-.openerp ul, .openerp li, .openerp ol {
- margin: 0;
- padding: 0;
-}
-.openerp li {
- list-style-type: none;
-}
.openerp input, .openerp textarea, .openerp select {
padding: 2px 4px;
border: 1px solid #cccccc;
@@ -162,6 +111,28 @@
.openerp h4 {
margin: 4px 0;
}
+.openerp .oe_semantic_html_override ul, .openerp .oe_semantic_html_override ol {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_semantic_html_override ul ul, .openerp .oe_semantic_html_override ul ol, .openerp .oe_semantic_html_override ul li, .openerp .oe_semantic_html_override ol ul, .openerp .oe_semantic_html_override ol ol, .openerp .oe_semantic_html_override ol li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_semantic_html_override ul li, .openerp .oe_semantic_html_override ol li {
+ list-style-type: none;
+}
+.openerp ul.oe_semantic_html_override {
+ margin: 0;
+ padding: 0;
+}
+.openerp ul.oe_semantic_html_override ul, .openerp ul.oe_semantic_html_override ol, .openerp ul.oe_semantic_html_override li {
+ margin: 0;
+ padding: 0;
+}
+.openerp ul.oe_semantic_html_override li {
+ list-style-type: none;
+}
.openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'], .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
display: inline-block;
border: 1px solid #ababab;
@@ -237,6 +208,9 @@
.openerp .ui-widget-content a {
color: #7c7bad;
}
+.openerp .oe_bounce_container {
+ display: inline-block;
+}
.openerp.ui-dialog {
display: none;
padding: 6px;
@@ -518,9 +492,9 @@
padding: 0;
margin: 0;
background: none;
- -moz-border-radius: none;
- -webkit-border-radius: none;
- border-radius: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
@@ -533,9 +507,9 @@
padding: 0;
margin: 0;
background: none;
- -moz-border-radius: none;
- -webkit-border-radius: none;
- border-radius: none;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
@@ -628,6 +602,26 @@
padding: 0 16px;
list-style: none;
zoom: 1;
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_notebook ul, .openerp .oe_notebook ol, .openerp .oe_notebook li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_notebook li {
+ list-style-type: none;
+}
+.openerp .oe_notebook ul, .openerp .oe_notebook ol {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_notebook ul ul, .openerp .oe_notebook ul ol, .openerp .oe_notebook ul li, .openerp .oe_notebook ol ul, .openerp .oe_notebook ol ol, .openerp .oe_notebook ol li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_notebook ul li, .openerp .oe_notebook ol li {
+ list-style-type: none;
}
.openerp .oe_notebook.ui-corner-all {
-moz-border-radius: 0;
@@ -932,6 +926,17 @@
-webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
}
+.openerp .oe_login .oe_login_pane ul, .openerp .oe_login .oe_login_pane ol {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_login .oe_login_pane ul ul, .openerp .oe_login .oe_login_pane ul ol, .openerp .oe_login .oe_login_pane ul li, .openerp .oe_login .oe_login_pane ol ul, .openerp .oe_login .oe_login_pane ol ol, .openerp .oe_login .oe_login_pane ol li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_login .oe_login_pane ul li, .openerp .oe_login .oe_login_pane ol li {
+ list-style-type: none;
+}
.openerp .oe_login .oe_login_pane h2 {
margin-top: 0;
font-size: 18px;
@@ -1011,6 +1016,17 @@
background-image: -o-linear-gradient(top, #646060, #262626);
background-image: linear-gradient(to bottom, #646060, #262626);
}
+.openerp .oe_topbar ul, .openerp .oe_topbar ol {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_topbar ul ul, .openerp .oe_topbar ul ol, .openerp .oe_topbar ul li, .openerp .oe_topbar ol ul, .openerp .oe_topbar ol ol, .openerp .oe_topbar ol li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_topbar ul li, .openerp .oe_topbar ol li {
+ list-style-type: none;
+}
.openerp .oe_topbar .oe_topbar_item {
display: block;
padding: 5px 10px 7px;
@@ -1083,6 +1099,17 @@
text-shadow: 0 1px 1px white;
padding-bottom: 16px;
}
+.openerp .oe_leftbar ul, .openerp .oe_leftbar ol {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_leftbar ul ul, .openerp .oe_leftbar ul ol, .openerp .oe_leftbar ul li, .openerp .oe_leftbar ol ul, .openerp .oe_leftbar ol ol, .openerp .oe_leftbar ol li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_leftbar ul li, .openerp .oe_leftbar ol li {
+ list-style-type: none;
+}
.openerp a.oe_logo {
width: 220px;
display: block;
@@ -1175,16 +1202,16 @@
width: 100%;
display: inline-block;
}
-.openerp .oe_secondary_submenu > li {
+.openerp .oe_secondary_submenu li {
position: relative;
- padding: 1px 0 1px 20px;
+ padding: 1px 0 1px 20px !important;
}
-.openerp .oe_secondary_submenu > li a {
+.openerp .oe_secondary_submenu li a {
display: block;
color: #4c4c4c;
padding: 2px 4px 2px 0;
}
-.openerp .oe_secondary_submenu > li .oe_menu_label {
+.openerp .oe_secondary_submenu li .oe_menu_label {
position: absolute;
top: 1px;
right: 1px;
@@ -1289,6 +1316,16 @@
width: 100%;
table-layout: fixed;
}
+.openerp .oe_view_manager table.oe_view_manager_header ul {
+ padding: 0;
+ margin-right: 0;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+.openerp .oe_view_manager table.oe_view_manager_header ul li {
+ list-style-type: none;
+ margin: 0;
+}
.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row {
clear: both;
text-shadow: 0 1px 1px white;
@@ -1398,11 +1435,15 @@
color: white;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
+.openerp .oe_view_manager .oe_view_manager_switch {
+ margin-left: 8px;
+}
.openerp .oe_view_manager .oe_view_manager_switch li {
text-align: center;
width: 24px;
height: 24px;
line-height: 16px;
+ padding: 0;
}
.openerp .oe_view_manager .oe_view_manager_switch li a {
position: relative;
@@ -1934,6 +1975,35 @@
margin: -16px -16px 0 -16px;
padding: 8px;
}
+.openerp .oe_form_sheetbg {
+ padding: 8px 0;
+}
+.openerp .oe_form_sheet_width {
+ min-width: 650px;
+ max-width: 860px;
+ margin: 0 auto;
+}
+.openerp .oe_form_sheet {
+ background: white;
+ min-height: 330px;
+ padding: 16px;
+}
+.openerp .oe_application .oe_form_sheetbg {
+ background: url(/web/static/src/img/form_sheetbg.png);
+ border-bottom: 1px solid #dddddd;
+}
+.openerp .oe_application .oe_form_sheet {
+ border: 1px solid #afafb6;
+ -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+}
+.openerp .oe_application .oe_form_sheet .ui-tabs {
+ margin: 0 -16px;
+}
+.openerp .oe_application .oe_form_sheet .oe_notebook_page {
+ padding: 0 16px;
+}
.openerp .oe_form header {
position: relative;
border-bottom: 1px solid #cacaca;
@@ -1964,7 +2034,7 @@
max-width: 650px;
margin: 0 0 10px 0;
}
-.openerp .oe_form div.oe_form_configuration p {
+.openerp .oe_form div.oe_form_configuration p, .openerp .oe_form div.oe_form_configuration ul, .openerp .oe_form div.oe_form_configuration ol {
color: #aaaaaa;
max-width: 650px;
}
@@ -1977,11 +2047,11 @@
.openerp .oe_form div.oe_form_configuration .oe_form_group_cell div div {
padding: 1px 0;
}
-.openerp ul.oe_form_steps, .openerp ul.oe_form_steps_clickable {
+.openerp .oe_form ul.oe_form_steps, .openerp .oe_form ul.oe_form_steps_clickable {
display: inline-block;
padding-right: 18px;
}
-.openerp ul.oe_form_steps li, .openerp ul.oe_form_steps_clickable li {
+.openerp .oe_form ul.oe_form_steps li, .openerp .oe_form ul.oe_form_steps_clickable li {
display: inline-block;
margin-right: -20px;
background-color: #fcfcfc;
@@ -1992,20 +2062,20 @@
background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
}
-.openerp ul.oe_form_steps li:first-child .label, .openerp ul.oe_form_steps_clickable li:first-child .label {
+.openerp .oe_form ul.oe_form_steps li:first-child .label, .openerp .oe_form ul.oe_form_steps_clickable li:first-child .label {
border-left: 1px solid #cacaca;
padding-left: 14px;
}
-.openerp ul.oe_form_steps li:last-child, .openerp ul.oe_form_steps_clickable li:last-child {
+.openerp .oe_form ul.oe_form_steps li:last-child, .openerp .oe_form ul.oe_form_steps_clickable li:last-child {
border-right: 1px solid #cacaca;
}
-.openerp ul.oe_form_steps li:last-child .label, .openerp ul.oe_form_steps_clickable li:last-child .label {
+.openerp .oe_form ul.oe_form_steps li:last-child .label, .openerp .oe_form ul.oe_form_steps_clickable li:last-child .label {
padding-right: 14px;
}
-.openerp ul.oe_form_steps li:last-child .arrow, .openerp ul.oe_form_steps_clickable li:last-child .arrow {
+.openerp .oe_form ul.oe_form_steps li:last-child .arrow, .openerp .oe_form ul.oe_form_steps_clickable li:last-child .arrow {
display: none;
}
-.openerp ul.oe_form_steps li .label, .openerp ul.oe_form_steps_clickable li .label {
+.openerp .oe_form ul.oe_form_steps li .label, .openerp .oe_form ul.oe_form_steps_clickable li .label {
color: #4c4c4c;
text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
padding: 7px;
@@ -2014,14 +2084,14 @@
margin: 0;
position: relative;
}
-.openerp ul.oe_form_steps li .arrow, .openerp ul.oe_form_steps_clickable li .arrow {
+.openerp .oe_form ul.oe_form_steps li .arrow, .openerp .oe_form ul.oe_form_steps_clickable li .arrow {
width: 17px;
display: inline-block;
vertical-align: top;
overflow: hidden;
margin-left: -5px;
}
-.openerp ul.oe_form_steps li .arrow span, .openerp ul.oe_form_steps_clickable li .arrow span {
+.openerp .oe_form ul.oe_form_steps li .arrow span, .openerp .oe_form ul.oe_form_steps_clickable li .arrow span {
position: relative;
width: 24px;
height: 24px;
@@ -2036,12 +2106,13 @@
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
- -moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
- -o-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
}
-.openerp ul.oe_form_steps li.oe_active, .openerp ul.oe_form_steps_clickable li.oe_active {
+.openerp .oe_form ul.oe_form_steps li.oe_active, .openerp .oe_form ul.oe_form_steps_clickable li.oe_active {
background-color: #729fcf;
background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
@@ -2050,20 +2121,20 @@
background-image: -o-linear-gradient(top, #729fcf, #3465a4);
background-image: linear-gradient(to bottom, #729fcf, #3465a4);
}
-.openerp ul.oe_form_steps li.oe_active .arrow span, .openerp ul.oe_form_steps_clickable li.oe_active .arrow span {
+.openerp .oe_form ul.oe_form_steps li.oe_active .arrow span, .openerp .oe_form ul.oe_form_steps_clickable li.oe_active .arrow span {
background-color: #3465a4;
background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
background: -o-linear-gradient(135deg, #729fcf, #3465a4);
background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4));
}
-.openerp ul.oe_form_steps li.oe_active .label, .openerp ul.oe_form_steps_clickable li.oe_active .label {
+.openerp .oe_form ul.oe_form_steps li.oe_active .label, .openerp .oe_form ul.oe_form_steps_clickable li.oe_active .label {
color: white;
text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4;
}
-.openerp ul.oe_form_steps_clickable li {
+.openerp .oe_form ul.oe_form_steps_clickable li {
cursor: pointer;
}
-.openerp ul.oe_form_steps_clickable li:hover {
+.openerp .oe_form ul.oe_form_steps_clickable li:hover {
background-color: #e8e8e8;
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
@@ -2072,10 +2143,10 @@
background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
}
-.openerp ul.oe_form_steps_clickable li:hover .label {
+.openerp .oe_form ul.oe_form_steps_clickable li:hover .label {
text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
}
-.openerp ul.oe_form_steps_clickable li:hover .arrow span {
+.openerp .oe_form ul.oe_form_steps_clickable li:hover .arrow span {
background-color: #e8e8e8;
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
@@ -2084,10 +2155,10 @@
background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
}
-.openerp ul.oe_form_steps_clickable li .label {
+.openerp .oe_form ul.oe_form_steps_clickable li .label {
color: #7c7bad;
}
-.openerp ul.oe_form_steps_clickable li.oe_active:hover {
+.openerp .oe_form ul.oe_form_steps_clickable li.oe_active:hover {
background-color: #4c85c2;
background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
@@ -2096,10 +2167,10 @@
background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
background-image: linear-gradient(to bottom, #4c85c2, #284d7d);
}
-.openerp ul.oe_form_steps_clickable li.oe_active:hover .label {
+.openerp .oe_form ul.oe_form_steps_clickable li.oe_active:hover .label {
text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4;
}
-.openerp ul.oe_form_steps_clickable li.oe_active:hover .arrow span {
+.openerp .oe_form ul.oe_form_steps_clickable li.oe_active:hover .arrow span {
background-color: #284d7d;
background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
@@ -2131,31 +2202,6 @@
.openerp .oe_form .oe_subtotal_footer label.oe_form_label_help {
font-weight: normal;
}
-.openerp .oe_application .oe_form_sheetbg {
- background: url(/web/static/src/img/form_sheetbg.png);
- padding: 8px 0;
- border-bottom: 1px solid #dddddd;
-}
-.openerp .oe_application .oe_form_sheet_width {
- min-width: 650px;
- max-width: 860px;
- margin: 0 auto;
-}
-.openerp .oe_application .oe_form_sheet {
- background: white;
- min-height: 330px;
- padding: 16px;
- border: 1px solid #afafb6;
- -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
- -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
-}
-.openerp .oe_application .oe_form_sheet .ui-tabs {
- margin: 0 -16px;
-}
-.openerp .oe_application .oe_form_sheet .oe_notebook_page {
- padding: 0 16px;
-}
.openerp .oe_form .oe_form_button {
margin: 2px;
}
@@ -2271,7 +2317,7 @@
-ms-box-sizing: border-box;
box-sizing: border-box;
background: white;
- min-width: 70px;
+ min-width: 60px;
color: #1f1f1f;
}
.openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
@@ -2417,6 +2463,28 @@
.openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
margin-top: 10px;
}
+.openerp .oe_form_field_status {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_form_field_status ul, .openerp .oe_form_field_status ol {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_form_field_status ul ul, .openerp .oe_form_field_status ul ol, .openerp .oe_form_field_status ul li, .openerp .oe_form_field_status ol ul, .openerp .oe_form_field_status ol ol, .openerp .oe_form_field_status ol li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_form_field_status ul li, .openerp .oe_form_field_status ol li {
+ list-style-type: none;
+}
+.openerp .oe_form_field_status ul, .openerp .oe_form_field_status ol, .openerp .oe_form_field_status li {
+ margin: 0;
+ padding: 0;
+}
+.openerp .oe_form_field_status li {
+ list-style-type: none;
+}
.openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
display: none;
}
@@ -2481,10 +2549,11 @@
height: 27px;
}
.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
border: 1px solid #aaaaff;
- border-radius: 0px;
- margin: 0px;
- -webkit-border-radius: 0px;
+ margin: 0;
}
.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
height: 60px;
@@ -2593,6 +2662,7 @@
cursor: pointer;
}
.openerp .oe_list_content > tbody > tr {
+ height: 27px;
border-top: 1px solid #dddddd;
}
.openerp .oe_list_content > tbody > tr > td.oe_list_field_cell {
@@ -2655,6 +2725,12 @@
content: "ö";
color: #404040;
}
+.openerp .oe_list_cannot_edit .oe_list_header_handle, .openerp .oe_list_cannot_edit .oe_list_field_handle {
+ display: none !important;
+}
+.openerp .oe_list_cannot_delete .oe_list_record_delete {
+ display: none !important;
+}
.openerp .tree_header {
background-color: #f0f0f0;
border-bottom: 1px solid #cacaca;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 1991052180c..65146407e54 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -36,7 +36,7 @@ $sheet-max-width: 860px
padding: 0
margin: 0
background: none
- @include radius(none)
+ @include radius(0)
@include box-shadow(none)
@mixin vertical-gradient($startColor: #555, $endColor: #333)
@@ -95,10 +95,23 @@ $sheet-max-width: 860px
background: -webkit-gradient(linear, left top, right bottom, from($startColor), to($endColor))
@mixin transform($transform)
- -moz-transform: $transform
-webkit-transform: $transform
- -o-transform: $transform
+ -moz-transform: $transform
-ms-transform: $transform
+ -o-transform: $transform
+ transform: $transform
+
+@mixin keyframes($name)
+ @-webkit-keyframes #{$name}
+ @content
+ @-moz-keyframes #{$name}
+ @content
+ @-ms-keyframes #{$name}
+ @content
+ @-o-keyframes #{$name}
+ @content
+ @keyframes #{$name}
+ @content
// Transforms the (readable) text of an inline element into an mmlicons icon,
// allows for actual readable text in-code (and in readers?) with iconic looks
@@ -111,35 +124,19 @@ $sheet-max-width: 860px
content: $icon-name
color: $color
-// }}}
-// CSS animation bounces {{{
-@-moz-keyframes bounce
- 0%
- -moz-transform: scale(0)
- opacity: 0
- 50%
- -moz-transform: scale(1.3)
- opacity: 0.4
- 75%
- -moz-transform: scale(0.9)
- opacity: 0.7
- 100%
- -moz-transform: scale(1)
- opacity: 1
+@mixin ul-html-override()
+ margin: 0
+ padding: 0
+ ul, ol, li
+ margin: 0
+ padding: 0
+ li
+ list-style-type: none
+
+@mixin semantic-html-override()
+ ul, ol
+ @include ul-html-override()
-@-webkit-keyframes bounce
- 0%
- -webkit-transform: scale(0)
- opacity: 0
- 50%
- -webkit-transform: scale(1.3)
- opacity: 0.4
- 75%
- -webkit-transform: scale(0.9)
- opacity: 0.7
- 100%
- -webkit-transform: scale(1)
- opacity: 1
// }}}
@media print
@@ -194,11 +191,6 @@ $sheet-max-width: 860px
@include vertical-gradient(#f0f0fa, #eeeef6)
.zebra tbody tr:hover td
@include vertical-gradient(#eee, #dedede)
- ul, li, ol
- margin: 0
- padding: 0
- li
- list-style-type: none
input, textarea, select
padding: 2px 4px
border: 1px solid #ccc
@@ -208,6 +200,10 @@ $sheet-max-width: 860px
vertical-align: middle
h4
margin: 4px 0
+ .oe_semantic_html_override
+ @include semantic-html-override
+ ul.oe_semantic_html_override
+ @include ul-html-override
// }}}
// Button style {{{
a.button:link, a.button:visited, button, input[type='submit'], .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button
@@ -251,6 +247,8 @@ $sheet-max-width: 860px
// Jquery ui Overrides {{{
.ui-widget-content a
color: $link-color
+ .oe_bounce_container
+ display: inline-block
// Modal box
&.ui-dialog
@@ -511,6 +509,8 @@ $sheet-max-width: 860px
padding: 0 16px
list-style: none
zoom: 1
+ @include ul-html-override
+ @include semantic-html-override
.oe_notebook.ui-corner-all
@include radius(0)
.oe_notebook:before, .oe_notebook:after
@@ -730,6 +730,7 @@ $sheet-max-width: 860px
text-align: left
@include radius(8px)
@include box-shadow(0 0 18px rgba(0, 0, 0, 0.9))
+ @include semantic-html-override
h2
margin-top: 0
font-size: 18px
@@ -795,6 +796,7 @@ $sheet-max-width: 860px
height: 31px
border-top: solid 1px #d3d3d3
@include vertical-gradient(#646060, #262626)
+ @include semantic-html-override
.oe_topbar_item
display: block
padding: 5px 10px 7px
@@ -845,6 +847,7 @@ $sheet-max-width: 860px
border-right: 1px solid $tag-border
text-shadow: 0 1px 1px white
padding-bottom: 16px
+ @include semantic-html-override
a.oe_logo
width: 220px
display: block
@@ -922,9 +925,9 @@ $sheet-max-width: 860px
margin: 0
width: 100%
display: inline-block
- > li
+ li
position: relative
- padding: 1px 0 1px 20px
+ padding: 1px 0 1px 20px !important
a
display: block
color: #4c4c4c
@@ -1010,6 +1013,14 @@ $sheet-max-width: 860px
table.oe_view_manager_header
width: 100%
table-layout: fixed
+ ul
+ padding: 0
+ margin-right: 0
+ margin-top: 0
+ margin-bottom: 0
+ li
+ list-style-type: none
+ margin: 0
.oe_header_row
//min-height: 26px
//line-height: 26px
@@ -1094,11 +1105,13 @@ $sheet-max-width: 860px
// }}}
// ViewManager.switches {{{
.oe_view_manager_switch
+ margin-left: 8px
li
text-align: center
width: 24px
height: 24px
line-height: 16px
+ padding: 0
a
position: relative
.oe_vm_switch_list:after, .oe_vm_switch_tree:after
@@ -1499,11 +1512,34 @@ $sheet-max-width: 860px
display: none !important
.oe_form .oe_form_field_date
width: auto
+ // Sheet and padding
.oe_form_nosheet
margin: 16px
> header
margin: -16px -16px 0 -16px
padding: 8px
+ .oe_form_sheetbg
+ padding: 8px 0
+ .oe_form_sheet_width
+ min-width: 650px
+ max-width: $sheet-max-width
+ margin: 0 auto
+ .oe_form_sheet
+ background: white
+ min-height: 330px
+ padding: 16px
+ // Sheet inline mode
+ .oe_application
+ .oe_form_sheetbg
+ background: url(/web/static/src/img/form_sheetbg.png)
+ border-bottom: 1px solid #ddd
+ .oe_form_sheet
+ border: 1px solid $tag-border
+ @include box-shadow(0 0 10px rgba(0,0,0,0.3))
+ .ui-tabs
+ margin: 0 -16px
+ .oe_notebook_page
+ padding: 0 16px
// }}}
// FormView.custom tags and classes {{{
.oe_form
@@ -1527,7 +1563,7 @@ $sheet-max-width: 860px
max-width: 650px
margin: 0 0 10px 0
div.oe_form_configuration
- p
+ p, ul, ol
color: #aaa
max-width: 650px
label
@@ -1536,115 +1572,92 @@ $sheet-max-width: 860px
padding: 1px 0
.oe_form_group_cell div div
padding: 1px 0
-
-
- ul.oe_form_steps, ul.oe_form_steps_clickable
- display: inline-block
- padding-right: 18px
- li
+ ul.oe_form_steps, ul.oe_form_steps_clickable
display: inline-block
- margin-right: -20px
- @include vertical-gradient(#fcfcfc, #dedede)
- &:first-child .label
- border-left: 1px solid #cacaca
- padding-left: 14px
- &:last-child
- border-right: 1px solid #cacaca
- .label
- padding-right: 14px
- .arrow
- display: none
- .label
- color: #4c4c4c
- text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede
- padding: 7px
+ padding-right: 18px
+ li
display: inline-block
- padding-left: 24px
- margin: 0
- position: relative
- .arrow
- width: 17px
- display: inline-block
- vertical-align: top
- overflow: hidden
- margin-left: -5px
- span
- position: relative
- width: 24px
- height: 24px
+ margin-right: -20px
+ @include vertical-gradient(#fcfcfc, #dedede)
+ &:first-child .label
+ border-left: 1px solid #cacaca
+ padding-left: 14px
+ &:last-child
+ border-right: 1px solid #cacaca
+ .label
+ padding-right: 14px
+ .arrow
+ display: none
+ .label
+ color: #4c4c4c
+ text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede
+ padding: 7px
display: inline-block
- margin-left: -12px
- margin-top: 3px
- box-shadow: -1px 1px 2px rgba(255,255,255,0.2), inset -1px 1px 1px rgba(0,0,0,0.2)
- @include skew-gradient(#fcfcfc, #dedede)
- @include radius(3px)
- @include transform(rotate(45deg))
- li.oe_active
- @include vertical-gradient(#729fcf, #3465a4)
- .arrow span
- @include skew-gradient(#729fcf, #3465a4)
- .label
- color: white
- text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4
-
- ul.oe_form_steps_clickable
- li
- cursor: pointer
- &:hover
- @include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
- .label
- text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
+ padding-left: 24px
+ margin: 0
+ position: relative
+ .arrow
+ width: 17px
+ display: inline-block
+ vertical-align: top
+ overflow: hidden
+ margin-left: -5px
+ span
+ position: relative
+ width: 24px
+ height: 24px
+ display: inline-block
+ margin-left: -12px
+ margin-top: 3px
+ box-shadow: -1px 1px 2px rgba(255,255,255,0.2), inset -1px 1px 1px rgba(0,0,0,0.2)
+ @include skew-gradient(#fcfcfc, #dedede)
+ @include radius(3px)
+ @include transform(rotate(45deg))
+ li.oe_active
+ @include vertical-gradient(#729fcf, #3465a4)
.arrow span
+ @include skew-gradient(#729fcf, #3465a4)
+ .label
+ color: white
+ text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4
+ ul.oe_form_steps_clickable
+ li
+ cursor: pointer
+ &:hover
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
- .label
- color: $link-color
- li.oe_active
- &:hover
- @include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
+ .label
+ text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
+ .arrow span
+ @include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
.label
- text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
- .arrow span
- @include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
+ color: $link-color
+ li.oe_active
+ &:hover
+ @include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
+ .label
+ text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
+ .arrow span
+ @include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
+ .oe_subtotal_footer
+ width: 1% !important
+ td.oe_form_group_cell
+ text-align: right
+ padding: 0 !important
+ td.oe_form_group_cell_label
+ border-right: none
+ .oe_subtotal_footer_separator
+ width: 108px
+ border-top: 1px solid #cacaca
+ font-weight: bold
+ font-size: 18px
+ label:after
+ content: ":"
+ label.oe_subtotal_footer_separator
+ font-weight: bold !important
+ padding: 2px 11px 2px 0px !important
+ label.oe_form_label_help
+ font-weight: normal
- .oe_form .oe_subtotal_footer
- width: 1% !important
- td.oe_form_group_cell
- text-align: right
- padding: 0 !important
- td.oe_form_group_cell_label
- border-right: none
- .oe_subtotal_footer_separator
- width: 108px
- border-top: 1px solid #cacaca
- font-weight: bold
- font-size: 18px
- label:after
- content: ":"
- label.oe_subtotal_footer_separator
- font-weight: bold !important
- padding: 2px 11px 2px 0px !important
- label.oe_form_label_help
- font-weight: normal
- // no sheet in popups
- .oe_application
- .oe_form_sheetbg
- background: url(/web/static/src/img/form_sheetbg.png)
- padding: 8px 0
- border-bottom: 1px solid #ddd
- .oe_form_sheet_width
- min-width: 650px
- max-width: $sheet-max-width
- margin: 0 auto
- .oe_form_sheet
- background: white
- min-height: 330px
- padding: 16px
- border: 1px solid $tag-border
- @include box-shadow(0 0 10px rgba(0,0,0,0.3))
- .ui-tabs
- margin: 0 -16px
- .oe_notebook_page
- padding: 0 16px
// }}}
// FormView.group {{{
.oe_form
@@ -1741,7 +1754,7 @@ $sheet-max-width: 860px
input[type="text"], input[type="password"], input[type="file"], select, textarea
@include box-sizing(border)
background: white
- min-width: 70px
+ min-width: 60px
color: #1f1f1f
input[readonly], select[readonly], textarea[readonly], input[disabled], select[disabled]
background: #E5E5E5 !important
@@ -1865,6 +1878,11 @@ $sheet-max-width: 860px
li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option
margin-top: 10px
// }}}
+ // FormView.fieldstatus {{{
+ .oe_form_field_status
+ @include semantic-html-override
+ @include ul-html-override
+ // }}}
// FormView.one2many {{{
.oe_form .oe_form_field_one2many > .oe_view_manager
.oe_list_pager_single_page
@@ -1912,6 +1930,8 @@ $sheet-max-width: 860px
background-color: #d2d2ff
td.oe_readonly
background-color: #eee
+
+ $row-height: 27px
.oe_list_editable
.oe_list_content
td.oe_list_field_cell
@@ -1926,12 +1946,11 @@ $sheet-max-width: 860px
display: none
.oe_form_field
input
- height: 27px
+ height: $row-height
input, textarea
+ @include radius(0)
border: 1px solid #aaf
- border-radius: 0px
- margin: 0px
- -webkit-border-radius: 0px
+ margin: 0
textarea
height: 60px
&.oe_form_field_float,&.oe_form_view_integer
@@ -2018,6 +2037,7 @@ $sheet-max-width: 860px
> tbody
cursor: pointer
> tr
+ height: $row-height
border-top: 1px solid #ddd
> td.oe_list_field_cell
padding: 3px 6px
@@ -2058,6 +2078,13 @@ $sheet-max-width: 860px
.oe_list_handle
@include text-to-icon("ö")
+ .oe_list_cannot_edit
+ .oe_list_header_handle, .oe_list_field_handle
+ display: none !important
+ .oe_list_cannot_delete
+ .oe_list_record_delete
+ display: none !important
+
// }}}
// Tree view {{{
.tree_header
diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js
index 8a28c0a8a4d..c74c2d5dc03 100644
--- a/addons/web/static/src/js/corelib.js
+++ b/addons/web/static/src/js/corelib.js
@@ -1323,12 +1323,6 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({
deferred.resolve(response["result"], textStatus, jqXHR);
} else if (response.error.data.type === "session_invalid") {
self.uid = false;
- // TODO deprecate or use a deferred on login.do_ask_login()
- self.on_session_invalid(function() {
- self.rpc(url, payload.params,
- function() { deferred.resolve.apply(deferred, arguments); },
- function() { deferred.reject.apply(deferred, arguments); });
- });
} else {
deferred.reject(response.error, $.Event());
}
diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js
index 38cf57387d1..60e59ad0b2c 100644
--- a/addons/web/static/src/js/coresetup.js
+++ b/addons/web/static/src/js/coresetup.js
@@ -113,20 +113,6 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
this.set_cookie('session_id', '');
return this.rpc("/web/session/destroy", {});
},
- on_session_valid: function() {
- },
- /**
- * Called when a rpc call fail due to an invalid session.
- * By default, it's a noop
- */
- on_session_invalid: function(retry_callback) {
- },
- /**
- * Fetches a cookie stored by an openerp session
- *
- * @private
- * @param name the cookie's name
- */
get_cookie: function (name) {
if (!this.name) { return null; }
var nameEQ = this.name + '|' + name + '=';
@@ -160,9 +146,8 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
/**
* Load additional web addons of that instance and init them
*
- * @param {Boolean} [no_session_valid_signal=false] prevents load_module from triggering ``on_session_valid``.
*/
- load_modules: function(no_session_valid_signal) {
+ load_modules: function() {
var self = this;
return this.rpc('/web/session/modules', {}).pipe(function(result) {
var lang = self.user_context.lang,
@@ -195,9 +180,6 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
return loaded.then(function() {
self.on_modules_loaded();
self.trigger('module_loaded');
- if (!no_session_valid_signal) {
- self.on_session_valid();
- }
});
});
},
@@ -611,11 +593,12 @@ if ($.blockUI) {
var messages_by_seconds = function() {
return [
[0, _t("Loading...")],
- [30, _t("Still loading...")],
+ [20, _t("Still loading...")],
[60, _t("Still loading...
Please be patient.")],
[120, _t("Don't leave yet,
it's still loading...")],
[300, _t("You may not believe it,
but the application is actually loading...")],
- [600, _t("You know, sometimes,
OpenERP can be a little bit slow,
because it's loading...")],
+ [420, _t("Take a minute to get a coffee,
because it's loading...")],
+ [600, _t("It's loading...
By the way, did you tried the kitten mode?")],
[3600, _t("Maybe you should consider pressing F5...")],
];
};
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 24584413fee..f65da67d8fb 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -22,10 +22,6 @@ instance.web.form.FieldManagerMixin = {
* Must return the asked field as in fields_get.
*/
get_field: function(field_name) {},
- /**
- * Called by the field when the translate button is clicked.
- */
- open_translate_dialog: function(field) {},
/**
* Returns true when the view is in create mode.
*/
@@ -145,14 +141,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (!this.sidebar && this.options.$sidebar) {
this.sidebar = new instance.web.Sidebar(this);
this.sidebar.appendTo(this.$sidebar);
- if(this.fields_view.toolbar) {
+ if (this.fields_view.toolbar) {
this.sidebar.add_toolbar(this.fields_view.toolbar);
}
- this.sidebar.add_items('other', [
- { label: _t('Delete'), callback: self.on_button_delete },
- { label: _t('Duplicate'), callback: self.on_button_duplicate },
+ this.sidebar.add_items('other', _.compact([
+ self.is_action_enabled('delete') && { label: _t('Delete'), callback: self.on_button_delete },
+ self.is_action_enabled('create') && { label: _t('Duplicate'), callback: self.on_button_duplicate },
{ label: _t('Set Default'), callback: function (item) { self.open_defaults_dialog(); } }
- ]);
+ ]));
}
this.has_been_loaded.resolve();
@@ -1049,9 +1045,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
is_create_mode: function() {
return this.get("actual_mode") === "create";
},
- open_translate_dialog: function(field) {
- return this._super(field);
- },
});
/**
@@ -1882,6 +1875,10 @@ instance.web.form.FieldInterface = {
* Must set the focus on the field. Return false if field is not focusable.
*/
focus: function() {},
+ /**
+ * Called when the translate button is clicked.
+ */
+ on_translate: function() {},
};
/**
@@ -1936,9 +1933,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
this._super();
if (this.field.translate) {
this.$el.addClass('oe_form_field_translatable');
- this.$el.find('.oe_field_translate').click(_.bind(function() {
- this.field_manager.open_translate_dialog(this);
- }, this));
+ this.$el.find('.oe_field_translate').click(this.on_translate);
}
this.$label = this.view.$el.find('label[for=' + this.id_for_label + ']');
if (instance.session.debug) {
@@ -2000,6 +1995,13 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
set_input_id: function(id) {
this.id_for_label = id;
},
+ on_translate: function() {
+ var self = this;
+ var trans = new instance.web.DataSet(this, 'ir.translation');
+ return trans.call_button('translate_fields', [this.view.dataset.model, this.view.datarecord.id, this.name, this.view.dataset.get_context()]).then(function(r) {
+ self.do_action(r.result);
+ });
+ },
});
/**
@@ -2692,8 +2694,8 @@ instance.web.form.CompletionFieldMixin = {
_create_context: function(name) {
var tmp = {};
var field = (this.options || {}).create_name_field;
- if (field)
- tmp["default_" + field] = name;
+ if (field !== false && (this.options || {}).quick_create !== false)
+ tmp["default_" + field] = name || "name";
return tmp;
},
};
@@ -2844,7 +2846,21 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
self.tip_def.reject();
}
};
- this.$input.focusout(anyoneLoosesFocus);
+ var ignore_blur = false;
+ this.$input.on({
+ focusout: anyoneLoosesFocus,
+ focus: function () { self.trigger('focused'); },
+ autocompleteopen: function () { ignore_blur = true; },
+ autocompleteclose: function () { ignore_blur = false; },
+ blur: function () {
+ // autocomplete open
+ if (ignore_blur) { return; }
+ if (_(self.getChildren()).any(function (child) {
+ return child instanceof instance.web.form.AbstractFormPopup;
+ })) { return; }
+ self.trigger('blurred');
+ }
+ });
var isSelecting = false;
// autocomplete
@@ -2886,7 +2902,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
}
isSelecting = false;
});
- this.setupFocus(this.$input.add(this.$follow_button));
+ this.setupFocus(this.$follow_button);
},
render_value: function(no_recurse) {
var self = this;
@@ -3471,7 +3487,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments);
},
form_view_options: {'not_interactible_on_create':true},
- readonly: self.o2m.get("effective_readonly")
+ readonly: !this.is_action_enabled('edit') || self.o2m.get("effective_readonly")
});
},
do_button_action: function (name, id, callback) {
@@ -3559,7 +3575,11 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
});
instance.web.form.One2ManyList = instance.web.ListView.List.extend({
pad_table_to: function (count) {
- this._super(count > 0 ? count - 1 : 0);
+ if (!this.view.is_action_enabled('create')) {
+ this._super(count);
+ } else {
+ this._super(count > 0 ? count - 1 : 0);
+ }
// magical invocation of wtf does that do
if (this.view.o2m.get('effective_readonly')) {
@@ -3572,6 +3592,11 @@ instance.web.form.One2ManyList = instance.web.ListView.List.extend({
}).length;
if (this.options.selectable) { columns++; }
if (this.options.deletable) { columns++; }
+
+ if (!this.view.is_action_enabled('create')) {
+ return;
+ }
+
var $cell = $('', {
colspan: columns,
'class': 'oe_form_field_one2many_list_row_add'
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 42a808c5e15..22333898813 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -250,6 +250,12 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
+
+ // add css classes that reflect the (absence of) access rights
+ this.$el.toggleClass('oe_list_cannot_create', !this.is_action_enabled('create'))
+ .toggleClass('oe_list_cannot_edit', !this.is_action_enabled('edit'))
+ .toggleClass('oe_list_cannot_delete', !this.is_action_enabled('delete'));
+
// Head hook
// Selecting records
this.$el.find('.oe_list_record_selector').click(function(){
@@ -351,11 +357,11 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (!this.sidebar && this.options.$sidebar) {
this.sidebar = new instance.web.Sidebar(this);
this.sidebar.appendTo(this.options.$sidebar);
- this.sidebar.add_items('other', [
- { label: _t("Import"), callback: this.on_sidebar_import },
+ this.sidebar.add_items('other', _.compact([
+ self.is_action_enabled('create') && { label: _t("Import"), callback: this.on_sidebar_import },
{ label: _t("Export"), callback: this.on_sidebar_export },
- { label: _t('Delete'), callback: this.do_delete_selected }
- ]);
+ self.is_action_enabled('delete') && { label: _t('Delete'), callback: this.do_delete_selected }
+ ]));
this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$el.hide();
}
@@ -1995,7 +2001,7 @@ instance.web.list.Column = instance.web.Class.extend({
if (!(aggregation_func in this)) {
return {};
}
- var C = function (label, fn) {
+ var C = function (fn, label) {
this['function'] = fn;
this.label = label;
};
@@ -2115,6 +2121,11 @@ instance.web.list.ProgressBar = instance.web.list.Column.extend({
}
});
instance.web.list.Handle = instance.web.list.Column.extend({
+ init: function () {
+ this._super.apply(this, arguments);
+ // Handle overrides the field to not be form-editable.
+ this.modifiers.readonly = true;
+ },
/**
* Return styling hooks for a drag handle
*
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js
index 65f5620c1a9..892221a347b 100644
--- a/addons/web/static/src/js/view_list_editable.js
+++ b/addons/web/static/src/js/view_list_editable.js
@@ -55,6 +55,12 @@ openerp.web.list_editable = function (instance) {
instance.web.bus.off('resize', this, this.resize_fields);
this._super();
},
+ do_hide: function () {
+ if (this.editor.is_editing()) {
+ this.cancel_edition(true);
+ }
+ this._super();
+ },
/**
* Handles the activation of a record in editable mode (making a record
* editable), called *after* the record has become editable.
@@ -249,7 +255,7 @@ openerp.web.list_editable = function (instance) {
var position = $cell.position();
// jquery does not understand !important
- field.$el.attr('style', 'width: '+$cell.outerWidth()+'px !important')
+ field.$el.attr('style', 'width: '+$cell.outerWidth()+'px !important');
field.$el.css({
top: position.top,
left: position.left,
@@ -354,14 +360,17 @@ openerp.web.list_editable = function (instance) {
'class': 'oe_form_container',
version: '7.0'
});
- _(view.arch.children).each(function (widget) {
- var modifiers = JSON.parse(widget.attrs.modifiers || '{}');
- widget.attrs.nolabel = true;
- if (modifiers['tree_invisible'] || widget.tag === 'button') {
- modifiers.invisible = true;
- }
- widget.attrs.modifiers = JSON.stringify(modifiers);
- });
+ _(view.arch.children).chain()
+ .zip(this.columns)
+ .each(function (ar) {
+ var widget = ar[0], column = ar[1];
+ var modifiers = _.extend({}, column.modifiers);
+ widget.attrs.nolabel = true;
+ if (modifiers['tree_invisible'] || widget.tag === 'button') {
+ modifiers.invisible = true;
+ }
+ widget.attrs.modifiers = JSON.stringify(modifiers);
+ });
return view;
},
handle_onwrite: function (source_record) {
@@ -750,7 +759,7 @@ openerp.web.list_editable = function (instance) {
instance.web.ListView.List.include(/** @lends instance.web.ListView.List# */{
row_clicked: function (event) {
- if (!this.view.editable()) {
+ if (!this.view.editable() || ! this.view.is_action_enabled('edit')) {
return this._super.apply(this, arguments);
}
var record_id = $(event.currentTarget).data('id');
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index e453ecbc905..4820cc065dc 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -732,6 +732,14 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
var dialog = new instance.web.Dialog(this, { title: _t("Fields View Get"), width: '95%' }).open();
$('').text(instance.web.json_node_to_xml(current_view.fields_view.arch, true)).appendTo(dialog.$el);
break;
+ case 'tests':
+ this.do_action({
+ name: "JS Tests",
+ target: 'new',
+ type : 'ir.actions.act_url',
+ url: '/web/static/test/test.html'
+ })
+ break;
case 'perm_read':
var ids = current_view.get_selected_ids();
if (ids.length === 1) {
@@ -749,6 +757,17 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
case 'toggle_layout_outline':
current_view.rendering_engine.toggle_layout_debugging();
break;
+ case 'translate':
+ this.do_action({
+ name: "Technical Translation",
+ res_model : 'ir.translation',
+ domain : [['type', '!=', 'object'], '|', ['name', '=', this.dataset.model], ['name', 'ilike', this.dataset.model + ',']],
+ views: [[false, 'list'], [false, 'form']],
+ type : 'ir.actions.act_window',
+ view_type : "list",
+ view_mode : "list"
+ });
+ break;
case 'fields':
this.dataset.call_and_eval(
'fields_get', [false, {}], null, 1).then(function (fields) {
@@ -882,10 +901,6 @@ instance.web.Sidebar = instance.web.Widget.extend({
'files' : [],
'other' : []
};
- if (this.session.uid === 1) {
- var item = { label: _t("Translate"), callback: view.on_sidebar_translate, title: _t("Technical translation") };
- this.items.other.push(item);
- }
this.fileupload_id = _.uniqueId('oe_fileupload');
$(window).on(this.fileupload_id, function() {
var args = [].slice.call(arguments).slice(1);
@@ -1050,119 +1065,6 @@ instance.web.Sidebar = instance.web.Widget.extend({
}
});
-instance.web.TranslateDialog = instance.web.Dialog.extend({
- dialog_title: {toString: function () { return _t("Translations"); }},
- init: function(view) {
- // TODO fme: should add the language to fields_view_get because between the fields view get
- // and the moment the user opens the translation dialog, the user language could have been changed
- this.view_language = view.session.user_context.lang;
- this['on_button_' + _t("Save")] = this.on_btn_save;
- this['on_button_' + _t("Close")] = this.on_btn_close;
- this._super(view, {
- width: '80%',
- height: '80%',
- destroy_on_close: false,
- });
- this.view = view;
- this.view_type = view.fields_view.type || '';
- this.$fields_form = null;
- this.$view_form = null;
- this.$sidebar_form = null;
- this.translatable_fields_keys = _.map(this.view.translatable_fields || [], function(i) { return i.name; });
- this.languages = null;
- this.languages_loaded = $.Deferred();
- (new instance.web.DataSetSearch(this, 'res.lang', this.view.dataset.get_context(),
- [['translatable', '=', '1']])).read_slice(['code', 'name'], { sort: 'id' }).then(this.on_languages_loaded);
- },
- start: function() {
- var self = this;
- this._super();
- return $.when(this.languages_loaded).then(function() {
- self.$el.html(instance.web.qweb.render('TranslateDialog', { widget: self }));
- self.$fields_form = self.$el.find('.oe_translation_form');
- self.$fields_form.find('.oe_trad_field').change(function() {
- $(this).toggleClass('touched', ($(this).val() != $(this).attr('data-value')));
- });
- });
- },
- on_languages_loaded: function(langs) {
- this.languages = langs;
- this.languages_loaded.resolve();
- },
- do_load_fields_values: function(callback) {
- var self = this,
- deffered = [];
- this.$fields_form.find('.oe_trad_field').val('').removeClass('touched');
- _.each(self.languages, function(lg) {
- var deff = $.Deferred();
- deffered.push(deff);
- var callback = function(values) {
- _.each(self.translatable_fields_keys, function(f) {
- var value = values[0][f] || '';
- self.$fields_form.find('.oe_trad_field[name="' + lg.code + '-' + f + '"]').val(value).attr('data-value', value);
- });
- deff.resolve();
- };
- if (lg.code === self.view_language) {
- var values = {};
- _.each(self.translatable_fields_keys, function(field) {
- values[field] = self.view.fields[field].get_value();
- });
- callback([values]);
- } else {
- self.view.dataset.read_ids([self.view.datarecord.id], self.translatable_fields_keys, {
- context: { 'lang': lg.code }
- }).then(callback);
- }
- });
- $.when.apply(null, deffered).then(callback);
- },
- open: function(field) {
- var self = this;
- this._super();
- $.when(this.languages_loaded).then(function() {
- if (self.view.translatable_fields && self.view.translatable_fields.length) {
- self.do_load_fields_values(function() {
- if (field) {
- var $field_input = self.$el.find('tr[data-field="' + field.name + '"] td:nth-child(2) *:first-child');
- self.$el.scrollTo($field_input);
- $field_input.focus();
- }
- });
- } else {
- sup.call(self);
- }
- });
- },
- on_btn_save: function() {
- var trads = {};
- var self = this;
- var trads_mutex = new $.Mutex();
- self.$fields_form.find('.oe_trad_field.touched').each(function() {
- var field = $(this).attr('name').split('-');
- if (!trads[field[0]]) {
- trads[field[0]] = {};
- }
- trads[field[0]][field[1]] = $(this).val();
- });
- _.each(trads, function(data, code) {
- if (code === self.view_language) {
- _.each(data, function(value, field) {
- self.view.fields[field].set_value(value);
- });
- }
- trads_mutex.exec(function() {
- return self.view.dataset.write(self.view.datarecord.id, data, { context : { 'lang': code } });
- });
- });
- this.close();
- return trads_mutex;
- },
- on_btn_close: function() {
- this.close();
- }
-});
-
instance.web.View = instance.web.Widget.extend({
// name displayed in view switchers
display_name: '',
@@ -1214,12 +1116,6 @@ instance.web.View = instance.web.Widget.extend({
action_views_ids: {}
});
},
- open_translate_dialog: function(field) {
- if (!this.translate_dialog) {
- this.translate_dialog = new instance.web.TranslateDialog(this);
- }
- this.translate_dialog.open(field);
- },
/**
* Fetches and executes the action identified by ``action_data``.
*
@@ -1338,16 +1234,6 @@ instance.web.View = instance.web.Widget.extend({
on_sidebar_export: function() {
new instance.web.DataExport(this, this.dataset).open();
},
- on_sidebar_translate: function() {
- return this.do_action({
- res_model : 'ir.translation',
- domain : [['type', '!=', 'object'], '|', ['name', '=', this.dataset.model], ['name', 'ilike', this.dataset.model + ',']],
- views: [[false, 'list'], [false, 'form']],
- type : 'ir.actions.act_window',
- view_type : "list",
- view_mode : "list"
- });
- },
sidebar_context: function () {
return $.when();
},
@@ -1357,6 +1243,15 @@ instance.web.View = instance.web.Widget.extend({
*/
reload: function () {
return $.when();
+ },
+ /**
+ * Return whether the user can perform the action ('create', 'edit', 'delete') in this view.
+ * An action is disabled by setting the corresponding attribute in the view's main element,
+ * like: |