[MERGE] Merged latest trunk.

bzr revid: vta@openerp.com-20120830070501-qy3am8pj7q3xm0oi
This commit is contained in:
vta vta@openerp.com
2012-08-30 09:05:01 +02:00
357 changed files with 2004 additions and 1730 deletions
+60 -5
View File
@@ -1,16 +1,16 @@
{
"name" : "Web",
"category": "Hidden",
"description":
'name': 'Web',
'category': 'Hidden',
'description':
"""
OpenERP Web core module.
========================
This module provides the core of the OpenERP Web Client.
""",
"depends" : [],
'depends': [],
'auto_install': True,
'post_load' : 'wsgi_postload',
'post_load': 'wsgi_postload',
'js' : [
"static/lib/datejs/globalization/en-US.js",
"static/lib/datejs/core.js",
@@ -68,5 +68,60 @@ This module provides the core of the OpenERP Web Client.
],
'qweb' : [
"static/src/xml/*.xml",
'static/lib/datejs/globalization/en-US.js',
'static/lib/datejs/core.js',
'static/lib/datejs/parser.js',
'static/lib/datejs/sugarpak.js',
'static/lib/datejs/extras.js',
'static/lib/jquery/jquery-1.7.2.js',
'static/lib/jquery.MD5/jquery.md5.js',
'static/lib/jquery.form/jquery.form.js',
'static/lib/jquery.validate/jquery.validate.js',
'static/lib/jquery.ba-bbq/jquery.ba-bbq.js',
'static/lib/spinjs/spin.js',
'static/lib/jquery.blockUI/jquery.blockUI.js',
'static/lib/jquery.ui/js/jquery-ui-1.8.17.custom.min.js',
'static/lib/jquery.ui.timepicker/js/jquery-ui-timepicker-addon.js',
'static/lib/jquery.ui.notify/js/jquery.notify.js',
'static/lib/jquery.deferred-queue/jquery.deferred-queue.js',
'static/lib/jquery.scrollTo/jquery.scrollTo-min.js',
'static/lib/jquery.tipsy/jquery.tipsy.js',
'static/lib/jquery.textext/jquery.textext.js',
'static/lib/jquery.timeago/jquery.timeago.js',
'static/lib/qweb/qweb2.js',
'static/lib/underscore/underscore.js',
'static/lib/underscore/underscore.string.js',
'static/lib/backbone/backbone.js',
'static/lib/cleditor/jquery.cleditor.js',
'static/lib/py.js/lib/py.js',
'static/src/js/boot.js',
'static/src/js/corelib.js',
'static/src/js/coresetup.js',
'static/src/js/dates.js',
'static/src/js/formats.js',
'static/src/js/chrome.js',
'static/src/js/views.js',
'static/src/js/data.js',
'static/src/js/data_export.js',
'static/src/js/data_import.js',
'static/src/js/search.js',
'static/src/js/view_form.js',
'static/src/js/view_list.js',
'static/src/js/view_list_editable.js',
'static/src/js/view_tree.js',
],
'css': [
'static/lib/jquery.ui.bootstrap/css/custom-theme/jquery-ui-1.8.16.custom.css',
'static/lib/jquery.ui.timepicker/css/jquery-ui-timepicker-addon.css',
'static/lib/jquery.ui.notify/css/ui.notify.css',
'static/lib/jquery.tipsy/tipsy.css',
'static/lib/jquery.textext/jquery.textext.css',
'static/src/css/base.css',
'static/src/css/data_export.css',
'static/src/css/data_import.css',
'static/lib/cleditor/jquery.cleditor.css',
],
'qweb': [
'static/src/xml/*.xml',
],
}
-6
View File
@@ -104,12 +104,6 @@ class OpenERPSession(object):
del state['config']
return state
def openerp_entreprise(self):
if not self._uid:
return False
else:
return self.model('publisher_warranty.contract').status()['status'] == 'full'
def build_connection(self):
conn = openerplib.Connection(self.config.connector, database=self._db, login=self._login,
user_id=self._uid, password=self._password)
-1
View File
@@ -806,7 +806,6 @@ class Session(openerpweb.Controller):
"context": req.session.get_context() if req.session._uid else {},
"db": req.session._db,
"login": req.session._login,
"openerp_entreprise": req.session.openerp_entreprise(),
}
@openerpweb.jsonrequest
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
"X-Poedit-Language: Czech\n"
#. openerp-web
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
"Language: es\n"
#. openerp-web
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+98 -67
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
"PO-Revision-Date: 2012-06-04 12:04+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2012-08-24 09:16+0000\n"
"Last-Translator: Herczeg Péter <herczegp@gmail.com>\n"
"Language-Team: Hungarian <hu@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
@@ -124,7 +124,7 @@ msgstr "Névjegy"
#. openerp-web
#: addons/web/static/src/js/chrome.js:1052
msgid "OpenERP - Unsupported/Community Version"
msgstr ""
msgstr "OpenERP - Támogatás nélküli / Közösségi verzió"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:619
@@ -189,7 +189,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:6
msgid "Export Data"
msgstr ""
msgstr "Adatok exportálása"
#. openerp-web
#: addons/web/static/src/js/data_export.js:19
@@ -200,12 +200,12 @@ msgstr ""
#: addons/web/static/src/js/view_form.js:3298
#: addons/web/static/src/js/views.js:968
msgid "Close"
msgstr ""
msgstr "Bezárás"
#. openerp-web
#: addons/web/static/src/js/data_export.js:20
msgid "Export To File"
msgstr ""
msgstr "Exportálás fájlba"
#. openerp-web
#: addons/web/static/src/js/data_export.js:126
@@ -220,17 +220,17 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_export.js:375
msgid "Please select fields to export..."
msgstr ""
msgstr "Kérjük válassza ki az exportálandó mezőket..."
#. openerp-web
#: addons/web/static/src/js/data_import.js:34
msgid "Import Data"
msgstr ""
msgstr "Adatok importálása"
#. openerp-web
#: addons/web/static/src/js/data_import.js:71
msgid "Import File"
msgstr ""
msgstr "Fájl importálása"
#. openerp-web
#: addons/web/static/src/js/data_import.js:106
@@ -247,7 +247,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/data_import.js:383
msgid "*Required Fields are not selected :"
msgstr ""
msgstr "*Szükséges mezők nincsennek kiválasztva:"
#. openerp-web
#: addons/web/static/src/js/formats.js:139
@@ -298,12 +298,12 @@ msgstr ""
#: addons/web/static/src/js/search.js:1108
#, python-format
msgid "Group by: %s"
msgstr ""
msgstr "Csoportosítás: %s"
#. openerp-web
#: addons/web/static/src/js/search.js:1132
msgid "GroupBy"
msgstr ""
msgstr "Csoportosítás"
#. openerp-web
#: addons/web/static/src/js/search.js:1267
@@ -357,12 +357,12 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/search.js:1341
msgid "contains"
msgstr ""
msgstr "tartalmazza"
#. openerp-web
#: addons/web/static/src/js/search.js:1342
msgid "doesn't contain"
msgstr ""
msgstr "nem tartalmazza"
#. openerp-web
#: addons/web/static/src/js/search.js:1343
@@ -371,7 +371,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1401
#: addons/web/static/src/js/search.js:1424
msgid "is equal to"
msgstr ""
msgstr "egyenlő"
#. openerp-web
#: addons/web/static/src/js/search.js:1344
@@ -380,7 +380,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1402
#: addons/web/static/src/js/search.js:1425
msgid "is not equal to"
msgstr ""
msgstr "nem egyenlő"
#. openerp-web
#: addons/web/static/src/js/search.js:1345
@@ -389,7 +389,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1403
#: addons/web/static/src/js/search.js:1426
msgid "greater than"
msgstr ""
msgstr "nagyobb, mint"
#. openerp-web
#: addons/web/static/src/js/search.js:1346
@@ -398,7 +398,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1404
#: addons/web/static/src/js/search.js:1427
msgid "less than"
msgstr ""
msgstr "kisebb, mint"
#. openerp-web
#: addons/web/static/src/js/search.js:1347
@@ -407,7 +407,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1405
#: addons/web/static/src/js/search.js:1428
msgid "greater or equal than"
msgstr ""
msgstr "nagyobb vagy egyenlő, mint"
#. openerp-web
#: addons/web/static/src/js/search.js:1348
@@ -416,28 +416,28 @@ msgstr ""
#: addons/web/static/src/js/search.js:1406
#: addons/web/static/src/js/search.js:1429
msgid "less or equal than"
msgstr ""
msgstr "kisebb vagy egyenlő, mint"
#. openerp-web
#: addons/web/static/src/js/search.js:1419
#: addons/web/static/src/js/search.js:1444
msgid "is"
msgstr ""
msgstr "egyenlő"
#. openerp-web
#: addons/web/static/src/js/search.js:1445
msgid "is not"
msgstr ""
msgstr "nem egyenlő"
#. openerp-web
#: addons/web/static/src/js/search.js:1459
msgid "is true"
msgstr ""
msgstr "igaz"
#. openerp-web
#: addons/web/static/src/js/search.js:1460
msgid "is false"
msgstr ""
msgstr "hamis"
#. openerp-web
#: addons/web/static/src/js/view_editor.js:20
@@ -538,7 +538,7 @@ msgstr "Duplikálás"
#: addons/web/static/src/js/view_form.js:133
#: addons/web/static/src/js/view_form.js:728
msgid "Set Default"
msgstr "Alapértelmezés beállítása"
msgstr "Alapértelmezett értékek beállítása"
#. openerp-web
#: addons/web/static/src/js/view_page.js:59
@@ -549,7 +549,7 @@ msgstr "Biztos, hogy törölni akarja ezt a rekordot?"
#: addons/web/static/src/js/view_form.js:508
msgid ""
"Warning, the record has been modified, your changes will be discarded."
msgstr ""
msgstr "Figyelem, a rekord tartalma megváltozott, a változások elvesznek."
#. openerp-web
#: addons/web/static/src/js/view_form.js:735
@@ -640,18 +640,18 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/view_list.js:8
msgid "List"
msgstr ""
msgstr "Lista"
#. openerp-web
#: addons/web/static/src/js/view_list.js:277
msgid "Unlimited"
msgstr ""
msgstr "Korlátlan"
#. openerp-web
#: addons/web/static/src/js/views.js:819
#: addons/web/static/src/xml/base.xml:1742
msgid "Import"
msgstr ""
msgstr "Import"
#. openerp-web
#: addons/web/static/src/js/views.js:822
@@ -662,7 +662,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/view_list.js:374
msgid "Group"
msgstr ""
msgstr "Csoport"
#. openerp-web
#: addons/web/static/src/js/view_list.js:549
@@ -672,7 +672,7 @@ msgstr "Biztos, hogy törölni akarja ezeket a rekordokat?"
#. openerp-web
#: addons/web/static/src/js/views.js:925
msgid "Warning"
msgstr ""
msgstr "Figyelmeztetés"
#. openerp-web
#: addons/web/static/src/js/view_list.js:716
@@ -725,17 +725,17 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/views.js:716
msgid "Print"
msgstr ""
msgstr "Nyomtatás"
#. openerp-web
#: addons/web/static/src/js/views.js:717
msgid "Attachment"
msgstr ""
msgstr "Melléklet"
#. openerp-web
#: addons/web/static/src/js/views.js:718 addons/web/static/src/xml/base.xml:276
msgid "More"
msgstr ""
msgstr "Egyebek"
#. openerp-web
#: addons/web/static/src/js/views.js:810
@@ -760,7 +760,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/js/views.js:885
msgid "Do you really want to delete this attachment ?"
msgstr ""
msgstr "Valóban törölni szeretné ezt a mellékletet?"
#. openerp-web
#: addons/web/static/src/js/views.js:962
@@ -770,7 +770,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:52
msgid "Loading..."
msgstr ""
msgstr "Betöltés…"
#. openerp-web
#: addons/web/static/src/xml/base.xml:251
@@ -956,12 +956,12 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:325
msgid "About OpenERP"
msgstr ""
msgstr "OpenERP - Névjegy"
#. openerp-web
#: addons/web/static/src/xml/base.xml:327
msgid "Log out"
msgstr ""
msgstr "Kijelentkezés"
#. openerp-web
#: addons/web/static/src/xml/base.xml:333
@@ -1111,7 +1111,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:518
msgid "Delete this attachment"
msgstr ""
msgstr "Melléklet törlése"
#. openerp-web
#: addons/web/static/src/xml/base.xml:523
@@ -1132,7 +1132,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:687
msgid "Discard"
msgstr ""
msgstr "Elvetés"
#. openerp-web
#: addons/web/static/src/xml/base.xml:806
@@ -1142,17 +1142,17 @@ msgstr "Alapértelmezett:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:823
msgid "Condition:"
msgstr ""
msgstr "Feltétel:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:842
msgid "Only you"
msgstr ""
msgstr "csak saját"
#. openerp-web
#: addons/web/static/src/xml/base.xml:849
msgid "All users"
msgstr ""
msgstr "Minden felhasználó"
#. openerp-web
#: addons/web/static/src/xml/base.xml:856
@@ -1208,7 +1208,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:973
msgid "Change default:"
msgstr ""
msgstr "Alapértelmezett megváltoztatása:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:977
@@ -1228,7 +1228,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1040
msgid "Open this resource"
msgstr ""
msgstr "Erőforrás megnyitása"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1063
@@ -1259,7 +1259,7 @@ msgstr "Törlés"
#: addons/web/static/src/xml/base.xml:1179
#: addons/web/static/src/xml/base.xml:1230
msgid "Uploading ..."
msgstr ""
msgstr "Feltöltés..."
#. openerp-web
#: addons/web/static/src/xml/base.xml:1066
@@ -1316,7 +1316,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1205
msgid "Advanced Search..."
msgstr ""
msgstr "Részletes keresés…"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1287
@@ -1341,7 +1341,7 @@ msgstr "Szűrő mentése"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1305
msgid "Filter Name:"
msgstr ""
msgstr "Szűrő neve:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1307
@@ -1351,12 +1351,12 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1376
msgid "Custom Filters"
msgstr ""
msgstr "Egyedi szűrők"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1379
msgid "Save current filter"
msgstr ""
msgstr "Aktuális szűrés mentése"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1381
@@ -1366,13 +1366,13 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1383
msgid "Share with all users"
msgstr ""
msgstr "Mindenkinek elérhető"
#. openerp-web
#: addons/web/static/src/js/search.js:298
#: addons/web/static/src/xml/base.xml:1299
msgid "Add to Dashboard"
msgstr ""
msgstr "Hozzáadás vezérlőpulthoz"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1394
@@ -1392,7 +1392,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1406
msgid "Advanced Search"
msgstr ""
msgstr "Részletes Keresés"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1411
@@ -1402,7 +1402,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1412
msgid "Apply"
msgstr ""
msgstr "Alkalmazás"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1509
@@ -1422,36 +1422,40 @@ msgid ""
" You can export all data or only the fields that can be "
"reimported after modification."
msgstr ""
"Ez a varázsló exportálja az aktuális keresési feltételeknek megfelelő összes "
"adatot egy CSV fájlba.\n"
" Lehetőség van valamennyi adat exportálására vagy csak azon "
"mezőkére, amelyek változtatások után visszaimportálásra kerülnek."
#. openerp-web
#: addons/web/static/src/xml/base.xml:1624
msgid "Export Type:"
msgstr ""
msgstr "Exportálás típusa"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1626
msgid "Import Compatible Export"
msgstr ""
msgstr "Import/export kompatibilis"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1627
msgid "Export all Data"
msgstr ""
msgstr "Összes adat exportálása"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1630
msgid "Export Formats"
msgstr ""
msgstr "Export formátumok"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1636
msgid "Available fields"
msgstr ""
msgstr "Elérhető mezők"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1638
msgid "Fields to export"
msgstr ""
msgstr "Exportálandó mezők:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1640
@@ -1466,7 +1470,7 @@ msgstr "Összes eltávolítása"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1666
msgid "Name"
msgstr ""
msgstr "Név"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1699
@@ -1476,12 +1480,12 @@ msgstr "Mentés mint:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1706
msgid "Saved exports:"
msgstr ""
msgstr "Mentett exportálások:"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1748
msgid "1. Import a .CSV file"
msgstr ""
msgstr ".CSV fájl importálása"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1749
@@ -1503,7 +1507,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1759
msgid "Import Options"
msgstr ""
msgstr "Importálási beállítások"
#. openerp-web
#: addons/web/static/src/xml/base.xml:1763
@@ -1560,7 +1564,7 @@ msgstr ""
#. openerp-web
#: addons/web/static/src/xml/base.xml:1811
msgid "Here is a preview of the file we could not import:"
msgstr ""
msgstr "Itt van a fájlnak az előnézete, amit nem tudunk importálni:"
#~ msgid "Create..."
#~ msgstr "Létrehozás…"
@@ -1603,3 +1607,30 @@ msgstr ""
#~ msgid "More…"
#~ msgstr "Több..."
#~ msgid "Any of the following conditions must match"
#~ msgstr "Bármelyik feltétel igaz"
#~ msgid "All the following conditions must match"
#~ msgstr "Midegyik feltétel igaz"
#~ msgid "None of the following conditions must match"
#~ msgstr "Egyik feltétel sem igaz"
#~ msgid "Links"
#~ msgstr "Hivatkozások"
#~ msgid "Add condition"
#~ msgstr "Feltétel hozzáadása"
#~ msgid "Unfold menu"
#~ msgstr "Menü kibontása"
#~ msgid "Fold menu"
#~ msgstr "Menü elrejtése"
#~ msgid "Disable all tips"
#~ msgstr "Minden tipp tiltása"
#~ msgid "Hide this tip"
#~ msgstr "Tii elrejtése"
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -15,8 +15,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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:22+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:49+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
+92 -39
View File
@@ -69,6 +69,7 @@
display: none !important;
}
}
.openerp.openerp_webclient_container {
height: 100%;
position: relative;
@@ -84,7 +85,7 @@
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
/* http://www.quirksmode.org/dom/inputfile.html
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
*/
*/ */
}
.openerp :-moz-placeholder {
color: #afafb6 !important;
@@ -234,21 +235,9 @@
cursor: default;
text-shadow: 0 1px 1px white !important;
}
.openerp .ui-widget {
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
font-size: 13px;
}
.openerp .ui-widget-content a {
color: #7c7bad;
}
.openerp .ui-menu .ui-menu-item {
margin: 0 8px 0 0;
padding: 0 0 0 12px;
width: auto;
}
.openerp .ui-menu .ui-menu-item a.ui-state-active {
background: #f0f0fa;
}
.openerp.ui-dialog {
display: none;
padding: 6px;
@@ -505,8 +494,8 @@
margin: 4px;
}
.openerp .oe_avatar > img {
height: 90px;
max-width: 100px;
max-height: 90px;
max-width: 90px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
@@ -1012,7 +1001,7 @@
.openerp .oe_topbar {
width: 100%;
height: 31px;
border-top: solid 1px lightgrey;
border-top: solid 1px #d3d3d3;
background-color: #646060;
background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626));
background-image: -webkit-linear-gradient(top, #646060, #262626);
@@ -1037,14 +1026,6 @@
-webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
}
.openerp .oe_topbar .oe_topbar_item .oe_active {
background: #303030;
font-weight: bold;
color: white;
-moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
-webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
}
.openerp .oe_topbar .oe_topbar_avatar {
width: 24px;
height: 24px;
@@ -1155,10 +1136,10 @@
padding: 0;
margin: 0;
}
.openerp .oe_menu li {
.openerp .oe_menu > li {
float: left;
}
.openerp .oe_menu a {
.openerp .oe_menu > li > a {
display: block;
padding: 5px 10px 7px;
line-height: 20px;
@@ -1167,14 +1148,14 @@
vertical-align: top;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
.openerp .oe_menu a:hover {
.openerp .oe_menu > li > a:hover {
background: #303030;
color: white;
-moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
-webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset;
}
.openerp .oe_menu .oe_active {
.openerp .oe_menu > li > .oe_active {
background: #303030;
font-weight: bold;
color: white;
@@ -1211,7 +1192,7 @@
color: white;
padding: 2px 4px;
margin: 1px 6px 0 0;
border: 1px solid lightgrey;
border: 1px solid lightGray;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
@@ -1226,10 +1207,17 @@
margin: 0px;
padding: 1px 4px;
}
.openerp .oe_secondary_submenu .oe_menu_counter:hover {
cursor: pointer;
border: 1px solid #c81010;
-moz-box-shadow: 0 0 2px #c81010;
-webkit-box-shadow: 0 0 2px #c81010;
box-shadow: 0 0 2px #c81010;
}
.openerp .oe_secondary_submenu .oe_active {
background: #7c7bad;
border-top: 1px solid lightgrey;
border-bottom: 1px solid lightgrey;
border-top: 1px solid lightGray;
border-bottom: 1px solid lightGray;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
@@ -1321,6 +1309,9 @@
.openerp .oe_view_manager table.oe_view_manager_header h2 a {
color: #7c7bad;
}
.openerp .oe_view_manager table.oe_view_manager_header .oe_dropdown_menu {
line-height: normal;
}
.openerp .oe_view_manager table.oe_view_manager_header .oe_button_group {
display: inline-block;
border: 1px solid #ababab;
@@ -1959,8 +1950,10 @@
margin: 0 auto;
padding: 16px 0 48px;
}
.openerp .oe_form div.oe_form_configuration div.oe_horizontal_separator {
margin: 25px 0 10px 0;
.openerp .oe_form .oe_grey {
color: #aaaaaa;
max-width: 650px;
margin: 0 0 10px 0;
}
.openerp .oe_form div.oe_form_configuration p {
color: #aaaaaa;
@@ -1969,6 +1962,12 @@
.openerp .oe_form div.oe_form_configuration label {
min-width: 150px;
}
.openerp .oe_form div.oe_form_configuration .oe_form_group_cell_label {
padding: 2px 0;
}
.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 {
display: inline-block;
padding-right: 18px;
@@ -2005,7 +2004,6 @@
padding-left: 24px;
margin: 0;
position: relative;
z-index: 10;
}
.openerp ul.oe_form_steps li .arrow, .openerp ul.oe_form_steps_clickable li .arrow {
width: 17px;
@@ -2016,7 +2014,6 @@
}
.openerp ul.oe_form_steps li .arrow span, .openerp ul.oe_form_steps_clickable li .arrow span {
position: relative;
z-index: 11;
width: 24px;
height: 24px;
display: inline-block;
@@ -2160,7 +2157,7 @@
.openerp .oe_form td.oe_form_group_cell_label label {
line-height: 18px;
display: block;
min-width: 120px;
min-width: 160px;
}
.openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell {
padding-left: 6px;
@@ -2179,7 +2176,7 @@
}
.openerp .oe_form .oe_form_label_help[for] span, .openerp .oe_form .oe_form_label[for] span {
font-size: 80%;
color: darkgreen;
color: darkGreen;
vertical-align: top;
position: relative;
top: -4px;
@@ -2191,8 +2188,8 @@
.openerp .oe_horizontal_separator {
font-weight: bold;
font-size: 20px;
margin: 8px 0px 8px 0px;
color: #53637e;
margin: 15px 0px 10px 0px;
color: #7c7bad;
}
.openerp .oe_horizontal_separator:empty {
height: 5px;
@@ -2405,6 +2402,13 @@
float: right;
padding-left: 2px;
}
.openerp.ui-autocomplete li.oe_m2o_dropdown_option a {
font-style: italic;
padding-left: 2em;
}
.openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
margin-top: 10px;
}
.openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
display: none;
}
@@ -2729,6 +2733,16 @@
float: right;
color: #333333;
}
.openerp .oe_semantic_html li {
list-style-type: disc;
display: list-item;
}
.openerp .oe_semantic_html ul {
padding-left: 1em;
}
.openerp .oe_semantic_html p {
color: #4c4c4c !important;
}
.kitten-mode-activated {
background-image: url(http://placekitten.com/g/1365/769);
@@ -2744,3 +2758,42 @@ div.ui-widget-overlay {
filter: alpha(opacity=30);
opacity: 0.3;
}
.ui-widget {
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
color: #4c4c4c;
font-size: 13px;
}
.ui-menu {
padding: 2px 0;
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
margin-top: 4px;
border: 1px solid #afafb6;
}
.ui-menu .ui-menu-item {
width: 100%;
padding: 0;
}
.ui-menu .ui-menu-item a {
padding: 1px 16px;
}
.ui-menu .ui-menu-item a.ui-corner-all {
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
}
.ui-menu .ui-menu-item a.ui-state-active {
background: #f0f0fa;
}
.ui-menu .ui-menu-item a.ui-state-hover, .ui-menu .ui-menu-item a.ui-state-active {
background: #7c7bad;
}
.ui-corner-all {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
+78 -40
View File
@@ -249,18 +249,8 @@ $sheet-max-width: 860px
text-shadow: 0 1px 1px #fff !important
// }}}
// Jquery ui Overrides {{{
.ui-widget
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif
font-size: 13px
.ui-widget-content a
color: $link-color
.ui-menu
.ui-menu-item
margin: 0 8px 0 0
padding: 0 0 0 12px
width: auto
a.ui-state-active
background: #f0f0fa
// Modal box
&.ui-dialog
@@ -400,6 +390,7 @@ $sheet-max-width: 860px
@include vertical-gradient(#DF6B66, #BF3A33)
//@include vertical-gradient(lighten(#dc5f59, 3%), lighten(#b33630, 3%))
@include box-shadow(0 0 1px rgba(0, 0, 0, 0.2))
.oe_form_dirty
.oe_highlight_on_dirty
color: white
@@ -426,8 +417,8 @@ $sheet-max-width: 860px
margin: 4px
.oe_avatar
> img
height: 90px
max-width: 100px
max-height: 90px
max-width: 90px
@include radius(3px)
@include box-shadow(0 1px 3px rgba(0, 0, 0, 0.3))
border: none
@@ -814,11 +805,6 @@ $sheet-max-width: 860px
background: #303030
color: white
@include box-shadow(0 1px 2px rgba(255,255,255,0.3) inset)
.oe_active
background: #303030
font-weight: bold
color: white
@include box-shadow(0 1px 2px rgba(255,255,255,0.3) inset)
.oe_topbar_avatar
width: 24px
@@ -906,25 +892,25 @@ $sheet-max-width: 860px
float: left
padding: 0
margin: 0
li
> li
float: left
a
display: block
padding: 5px 10px 7px
line-height: 20px
height: 20px
color: #eee
vertical-align: top
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
&:hover
> a
display: block
padding: 5px 10px 7px
line-height: 20px
height: 20px
color: #eee
vertical-align: top
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
&:hover
background: #303030
color: white
@include box-shadow(0 1px 2px rgba(255,255,255,0.3) inset)
> .oe_active
background: #303030
font-weight: bold
color: white
@include box-shadow(0 1px 2px rgba(255,255,255,0.3) inset)
.oe_active
background: #303030
font-weight: bold
color: white
@include box-shadow(0 1px 2px rgba(255,255,255,0.3) inset)
.oe_secondary_menu_section
font-weight: bold
margin-left: 8px
@@ -959,6 +945,10 @@ $sheet-max-width: 860px
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
margin: 0px
padding: 1px 4px
&:hover
cursor: pointer
border: 1px solid #C81010
@include box-shadow(0 0 2px #C81010)
.oe_active
background: $link-color
border-top: 1px solid lightGray
@@ -1039,6 +1029,8 @@ $sheet-max-width: 860px
float: left
a
color: $link-color
.oe_dropdown_menu
line-height: normal
.oe_button_group
display: inline-block
border: 1px solid #ababab
@@ -1524,14 +1516,20 @@ $sheet-max-width: 860px
max-width: $sheet-max-width
margin: 0 auto
padding: 16px 0 48px
.oe_grey
color: #aaa
max-width: 650px
margin: 0 0 10px 0
div.oe_form_configuration
div.oe_horizontal_separator
margin: 25px 0 10px 0
p
color: #aaa
max-width: 650px
label
min-width: 150px
.oe_form_group_cell_label
padding: 2px 0
.oe_form_group_cell div div
padding: 1px 0
ul.oe_form_steps, ul.oe_form_steps_clickable
@@ -1558,7 +1556,6 @@ $sheet-max-width: 860px
padding-left: 24px
margin: 0
position: relative
z-index: 10
.arrow
width: 17px
display: inline-block
@@ -1567,7 +1564,6 @@ $sheet-max-width: 860px
margin-left: -5px
span
position: relative
z-index: 11
width: 24px
height: 24px
display: inline-block
@@ -1654,7 +1650,7 @@ $sheet-max-width: 860px
label
line-height: 18px
display: block
min-width: 120px
min-width: 160px
td.oe_form_group_cell + .oe_form_group_cell
padding-left: 6px
.oe_form_group
@@ -1683,8 +1679,8 @@ $sheet-max-width: 860px
.oe_horizontal_separator
font-weight: bold
font-size: 20px
margin: 8px 0px 8px 0px
color: #53637e
margin: 15px 0px 10px 0px
color: $section-title-color
.oe_horizontal_separator:empty
height: 5px
.oe_vertical_separator
@@ -1857,6 +1853,12 @@ $sheet-max-width: 860px
line-height: 14px
float: right
padding-left: 2px
&.ui-autocomplete
li.oe_m2o_dropdown_option a
font-style: italic
padding-left: 2em
li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option
margin-top: 10px
// }}}
// FormView.one2many {{{
.oe_form .oe_form_field_one2many > .oe_view_manager
@@ -2130,6 +2132,15 @@ $sheet-max-width: 860px
float: right
color: #333
// }}}
.oe_semantic_html // a style to use normal html
li
list-style-type: disc
display: list-item
ul
padding-left: 1em
p
color: #4C4C4C !important
// Kitten Mode {{{
.kitten-mode-activated
background-image: url(http://placekitten.com/g/1365/769)
@@ -2140,10 +2151,37 @@ $sheet-max-width: 860px
// }}}
// The jQuery-ui overlay is outside the .openerp div, please don't add indentation !!!
// The jQuery-ui overlay and Autocomplete are outside the .openerp div, please don't add indentation !!!
div.ui-widget-overlay
background: black
@include opacity(0.3)
.ui-widget
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif
color: #4c4c4c
font-size: 13px
.ui-menu
padding: 2px 0
@include box-shadow(0 1px 4px rgba(0,0,0,0.3))
margin-top: 4px
border: 1px solid $tag-border
.ui-menu-item
width: 100%
padding: 0
a
padding: 1px 16px
a.ui-corner-all
@include radius(0)
a.ui-state-active
background: #f0f0fa
.ui-menu-item a.ui-state-hover, .ui-menu-item a.ui-state-active
background: $tag-bg-dark
//color: #4c4c4c
//@include vertical-gradient(#f0f0fa, #eeeef6)
.ui-corner-all
@include radius(3px)
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
+64 -82
View File
@@ -13,7 +13,7 @@ instance.web.Notification = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.notify({
this.$el.notify({
speed: 500,
expires: 2500
});
@@ -24,7 +24,7 @@ instance.web.Notification = instance.web.Widget.extend({
if (sticky) {
opts.expires = false;
}
this.$element.notify('create', {
this.$el.notify('create', {
title: title,
text: text
}, opts);
@@ -35,7 +35,7 @@ instance.web.Notification = instance.web.Widget.extend({
if (sticky) {
opts.expires = false;
}
this.$element.notify('create', 'oe_notification_alert', {
this.$el.notify('create', 'oe_notification_alert', {
title: title,
text: text
}, opts);
@@ -123,22 +123,22 @@ instance.web.Dialog = instance.web.Widget.extend({
if (! this.dialog_inited)
this.init_dialog();
var o = this.get_options(options);
instance.web.dialog(this.$element, o).dialog('open');
instance.web.dialog(this.$el, o).dialog('open');
if (o.height === 'auto' && o.max_height) {
this.$element.css({ 'max-height': o.max_height, 'overflow-y': 'auto' });
this.$el.css({ 'max-height': o.max_height, 'overflow-y': 'auto' });
}
return this;
},
init_dialog: function(options) {
this.renderElement();
var o = this.get_options(options);
instance.web.dialog(this.$element, o);
instance.web.dialog(this.$el, o);
var res = this.start();
this.dialog_inited = true;
return res;
},
close: function() {
this.$element.dialog('close');
this.$el.dialog('close');
},
on_close: function() {
if (this.__tmp_dialog_destroying)
@@ -161,7 +161,7 @@ instance.web.Dialog = instance.web.Widget.extend({
this.__tmp_dialog_destroying = undefined;
}
if (! this.isDestroyed()) {
this.$element.dialog('destroy');
this.$el.dialog('destroy');
}
this._super();
}
@@ -193,29 +193,9 @@ instance.web.CrashManager = instance.web.CallbackEnabled.extend({
on_traceback: function(error) {
var self = this;
var buttons = {};
if (instance.session.openerp_entreprise) {
buttons[_t("Send OpenERP Enterprise Report")] = function() {
var $this = $(this);
var issuename = $('#issuename').val();
var explanation = $('#explanation').val();
var remark = $('#remark').val();
// Call the send method from server to send mail with details
new instance.web.DataSet(self, 'publisher_warranty.contract').call_and_eval('send', [error.data,explanation,remark,issuename]).then(function(result){
if (result === false) {
alert('There was a communication error.');
} else {
$this.dialog('close');
}
});
};
buttons[_t("Dont send")] = function() {
$(this).dialog("close");
};
} else {
buttons[_t("Ok")] = function() {
$(this).dialog("close");
};
}
buttons[_t("Ok")] = function() {
$(this).dialog("close");
};
var dialog = new instance.web.Dialog(this, {
title: "OpenERP " + _.str.capitalize(error.type),
width: '80%',
@@ -224,7 +204,7 @@ instance.web.CrashManager = instance.web.CallbackEnabled.extend({
min_height: '600px',
buttons: buttons
}).open();
dialog.$element.html(QWeb.render('CrashManager.error', {session: instance.session, error: error}));
dialog.$el.html(QWeb.render('CrashManager.error', {session: instance.session, error: error}));
},
on_javascript_exception: function(exception) {
this.on_traceback({
@@ -270,12 +250,12 @@ instance.web.Loading = instance.web.Widget.extend({
this.count += increment;
if (this.count > 0) {
if (instance.session.debug) {
this.$element.text(_.str.sprintf( _t("Loading (%d)"), this.count));
this.$el.text(_.str.sprintf( _t("Loading (%d)"), this.count));
} else {
this.$element.text(_t("Loading"));
this.$el.text(_t("Loading"));
}
this.$element.show();
this.getParent().$element.addClass('oe_wait');
this.$el.show();
this.getParent().$el.addClass('oe_wait');
} else {
this.count = 0;
clearTimeout(this.long_running_timer);
@@ -284,8 +264,8 @@ instance.web.Loading = instance.web.Widget.extend({
this.blocked_ui = false;
instance.web.unblockUI();
}
this.$element.fadeOut();
this.getParent().$element.removeClass('oe_wait');
this.$el.fadeOut();
this.getParent().$el.removeClass('oe_wait');
}
}
});
@@ -317,7 +297,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
do_render: function() {
var self = this;
instance.webclient.toggle_bars(true);
self.$element.html(QWeb.render("DatabaseManager", { widget : self }));
self.$el.html(QWeb.render("DatabaseManager", { widget : self }));
$('.oe_user_menu_placeholder').append(QWeb.render("DatabaseManager.user_menu",{ widget : self }));
$('.oe_secondary_menus_container').append(QWeb.render("DatabaseManager.menu",{ widget : self }));
$('ul.oe_secondary_submenu > li:first').addClass('oe_active')
@@ -329,14 +309,14 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
event.preventDefault();
});
$('#back-to-login').click(self.do_exit);
self.$element.find("td").addClass("oe_form_group_cell");
self.$element.find("tr td:first-child").addClass("oe_form_group_cell_label");
self.$element.find("label").addClass("oe_form_label");
self.$element.find("form[name=create_db_form]").validate({ submitHandler: self.do_create });
self.$element.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop });
self.$element.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup });
self.$element.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore });
self.$element.find("form[name=change_pwd_form]").validate({
self.$el.find("td").addClass("oe_form_group_cell");
self.$el.find("tr td:first-child").addClass("oe_form_group_cell_label");
self.$el.find("label").addClass("oe_form_label");
self.$el.find("form[name=create_db_form]").validate({ submitHandler: self.do_create });
self.$el.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop });
self.$el.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup });
self.$el.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore });
self.$el.find("form[name=change_pwd_form]").validate({
messages: {
old_pwd: "Please enter your previous password",
new_pwd: "Please enter your new password",
@@ -349,7 +329,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
});
},
destroy: function () {
this.$element.find('#db-create, #db-drop, #db-backup, #db-restore, #db-change-password, #back-to-login').unbind('click').end().empty();
this.$el.find('#db-create, #db-drop, #db-backup, #db-restore, #db-change-password, #back-to-login').unbind('click').end().empty();
this._super();
},
/**
@@ -411,7 +391,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
'login': 'admin',
'password': form_obj['create_admin_pwd'],
'login_successful': function() {
instance.webclient.show_application();
self.do_action("reload");
},
},
};
@@ -500,7 +480,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
});
},
do_exit: function () {
this.$element.remove();
this.$el.remove();
instance.webclient.toggle_bars(false);
this.do_action('login');
}
@@ -533,8 +513,8 @@ instance.web.Login = instance.web.Widget.extend({
},
start: function() {
var self = this;
self.$element.find("form").submit(self.on_submit);
self.$element.find('.oe_login_manage_db').click(function() {
self.$el.find("form").submit(self.on_submit);
self.$el.find('.oe_login_manage_db').click(function() {
self.do_action("database_manager");
});
var d;
@@ -584,7 +564,7 @@ instance.web.Login = instance.web.Widget.extend({
*/
do_login: function (db, login, password) {
var self = this;
this.$element.removeClass('oe_login_invalid');
this.$el.removeClass('oe_login_invalid');
self.$(".oe_login_pane").fadeOut("slow");
return this.session.session_authenticate(db, login, password).pipe(function() {
if (self.has_local_storage) {
@@ -603,7 +583,7 @@ instance.web.Login = instance.web.Widget.extend({
self.trigger('login_successful');
},function () {
self.$(".oe_login_pane").fadeIn("fast", function() {
self.$element.addClass("oe_login_invalid");
self.$el.addClass("oe_login_invalid");
});
});
},
@@ -663,7 +643,7 @@ instance.web.ChangePassword = instance.web.Widget.extend({
template: "ChangePassword",
start: function() {
var self = this;
self.$element.validate({
self.$el.validate({
submitHandler: function (form) {
self.rpc("/web/session/change_password",{
'fields': $(form).serializeArray()
@@ -700,7 +680,7 @@ instance.web.Menu = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$secondary_menus = this.getParent().$element.find('.oe_secondary_menus_container');
this.$secondary_menus = this.getParent().$el.find('.oe_secondary_menus_container');
this.$secondary_menus.on('click', 'a[data-menu]', this.on_menu_click);
return this.do_reload();
},
@@ -712,8 +692,13 @@ instance.web.Menu = instance.web.Widget.extend({
this.data = data;
this.renderElement();
this.limit_entries();
// Hide toplevel item if there is only one
var $toplevel = this.$("li")
if($toplevel.length == 1) {
$toplevel.hide();
}
this.$secondary_menus.html(QWeb.render("Menu.secondary", { widget : this }));
this.$element.on('click', 'a[data-menu]', this.on_menu_click);
this.$el.on('click', 'a[data-menu]', this.on_menu_click);
// Hide second level submenus
this.$secondary_menus.find('.oe_menu_toggler').siblings('.oe_secondary_submenu').hide();
if (self.current_menu) {
@@ -728,8 +713,9 @@ instance.web.Menu = instance.web.Widget.extend({
}
if (maximum_visible_links < this.data.data.children.length) {
var $more = $(QWeb.render('Menu.more')),
$index = this.$element.find('li').eq(maximum_visible_links - 1);
$index = this.$el.find('li').eq(maximum_visible_links - 1);
$index.after($more);
//$('.oe_topbar').append($more);
$more.find('.oe_menu_more').append($index.next().nextAll());
}
},
@@ -746,19 +732,19 @@ instance.web.Menu = instance.web.Widget.extend({
*/
open_menu: function (id) {
var $clicked_menu, $sub_menu, $main_menu;
$clicked_menu = this.$element.add(this.$secondary_menus).find('a[data-menu=' + id + ']');
$clicked_menu = this.$el.add(this.$secondary_menus).find('a[data-menu=' + id + ']');
this.trigger('open_menu', id, $clicked_menu);
if (this.$secondary_menus.has($clicked_menu).length) {
$sub_menu = $clicked_menu.parents('.oe_secondary_menu');
$main_menu = this.$element.find('a[data-menu=' + $sub_menu.data('menu-parent') + ']');
$main_menu = this.$el.find('a[data-menu=' + $sub_menu.data('menu-parent') + ']');
} else {
$sub_menu = this.$secondary_menus.find('.oe_secondary_menu[data-menu-parent=' + $clicked_menu.attr('data-menu') + ']');
$main_menu = $clicked_menu;
}
// Activate current main menu
this.$element.find('.oe_active').removeClass('oe_active');
this.$el.find('.oe_active').removeClass('oe_active');
$main_menu.addClass('oe_active');
// Show current sub menu
@@ -785,7 +771,7 @@ instance.web.Menu = instance.web.Widget.extend({
* @param {Number} id the action_id to match
*/
open_action: function (id) {
var $menu = this.$element.add(this.$secondary_menus).find('a[data-action-id="' + id + '"]');
var $menu = this.$el.add(this.$secondary_menus).find('a[data-action-id="' + id + '"]');
var menu_id = $menu.data('menu');
if (menu_id) {
this.open_menu(menu_id);
@@ -801,14 +787,14 @@ instance.web.Menu = instance.web.Widget.extend({
if (!id) { return; }
// find back the menuitem in dom to get the action
var $item = this.$element.find('a[data-menu=' + id + ']');
var $item = this.$el.find('a[data-menu=' + id + ']');
if (!$item.length) {
$item = this.$secondary_menus.find('a[data-menu=' + id + ']');
}
var action_id = $item.data('action-id');
// If first level menu doesnt have action trigger first leaf
if (!action_id) {
if(this.$element.has($item).length) {
if(this.$el.has($item).length) {
var $sub_menu = this.$secondary_menus.find('.oe_secondary_menu[data-menu-parent=' + id + ']');
var $items = $sub_menu.find('a[data-action-id]').filter('[data-action-id!=""]');
if($items.length) {
@@ -849,7 +835,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
start: function() {
var self = this;
this._super.apply(this, arguments);
this.$element.on('click', '.oe_dropdown_menu li a[data-menu]', function(ev) {
this.$el.on('click', '.oe_dropdown_menu li a[data-menu]', function(ev) {
ev.preventDefault();
var f = self['on_menu_' + $(this).data('menu')];
if (f) {
@@ -860,7 +846,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
do_update: function () {
var self = this;
var fct = function() {
var $avatar = self.$element.find('.oe_topbar_avatar');
var $avatar = self.$el.find('.oe_topbar_avatar');
$avatar.attr('src', $avatar.data('default-src'));
if (!self.session.uid)
return;
@@ -871,7 +857,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db);
if(res.company_id[0] > 1)
topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]);
self.$element.find('.oe_topbar_name').text(topbar_name);
self.$el.find('.oe_topbar_name').text(topbar_name);
var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=image_small&id=%s', self.session.prefix, self.session.session_id, self.session.uid);
$avatar.attr('src', avatar_src);
});
@@ -921,10 +907,10 @@ instance.web.Client = instance.web.Widget.extend({
},
bind_events: function() {
var self = this;
this.$element.on('mouseenter', '.oe_systray > div:not([data-tipsy=true])', function() {
this.$el.on('mouseenter', '.oe_systray > div:not([data-tipsy=true])', function() {
$(this).attr('data-tipsy', 'true').tipsy().trigger('mouseenter');
});
this.$element.on('click', '.oe_dropdown_toggle', function(ev) {
this.$el.on('click', '.oe_dropdown_toggle', function(ev) {
ev.preventDefault();
var $toggle = $(this);
var $menu = $toggle.siblings('.oe_dropdown_menu');
@@ -948,7 +934,7 @@ instance.web.Client = instance.web.Widget.extend({
instance.web.bus.on('click', this, function(ev) {
$.fn.tipsy.clear();
if (!$(ev.target).is('input[type=file]')) {
self.$element.find('.oe_dropdown_menu.oe_opened, .oe_dropdown_toggle.oe_opened').removeClass('oe_opened');
self.$el.find('.oe_dropdown_menu.oe_opened, .oe_dropdown_toggle.oe_opened').removeClass('oe_opened');
}
});
},
@@ -957,9 +943,9 @@ instance.web.Client = instance.web.Widget.extend({
this.crashmanager = new instance.web.CrashManager();
instance.session.on_rpc_error.add(this.crashmanager.on_rpc_error);
self.notification = new instance.web.Notification(this);
self.notification.appendTo(self.$element);
self.notification.appendTo(self.$el);
self.loading = new instance.web.Loading(self);
self.loading.appendTo(self.$element);
self.loading.appendTo(self.$el);
self.action_manager = new instance.web.ActionManager(self);
self.action_manager.appendTo(self.$('.oe_application'));
},
@@ -1029,25 +1015,21 @@ instance.web.WebClient = instance.web.Client.extend({
var self = this;
self.toggle_bars(true);
self.menu = new instance.web.Menu(self);
self.menu.replace(this.$element.find('.oe_menu_placeholder'));
self.menu.replace(this.$el.find('.oe_menu_placeholder'));
self.menu.on('menu_click', this, this.on_menu_action);
self.user_menu = new instance.web.UserMenu(self);
self.user_menu.replace(this.$element.find('.oe_user_menu_placeholder'));
self.user_menu.replace(this.$el.find('.oe_user_menu_placeholder'));
self.user_menu.on_menu_logout.add(this.proxy('on_logout'));
self.user_menu.on_action.add(this.proxy('on_menu_action'));
self.user_menu.do_update();
self.bind_hashchange();
if (!self.session.openerp_entreprise) {
var version_label = _t("OpenERP - Unsupported/Community Version");
self.$element.find('.oe_footer_powered').append(_.str.sprintf('<span> - <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">%s</a></span>', version_label));
}
self.set_title();
},
destroy_content: function() {
_.each(_.clone(this.getChildren()), function(el) {
el.destroy();
});
this.$element.children().remove();
this.$el.children().remove();
},
do_reload: function() {
var self = this;
@@ -1079,7 +1061,7 @@ instance.web.WebClient = instance.web.Client.extend({
var state = $.bbq.getState(true);
if (_.isEmpty(state) || state.action == "login") {
self.menu.has_been_loaded.then(function() {
var first_menu_id = self.menu.$element.find("a:first").data("menu");
var first_menu_id = self.menu.$el.find("a:first").data("menu");
if(first_menu_id) {
self.menu.menu_click(first_menu_id);
}
@@ -1134,10 +1116,10 @@ instance.web.WebClient = instance.web.Client.extend({
},
set_content_full_screen: function(fullscreen) {
if (fullscreen) {
$(".oe_webclient", this.$element).addClass("oe_content_full_screen");
$(".oe_webclient", this.$el).addClass("oe_content_full_screen");
$("body").css({'overflow-y':'hidden'});
} else {
$(".oe_webclient", this.$element).removeClass("oe_content_full_screen");
$(".oe_webclient", this.$el).removeClass("oe_content_full_screen");
$("body").css({'overflow-y':'scroll'});
}
}
+22 -22
View File
@@ -525,8 +525,8 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
_.each(this.getChildren(), function(el) {
el.destroy();
});
if(this.$element) {
this.$element.remove();
if(this.$el) {
this.$el.remove();
}
instance.web.PropertiesMixin.destroy.call(this);
},
@@ -538,7 +538,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
appendTo: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.appendTo(t);
self.$el.appendTo(t);
}, target);
},
/**
@@ -549,7 +549,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
prependTo: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.prependTo(t);
self.$el.prependTo(t);
}, target);
},
/**
@@ -560,7 +560,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
insertAfter: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.insertAfter(t);
self.$el.insertAfter(t);
}, target);
},
/**
@@ -571,7 +571,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
insertBefore: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.insertBefore(t);
self.$el.insertBefore(t);
}, target);
},
/**
@@ -581,7 +581,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
*/
replace: function(target) {
return this.__widgetRenderAndInsert(_.bind(function(t) {
this.$element.replaceAll(t);
this.$el.replaceAll(t);
}, this), target);
},
__widgetRenderAndInsert: function(insertion, target) {
@@ -640,8 +640,8 @@ instance.web.CallbackEnabled = instance.web.Class.extend(instance.web.CallbackEn
* // stuff that you want to init before the rendering
* },
* start: function() {
* // stuff you want to make after the rendering, `this.$element` holds a correct value
* this.$element.find(".my_button").click(/* an example of event binding * /);
* // stuff you want to make after the rendering, `this.$el` holds a correct value
* this.$el.find(".my_button").click(/* an example of event binding * /);
*
* // if you have some asynchronous operations, it's a good idea to return
* // a promise in start()
@@ -718,15 +718,15 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
* @returns {*} this
*/
replaceElement: function ($el) {
var $oldel = this.$element;
var $oldel = this.$el;
this.setElement($el);
if ($oldel && !$oldel.is(this.$element)) {
$oldel.replaceWith(this.$element);
if ($oldel && !$oldel.is(this.$el)) {
$oldel.replaceWith(this.$el);
}
return this;
},
/**
* Re-sets the widget's root element (el/$el/$element).
* Re-sets the widget's root element (el/$el/$el).
*
* Includes:
* * re-delegating events
@@ -738,14 +738,14 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
* @return {*} this
*/
setElement: function (element) {
// NB: completely useless, as WidgetMixin#init creates a $element
// NB: completely useless, as WidgetMixin#init creates a $el
// always
if (this.$element) {
if (this.$el) {
this.undelegateEvents();
}
this.$element = (element instanceof $) ? element : $(element);
this.el = this.$element[0];
this.$el = (element instanceof $) ? element : $(element);
this.el = this.$el[0];
this.delegateEvents();
@@ -797,23 +797,23 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
event += '.widget_events';
if (!selector) {
this.$element.on(event, method);
this.$el.on(event, method);
} else {
this.$element.on(event, selector, method);
this.$el.on(event, selector, method);
}
}
},
undelegateEvents: function () {
this.$element.off('.widget_events');
this.$el.off('.widget_events');
},
/**
* Shortcut for ``this.$element.find(selector)``
* Shortcut for ``this.$el.find(selector)``
*
* @param {String} selector CSS selector, rooted in $el
* @returns {jQuery} selector match
*/
$: function(selector) {
return this.$element.find(selector);
return this.$el.find(selector);
},
/**
* Informs the action manager to do an action. This supposes that
+82 -56
View File
@@ -35,7 +35,6 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
this.username = false;
this.user_context= {};
this.db = false;
this.openerp_entreprise = false;
this.module_list = instance._modules.slice();
this.module_loaded = {};
_(this.module_list).each(function (mod) {
@@ -78,8 +77,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
db: result.db,
username: result.login,
uid: result.uid,
user_context: result.context,
openerp_entreprise: result.openerp_entreprise
user_context: result.context
});
});
},
@@ -103,8 +101,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
db: result.db,
username: result.login,
uid: result.uid,
user_context: result.context,
openerp_entreprise: result.openerp_entreprise
user_context: result.context
});
if (!_volatile) {
self.set_cookie('session_id', self.session_id);
@@ -520,57 +517,6 @@ $.async_when = function() {
return old_async_when.apply(this, arguments);
};
/** Setup blockui */
if ($.blockUI) {
$.blockUI.defaults.baseZ = 1100;
$.blockUI.defaults.message = '<div class="oe_blockui_spin_container">';
$.blockUI.defaults.css.border = '0';
$.blockUI.defaults.css["background-color"] = '';
}
instance.web.Throbber = instance.web.Widget.extend({
template: "Throbber",
start: function() {
var opts = {
lines: 13, // The number of lines to draw
length: 7, // The length of each line
width: 4, // The line thickness
radius: 10, // The radius of the inner circle
rotate: 0, // The rotation offset
color: '#FFF', // #rgb or #rrggbb
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'spinner', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: 'auto', // Top position relative to parent in px
left: 'auto' // Left position relative to parent in px
};
this.spin = new Spinner(opts).spin(this.$element[0]);
},
destroy: function() {
if (this.spin)
this.spin.stop();
this._super();
},
});
instance.web.Throbber.throbbers = [];
instance.web.blockUI = function() {
var tmp = $.blockUI.apply($, arguments);
var throbber = new instance.web.Throbber();
instance.web.Throbber.throbbers.push(throbber);
throbber.appendTo($(".oe_blockui_spin_container"));
return tmp;
}
instance.web.unblockUI = function() {
_.each(instance.web.Throbber.throbbers, function(el) {
el.destroy();
});
return $.unblockUI.apply($, arguments);
}
/** Setup default session */
instance.session = new instance.web.Session();
@@ -654,6 +600,86 @@ instance.session.on('module_loaded', this, function () {
$.timeago.settings.translator = instance.web._t;
});
/** Setup blockui */
if ($.blockUI) {
$.blockUI.defaults.baseZ = 1100;
$.blockUI.defaults.message = '<div class="oe_blockui_spin_container">';
$.blockUI.defaults.css.border = '0';
$.blockUI.defaults.css["background-color"] = '';
}
var messages_by_seconds = function() {
return [
[0, _t("Loading...")],
[30, _t("Still loading...")],
[60, _t("Still loading...<br />Please be patient.")],
[120, _t("Don't leave yet,<br />it's still loading...")],
[300, _t("You may not believe it,<br />but the application is actually loading...")],
[600, _t("You know, sometimes,<br />OpenERP can be a little bit slow,<br />because it's loading...")],
[3600, _t("Maybe you should consider pressing F5...")],
];
};
instance.web.Throbber = instance.web.Widget.extend({
template: "Throbber",
start: function() {
var opts = {
lines: 13, // The number of lines to draw
length: 7, // The length of each line
width: 4, // The line thickness
radius: 10, // The radius of the inner circle
rotate: 0, // The rotation offset
color: '#FFF', // #rgb or #rrggbb
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'spinner', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: 'auto', // Top position relative to parent in px
left: 'auto' // Left position relative to parent in px
};
this.spin = new Spinner(opts).spin(this.$el[0]);
this.start_time = new Date().getTime();
this.act_message();
},
act_message: function() {
var self = this;
setTimeout(function() {
if (self.isDestroyed())
return;
var seconds = (new Date().getTime() - self.start_time) / 1000;
var mes;
_.each(messages_by_seconds(), function(el) {
if (seconds >= el[0])
mes = el[1];
});
self.$(".oe_throbber_message").html(mes);
self.act_message();
}, 1000);
},
destroy: function() {
if (this.spin)
this.spin.stop();
this._super();
},
});
instance.web.Throbber.throbbers = [];
instance.web.blockUI = function() {
var tmp = $.blockUI.apply($, arguments);
var throbber = new instance.web.Throbber();
instance.web.Throbber.throbbers.push(throbber);
throbber.appendTo($(".oe_blockui_spin_container"));
return tmp;
}
instance.web.unblockUI = function() {
_.each(instance.web.Throbber.throbbers, function(el) {
el.destroy();
});
return $.unblockUI.apply($, arguments);
}
/**
* Registry for all the client actions key: tag value: widget
*/
+57 -57
View File
@@ -21,31 +21,31 @@ instance.web.DataExport = instance.web.Dialog.extend({
],
close: function(event, ui){ self.close();}
});
self.$element.removeClass('ui-dialog-content ui-widget-content');
self.$element.find('#add_field').click(function() {
self.$el.removeClass('ui-dialog-content ui-widget-content');
self.$el.find('#add_field').click(function() {
if ($('#field-tree-structure tr.ui-selected')) {
var fld = self.$element.find('#field-tree-structure tr.ui-selected').find('a');
var fld = self.$el.find('#field-tree-structure tr.ui-selected').find('a');
for (var i = 0; i < fld.length; i++) {
var id = $(fld[i]).attr('id').split('-')[1];
var string = $(fld[i]).attr('string');
self.add_field(id, string);
}
self.$element.find('#field-tree-structure tr').removeClass('ui-selected');
self.$el.find('#field-tree-structure tr').removeClass('ui-selected');
}
});
self.$element.find('#remove_field').click(function() {
self.$element.find('#fields_list option:selected').remove();
self.$el.find('#remove_field').click(function() {
self.$el.find('#fields_list option:selected').remove();
});
self.$element.find('#remove_all_field').click(function() {
self.$element.find('#fields_list').empty();
self.$el.find('#remove_all_field').click(function() {
self.$el.find('#fields_list').empty();
});
this.$element.find('#export_new_list').click(this.on_show_save_list);
this.$el.find('#export_new_list').click(this.on_show_save_list);
var got_fields = new $.Deferred();
this.$element.find('#import_compat').change(function() {
self.$element.find('#fields_list').empty();
self.$element.find('#field-tree-structure').remove();
var import_comp = self.$element.find("#import_compat").val();
this.$el.find('#import_compat').change(function() {
self.$el.find('#fields_list').empty();
self.$el.find('#field-tree-structure').remove();
var import_comp = self.$el.find("#import_compat").val();
self.rpc("/web/export/get_fields", {
model: self.dataset.model,
import_compat: Boolean(import_comp)
@@ -61,7 +61,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
this.show_exports_list());
},
do_setup_export_formats: function (formats) {
var $fmts = this.$element.find('#export_format');
var $fmts = this.$el.find('#export_format');
_(formats).each(function (format) {
var opt = new Option(format.label, format.tag);
if (format.error) {
@@ -76,8 +76,8 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
show_exports_list: function() {
var self = this;
if (self.$element.find('#saved_export_list').is(':hidden')) {
self.$element.find('#ExistsExportList').show();
if (self.$el.find('#saved_export_list').is(':hidden')) {
self.$el.find('#ExistsExportList').show();
return;
}
return this.exports.read_slice(['name'], {
@@ -86,35 +86,35 @@ instance.web.DataExport = instance.web.Dialog.extend({
if (!export_list.length) {
return;
}
self.$element.find('#ExistsExportList').append(QWeb.render('Exists.ExportList', {'existing_exports': export_list}));
self.$element.find('#saved_export_list').change(function() {
self.$element.find('#fields_list option').remove();
var export_id = self.$element.find('#saved_export_list option:selected').val();
self.$el.find('#ExistsExportList').append(QWeb.render('Exists.ExportList', {'existing_exports': export_list}));
self.$el.find('#saved_export_list').change(function() {
self.$el.find('#fields_list option').remove();
var export_id = self.$el.find('#saved_export_list option:selected').val();
if (export_id) {
self.rpc('/web/export/namelist', {'model': self.dataset.model, export_id: parseInt(export_id)}, self.do_load_export_field);
}
});
self.$element.find('#delete_export_list').click(function() {
var select_exp = self.$element.find('#saved_export_list option:selected');
self.$el.find('#delete_export_list').click(function() {
var select_exp = self.$el.find('#saved_export_list option:selected');
if (select_exp.val()) {
self.exports.unlink([parseInt(select_exp.val(), 10)]);
select_exp.remove();
if (self.$element.find('#saved_export_list option').length <= 1) {
self.$element.find('#ExistsExportList').hide();
if (self.$el.find('#saved_export_list option').length <= 1) {
self.$el.find('#ExistsExportList').hide();
}
}
});
});
},
do_load_export_field: function(field_list) {
var export_node = this.$element.find("#fields_list");
var export_node = this.$el.find("#fields_list");
_(field_list).each(function (field) {
export_node.append(new Option(field.label, field.name));
});
},
on_show_save_list: function() {
var self = this;
var current_node = self.$element.find("#savenewlist");
var current_node = self.$el.find("#savenewlist");
if (!(current_node.find("label")).length) {
current_node.append(QWeb.render('ExportNewList'));
current_node.find("#add_export_list").click(function() {
@@ -150,14 +150,14 @@ instance.web.DataExport = instance.web.Dialog.extend({
if (!export_list_id.result) {
return;
}
self.$element.find("#saved_export_list").append(
self.$el.find("#saved_export_list").append(
new Option(value, export_list_id.result));
if (self.$element.find("#saved_export_list").is(":hidden")) {
if (self.$el.find("#saved_export_list").is(":hidden")) {
self.show_exports_list();
}
});
this.on_show_save_list();
this.$element.find("#fields_list option").remove();
this.$el.find("#fields_list option").remove();
},
on_click: function(id, record) {
var self = this;
@@ -173,7 +173,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
if (!record.loaded) {
var import_comp = self.$element.find("#import_compat").val();
var import_comp = self.$el.find("#import_compat").val();
self.rpc("/web/export/get_fields", {
model: model,
prefix: prefix,
@@ -191,44 +191,44 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
on_show_data: function(result, after) {
var self = this;
var imp_cmpt = Boolean(self.$element.find("#import_compat").val());
var imp_cmpt = Boolean(self.$el.find("#import_compat").val());
if (after) {
var current_tr = self.$element.find("tr[id='treerow-" + after + "']");
var current_tr = self.$el.find("tr[id='treerow-" + after + "']");
current_tr.addClass('open');
current_tr.find('img').attr('src','/web/static/src/img/collapse.gif');
current_tr.after(QWeb.render('ExportTreeView-Secondary.children', {'fields': result}));
} else {
self.$element.find('#left_field_panel').append(QWeb.render('ExportTreeView-Secondary', {'fields': result}));
self.$el.find('#left_field_panel').append(QWeb.render('ExportTreeView-Secondary', {'fields': result}));
}
_.each(result, function(record) {
self.records[record.id] = record.value;
if (record.required) {
var required_fld = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
var required_fld = self.$el.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
required_fld.addClass("oe_export_requiredfield");
}
self.$element.find("img[id='parentimg-" + record.id +"']").click(function() {
self.$el.find("img[id='parentimg-" + record.id +"']").click(function() {
self.on_click(this.id, record);
});
self.$element.find("tr[id='treerow-" + record.id + "']").click(function(e) {
self.$el.find("tr[id='treerow-" + record.id + "']").click(function(e) {
if (e.shiftKey) {
var frst_click, scnd_click = '';
if (self.row_index == 0) {
self.row_index = this.rowIndex;
frst_click = self.$element.find("tr[id^='treerow-']")[self.row_index-1];
frst_click = self.$el.find("tr[id^='treerow-']")[self.row_index-1];
$(frst_click).addClass("ui-selected");
} else {
if (this.rowIndex >=self.row_index) {
for (var i = (self.row_index-1); i < this.rowIndex; i++) {
scnd_click = self.$element.find("tr[id^='treerow-']")[i];
scnd_click = self.$el.find("tr[id^='treerow-']")[i];
if (!$(scnd_click).find('#tree-column').hasClass("oe_export_readonlyfield")) {
$(scnd_click).addClass("ui-selected");
}
}
} else {
for (var i = (self.row_index-1); i >= (this.rowIndex-1); i--) {
scnd_click = self.$element.find("tr[id^='treerow-']")[i];
scnd_click = self.$el.find("tr[id^='treerow-']")[i];
if (!$(scnd_click).find('#tree-column').hasClass("oe_export_readonlyfield")) {
$(scnd_click).addClass("ui-selected");
}
@@ -238,10 +238,10 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
self.row_index = this.rowIndex;
self.$element.find("tr[id='treerow-" + record.id + "']").keyup(function() {
self.$el.find("tr[id='treerow-" + record.id + "']").keyup(function() {
self.row_index = 0;
});
var o2m_selection = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
var o2m_selection = self.$el.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
if ($(o2m_selection).hasClass("oe_export_readonlyfield")) {
return false;
}
@@ -252,14 +252,14 @@ instance.web.DataExport = instance.web.Dialog.extend({
$(this).addClass('ui-selected').find('a').focus();
}
} else if (!e.shiftKey) {
self.$element.find("tr.ui-selected")
self.$el.find("tr.ui-selected")
.removeClass("ui-selected").find('a').blur();
$(this).addClass("ui-selected").find('a').focus();
}
return false;
});
self.$element.find("tr[id='treerow-" + record.id + "']").keydown(function(e) {
self.$el.find("tr[id='treerow-" + record.id + "']").keydown(function(e) {
var keyCode = e.keyCode || e.which;
var arrow = {left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
@@ -297,19 +297,19 @@ instance.web.DataExport = instance.web.Dialog.extend({
break;
}
});
self.$element.find("tr[id='treerow-" + record.id + "']").dblclick(function() {
var $o2m_selection = self.$element.find("tr[id^='treerow-" + record.id + "']").find('#tree-column');
self.$el.find("tr[id='treerow-" + record.id + "']").dblclick(function() {
var $o2m_selection = self.$el.find("tr[id^='treerow-" + record.id + "']").find('#tree-column');
if (!$o2m_selection.hasClass("oe_export_readonlyfield")) {
self.add_field(record.id, $(this).find("a").attr("string"));
}
});
});
self.$element.find('#fields_list').mouseover(function(event) {
self.$el.find('#fields_list').mouseover(function(event) {
if (event.relatedTarget) {
if (event.relatedTarget.attributes['id'] && event.relatedTarget.attributes['string']) {
var field_id = event.relatedTarget.attributes["id"]["value"];
if (field_id && field_id.split("-")[0] === 'export') {
if (!self.$element.find("tr[id='treerow-" + field_id.split("-")[1] + "']").find('#tree-column').hasClass("oe_export_readonlyfield")) {
if (!self.$el.find("tr[id='treerow-" + field_id.split("-")[1] + "']").find('#tree-column').hasClass("oe_export_readonlyfield")) {
self.add_field(field_id.split("-")[1], event.relatedTarget.attributes["string"]["value"]);
}
}
@@ -319,7 +319,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
showcontent: function(id) {
// show & hide the contents
var $this = this.$element.find("tr[id='treerow-" + id + "']");
var $this = this.$el.find("tr[id='treerow-" + id + "']");
var is_open = $this.hasClass('open');
$this.toggleClass('open');
@@ -329,7 +329,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
} else {
first_child.attr('src', '/web/static/src/img/collapse.gif');
}
var child_field = this.$element.find("tr[id^='treerow-" + id +"/']");
var child_field = this.$el.find("tr[id^='treerow-" + id +"/']");
var child_len = (id.split("/")).length + 1;
for (var i = 0; i < child_field.length; i++) {
var $child = $(child_field[i]);
@@ -345,15 +345,15 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
},
add_field: function(field_id, string) {
var field_list = this.$element.find('#fields_list');
if (this.$element.find("#fields_list option[value='" + field_id + "']")
&& !this.$element.find("#fields_list option[value='" + field_id + "']").length) {
var field_list = this.$el.find('#fields_list');
if (this.$el.find("#fields_list option[value='" + field_id + "']")
&& !this.$el.find("#fields_list option[value='" + field_id + "']").length) {
field_list.append(new Option(string, field_id));
}
},
get_fields: function() {
var export_field = [];
this.$element.find("#fields_list option").each(function() {
this.$el.find("#fields_list option").each(function() {
export_field.push($(this).val());
});
if (!export_field.length) {
@@ -363,7 +363,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
on_click_export_data: function() {
var self = this;
var exported_fields = this.$element.find('#fields_list option').map(function () {
var exported_fields = this.$el.find('#fields_list option').map(function () {
// DOM property is textContent, but IE8 only knows innerText
return {name: self.records[this.value] || this.value,
label: this.textContent || this.innerText};
@@ -375,7 +375,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
exported_fields.unshift({name: 'id', label: 'External ID'});
var export_format = this.$element.find("#export_format").val();
var export_format = this.$el.find("#export_format").val();
instance.web.blockUI();
this.session.get_file({
url: '/web/export/' + export_format,
@@ -385,13 +385,13 @@ instance.web.DataExport = instance.web.Dialog.extend({
ids: this.dataset.ids,
domain: this.dataset.domain,
import_compat: Boolean(
this.$element.find("#import_compat").val())
this.$el.find("#import_compat").val())
})},
complete: instance.web.unblockUI
});
},
close: function() {
this.$element.remove();
this.$el.remove();
this._super();
}
});
+28 -28
View File
@@ -75,9 +75,9 @@ instance.web.DataImport = instance.web.Dialog.extend({
}
});
this.toggle_import_button(false);
this.$element.find('#csvfile').change(this.on_autodetect_data);
this.$element.find('fieldset').change(this.on_autodetect_data);
this.$element.delegate('fieldset legend', 'click', function() {
this.$el.find('#csvfile').change(this.on_autodetect_data);
this.$el.find('fieldset').change(this.on_autodetect_data);
this.$el.delegate('fieldset legend', 'click', function() {
$(this).parent().toggleClass('oe_closed');
});
this.ready.push(new instance.web.DataSet(this, this.model).call(
@@ -156,19 +156,19 @@ instance.web.DataImport = instance.web.Dialog.extend({
});
},
toggle_import_button: function (newstate) {
instance.web.dialog(this.$element, 'widget')
instance.web.dialog(this.$el, 'widget')
.find('.oe_import_dialog_button')
.button('option', 'disabled', !newstate);
},
do_import: function() {
if(!this.$element.find('#csvfile').val()) { return; }
var lines_to_skip = parseInt(this.$element.find('#csv_skip').val(), 10);
var with_headers = this.$element.find('#file_has_headers').prop('checked');
if(!this.$el.find('#csvfile').val()) { return; }
var lines_to_skip = parseInt(this.$el.find('#csv_skip').val(), 10);
var with_headers = this.$el.find('#file_has_headers').prop('checked');
if (!lines_to_skip && with_headers) {
lines_to_skip = 1;
}
var indices = [], fields = [];
this.$element.find(".sel_fields").each(function(index, element) {
this.$el.find(".sel_fields").each(function(index, element) {
var val = element.value;
if (!val) {
return;
@@ -177,7 +177,7 @@ instance.web.DataImport = instance.web.Dialog.extend({
fields.push(val);
});
jsonp(this.$element.find('#import_data'), {
jsonp(this.$el.find('#import_data'), {
url: '/web/import/import_data',
data: {
model: this.model,
@@ -190,19 +190,19 @@ instance.web.DataImport = instance.web.Dialog.extend({
}, this.on_import_results);
},
on_autodetect_data: function() {
if(!this.$element.find('#csvfile').val()) { return; }
jsonp(this.$element.find('#import_data'), {
if(!this.$el.find('#csvfile').val()) { return; }
jsonp(this.$el.find('#import_data'), {
url: '/web/import/detect_data'
}, this.on_import_results);
},
on_import_results: function(results) {
this.$element.find('#result').empty();
var headers, result_node = this.$element.find("#result");
this.$el.find('#result').empty();
var headers, result_node = this.$el.find("#result");
if (results['error']) {
result_node.append(QWeb.render('ImportView.error', {
'error': results['error']}));
this.$element.find('fieldset').removeClass('oe_closed');
this.$el.find('fieldset').removeClass('oe_closed');
return;
}
if (results['success']) {
@@ -214,8 +214,8 @@ instance.web.DataImport = instance.web.Dialog.extend({
}
if (results['records']) {
var lines_to_skip = parseInt(this.$element.find('#csv_skip').val(), 10),
with_headers = this.$element.find('#file_has_headers').prop('checked');
var lines_to_skip = parseInt(this.$el.find('#csv_skip').val(), 10),
with_headers = this.$el.find('#file_has_headers').prop('checked');
headers = with_headers ? results.records[0] : null;
result_node.append(QWeb.render('ImportView.result', {
@@ -224,17 +224,17 @@ instance.web.DataImport = instance.web.Dialog.extend({
: with_headers ? results.records.slice(1)
: results.records
}));
this.$element.find('fieldset').addClass('oe_closed');
this.$el.find('fieldset').addClass('oe_closed');
}
this.$element.find('form').removeClass('oe_import_no_result');
this.$el.find('form').removeClass('oe_import_no_result');
this.$element.delegate('.oe_m2o_drop_down_button', 'click', function () {
this.$el.delegate('.oe_m2o_drop_down_button', 'click', function () {
$(this).prev('input').focus();
});
var self = this;
this.ready.then(function () {
var $fields = self.$element.find('.sel_fields').bind('blur', function () {
var $fields = self.$el.find('.sel_fields').bind('blur', function () {
if (this.value && !_(self.all_fields).contains(this.value)) {
this.value = '';
}
@@ -315,9 +315,9 @@ instance.web.DataImport = instance.web.Dialog.extend({
find_duplicate_fields: function() {
// Maps values to DOM nodes, in order to discover duplicates
var values = {}, duplicates = {};
this.$element.find(".sel_fields").each(function(index, element) {
this.$el.find(".sel_fields").each(function(index, element) {
var value = element.value;
var $element = $(element).removeClass('duplicate_fld');
var $el = $(element).removeClass('duplicate_fld');
if (!value) { return; }
if (!(value in values)) {
@@ -329,13 +329,13 @@ instance.web.DataImport = instance.web.Dialog.extend({
} else {
duplicates[value] = [same_valued_field, element];
}
$element.add(same_valued_field).addClass('duplicate_fld');
$el.add(same_valued_field).addClass('duplicate_fld');
}
});
return duplicates;
},
on_check_field_values: function () {
this.$element.find("#message, #msg").remove();
this.$el.find("#message, #msg").remove();
var required_valid = this.check_required();
@@ -343,7 +343,7 @@ instance.web.DataImport = instance.web.Dialog.extend({
if (_.isEmpty(duplicates)) {
this.toggle_import_button(required_valid);
} else {
var $err = $('<div id="msg" style="color: red;">'+_t("Destination fields should only be selected once, some fields are selected more than once:")+'</div>').insertBefore(this.$element.find('#result'));
var $err = $('<div id="msg" style="color: red;">'+_t("Destination fields should only be selected once, some fields are selected more than once:")+'</div>').insertBefore(this.$el.find('#result'));
var $dupes = $('<dl>').appendTo($err);
_(duplicates).each(function(elements, value) {
$('<dt>').text(value).appendTo($dupes);
@@ -372,7 +372,7 @@ instance.web.DataImport = instance.web.Dialog.extend({
return f.id;
};
var selected_fields = _(this.$element.find('.sel_fields').get()).chain()
var selected_fields = _(this.$el.find('.sel_fields').get()).chain()
.pluck('value')
.compact()
.map(resolve_field_id)
@@ -380,13 +380,13 @@ instance.web.DataImport = instance.web.Dialog.extend({
var missing_fields = _.difference(this.required_fields, selected_fields);
if (missing_fields.length) {
this.$element.find("#result").before('<div id="message" style="color:red">' + _t("*Required Fields are not selected :") + missing_fields + '.</div>');
this.$el.find("#result").before('<div id="message" style="color:red">' + _t("*Required Fields are not selected :") + missing_fields + '.</div>');
return false;
}
return true;
},
destroy: function() {
this.$element.remove();
this.$el.remove();
this._super();
}
});
+83 -83
View File
@@ -126,21 +126,21 @@ my.InputView = instance.web.Widget.extend({
template: 'SearchView.InputView',
start: function () {
var p = this._super.apply(this, arguments);
this.$element.on('focus', this.proxy('onFocus'));
this.$element.on('blur', this.proxy('onBlur'));
this.$element.on('keydown', this.proxy('onKeydown'));
this.$el.on('focus', this.proxy('onFocus'));
this.$el.on('blur', this.proxy('onBlur'));
this.$el.on('keydown', this.proxy('onKeydown'));
return p;
},
onFocus: function () {
this.trigger('focused', this);
},
onBlur: function () {
this.$element.text('');
this.$el.text('');
this.trigger('blurred', this);
},
getSelection: function () {
// get Text node
var root = this.$element[0].childNodes[0];
var root = this.$el[0].childNodes[0];
if (!root || !root.textContent) {
// if input does not have a child node, or the child node is an
// empty string, then the selection can only be (0, 0)
@@ -202,7 +202,7 @@ my.InputView = instance.web.Widget.extend({
break;
case $.ui.keyCode.RIGHT:
sel = this.getSelection();
var len = this.$element.text().length;
var len = this.$el.text().length;
if (sel.start !== len || sel.start !== sel.end) {
e.stopPropagation();
}
@@ -223,17 +223,17 @@ my.FacetView = instance.web.Widget.extend({
},
start: function () {
var self = this;
this.$element.on('focus', function () { self.trigger('focused', self); });
this.$element.on('blur', function () { self.trigger('blurred', self); });
this.$element.on('click', function (e) {
this.$el.on('focus', function () { self.trigger('focused', self); });
this.$el.on('blur', function () { self.trigger('blurred', self); });
this.$el.on('click', function (e) {
if ($(e.target).is('.oe_facet_remove')) {
self.model.destroy();
return false;
}
self.$element.focus();
self.$el.focus();
e.stopPropagation();
});
this.$element.on('keydown', function (e) {
this.$el.on('keydown', function (e) {
var keys = $.ui.keyCode;
switch (e.which) {
case keys.BACKSPACE:
@@ -242,7 +242,7 @@ my.FacetView = instance.web.Widget.extend({
return false;
}
});
var $e = self.$element.find('> span:last-child');
var $e = self.$el.find('> span:last-child');
var q = $.when(this._super());
return q.pipe(function () {
var values = self.model.values.map(function (value) {
@@ -253,7 +253,7 @@ my.FacetView = instance.web.Widget.extend({
});
},
model_changed: function () {
this.$element.text(this.$element.text() + '*');
this.$el.text(this.$el.text() + '*');
}
});
my.FacetValueView = instance.web.Widget.extend({
@@ -268,7 +268,7 @@ my.FacetValueView = instance.web.Widget.extend({
this._super();
},
model_changed: function () {
this.$element.text(this.$element.text() + '*');
this.$el.text(this.$el.text() + '*');
}
});
@@ -313,7 +313,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
.on('add change reset remove', this.proxy('renderFacets'));
if (this.hidden) {
this.$element.hide();
this.$el.hide();
}
if (this.headless) {
this.ready.resolve();
@@ -331,12 +331,12 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
}
// Launch a search on clicking the oe_searchview_search button
this.$element.on('click', 'button.oe_searchview_search', function (e) {
this.$el.on('click', 'button.oe_searchview_search', function (e) {
e.stopImmediatePropagation();
self.do_search();
});
this.$element.on('keydown',
this.$el.on('keydown',
'.oe_searchview_input, .oe_searchview_facet', function (e) {
switch(e.which) {
case $.ui.keyCode.LEFT:
@@ -350,31 +350,31 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
}
});
this.$element.on('click', '.oe_searchview_clear', function (e) {
this.$el.on('click', '.oe_searchview_clear', function (e) {
e.stopImmediatePropagation();
self.query.reset();
});
this.$element.on('click', '.oe_searchview_unfold_drawer', function (e) {
this.$el.on('click', '.oe_searchview_unfold_drawer', function (e) {
e.stopImmediatePropagation();
self.$element.toggleClass('oe_searchview_open_drawer');
self.$el.toggleClass('oe_searchview_open_drawer');
});
instance.web.bus.on('click', this, function(ev) {
if ($(ev.target).parents('.oe_searchview').length === 0) {
self.$element.removeClass('oe_searchview_open_drawer');
self.$el.removeClass('oe_searchview_open_drawer');
}
});
// Focus last input if the view itself is clicked (empty section of
// facets element)
this.$element.on('click', function (e) {
if (e.target === self.$element.find('.oe_searchview_facets')[0]) {
self.$element.find('.oe_searchview_input:last').focus();
this.$el.on('click', function (e) {
if (e.target === self.$el.find('.oe_searchview_facets')[0]) {
self.$el.find('.oe_searchview_input:last').focus();
}
});
// when the completion list opens/refreshes, automatically select the
// first completion item so if the user just hits [RETURN] or [TAB] it
// automatically selects it
this.$element.on('autocompleteopen', function () {
var menu = self.$element.data('autocomplete').menu;
this.$el.on('autocompleteopen', function () {
var menu = self.$el.data('autocomplete').menu;
menu.activate(
$.Event({ type: "mouseenter" }),
menu.element.children().first());
@@ -383,15 +383,15 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
return $.when(p, this.ready);
},
show: function () {
this.$element.show();
this.$el.show();
},
hide: function () {
this.$element.hide();
this.$el.hide();
},
subviewForRoot: function (subview_root) {
return _(this.input_subviews).detect(function (subview) {
return subview.$element[0] === subview_root;
return subview.$el[0] === subview_root;
});
},
siblingSubview: function (subview, direction, wrap_around) {
@@ -406,12 +406,12 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
focusPreceding: function (subview_root) {
return this.siblingSubview(
this.subviewForRoot(subview_root), -1, true)
.$element.focus();
.$el.focus();
},
focusFollowing: function (subview_root) {
return this.siblingSubview(
this.subviewForRoot(subview_root), +1, true)
.$element.focus();
.$el.focus();
},
/**
@@ -430,19 +430,19 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
// autocomplete only correctly handles being initialized on the actual
// editable element (and only an element with a @value in 1.8 e.g.
// input or textarea), cheat by setting val() on $element
this.$element.on('keydown', function () {
// input or textarea), cheat by setting val() on $el
this.$el.on('keydown', function () {
// keydown is triggered *before* the element's value is set, so
// delay this. Pray that setTimeout are executed in FIFO (if they
// have the same delay) as autocomplete uses the exact same trick.
// FIXME: brittle as fuck
setTimeout(function () {
self.$element.val(self.currentInputValue());
self.$el.val(self.currentInputValue());
}, 0);
});
this.$element.autocomplete({
this.$el.autocomplete({
source: this.proxy('complete_global_search'),
select: this.proxy('select_completion'),
focus: function (e) { e.preventDefault(); },
@@ -479,7 +479,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
* div[contenteditable].oe_searchview_input)
*/
currentInputValue: function () {
return this.$element.find('div.oe_searchview_input:focus').text();
return this.$el.find('div.oe_searchview_input:focus').text();
},
/**
* Provide auto-completion result for req.term (an array to `resp`)
@@ -509,22 +509,22 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
var input_index = _(this.input_subviews).indexOf(
this.subviewForRoot(
this.$element.find('div.oe_searchview_input:focus')[0]));
this.$el.find('div.oe_searchview_input:focus')[0]));
this.query.add(ui.item.facet, {at: input_index / 2});
},
childFocused: function () {
this.$element.addClass('oe_focused');
this.$el.addClass('oe_focused');
},
childBlurred: function () {
var val = this.$element.val();
this.$element.val('');
var complete = this.$element.data('autocomplete');
var val = this.$el.val();
this.$el.val('');
var complete = this.$el.data('autocomplete');
if ((val && complete.term === undefined) || complete.previous !== undefined) {
throw new Error("new jquery.ui version altering implementation" +
" details relied on");
}
delete complete.term;
this.$element.removeClass('oe_focused')
this.$el.removeClass('oe_focused')
.trigger('blur');
},
/**
@@ -538,7 +538,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
// _2: undefined if event=change, otherwise model
var self = this;
var started = [];
var $e = this.$element.find('div.oe_searchview_facets');
var $e = this.$el.find('div.oe_searchview_facets');
_.invoke(this.input_subviews, 'destroy');
this.input_subviews = [];
@@ -569,7 +569,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
input_to_focus = self.input_subviews[(options.at + 1) * 2];
}
input_to_focus.$element.focus();
input_to_focus.$el.focus();
});
},
@@ -664,7 +664,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
// build drawer
var drawer_started = $.when.apply(
null, _(this.select_for_drawer()).invoke(
'appendTo', this.$element.find('.oe_searchview_drawer')));
'appendTo', this.$el.find('.oe_searchview_drawer')));
// load defaults
var defaults_fetched = $.when.apply(null, _(this.inputs).invoke(
@@ -680,7 +680,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
*/
on_filters_management: function(e) {
var self = this;
var select = this.$element.find(".oe_search-view-filters-management");
var select = this.$el.find(".oe_search-view-filters-management");
var val = select.val();
switch(val) {
case 'advanced_filter':
@@ -989,7 +989,7 @@ instance.web.search.FilterGroup = instance.web.search.Input.extend(/** @lends in
this.view.query.on('add remove change reset', this.proxy('search_change'));
},
start: function () {
this.$element.on('click', 'li', this.proxy('toggle_filter'));
this.$el.on('click', 'li', this.proxy('toggle_filter'));
return $.when(null);
},
/**
@@ -998,7 +998,7 @@ instance.web.search.FilterGroup = instance.web.search.Input.extend(/** @lends in
*/
search_change: function () {
var self = this;
var $filters = this.$element.find('> li').removeClass('oe_selected');
var $filters = this.$el.find('> li').removeClass('oe_selected');
var facet = this.view.query.find(_.bind(this.match_facet, this));
if (!facet) { return; }
facet.values.each(function (v) {
@@ -1299,17 +1299,17 @@ instance.web.search.CharField = instance.web.search.Field.extend( /** @lends ins
});
instance.web.search.NumberField = instance.web.search.Field.extend(/** @lends instance.web.search.NumberField# */{
value_from: function () {
if (!this.$element.val()) {
if (!this.$el.val()) {
return null;
}
var val = this.parse(this.$element.val()),
check = Number(this.$element.val());
var val = this.parse(this.$el.val()),
check = Number(this.$el.val());
if (isNaN(val) || val !== check) {
this.$element.addClass('error');
this.$el.addClass('error');
throw new instance.web.search.Invalid(
this.attrs.name, this.$element.val(), this.error_message);
this.attrs.name, this.$el.val(), this.error_message);
}
this.$element.removeClass('error');
this.$el.removeClass('error');
return val;
}
});
@@ -1542,9 +1542,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
self.clear_selection();
})
.on('reset', this.proxy('clear_selection'));
this.$element.on('submit', 'form', this.proxy('save_current'));
this.$element.on('click', 'h4', function () {
self.$element.toggleClass('oe_opened');
this.$el.on('submit', 'form', this.proxy('save_current'));
this.$el.on('click', 'h4', function () {
self.$el.toggleClass('oe_opened');
});
// FIXME: local eval of domain and context to get rid of special endpoint
return this.rpc('/web/searchview/get_filters', {
@@ -1552,7 +1552,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
}).pipe(this.proxy('set_filters'));
},
clear_selection: function () {
this.$element.find('li.oe_selected').removeClass('oe_selected');
this.$el.find('li.oe_selected').removeClass('oe_selected');
},
append_filter: function (filter) {
var self = this;
@@ -1564,7 +1564,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
} else {
var id = filter.id;
$filter = this.filters[key] = $('<li></li>')
.appendTo(this.$element.find('.oe_searchview_custom_list'))
.appendTo(this.$el.find('.oe_searchview_custom_list'))
.addClass(filter.user_id ? 'oe_searchview_custom_private'
: 'oe_searchview_custom_public')
.text(filter.name);
@@ -1599,8 +1599,8 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
},
save_current: function () {
var self = this;
var $name = this.$element.find('input:first');
var private_filter = !this.$element.find('input:last').prop('checked');
var $name = this.$el.find('input:first');
var private_filter = !this.$el.find('input:last').prop('checked');
var search = this.view.build_search_data();
this.rpc('/web/session/eval_domain_and_context', {
@@ -1622,7 +1622,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
return self.model.call('create_or_replace', [filter]).then(function (id) {
filter.id = id;
self.append_filter(filter);
self.$element
self.$el
.removeClass('oe_opened')
.find('form')[0].reset();
});
@@ -1667,8 +1667,8 @@ instance.web.search.Filters = instance.web.search.Input.extend({
}
return $.when(
this.render_column(col1, $('<div>').appendTo(this.$element)),
this.render_column(col2, $('<div>').appendTo(this.$element)));
this.render_column(col1, $('<div>').appendTo(this.$el)),
this.render_column(col2, $('<div>').appendTo(this.$el)));
},
render_column: function (column, $el) {
return $.when.apply(null, _(column).map(function (group) {
@@ -1684,10 +1684,10 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
_in_drawer: true,
start: function () {
var self = this;
this.$element
this.$el
.on('keypress keydown keyup', function (e) { e.stopPropagation(); })
.on('click', 'h4', function () {
self.$element.toggleClass('oe_opened');
self.$el.toggleClass('oe_opened');
}).on('click', 'button.oe_add_condition', function () {
self.append_proposition();
}).on('submit', 'form', function (e) {
@@ -1706,7 +1706,7 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
},
append_proposition: function () {
return (new instance.web.search.ExtendedSearchProposition(this, this.fields))
.appendTo(this.$element.find('ul'));
.appendTo(this.$el.find('ul'));
},
commit_search: function () {
var self = this;
@@ -1733,7 +1733,7 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
// add new empty proposition
this.append_proposition();
// TODO: API on searchview
this.view.$element.removeClass('oe_searchview_open_drawer');
this.view.$el.removeClass('oe_searchview_open_drawer');
}
});
@@ -1757,16 +1757,16 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
},
start: function () {
var _this = this;
this.$element.find(".searchview_extended_prop_field").change(function() {
this.$el.find(".searchview_extended_prop_field").change(function() {
_this.changed();
});
this.$element.find('.searchview_extended_delete_prop').click(function () {
this.$el.find('.searchview_extended_delete_prop').click(function () {
_this.destroy();
});
this.changed();
},
changed: function() {
var nval = this.$element.find(".searchview_extended_prop_field").val();
var nval = this.$el.find(".searchview_extended_prop_field").val();
if(this.attrs.selected == null || nval != this.attrs.selected.name) {
this.select_field(_.detect(this.fields, function(x) {return x.name == nval;}));
}
@@ -1781,7 +1781,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
if(this.attrs.selected != null) {
this.value.destroy();
this.value = null;
this.$element.find('.searchview_extended_prop_op').html('');
this.$el.find('.searchview_extended_prop_op').html('');
}
this.attrs.selected = field;
if(field == null) {
@@ -1797,9 +1797,9 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
_.each(this.value.operators, function(operator) {
$('<option>', {value: operator.value})
.text(String(operator.text))
.appendTo(self.$element.find('.searchview_extended_prop_op'));
.appendTo(self.$el.find('.searchview_extended_prop_op'));
});
var $value_loc = this.$element.find('.searchview_extended_prop_value').empty();
var $value_loc = this.$el.find('.searchview_extended_prop_value').empty();
this.value.appendTo($value_loc);
},
@@ -1807,7 +1807,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
if ( this.attrs.selected == null)
return null;
var field = this.attrs.selected;
var op = this.$element.find('.searchview_extended_prop_op')[0];
var op = this.$el.find('.searchview_extended_prop_op')[0];
var operator = op.options[op.selectedIndex];
return {
label: _.str.sprintf(_t('%(field)s %(operator)s "%(value)s"'), {
@@ -1851,7 +1851,7 @@ instance.web.search.ExtendedSearchProposition.Char = instance.web.search.Extende
{value: "!=", text: _lt("is not equal to")}
],
get_value: function() {
return this.$element.val();
return this.$el.val();
}
});
instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.ExtendedSearchProposition.Field.extend({
@@ -1875,7 +1875,7 @@ instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.Ext
start: function() {
var ready = this._super();
this.datewidget = new (this.widget())(this);
this.datewidget.appendTo(this.$element);
this.datewidget.appendTo(this.$el);
return ready;
}
});
@@ -1893,11 +1893,11 @@ instance.web.search.ExtendedSearchProposition.Integer = instance.web.search.Exte
{value: "<=", text: _lt("less or equal than")}
],
toString: function () {
return this.$element.val();
return this.$el.val();
},
get_value: function() {
try {
return instance.web.parse_value(this.$element.val(), {'widget': 'integer'});
return instance.web.parse_value(this.$el.val(), {'widget': 'integer'});
} catch (e) {
return "";
}
@@ -1917,11 +1917,11 @@ instance.web.search.ExtendedSearchProposition.Float = instance.web.search.Extend
{value: "<=", text: _lt("less or equal than")}
],
toString: function () {
return this.$element.val();
return this.$el.val();
},
get_value: function() {
try {
return instance.web.parse_value(this.$element.val(), {'widget': 'float'});
return instance.web.parse_value(this.$el.val(), {'widget': 'float'});
} catch (e) {
return "";
}
@@ -1934,12 +1934,12 @@ instance.web.search.ExtendedSearchProposition.Selection = instance.web.search.Ex
{value: "!=", text: _lt("is not")}
],
toString: function () {
var select = this.$element[0];
var select = this.$el[0];
var option = select.options[select.selectedIndex];
return option.label || option.text;
},
get_value: function() {
return this.$element.val();
return this.$el.val();
}
});
instance.web.search.ExtendedSearchProposition.Boolean = instance.web.search.ExtendedSearchProposition.Field.extend({
-1
View File
@@ -12,7 +12,6 @@ openerp.test_support = {
username: false,
user_context: {},
db: false,
openerp_entreprise: false,
// this.module_list = openerp._modules.slice();
// this.module_loaded = {};
// _(this.module_list).each(function (mod) {
File diff suppressed because it is too large Load Diff
+28 -28
View File
@@ -145,7 +145,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* @returns {$.Deferred} loading promise
*/
start: function() {
this.$element.addClass('oe_list');
this.$el.addClass('oe_list');
return this.reload_view(null, null, true);
},
/**
@@ -248,20 +248,20 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.setup_columns(this.fields_view.fields, grouped);
this.$element.html(QWeb.render(this._template, this));
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
// Head hook
// Selecting records
this.$element.find('.oe_list_record_selector').click(function(){
self.$element.find('.oe_list_record_selector input').prop('checked',
self.$element.find('.oe_list_record_selector').prop('checked') || false);
this.$el.find('.oe_list_record_selector').click(function(){
self.$el.find('.oe_list_record_selector input').prop('checked',
self.$el.find('.oe_list_record_selector').prop('checked') || false);
var selection = self.groups.get_selection();
$(self.groups).trigger(
'selected', [selection.ids, selection.records]);
});
// Sorting columns
this.$element.find('thead').delegate('th.oe_sortable[data-id]', 'click', function (e) {
this.$el.find('thead').delegate('th.oe_sortable[data-id]', 'click', function (e) {
e.stopPropagation();
var $this = $(this);
self.dataset.sort($this.data('id'));
@@ -281,7 +281,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
} else {
this.$element.find('.oe_list_buttons').replaceWith(this.$buttons);
this.$el.find('.oe_list_buttons').replaceWith(this.$buttons);
}
this.$buttons.find('.oe_list_add')
.click(this.proxy('do_add_record'))
@@ -298,7 +298,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (this.options.$buttons) {
this.$pager.appendTo(this.options.$pager);
} else {
this.$element.find('.oe_list_pager').replaceWith(this.$pager);
this.$el.find('.oe_list_pager').replaceWith(this.$pager);
}
this.$pager
@@ -357,7 +357,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
{ label: _t('Delete'), callback: this.do_delete_selected }
]);
this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
},
/**
@@ -450,7 +450,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
},
do_hide: function () {
if (this.sidebar) {
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
if (this.$buttons) {
this.$buttons.hide();
@@ -490,10 +490,10 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
*/
reload_content: function () {
var self = this;
self.$element.find('.oe_list_record_selector').prop('checked', false);
self.$el.find('.oe_list_record_selector').prop('checked', false);
this.records.reset();
var reloaded = $.Deferred();
this.$element.find('.oe_list_content').append(
this.$el.find('.oe_list_content').append(
this.groups.render(function () {
if (self.dataset.index == null) {
var has_one = false;
@@ -595,7 +595,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (!ids.length) {
this.dataset.index = 0;
if (this.sidebar) {
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
this.compute_aggregates();
return;
@@ -603,7 +603,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.dataset.index = _(this.dataset.ids).indexOf(ids[0]);
if (this.sidebar) {
this.sidebar.$element.show();
this.sidebar.$el.show();
}
this.compute_aggregates(_(records).map(function (record) {
@@ -763,7 +763,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
},
display_aggregates: function (aggregation) {
var self = this;
var $footer_cells = this.$element.find('.oe_list_footer');
var $footer_cells = this.$el.find('.oe_list_footer');
_(this.aggregate_columns).each(function (column) {
if (!column['function']) {
return;
@@ -789,7 +789,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
pad_columns: function (count, options) {
options = options || {};
// padding for action/pager header
var $first_header = this.$element.find('thead tr:first th');
var $first_header = this.$el.find('thead tr:first th');
var colspan = $first_header.attr('colspan');
if (colspan) {
if (!this.previous_colspan) {
@@ -798,7 +798,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
$first_header.attr('colspan', parseInt(colspan, 10) + count);
}
// Padding for column titles, footer and data rows
var $rows = this.$element
var $rows = this.$el
.find('.oe_list_header_columns, tr:not(thead tr)')
.not(options['except']);
var newcols = new Array(count+1).join('<td class="oe_list_padding"></td>');
@@ -812,23 +812,23 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* Removes all padding columns of the table
*/
unpad_columns: function () {
this.$element.find('.oe_list_padding').remove();
this.$el.find('.oe_list_padding').remove();
if (this.previous_colspan) {
this.$element
this.$el
.find('thead tr:first th')
.attr('colspan', this.previous_colspan);
this.previous_colspan = null;
}
},
no_result: function () {
this.$element.find('.oe_view_nocontent').remove();
this.$el.find('.oe_view_nocontent').remove();
if (this.groups.group_by
|| !this.options.action
|| !this.options.action.help) {
return;
}
this.$element.find('table:first').hide();
this.$element.prepend(
this.$el.find('table:first').hide();
this.$el.prepend(
$('<div class="oe_view_nocontent">').html(this.options.action.help)
);
}
@@ -1478,27 +1478,27 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
},
render: function (post_render) {
var self = this;
var $element = $('<tbody>');
this.elements = [$element[0]];
var $el = $('<tbody>');
this.elements = [$el[0]];
this.datagroup.list(
_(this.view.visible_columns).chain()
.filter(function (column) { return column.tag === 'field' })
.pluck('name').value(),
function (groups) {
$element[0].appendChild(
$el[0].appendChild(
self.render_groups(groups));
if (post_render) { post_render(); }
}, function (dataset) {
self.render_dataset(dataset).then(function (list) {
self.children[null] = list;
self.elements =
[list.$current.replaceAll($element)[0]];
[list.$current.replaceAll($el)[0]];
self.setup_resequence_rows(list, dataset);
if (post_render) { post_render(); }
});
});
return $element;
return $el;
},
/**
* Returns the ids of all selected records for this group, and the records
+20 -20
View File
@@ -45,10 +45,10 @@ openerp.web.list_editable = function (instance) {
}
});
this.on('edit:after', this, function () {
self.$element.add(self.$buttons).addClass('oe_editing');
self.$el.add(self.$buttons).addClass('oe_editing');
});
this.on('save:after cancel:after', this, function () {
self.$element.add(self.$buttons).removeClass('oe_editing');
self.$el.add(self.$buttons).removeClass('oe_editing');
});
},
destroy: function () {
@@ -87,8 +87,8 @@ openerp.web.list_editable = function (instance) {
*/
do_add_record: function () {
if (this.editable()) {
this.$element.find('table:first').show();
this.$element.find('.oe_view_nocontent').remove();
this.$el.find('table:first').show();
this.$el.find('.oe_view_nocontent').remove();
this.start_edition();
} else {
this._super();
@@ -99,7 +99,7 @@ openerp.web.list_editable = function (instance) {
// tree/@editable takes priority on everything else if present.
var result = this._super(data, grouped);
if (this.editable()) {
this.$element.addClass('oe_list_editable');
this.$el.addClass('oe_list_editable');
// FIXME: any hook available to ensure this is only done once?
this.$buttons
.off('click', '.oe_list_save')
@@ -109,7 +109,7 @@ openerp.web.list_editable = function (instance) {
e.preventDefault();
self.cancel_edition();
});
this.$element
this.$el
.off('click', 'tbody td:not(.oe_list_field_cell)')
.on('click', 'tbody td:not(.oe_list_field_cell)', function () {
if (!self.editor.is_editing()) {
@@ -120,12 +120,12 @@ openerp.web.list_editable = function (instance) {
// Editor is not restartable due to formview not being
// restartable
this.editor = this.make_editor();
var editor_ready = this.editor.prependTo(this.$element)
var editor_ready = this.editor.prependTo(this.$el)
.then(this.proxy('setup_events'));
return $.when(result, editor_ready);
} else {
this.$element.removeClass('oe_list_editable');
this.$el.removeClass('oe_list_editable');
}
return result;
@@ -203,7 +203,7 @@ openerp.web.list_editable = function (instance) {
}
// FIXME: need better way to get the field back from bubbling (delegated) DOM events somehow
field.$element.attr('data-fieldname', field_name);
field.$el.attr('data-fieldname', field_name);
self.fields_for_resize.push({field: field, cell: cell});
}, options).pipe(function () {
$recordRow.addClass('oe_edition');
@@ -249,8 +249,8 @@ openerp.web.list_editable = function (instance) {
var position = $cell.position();
// jquery does not understand !important
field.$element.attr('style', 'width: '+$cell.outerWidth()+'px !important')
field.$element.css({
field.$el.attr('style', 'width: '+$cell.outerWidth()+'px !important')
field.$el.css({
top: position.top,
left: position.left,
minHeight: $cell.outerHeight()
@@ -391,7 +391,7 @@ openerp.web.list_editable = function (instance) {
},
setup_events: function () {
var self = this;
this.editor.$element.on('keyup keydown', function (e) {
this.editor.$el.on('keyup keydown', function (e) {
if (!self.editor.is_editing()) { return; }
var key = _($.ui.keyCode).chain()
.map(function (v, k) { return {name: k, code: v}; })
@@ -540,7 +540,7 @@ openerp.web.list_editable = function (instance) {
if (--field_index < 0) { return $.when(); }
field = fields[fields_order[field_index]];
} while (!field.$element.is(':visible'));
} while (!field.$el.is(':visible'));
// and focus it
field.focus();
@@ -563,7 +563,7 @@ openerp.web.list_editable = function (instance) {
if (++field_index >= fields_order.length) { return $.when(); }
field = fields[fields_order[field_index]];
} while (!field.$element.is(':visible'));
} while (!field.$el.is(':visible'));
field.focus();
return $.when();
@@ -572,11 +572,11 @@ openerp.web.list_editable = function (instance) {
var form = this.editor.form;
var last_field = _(form.fields_order).chain()
.map(function (name) { return form.fields[name]; })
.filter(function (field) { return field.$element.is(':visible'); })
.filter(function (field) { return field.$el.is(':visible'); })
.last()
.value();
// tabbed from last field in form
if (last_field && last_field.$element.has(e.target).length) {
if (last_field && last_field.$el.has(e.target).length) {
e.preventDefault();
return this._next();
}
@@ -620,7 +620,7 @@ openerp.web.list_editable = function (instance) {
var _super = this._super();
this.form.embedded_view = this._validate_view(
this.delegate.edition_view(this));
var form_ready = this.form.appendTo(this.$element).then(
var form_ready = this.form.appendTo(this.$el).then(
self.form.proxy('do_hide'));
return $.when(_super, form_ready);
},
@@ -678,7 +678,7 @@ openerp.web.list_editable = function (instance) {
// Is actually in the form
&& (field = form.fields[focus_field])
// And is visible
&& field.$element.is(':visible')) {
&& field.$el.is(':visible')) {
// focus it
field.focus();
return;
@@ -687,7 +687,7 @@ openerp.web.list_editable = function (instance) {
_(form.fields_order).detect(function (name) {
// look for first visible field in fields_order, focus it
var field = form.fields[name];
if (!field.$element.is(':visible')) {
if (!field.$el.is(':visible')) {
return false;
}
// Stop as soon as a field got focused
@@ -716,7 +716,7 @@ openerp.web.list_editable = function (instance) {
save: function () {
var self = this;
return this.form
.do_save(null, this.delegate.prepends_on_create())
.do_save(this.delegate.prepends_on_create())
.pipe(function (result) {
var created = result.created && !self.record.id;
if (created) {
+13 -13
View File
@@ -84,13 +84,13 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
});
this.fields = fields_view.fields;
this.hook_row_click();
this.$element.html(QWeb.render('TreeView', {
this.$el.html(QWeb.render('TreeView', {
'title': this.fields_view.arch.attrs.string,
'fields_view': this.fields_view.arch.children,
'fields': this.fields,
'toolbar': has_toolbar
}));
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.addClass(this.fields_view.arch.attrs['class']);
this.dataset.read_slice(this.fields_list()).then(function(records) {
self.store_record(records);
@@ -102,7 +102,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
return;
}
var $select = self.$element.find('select')
var $select = self.$el.find('select')
.change(function () {
var $option = $(this).find(':selected');
self.getdata($option.val());
@@ -120,10 +120,10 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
$select.change();
}
});
this.$element.find("#tree_view_expand").click(function(){
this.$el.find("#tree_view_expand").click(function(){
self.expand_all();
});
this.$element.find("#tree_view_collapse").click(function(){
this.$el.find("#tree_view_collapse").click(function(){
self.collpase_all();
});
// TODO store open nodes in url ?...
@@ -143,14 +143,14 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
},
expand_all: function(){
var self = this;
var tr = this.$element.find(".oe-treeview-table tbody tr[id^='treerow_']");
var tr = this.$el.find(".oe-treeview-table tbody tr[id^='treerow_']");
_.each(tr,function(rec){
self.showcontent($(rec).attr('data-id'),true);
});
},
collpase_all: function(){
var self = this;
var root_tr = this.$element.find(".oe-treeview-table tbody tr[data-level='"+1+"']");
var root_tr = this.$el.find(".oe-treeview-table tbody tr[data-level='"+1+"']");
_.each(root_tr,function(rec){
if($(rec).hasClass('oe_open')){
self.showcontent($(rec).attr('data-id'),false);
@@ -187,12 +187,12 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
*/
hook_row_click: function () {
var self = this;
this.$element.delegate('.treeview-td span, .treeview-tr span', 'click', function (e) {
this.$el.delegate('.treeview-td span, .treeview-tr span', 'click', function (e) {
e.stopImmediatePropagation();
self.activate($(this).closest('tr').data('id'));
});
this.$element.delegate('.treeview-tr', 'click', function () {
this.$el.delegate('.treeview-tr', 'click', function () {
var $this = $(this),
record_id = $this.data('id'),
bool = $this.parent().hasClass('oe_open');
@@ -220,7 +220,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
render_data: function(groupby){
var self = this;
_.each(_.keys(groupby),function(key){
var $curr_node = self.$element.find('#treerow_' + key);
var $curr_node = self.$el.find('#treerow_' + key);
var record = groupby[key];
var children_rows = QWeb.render('TreeView.rows', {
'records': record,
@@ -235,7 +235,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
$curr_node.addClass('oe_open');
$curr_node.after(children_rows);
} else {
self.$element.find('tbody').html(children_rows);
self.$el.find('tbody').html(children_rows);
}
});
self.collpase_all();
@@ -272,11 +272,11 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
// show & hide the contents
showcontent: function (record_id, show) {
this.$element.find('#treerow_' + record_id)
this.$el.find('#treerow_' + record_id)
.toggleClass('oe_open', show);
_(this.records[record_id][this.children_field]).each(function (child_id) {
var $child_row = this.$element.find('#treerow_' + child_id);
var $child_row = this.$el.find('#treerow_' + child_id);
if ($child_row.hasClass('oe_open')) {
this.showcontent(child_id, false);
}
+37 -37
View File
@@ -20,7 +20,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.on('click', '.oe_breadcrumb_item', this.on_breadcrumb_clicked);
this.$el.on('click', '.oe_breadcrumb_item', this.on_breadcrumb_clicked);
},
dialog_stop: function () {
if (this.dialog) {
@@ -53,10 +53,10 @@ instance.web.ActionManager = instance.web.Widget.extend({
}
var item = _.extend({
show: function(index) {
this.widget.$element.show();
this.widget.$el.show();
},
hide: function() {
this.widget.$element.hide();
this.widget.$el.hide();
},
destroy: function() {
this.widget.destroy();
@@ -277,14 +277,14 @@ instance.web.ActionManager = instance.web.Widget.extend({
}
this.dialog.dialog_title = action.name;
this.dialog_widget = widget;
this.dialog_widget.appendTo(this.dialog.$element);
this.dialog_widget.appendTo(this.dialog.$el);
this.dialog.open();
} else {
this.dialog_stop();
this.inner_action = action;
this.inner_widget = widget;
post_process();
this.inner_widget.appendTo(this.$element);
this.inner_widget.appendTo(this.$el);
}
},
ir_actions_act_window: function (action, on_close) {
@@ -376,7 +376,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
start: function() {
this._super();
var self = this;
this.$element.find('.oe_view_manager_switch a').click(function() {
this.$el.find('.oe_view_manager_switch a').click(function() {
self.on_mode_switch($(this).data('view-type'));
}).tipsy();
var views_ids = {};
@@ -385,9 +385,9 @@ instance.web.ViewManager = instance.web.Widget.extend({
deferred : $.Deferred(),
controller : null,
options : _.extend({
$buttons : self.$element.find('.oe_view_manager_buttons'),
$sidebar : self.flags.sidebar ? self.$element.find('.oe_view_manager_sidebar') : undefined,
$pager : self.$element.find('.oe_view_manager_pager'),
$buttons : self.$el.find('.oe_view_manager_buttons'),
$sidebar : self.flags.sidebar ? self.$el.find('.oe_view_manager_sidebar') : undefined,
$pager : self.$el.find('.oe_view_manager_pager'),
action : self.action,
action_views_ids : views_ids
}, self.flags, self.flags[view.view_type] || {}, view.options || {})
@@ -395,7 +395,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
views_ids[view.view_type] = view.view_id;
});
if (this.flags.views_switcher === false) {
this.$element.find('.oe_view_manager_switch').hide();
this.$el.find('.oe_view_manager_switch').hide();
}
// If no default view defined, switch to the first one in sequence
var default_view = this.flags.default_view || this.views_src[0].view_type;
@@ -432,9 +432,9 @@ instance.web.ViewManager = instance.web.Widget.extend({
this.searchview[(view.controller.searchable === false || this.searchview.hidden) ? 'hide' : 'show']();
}
this.$element
this.$el
.find('.oe_view_manager_switch a').parent().removeClass('active');
this.$element
this.$el
.find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]')
.parent().addClass('active');
@@ -442,7 +442,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
_.each(_.keys(self.views), function(view_name) {
var controller = self.views[view_name].controller;
if (controller) {
var container = self.$element.find(".oe_view_manager_view_" + view_name + ":first");
var container = self.$el.find(".oe_view_manager_view_" + view_name + ":first");
if (view_name === view_type) {
container.show();
controller.do_show(view_options || {});
@@ -451,10 +451,10 @@ instance.web.ViewManager = instance.web.Widget.extend({
controller.do_hide();
}
// put the <footer> in the dialog's buttonpane
if (self.$element.parent('.ui-dialog-content') && self.$element.find('footer')) {
self.$element.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonset').hide()
self.$element.find('footer').appendTo(
self.$element.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonpane')
if (self.$el.parent('.ui-dialog-content') && self.$el.find('footer')) {
self.$el.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonset').hide()
self.$el.find('footer').appendTo(
self.$el.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonpane')
);
}
}
@@ -491,7 +491,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
controller.do_switch_view.add_last(_.bind(this.switch_view, this));
controller.do_prev_view.add_last(this.on_prev_view);
var container = this.$element.find(".oe_view_manager_view_" + view_type);
var container = this.$el.find(".oe_view_manager_view_" + view_type);
var view_promise = controller.appendTo(container);
this.views[view_type].controller = controller;
this.views[view_type].deferred.resolve(view_type);
@@ -505,7 +505,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
});
},
set_title: function(title) {
this.$element.find('.oe_view_title_text:first').text(title);
this.$el.find('.oe_view_title_text:first').text(title);
},
add_breadcrumb: function() {
var self = this;
@@ -524,7 +524,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
action: this.action,
show: function(index) {
var view_to_select = views[index];
self.$element.show();
self.$el.show();
if (self.active_view !== view_to_select) {
self.on_mode_switch(view_to_select);
}
@@ -600,7 +600,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
this.searchview = new instance.web.SearchView(this, this.dataset, view_id, search_defaults, this.flags.search_view === false);
this.searchview.on_search.add(this.do_searchview_search);
return this.searchview.appendTo(this.$element.find(".oe_view_manager_view_search"));
return this.searchview.appendTo(this.$el.find(".oe_view_manager_view_search"));
},
do_searchview_search: function(domains, contexts, groupbys) {
var self = this,
@@ -717,8 +717,8 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
var manager_ready = $.when(searchview_loaded, main_view_loaded);
this.$element.find('.oe_debug_view').change(this.on_debug_changed);
this.$element.addClass("oe_view_manager_" + (this.action.target || 'current'));
this.$el.find('.oe_debug_view').change(this.on_debug_changed);
this.$el.addClass("oe_view_manager_" + (this.action.target || 'current'));
return manager_ready;
},
on_debug_changed: function (evt) {
@@ -730,7 +730,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
switch (val) {
case 'fvg':
var dialog = new instance.web.Dialog(this, { title: _t("Fields View Get"), width: '95%' }).open();
$('<pre>').text(instance.web.json_node_to_xml(current_view.fields_view.arch, true)).appendTo(dialog.$element);
$('<pre>').text(instance.web.json_node_to_xml(current_view.fields_view.arch, true)).appendTo(dialog.$el);
break;
case 'perm_read':
var ids = current_view.get_selected_ids();
@@ -828,7 +828,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
var controller = self.views[self.active_view].controller,
fvg = controller.fields_view,
view_id = (fvg && fvg.view_id) || '--';
self.$element.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
self.$el.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
view: controller,
view_manager: self
}));
@@ -842,7 +842,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
return r;
},
set_title: function(title) {
this.$element.find('.oe_breadcrumb_title:first').html(this.getParent().get_title());
this.$el.find('.oe_breadcrumb_title:first').html(this.getParent().get_title());
},
do_push_state: function(state) {
if (this.getParent() && this.getParent().do_push_state) {
@@ -874,7 +874,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
var view = this.getParent();
this.sections = [
{ 'name' : 'print', 'label' : _t('Print'), },
{ 'name' : 'files', 'label' : _t('Attachment'), },
{ 'name' : 'files', 'label' : _t('Attachment(s)'), },
{ 'name' : 'other', 'label' : _t('More'), }
];
this.items = {
@@ -901,7 +901,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
var self = this;
this._super(this);
this.redraw();
this.$element.on('click','.oe_dropdown_menu li a', function(event) {
this.$el.on('click','.oe_dropdown_menu li a', function(event) {
var section = $(this).data('section');
var index = $(this).data('index');
var item = self.items[section][index];
@@ -917,7 +917,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
},
redraw: function() {
var self = this;
self.$element.html(QWeb.render('Sidebar', {widget: self}));
self.$el.html(QWeb.render('Sidebar', {widget: self}));
// Hides Sidebar sections when item list is empty
this.$('.oe_form_dropdown_section').each(function() {
@@ -1024,12 +1024,12 @@ instance.web.Sidebar = instance.web.Widget.extend({
self.items['files'] = attachments;
self.redraw();
this.$('.oe_sidebar_add_attachment .oe_form_binary_file').change(this.on_attachment_changed);
this.$element.find('.oe_sidebar_delete_item').click(this.on_attachment_delete);
this.$el.find('.oe_sidebar_delete_item').click(this.on_attachment_delete);
},
on_attachment_changed: function(e) {
var $e = $(e.target);
if ($e.val() !== '') {
this.$element.find('form.oe_form_binary_form').submit();
this.$el.find('form.oe_form_binary_form').submit();
$e.parent().find('input[type=file]').prop('disabled', true);
$e.parent().find('button').prop('disabled', true).find('img, span').toggle();
this.$('.oe_sidebar_add_attachment span').text(_t('Uploading...'));
@@ -1078,8 +1078,8 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
var self = this;
this._super();
$.when(this.languages_loaded).then(function() {
self.$element.html(instance.web.qweb.render('TranslateDialog', { widget: self }));
self.$fields_form = self.$element.find('.oe_translation_form');
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')));
});
@@ -1125,8 +1125,8 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
if (self.view.translatable_fields && self.view.translatable_fields.length) {
self.do_load_fields_values(function() {
if (field) {
var $field_input = self.$element.find('tr[data-field="' + field.name + '"] td:nth-child(2) *:first-child');
self.$element.scrollTo($field_input);
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();
}
});
@@ -1302,10 +1302,10 @@ instance.web.View = instance.web.Widget.extend({
this.embedded_view = embedded_view;
},
do_show: function () {
this.$element.show();
this.$el.show();
},
do_hide: function () {
this.$element.hide();
this.$el.hide();
},
do_push_state: function(state) {
if (this.getParent() && this.getParent().do_push_state) {
+2 -24
View File
@@ -51,29 +51,6 @@
</table>
</t>
<t t-name="CrashManager.error">
<t t-if="!session.openerp_entreprise">
<span>Your version of OpenERP is unsupported. Support &amp; maintenance services are available here: <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">OpenERP Entreprise</a>.</span>
</t>
<t t-if="session.openerp_entreprise">
<div class="oe_error_send">
<div>
<div class="oe_centeralign"><b>OpenERP Enterprise Contract.</b></div>
<div><br/>Your report will be sent to the OpenERP Enterprise team.<br/></div><br/>
<div>
<label>Summary:</label><br/>
<input id="issuename" type="text" class="oe_fielddiv"/>
</div><br/><br/>
<div>
<label>Description:</label><br/>
<textarea id="explanation" rows="6"></textarea>
</div><br/><br/>
<div>
<label>What you did:</label><br/>
<textarea id="remark" rows="6" ></textarea>
</div>
</div>
</div><br/>
</t>
<div class="oe_error_detail">
<pre><t t-esc="error.message"/></pre>
<hr/>
@@ -563,6 +540,7 @@
<t t-foreach="widget.sections" t-as="section">
<div class="oe_form_dropdown_section">
<button class="oe_dropdown_toggle oe_dropdown_arrow">
<t t-if="section.name == 'files'" t-raw="widget.items[section.name].length || ''"/>
<t t-esc="section.label"/>
</button>
<ul class="oe_dropdown_menu">
@@ -1736,7 +1714,7 @@
<div class="oe_blockui_spin" style="height: 50px">
</div>
<br />
<div style="color:white">Loading...</div>
<div class="oe_throbber_message" style="color:white"></div>
</div>
</t>
</templates>
+20 -20
View File
@@ -86,17 +86,17 @@ $(document).ready(function () {
test('no template, default', function () {
var w = new (instance.web.Widget.extend({ }));
var $original = w.$element;
var $original = w.$el;
ok($original, "should initially have a root element");
w.renderElement();
ok(w.$element, "should have generated a root element");
ok($original !== w.$element, "should have generated a new root element");
strictEqual(w.$element, w.$element, "should provide $element alias");
ok(w.$element.is(w.el), "should provide raw DOM alias");
ok(w.$el, "should have generated a root element");
ok($original !== w.$el, "should have generated a new root element");
strictEqual(w.$el, w.$el, "should provide $el alias");
ok(w.$el.is(w.el), "should provide raw DOM alias");
equal(w.el.nodeName, 'DIV', "should have generated the default element");
equal(w.el.attributes.length, 0, "should not have generated any attribute");
ok(_.isEmpty(w.$element.html(), "should not have generated any content"));
ok(_.isEmpty(w.$el.html(), "should not have generated any content"));
});
test('no template, custom tag', function () {
var w = new (instance.web.Widget.extend({
@@ -113,7 +113,7 @@ $(document).ready(function () {
w.renderElement();
equal(w.el.attributes.length, 1, "should have one attribute");
equal(w.$element.attr('id'), 'foo', "should have generated the id attribute");
equal(w.$el.attr('id'), 'foo', "should have generated the id attribute");
equal(w.el.id, 'foo', "should also be available via property");
});
test('no template, @className', function () {
@@ -123,7 +123,7 @@ $(document).ready(function () {
w.renderElement();
equal(w.el.className, 'oe_some_class', "should have the right property");
equal(w.$element.attr('class'), 'oe_some_class', "should have the right attribute");
equal(w.$el.attr('class'), 'oe_some_class', "should have the right attribute");
});
test('no template, bunch of attributes', function () {
var w = new (instance.web.Widget.extend({
@@ -140,16 +140,16 @@ $(document).ready(function () {
equal(w.el.attributes.length, 5, "should have all the specified attributes");
equal(w.el.id, 'some_id');
equal(w.$element.attr('id'), 'some_id');
equal(w.$el.attr('id'), 'some_id');
equal(w.el.className, 'some_class');
equal(w.$element.attr('class'), 'some_class');
equal(w.$el.attr('class'), 'some_class');
equal(w.$element.attr('data-foo'), 'data attribute');
equal(w.$element.data('foo'), 'data attribute');
equal(w.$el.attr('data-foo'), 'data attribute');
equal(w.$el.data('foo'), 'data attribute');
equal(w.$element.attr('clark'), 'gable');
equal(w.$element.attr('spoiler'), 'snape kills dumbledore');
equal(w.$el.attr('clark'), 'gable');
equal(w.$el.attr('spoiler'), 'snape kills dumbledore');
});
test('template', function () {
@@ -159,7 +159,7 @@ $(document).ready(function () {
w.renderElement();
equal(w.el.nodeName, 'OL');
equal(w.$element.children().length, 5);
equal(w.$el.children().length, 5);
equal(w.el.textContent, '01234');
});
@@ -170,7 +170,7 @@ $(document).ready(function () {
}));
w.renderElement();
ok(w.$('li:eq(3)').is(w.$element.find('li:eq(3)')),
ok(w.$('li:eq(3)').is(w.$el.find('li:eq(3)')),
"should do the same thing as calling find on the widget root");
});
@@ -191,7 +191,7 @@ $(document).ready(function () {
}));
w.renderElement();
w.$element.click();
w.$el.click();
w.$('li:eq(3)').click();
w.$('input:last').val('foo').change();
@@ -206,7 +206,7 @@ $(document).ready(function () {
events: { 'click li': function () { clicked = true; } }
}));
w.renderElement();
w.$element.on('click', 'li', function () { newclicked = true });
w.$el.on('click', 'li', function () { newclicked = true });
w.$('li').click();
ok(clicked, "should trigger bound events");
@@ -229,11 +229,11 @@ $(document).ready(function () {
.always(start)
.done(function () {
equal($fix.find('p').text(), '42', "DOM fixture should contain initial value");
equal(w.$element.text(), '42', "should set initial value");
equal(w.$el.text(), '42', "should set initial value");
w.value = 36;
w.renderElement();
equal($fix.find('p').text(), '36', "DOM fixture should use new value");
equal(w.$element.text(), '36', "should set new value");
equal(w.$el.text(), '36', "should set new value");
});
});
});
-1
View File
@@ -39,5 +39,4 @@ class TestSession(Session):
"context": CONTEXT,
"db": req.session._db,
"login": req.session._login,
"openerp_entreprise": False,
}
+10 -6
View File
@@ -1,10 +1,14 @@
{
"name" : "OpenERP Web API",
"category" : "Hidden",
"description":"""Openerp Web API.""",
"version" : "2.0",
"depends" : ['web'],
"installable" : True,
'name': 'OpenERP Web API',
'category': 'Hidden',
'description': """
Openerp Web API.
================
""",
'version': '2.0',
'depends': ['web'],
'installable': True,
'auto_install': False,
'js' : [
],
+15 -11
View File
@@ -1,20 +1,24 @@
{
"name": "Web Calendar",
"category": "Hidden",
"description":"""OpenERP Web Calendar view.""",
"version": "2.0",
"depends": ['web'],
"js": [
'name': 'Web Calendar',
'category': 'Hidden',
'description':"""
OpenERP Web Calendar view.
==========================
""",
'version': '2.0',
'depends': ['web'],
'js': [
'static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_debug.js',
'static/lib/dhtmlxScheduler/sources/ext/ext_minical.js',
'static/src/js/calendar.js'
],
"css": [
'static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_ext.css',
'static/src/css/web_calendar.css'
],
'css': [
'static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_ext.css',
'static/src/css/web_calendar.css'
],
'qweb' : [
"static/src/xml/*.xml",
'static/src/xml/*.xml',
],
'auto_install': True
}
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
"X-Poedit-Language: Czech\n"
#. openerp-web
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -15,8 +15,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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
"Language: es\n"
#. openerp-web
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11
+2 -2
View File
@@ -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-15 04:50+0000\n"
"X-Generator: Launchpad (build 15801)\n"
"X-Launchpad-Export-Date: 2012-08-28 07:23+0000\n"
"X-Generator: Launchpad (build 15864)\n"
#. openerp-web
#: addons/web_calendar/static/src/js/calendar.js:11

Some files were not shown because too many files have changed in this diff Show More