merge trunk
bzr revid: nicolas.vanhoren@openerp.com-20130301143341-xa55351zb166bl2w
This commit is contained in:
commit
77088d339b
|
@ -86,5 +86,4 @@ This module provides the core of the OpenERP Web Client.
|
|||
"static/test/mutex.js"
|
||||
],
|
||||
'bootstrap': True,
|
||||
'twitter': False,
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import os
|
|||
import re
|
||||
import simplejson
|
||||
import time
|
||||
import urllib
|
||||
import urllib2
|
||||
import xmlrpclib
|
||||
import zlib
|
||||
|
@ -294,9 +295,9 @@ def manifest_list(req, extension, mods=None, db=None):
|
|||
if not req.debug:
|
||||
path = '/web/webclient/' + extension
|
||||
if mods is not None:
|
||||
path += '?mods=' + mods
|
||||
path += '?' + urllib.urlencode({'mods': mods})
|
||||
elif db:
|
||||
path += '?db=' + db
|
||||
path += '?' + urllib.urlencode({'db': db})
|
||||
return [path]
|
||||
files = manifest_glob(req, extension, addons=mods, db=db)
|
||||
i_am_diabetic = req.httprequest.environ["QUERY_STRING"].count("no_sugar") >= 1 or \
|
||||
|
@ -877,7 +878,7 @@ class Session(openerpweb.Controller):
|
|||
"""
|
||||
saved_actions = req.httpsession.get('saved_actions')
|
||||
if not saved_actions:
|
||||
saved_actions = {"next":0, "actions":{}}
|
||||
saved_actions = {"next":1, "actions":{}}
|
||||
req.httpsession['saved_actions'] = saved_actions
|
||||
# we don't allow more than 10 stored actions
|
||||
if len(saved_actions["actions"]) >= 10:
|
||||
|
|
|
@ -32,12 +32,12 @@ NOMODULE_TEMPLATE = Template(u"""<!DOCTYPE html>
|
|||
</form>
|
||||
</body>
|
||||
</html>
|
||||
""")
|
||||
""", default_filters=['h'])
|
||||
NOTFOUND = Template(u"""
|
||||
<p>Unable to find the module [${module}], please check that the module
|
||||
name is correct and the module is on OpenERP's path.</p>
|
||||
<a href="/web/tests"><< Back to tests</a>
|
||||
""")
|
||||
""", default_filters=['h'])
|
||||
TESTING = Template(u"""<!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<%def name="to_path(module, p)">/${module}/${p}</%def>
|
||||
|
@ -51,9 +51,9 @@ TESTING = Template(u"""<!DOCTYPE html>
|
|||
<script src="/web/static/lib/qunit/qunit.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var oe_db_info = ${db_info};
|
||||
var oe_db_info = ${db_info | n};
|
||||
// List of modules, each module is preceded by its dependencies
|
||||
var oe_all_dependencies = ${dependencies};
|
||||
var oe_all_dependencies = ${dependencies | n};
|
||||
QUnit.config.testTimeout = 5 * 60 * 1000;
|
||||
</script>
|
||||
</head>
|
||||
|
@ -83,7 +83,7 @@ TESTING = Template(u"""<!DOCTYPE html>
|
|||
% endif
|
||||
% endfor
|
||||
</html>
|
||||
""")
|
||||
""", default_filters=['h'])
|
||||
|
||||
class TestRunnerController(http.Controller):
|
||||
_cp_path = '/web/tests'
|
||||
|
|
|
@ -253,6 +253,5 @@ todo_include_todos = True
|
|||
intersphinx_mapping = {
|
||||
'python': ('http://docs.python.org/', None),
|
||||
'openerpserver': ('http://doc.openerp.com/trunk/developers/server', None),
|
||||
'openerpdev': ('http://doc.openerp.com/trunk/developers', None),
|
||||
'openerpcommand': ('http://doc.openerp.com/trunk/developers/command', None),
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _module:
|
||||
|
||||
Building an OpenERP Web module
|
||||
==============================
|
||||
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-01-17 19:26+0000\n"
|
||||
"Last-Translator: tuxar <Unknown>\n"
|
||||
"Language-Team: Bulgarian <bg@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-12-22 07:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-18 07:11+0000\n"
|
||||
"X-Generator: Launchpad (build 16430)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -29,14 +29,14 @@ msgstr "Език по подразбиране:"
|
|||
#: code:addons/web/static/src/js/coresetup.js:602
|
||||
#, python-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr ""
|
||||
msgstr "Преди %d минути"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:630
|
||||
#, python-format
|
||||
msgid "Still loading...<br />Please be patient."
|
||||
msgstr ""
|
||||
msgstr "Зареждането продължава.. <br /> Моля, бъдете търпеливи."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -59,7 +59,7 @@ msgstr "по-малко или равно на"
|
|||
#: code:addons/web/static/src/js/chrome.js:393
|
||||
#, python-format
|
||||
msgid "Please enter your previous password"
|
||||
msgstr ""
|
||||
msgstr "Въведете Вашата предишна парола"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -75,14 +75,14 @@ msgstr "Главна парола:"
|
|||
#: code:addons/web/static/src/xml/base.xml:274
|
||||
#, python-format
|
||||
msgid "Change Master Password"
|
||||
msgstr ""
|
||||
msgstr "Промяна на главната парола"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:491
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the database: %s ?"
|
||||
msgstr ""
|
||||
msgstr "Сигурни ли сте, че искате да изтриете база от данни: %s ?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -96,21 +96,21 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/chrome.js:537
|
||||
#, python-format
|
||||
msgid "Access Denied"
|
||||
msgstr ""
|
||||
msgstr "Достъпът е отказан"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Грешка при изпращане на данни."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:603
|
||||
#, python-format
|
||||
msgid "about an hour ago"
|
||||
msgstr ""
|
||||
msgstr "преди около час"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -119,7 +119,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:216
|
||||
#, python-format
|
||||
msgid "Backup Database"
|
||||
msgstr ""
|
||||
msgstr "Резервно копие на базата от данни"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -134,7 +134,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/dates.js:53
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid date"
|
||||
msgstr ""
|
||||
msgstr "\"%s\" не е валидна дата"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -148,20 +148,20 @@ msgstr "Преглед на файла, който не се импортира:
|
|||
#: code:addons/web/static/src/js/coresetup.js:601
|
||||
#, python-format
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
msgstr "преди около минута"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1297
|
||||
#, python-format
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Файл"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:826
|
||||
#, python-format
|
||||
msgid "You cannot leave any password empty."
|
||||
msgstr ""
|
||||
msgstr "Не може да оставите полето за парола празно."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-26 22:10+0000\n"
|
||||
"PO-Revision-Date: 2012-12-28 11:54+0000\n"
|
||||
"Last-Translator: Jan Grmela <grmela@gmail.com>\n"
|
||||
"Language-Team: openerp-i18n-czech <openerp-i18n-czech@lists.launchpad.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-27 05:53+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
|
@ -44,7 +44,7 @@ msgstr "Načítání stále probíhá...<br />Prosím čekejte."
|
|||
#: code:addons/web/static/src/js/search.js:1832
|
||||
#, python-format
|
||||
msgid "%(field)s %(operator)s \"%(value)s\""
|
||||
msgstr ""
|
||||
msgstr "%(field)s %(operator)s \"%(value)s\""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -90,7 +90,7 @@ msgstr "Opravdu chcete smazat databázi: %s?"
|
|||
#: code:addons/web/static/src/js/search.js:1398
|
||||
#, python-format
|
||||
msgid "Search %(field)s at: %(value)s"
|
||||
msgstr ""
|
||||
msgstr "Vyhledat %(field)s v: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -127,7 +127,7 @@ msgstr "Záloha databáze"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "pohledy %(view_type)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -215,6 +215,7 @@ msgstr "Naposledy změneno:"
|
|||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr ""
|
||||
"Vyhledávací pole M2O momentálně nepodporují vícenásobné výchozí hodnoty"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -356,7 +357,7 @@ msgstr "Změnit heslo"
|
|||
#: code:addons/web/static/src/js/view_form.js:3411
|
||||
#, python-format
|
||||
msgid "View type '%s' is not supported in One2Many."
|
||||
msgstr ""
|
||||
msgstr "Typ pohledu '%s' není podporován v One2Many"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -440,7 +441,7 @@ msgstr "Nahrát soubor"
|
|||
#: code:addons/web/static/src/js/view_form.js:3804
|
||||
#, python-format
|
||||
msgid "Action Button"
|
||||
msgstr ""
|
||||
msgstr "Tlačítko akce"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -483,7 +484,7 @@ msgstr "Načítání (%d)"
|
|||
#: code:addons/web/static/src/js/search.js:1114
|
||||
#, python-format
|
||||
msgid "GroupBy"
|
||||
msgstr ""
|
||||
msgstr "GroupBy"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -567,7 +568,7 @@ msgstr "Vytvořit a upravit..."
|
|||
#: code:addons/web/static/src/js/pyeval.js:731
|
||||
#, python-format
|
||||
msgid "Unknown nonliteral type "
|
||||
msgstr ""
|
||||
msgstr "Neznámý typ nonliterálu "
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -697,7 +698,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/view_form.js:1223
|
||||
#, python-format
|
||||
msgid "Field '%s' specified in view could not be found."
|
||||
msgstr ""
|
||||
msgstr "Pole '%s' specifikované v pohledu nelze nalézt."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -854,7 +855,7 @@ msgstr "Přidat"
|
|||
#: code:addons/web/static/src/xml/base.xml:536
|
||||
#, python-format
|
||||
msgid "Toggle Form Layout Outline"
|
||||
msgstr ""
|
||||
msgstr "Přepnout náčrt rozložení formuláře"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -889,7 +890,7 @@ msgstr "Předvolby"
|
|||
#: code:addons/web/static/src/js/view_form.js:436
|
||||
#, python-format
|
||||
msgid "Wrong on change format: %s"
|
||||
msgstr ""
|
||||
msgstr "Neplatný při změně formátu: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1066,7 +1067,7 @@ msgstr "/web/binary/upload_attachment"
|
|||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Changed Password"
|
||||
msgstr ""
|
||||
msgstr "Změněné heslo"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1279,7 +1280,7 @@ msgstr "Odhlásit se"
|
|||
#: code:addons/web/static/src/js/search.js:1090
|
||||
#, python-format
|
||||
msgid "Group by: %s"
|
||||
msgstr ""
|
||||
msgstr "Seskupit podle: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1782,7 +1783,7 @@ msgstr "Uložit jako:"
|
|||
#: code:addons/web/static/src/js/search.js:927
|
||||
#, python-format
|
||||
msgid "Filter on: %s"
|
||||
msgstr ""
|
||||
msgstr "Filtrovat: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1932,6 +1933,8 @@ msgid ""
|
|||
"Grouping on field '%s' is not possible because that field does not appear in "
|
||||
"the list view."
|
||||
msgstr ""
|
||||
"Seskupení podle pole '%s' není možné protože toto pole není zobrazeno v "
|
||||
"seznamu."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2022,7 +2025,7 @@ msgstr "nerovná se"
|
|||
msgid ""
|
||||
"The type of the field '%s' must be a many2many field with a relation to "
|
||||
"'ir.attachment' model."
|
||||
msgstr ""
|
||||
msgstr "Typ pole '%s' musí být many2many s relací k modelu 'ir.attachment'."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2259,7 +2262,7 @@ msgstr "'%s' není platné datum, datum/čas ani čas"
|
|||
#: code:addons/web/controllers/main.py:1264
|
||||
#, python-format
|
||||
msgid "No content found for field '%s' on '%s:%s'"
|
||||
msgstr ""
|
||||
msgstr "Žádný obsah pole '%s' nebyl nalezen v '%s:%s'"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2366,7 +2369,7 @@ msgstr "Neplatná hodnata pro pole %(fieldname)s: [%(value)s] je %(message)s"
|
|||
#: code:addons/web/static/src/js/view_form.js:3805
|
||||
#, python-format
|
||||
msgid "The o2m record must be saved before an action can be used"
|
||||
msgstr ""
|
||||
msgstr "Záznam o2m musí být uložen před tím, než je akce použita"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2450,7 +2453,7 @@ msgstr "Opravdu chcete smazat tuto přílohu?"
|
|||
#: code:addons/web/static/src/js/views.js:840
|
||||
#, python-format
|
||||
msgid "Technical Translation"
|
||||
msgstr ""
|
||||
msgstr "Technický překlad"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2471,7 +2474,7 @@ msgstr "Změněno:"
|
|||
#: code:addons/web/static/src/js/chrome.js:499
|
||||
#, python-format
|
||||
msgid "The database %s has been dropped"
|
||||
msgstr ""
|
||||
msgstr "Databáze %s byla smazána"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2536,7 +2539,7 @@ msgstr "Uložit & Zavřít"
|
|||
#: code:addons/web/static/src/js/view_form.js:2845
|
||||
#, python-format
|
||||
msgid "Search More..."
|
||||
msgstr ""
|
||||
msgstr "Vyhledat více..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2574,7 +2577,7 @@ msgstr "Vybrat datum"
|
|||
#: code:addons/web/static/src/js/search.js:1249
|
||||
#, python-format
|
||||
msgid "Search %(field)s for: %(value)s"
|
||||
msgstr ""
|
||||
msgstr "Prohledat %(field)s na výskyt: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-01-22 03:23+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
|
||||
"Language-Team: Spanish (Ecuador) <es_EC@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-12-22 07:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-23 06:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16441)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -103,7 +103,7 @@ msgstr "Acceso denegado"
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Error cargando datos"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -126,7 +126,7 @@ msgstr "Base de datos de respaldo"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "Vista %(view_type)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -270,7 +270,7 @@ msgstr "Nueva Password:"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Adjunto:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -754,7 +754,7 @@ msgstr "Guardar Como"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1023,7 +1023,7 @@ msgstr "Guardar lista de campos"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1366,7 +1366,7 @@ msgstr "La confirmación no coincide con la contraseña"
|
|||
#: code:addons/web/static/src/xml/base.xml:441
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Editar datos de la compañía"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1867,7 +1867,7 @@ msgstr "OpenERP"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:8
|
||||
#, python-format
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
msgstr "Stop"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2094,7 +2094,7 @@ msgstr "Cargar datos de demostración"
|
|||
#: code:addons/web/static/src/xml/base.xml:615
|
||||
#, python-format
|
||||
msgid "Created by :"
|
||||
msgstr ""
|
||||
msgstr "Creado por:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2475,7 +2475,7 @@ msgstr "Campo:"
|
|||
#: code:addons/web/static/src/xml/base.xml:620
|
||||
#, python-format
|
||||
msgid "Modified by :"
|
||||
msgstr ""
|
||||
msgstr "Modificado por:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-26 14:49+0000\n"
|
||||
"PO-Revision-Date: 2013-01-06 20:00+0000\n"
|
||||
"Last-Translator: Ahti Hinnov <sipelgas@gmail.com>\n"
|
||||
"Language-Team: Estonian <et@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-12-27 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-07 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16402)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2359,7 +2359,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/chrome.js:509
|
||||
#, python-format
|
||||
msgid "Backed"
|
||||
msgstr ""
|
||||
msgstr "Varundatud"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Juha Kotamäki <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-06 08:55+0000\n"
|
||||
"Last-Translator: Sligo Oy <info@sligo-oy.com>\n"
|
||||
"Language-Team: Finnish <fi@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-12-22 07:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-07 05:42+0000\n"
|
||||
"X-Generator: Launchpad (build 16477)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -29,21 +29,21 @@ msgstr "Oletuskieli:"
|
|||
#: code:addons/web/static/src/js/coresetup.js:602
|
||||
#, python-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr ""
|
||||
msgstr "%d minuuttia sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:630
|
||||
#, python-format
|
||||
msgid "Still loading...<br />Please be patient."
|
||||
msgstr ""
|
||||
msgstr "Ladataan...<br />Olkaa hyvä ja odottakaa."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:1832
|
||||
#, python-format
|
||||
msgid "%(field)s %(operator)s \"%(value)s\""
|
||||
msgstr ""
|
||||
msgstr "%(field)s %(operator)s \"%(value)s\""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -59,7 +59,7 @@ msgstr "pienempi tai yhtäsuuri kuin"
|
|||
#: code:addons/web/static/src/js/chrome.js:393
|
||||
#, python-format
|
||||
msgid "Please enter your previous password"
|
||||
msgstr ""
|
||||
msgstr "Syötä edellinen salasanasi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -75,42 +75,42 @@ msgstr "Pääsalasana:"
|
|||
#: code:addons/web/static/src/xml/base.xml:274
|
||||
#, python-format
|
||||
msgid "Change Master Password"
|
||||
msgstr ""
|
||||
msgstr "Vaihda pääsalasana"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:491
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the database: %s ?"
|
||||
msgstr ""
|
||||
msgstr "Oletko varma, että haluat poistaa tietokannan: %s ?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:1398
|
||||
#, python-format
|
||||
msgid "Search %(field)s at: %(value)s"
|
||||
msgstr ""
|
||||
msgstr "Hae %(field)s arvoista: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:537
|
||||
#, python-format
|
||||
msgid "Access Denied"
|
||||
msgstr ""
|
||||
msgstr "Pääsy evätty"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Lähetysvirhe"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:603
|
||||
#, python-format
|
||||
msgid "about an hour ago"
|
||||
msgstr ""
|
||||
msgstr "noin tunti sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -119,14 +119,14 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:216
|
||||
#, python-format
|
||||
msgid "Backup Database"
|
||||
msgstr ""
|
||||
msgstr "Varmuuskopioi tietokanta"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "%(view_type)s näkymä"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -134,7 +134,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/dates.js:53
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid date"
|
||||
msgstr ""
|
||||
msgstr "\"%s\" ei ole kelvollinen päivämäärä"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -148,20 +148,20 @@ msgstr "Tässä on näyte tiedostosta jota ei voitu tuoda:"
|
|||
#: code:addons/web/static/src/js/coresetup.js:601
|
||||
#, python-format
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
msgstr "noin minuutti sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1297
|
||||
#, python-format
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Tiedosto"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:826
|
||||
#, python-format
|
||||
msgid "You cannot leave any password empty."
|
||||
msgstr ""
|
||||
msgstr "Et voi jättää salasanaa tyhjäksi."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -192,7 +192,7 @@ msgstr "Valitse"
|
|||
#: code:addons/web/static/src/js/chrome.js:549
|
||||
#, python-format
|
||||
msgid "Database restored successfully"
|
||||
msgstr "Tietokanta palautettu onnistuneesti"
|
||||
msgstr "Tietokanta palautettu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -213,21 +213,21 @@ msgstr "Viimeisin muutospäivämäärä:"
|
|||
#: code:addons/web/static/src/js/search.js:1459
|
||||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr ""
|
||||
msgstr "Monesta yhteen hakukentät eivät salli useita oletusarvoja."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:1227
|
||||
#, python-format
|
||||
msgid "Widget type '%s' is not implemented"
|
||||
msgstr ""
|
||||
msgstr "Pienohjelman tyyppiä '%s' ei ole asennettu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1608
|
||||
#, python-format
|
||||
msgid "Share with all users"
|
||||
msgstr ""
|
||||
msgstr "Jaa kaikkien käyttäjien kanssa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -242,14 +242,14 @@ msgstr "Lomake"
|
|||
#: code:addons/web/static/src/xml/base.xml:1324
|
||||
#, python-format
|
||||
msgid "(no string)"
|
||||
msgstr ""
|
||||
msgstr "(ei merkkijonoa)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/formats.js:282
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct time"
|
||||
msgstr ""
|
||||
msgstr "'%s' on virheellinen aika"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -270,7 +270,7 @@ msgstr "Uusi salasana:"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Liite:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -291,49 +291,49 @@ msgstr "Määrittämätön"
|
|||
#: code:addons/web/static/src/js/view_form.js:4871
|
||||
#, python-format
|
||||
msgid "File Upload"
|
||||
msgstr ""
|
||||
msgstr "Tiedoston lähetys"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:607
|
||||
#, python-format
|
||||
msgid "about a month ago"
|
||||
msgstr ""
|
||||
msgstr "noin kuukausi sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1600
|
||||
#, python-format
|
||||
msgid "Custom Filters"
|
||||
msgstr ""
|
||||
msgstr "Muokattavat suodattimet"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1336
|
||||
#, python-format
|
||||
msgid "Button Type:"
|
||||
msgstr "Napin tyyppi:"
|
||||
msgstr "Painiketyyppi:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:419
|
||||
#, python-format
|
||||
msgid "OpenERP SA Company"
|
||||
msgstr ""
|
||||
msgstr "OpenERP SA yritys"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:1553
|
||||
#, python-format
|
||||
msgid "Custom Filter"
|
||||
msgstr ""
|
||||
msgstr "Mukautettu suodatin"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:159
|
||||
#, python-format
|
||||
msgid "Duplicate Database"
|
||||
msgstr ""
|
||||
msgstr "Kopioi tietokanta"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -355,7 +355,7 @@ msgstr "Vaihda salasana"
|
|||
#: code:addons/web/static/src/js/view_form.js:3411
|
||||
#, python-format
|
||||
msgid "View type '%s' is not supported in One2Many."
|
||||
msgstr ""
|
||||
msgstr "Näkymätyyppiä '%s' ei tueta yhdestä moneen kentissä."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -370,7 +370,7 @@ msgstr "Lataa"
|
|||
#: code:addons/web/static/src/js/formats.js:266
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' on virheellinen päivämäärä"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -398,20 +398,20 @@ msgstr "Valinta:"
|
|||
#: code:addons/web/static/src/js/view_form.js:871
|
||||
#, python-format
|
||||
msgid "The following fields are invalid:"
|
||||
msgstr ""
|
||||
msgstr "Seuraavat kentät ovat virheellisiä:"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:847
|
||||
#, python-format
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
msgstr "Kielet"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1270
|
||||
#, python-format
|
||||
msgid "...Upload in progress..."
|
||||
msgstr ""
|
||||
msgstr "...lähetys käynnissä..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -425,21 +425,21 @@ msgstr "Tuo"
|
|||
#: code:addons/web/static/src/js/chrome.js:543
|
||||
#, python-format
|
||||
msgid "Could not restore the database"
|
||||
msgstr ""
|
||||
msgstr "Tietokantaa ei voitu palauttaa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:4851
|
||||
#, python-format
|
||||
msgid "File upload"
|
||||
msgstr ""
|
||||
msgstr "Tiedoston lähetys"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:3804
|
||||
#, python-format
|
||||
msgid "Action Button"
|
||||
msgstr ""
|
||||
msgstr "Toimintopainike"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -447,7 +447,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:1467
|
||||
#, python-format
|
||||
msgid "Manage Filters"
|
||||
msgstr "Hallitse Suotimia"
|
||||
msgstr "Hallitse suodattimia"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -461,14 +461,14 @@ msgstr "sisältää"
|
|||
#: code:addons/web/static/src/js/coresetup.js:633
|
||||
#, python-format
|
||||
msgid "Take a minute to get a coffee,<br />because it's loading..."
|
||||
msgstr ""
|
||||
msgstr "Käy vaikka kahvilla,<br />koska tämä lataus kestää hetken..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:413
|
||||
#, python-format
|
||||
msgid "Activate the developer mode"
|
||||
msgstr ""
|
||||
msgstr "Aktivoi kehittäjätila"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -482,14 +482,14 @@ msgstr "Ladataan (%d)"
|
|||
#: code:addons/web/static/src/js/search.js:1114
|
||||
#, python-format
|
||||
msgid "GroupBy"
|
||||
msgstr ""
|
||||
msgstr "Järjestä"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list.js:687
|
||||
#, python-format
|
||||
msgid "You must select at least one record."
|
||||
msgstr ""
|
||||
msgstr "Sinun täytyy valita vähintään yksi tietue."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -503,7 +503,7 @@ msgstr "Näytä loki (perm_read)"
|
|||
#: code:addons/web/static/src/js/view_form.js:1061
|
||||
#, python-format
|
||||
msgid "Set Default"
|
||||
msgstr "Aseta Oletukseksi"
|
||||
msgstr "Aseta oletukseksi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -517,7 +517,7 @@ msgstr "Suhde:"
|
|||
#: code:addons/web/static/src/js/coresetup.js:600
|
||||
#, python-format
|
||||
msgid "less than a minute ago"
|
||||
msgstr ""
|
||||
msgstr "alle minuutti sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -552,14 +552,14 @@ msgstr "Palautettu"
|
|||
#: code:addons/web/static/src/js/view_list.js:394
|
||||
#, python-format
|
||||
msgid "%d-%d of %d"
|
||||
msgstr ""
|
||||
msgstr "%d-%d %d :sta"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:2868
|
||||
#, python-format
|
||||
msgid "Create and Edit..."
|
||||
msgstr ""
|
||||
msgstr "Luo ja muokkaa..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -573,7 +573,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/view_form.js:2346
|
||||
#, python-format
|
||||
msgid "Resource error"
|
||||
msgstr ""
|
||||
msgstr "Resurssivirhe"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -587,21 +587,21 @@ msgstr "ei ole"
|
|||
#: code:addons/web/static/src/xml/base.xml:550
|
||||
#, python-format
|
||||
msgid "Print Workflow"
|
||||
msgstr ""
|
||||
msgstr "Tulosta työnkulku"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:396
|
||||
#, python-format
|
||||
msgid "Please confirm your new password"
|
||||
msgstr ""
|
||||
msgstr "Vahvista uusi salasanasi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1804
|
||||
#, python-format
|
||||
msgid "UTF-8"
|
||||
msgstr ""
|
||||
msgstr "UTF-8"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -674,7 +674,7 @@ msgstr "Näkymä"
|
|||
#: code:addons/web/static/src/xml/base.xml:1466
|
||||
#, python-format
|
||||
msgid "Save Filter"
|
||||
msgstr "Tallenna suodin"
|
||||
msgstr "Tallenna suodatin"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -689,13 +689,14 @@ msgstr "Toiminnon ID:"
|
|||
#, python-format
|
||||
msgid "Your user's preference timezone does not match your browser timezone:"
|
||||
msgstr ""
|
||||
"Käyttäjätietojesi aikavyöhyke ei täsmää selaimesi aikavyöhykkeen kanssa:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:1223
|
||||
#, python-format
|
||||
msgid "Field '%s' specified in view could not be found."
|
||||
msgstr ""
|
||||
msgstr "Näkymässä määriteltyä kenttää '%s' ei löytynyt."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -716,21 +717,21 @@ msgstr "Vanha salasana:"
|
|||
#: code:addons/web/static/src/js/formats.js:113
|
||||
#, python-format
|
||||
msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
msgstr ""
|
||||
msgstr "bittiä,kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "The database has been duplicated."
|
||||
msgstr ""
|
||||
msgstr "Tietokanta on kopioitu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1625
|
||||
#, python-format
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Käytä"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -752,21 +753,21 @@ msgstr "Tallenna nimellä"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:2317
|
||||
#, python-format
|
||||
msgid "E-mail error"
|
||||
msgstr ""
|
||||
msgstr "Sähköpostivirhe"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:605
|
||||
#, python-format
|
||||
msgid "a day ago"
|
||||
msgstr ""
|
||||
msgstr "päivä sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -780,7 +781,7 @@ msgstr "Onko tiedostossasi otsikot?"
|
|||
#: code:addons/web/static/src/js/view_list.js:327
|
||||
#, python-format
|
||||
msgid "Unlimited"
|
||||
msgstr "Ei rajoitettu"
|
||||
msgstr "Rajoittamaton"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -791,6 +792,9 @@ msgid ""
|
|||
"\n"
|
||||
"Are you sure you want to leave this page ?"
|
||||
msgstr ""
|
||||
"Varoitus, tietuetta on muokattu ja tekemäsi muutokset hylätään.\n"
|
||||
"\n"
|
||||
"Haluatko varmasti poistua tältä sivulta ?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -818,14 +822,14 @@ msgstr "Rajoitin:"
|
|||
#: code:addons/web/static/src/xml/base.xml:462
|
||||
#, python-format
|
||||
msgid "Browser's timezone"
|
||||
msgstr ""
|
||||
msgstr "Selaimen aikavyhöhyke"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1605
|
||||
#, python-format
|
||||
msgid "Filter name"
|
||||
msgstr ""
|
||||
msgstr "Suodattimen nimi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -856,7 +860,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:421
|
||||
#, python-format
|
||||
msgid "OpenERP.com"
|
||||
msgstr ""
|
||||
msgstr "OpenERP.com"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -870,7 +874,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:636
|
||||
#, python-format
|
||||
msgid "Add..."
|
||||
msgstr ""
|
||||
msgstr "Lisää..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -945,14 +949,14 @@ msgstr "Käyttäjänimi"
|
|||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "Duplicating database"
|
||||
msgstr ""
|
||||
msgstr "Tietokantaa kopioidaan"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Password has been changed successfully"
|
||||
msgstr ""
|
||||
msgstr "Salasana vaihdettu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -966,7 +970,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:533
|
||||
#, python-format
|
||||
msgid "Debug View#"
|
||||
msgstr ""
|
||||
msgstr "Kehitysnäkymä#"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1014,7 +1018,7 @@ msgstr "Tallenna kenttäluettelo"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
msgstr "Aloita"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1035,14 +1039,14 @@ msgstr "Luontipäivämäärä:"
|
|||
#: code:addons/web/controllers/main.py:835
|
||||
#, python-format
|
||||
msgid "Error, password not changed !"
|
||||
msgstr ""
|
||||
msgstr "Virhe, salasanaa ei muutettu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:4850
|
||||
#, python-format
|
||||
msgid "The selected file exceed the maximum file size of %s."
|
||||
msgstr ""
|
||||
msgstr "Tiedoston suurin sallittu koko %s ylitetty."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1050,14 +1054,14 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:1300
|
||||
#, python-format
|
||||
msgid "/web/binary/upload_attachment"
|
||||
msgstr ""
|
||||
msgstr "/web/binary/upload_attachment"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Changed Password"
|
||||
msgstr ""
|
||||
msgstr "Salasana vaihdettu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1091,14 +1095,14 @@ msgstr "Varmuuskopioi"
|
|||
#: code:addons/web/static/src/js/dates.js:80
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid time"
|
||||
msgstr ""
|
||||
msgstr "\"%s\" ei ole kelvollinen aika"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/formats.js:274
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct date"
|
||||
msgstr ""
|
||||
msgstr "'%s' ei ole kelvollinen päivämäärä"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1112,14 +1116,14 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/coresetup.js:606
|
||||
#, python-format
|
||||
msgid "%d days ago"
|
||||
msgstr ""
|
||||
msgstr "%d päivää sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1474
|
||||
#, python-format
|
||||
msgid "(Any existing filter with the same name will be replaced)"
|
||||
msgstr "(jo olemassaoleva samanniminen suodin korvataan)"
|
||||
msgstr ""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1166,7 +1170,7 @@ msgstr "Tuntematon operaattori %s toimialueella %s"
|
|||
#: code:addons/web/static/src/js/view_form.js:428
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr ""
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1196,7 +1200,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/coresetup.js:608
|
||||
#, python-format
|
||||
msgid "%d months ago"
|
||||
msgstr ""
|
||||
msgstr "%d kuukautta sitten"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1217,7 +1221,7 @@ msgstr "Lisää kehittynyt suodin"
|
|||
#: code:addons/web/controllers/main.py:828
|
||||
#, python-format
|
||||
msgid "The new password and its confirmation must be identical."
|
||||
msgstr ""
|
||||
msgstr "Uusi salasana sekä vahvistus tulee olla samat."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1225,14 +1229,14 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:248
|
||||
#, python-format
|
||||
msgid "Restore Database"
|
||||
msgstr ""
|
||||
msgstr "Palauta tietokanta"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:644
|
||||
#, python-format
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Kirjaudu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1346,28 +1350,28 @@ msgstr "%(page)d/%(page_count)d"
|
|||
#: code:addons/web/static/src/js/chrome.js:397
|
||||
#, python-format
|
||||
msgid "The confirmation does not match the password"
|
||||
msgstr ""
|
||||
msgstr "Salasanan vahvistus ei täsmää salasanan kanssa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:441
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Muokkaa yrityksen tietoja"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:4886
|
||||
#, python-format
|
||||
msgid "Save As..."
|
||||
msgstr ""
|
||||
msgstr "Tallenna nimellä..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:5007
|
||||
#, python-format
|
||||
msgid "Could not display the selected image."
|
||||
msgstr ""
|
||||
msgstr "Valittua kuvaa ei voitu näyttää."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1390,7 +1394,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:394
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1404,14 +1408,14 @@ msgstr "1. Tuo .CSV tiedosto"
|
|||
#: code:addons/web/static/src/js/chrome.js:644
|
||||
#, python-format
|
||||
msgid "No database selected !"
|
||||
msgstr ""
|
||||
msgstr "Tietokantaa ei valittu !"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/formats.js:180
|
||||
#, python-format
|
||||
msgid "(%d records)"
|
||||
msgstr ""
|
||||
msgstr "(%d tietuetta)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1425,7 +1429,7 @@ msgstr "Vaihda oletusarvo:"
|
|||
#: code:addons/web/static/src/xml/base.xml:171
|
||||
#, python-format
|
||||
msgid "Original database name:"
|
||||
msgstr ""
|
||||
msgstr "Alkuperäinen tietokannan nimi:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1449,7 +1453,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:1619
|
||||
#, python-format
|
||||
msgid "Advanced Search"
|
||||
msgstr ""
|
||||
msgstr "Tarkennettu haku"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1496,7 +1500,7 @@ msgstr "Tuonnin valinnat"
|
|||
#: code:addons/web/static/src/js/view_form.js:2936
|
||||
#, python-format
|
||||
msgid "Add %s"
|
||||
msgstr ""
|
||||
msgstr "Lisää %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1534,7 +1538,7 @@ msgstr "CSV tiedosto:"
|
|||
#: code:addons/web/static/src/js/search.js:1741
|
||||
#, python-format
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
msgstr "Lisäasetukset"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 07:02+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2013-01-09 15:30+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"Language-Team: French <fr@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-12-23 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-10 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16412)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -103,7 +103,7 @@ msgstr "Accès refusé"
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Erreur de transmission"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -126,7 +126,7 @@ msgstr "Sauvegarde de la base de données"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "vue %(view_type)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -272,7 +272,7 @@ msgstr "Nouveau mot de passe :"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Pièce jointe :"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -757,7 +757,7 @@ msgstr "Enregistrer sous"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -941,7 +941,7 @@ msgstr "Enregistrer"
|
|||
#: code:addons/web/static/src/xml/base.xml:352
|
||||
#, python-format
|
||||
msgid "More"
|
||||
msgstr "Plus"
|
||||
msgstr "Autres options"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1028,7 +1028,7 @@ msgstr "Enregistrer la liste des champs"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
msgstr "Démarrer"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1372,7 +1372,7 @@ msgstr "La confirmation ne correspond pas au mot de passe"
|
|||
#: code:addons/web/static/src/xml/base.xml:441
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Modifier les données de la société"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1621,7 +1621,7 @@ msgstr "Suppression de la base de données"
|
|||
#: code:addons/web/static/src/xml/base.xml:445
|
||||
#, python-format
|
||||
msgid "Powered by"
|
||||
msgstr "Propulsé par"
|
||||
msgstr "Fourni par"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1873,7 +1873,7 @@ msgstr "OpenERP"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:8
|
||||
#, python-format
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
msgstr "Arrêter"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2100,7 +2100,7 @@ msgstr "Charger les données de démonstration:"
|
|||
#: code:addons/web/static/src/xml/base.xml:615
|
||||
#, python-format
|
||||
msgid "Created by :"
|
||||
msgstr ""
|
||||
msgstr "Créé par :"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2482,7 +2482,7 @@ msgstr "Champ :"
|
|||
#: code:addons/web/static/src/xml/base.xml:620
|
||||
#, python-format
|
||||
msgid "Modified by :"
|
||||
msgstr ""
|
||||
msgstr "Modifié par :"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-27 09:12+0000\n"
|
||||
"PO-Revision-Date: 2013-02-12 13:23+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\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-12-28 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-13 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -103,7 +103,7 @@ msgstr "Hozzáférés megtagadva"
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr "Feltültési hiba"
|
||||
msgstr "Feltöltési hiba"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-23 23:17+0000\n"
|
||||
"PO-Revision-Date: 2013-01-02 23:44+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\n"
|
||||
"Language-Team: Italian <it@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-12-25 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-04 05:28+0000\n"
|
||||
"X-Generator: Launchpad (build 16393)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -75,7 +75,7 @@ msgstr "Password principale"
|
|||
#: code:addons/web/static/src/xml/base.xml:274
|
||||
#, python-format
|
||||
msgid "Change Master Password"
|
||||
msgstr "Cambia Master Password"
|
||||
msgstr "Cambia la Password principale"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-25 02:31+0000\n"
|
||||
"Last-Translator: gobi <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-07 09:58+0000\n"
|
||||
"Last-Translator: Tenuun Khangaitan <tenuun.khangaitan@gmail.com>\n"
|
||||
"Language-Team: Mongolian <mn@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-12-26 05:18+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-08 05:24+0000\n"
|
||||
"X-Generator: Launchpad (build 16482)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -477,7 +477,7 @@ msgstr "Хөгжүүлэгч горимыг идэвхжүүлэх"
|
|||
#: code:addons/web/static/src/js/chrome.js:324
|
||||
#, python-format
|
||||
msgid "Loading (%d)"
|
||||
msgstr "Ачаалж байна (%d)"
|
||||
msgstr "Ачааллаж байна (%d)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1146,7 +1146,7 @@ msgstr "Цуцлах"
|
|||
#: code:addons/web/static/src/xml/base.xml:9
|
||||
#, python-format
|
||||
msgid "Loading..."
|
||||
msgstr "Ачаалж байна..."
|
||||
msgstr "Ачааллаж байна..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 07:31+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2013-02-23 17:55+0000\n"
|
||||
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
|
||||
"Language-Team: Dutch <nl@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-12-23 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-24 05:13+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -68,7 +68,7 @@ msgstr "Geef uw vorige wachtwoord in"
|
|||
#: code:addons/web/static/src/xml/base.xml:282
|
||||
#, python-format
|
||||
msgid "Master password:"
|
||||
msgstr "Master wachtwoord:"
|
||||
msgstr "Hoofdwachtwoord:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -103,7 +103,7 @@ msgstr "Toegang geweigerd"
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr "Uploading fottmelding"
|
||||
msgstr "Fout bij uploaden"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -126,7 +126,7 @@ msgstr "Back-up database"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr "%(view_type)s were gave"
|
||||
msgstr "%(view_type)s weergave"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -177,7 +177,7 @@ msgstr "Ongeldige gebruikersnaam of wachtwoord"
|
|||
#: code:addons/web/static/src/xml/base.xml:260
|
||||
#, python-format
|
||||
msgid "Master Password:"
|
||||
msgstr "Master wachtwoord:"
|
||||
msgstr "Hoofdwachtwoord"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -185,7 +185,7 @@ msgstr "Master wachtwoord:"
|
|||
#: code:addons/web/static/src/xml/base.xml:1374
|
||||
#, python-format
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
msgstr "Kies"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -333,7 +333,7 @@ msgstr "Aangepaste Filter"
|
|||
#: code:addons/web/static/src/xml/base.xml:159
|
||||
#, python-format
|
||||
msgid "Duplicate Database"
|
||||
msgstr "Dupliceer Database"
|
||||
msgstr "Dupliceer database"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -348,7 +348,7 @@ msgstr "Dupliceer Database"
|
|||
#: code:addons/web/static/src/xml/base.xml:336
|
||||
#, python-format
|
||||
msgid "Change Password"
|
||||
msgstr "Wachtwoord wijzigen"
|
||||
msgstr "Wijzig wachtwoord"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -629,7 +629,7 @@ msgstr "Export Formaten"
|
|||
#: code:addons/web/static/src/xml/base.xml:974
|
||||
#, python-format
|
||||
msgid "On change:"
|
||||
msgstr "On change:"
|
||||
msgstr "Bij wijziging"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -794,10 +794,9 @@ msgid ""
|
|||
"\n"
|
||||
"Are you sure you want to leave this page ?"
|
||||
msgstr ""
|
||||
"Opgelet, het record werd aangepast, uw wijzigingen willen verloren gaan.<br "
|
||||
"/>\n"
|
||||
"<br />\n"
|
||||
"Bent u zeker dat u deze pagina wenst te verlaten?"
|
||||
"Opgelet, het record is aangepast, uw wijzigingen zullen verloren gaan.\n"
|
||||
"\n"
|
||||
"Weet u zeker dat u deze pagina wilt verlaten?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -899,7 +898,7 @@ msgstr "Fout bij het wijzigen van het formaat: %s"
|
|||
#: code:addons/web/static/src/xml/base.xml:185
|
||||
#, python-format
|
||||
msgid "Drop Database"
|
||||
msgstr "Verwijder Database"
|
||||
msgstr "Verwijder database"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1095,7 +1094,7 @@ msgstr "Open: "
|
|||
#: code:addons/web/static/src/xml/base.xml:309
|
||||
#, python-format
|
||||
msgid "Backup"
|
||||
msgstr "Backup"
|
||||
msgstr "Back-up"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1319,7 +1318,7 @@ msgstr "U moet tenminste één record kiezen."
|
|||
#: code:addons/web/static/src/js/coresetup.js:631
|
||||
#, python-format
|
||||
msgid "Don't leave yet,<br />it's still loading..."
|
||||
msgstr "Nog niet weggaan,<br />het is nog steeds aan het laden..."
|
||||
msgstr "Nog niet weggaan,<br />het systeem is nog steeds aan het laden..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1389,7 +1388,7 @@ msgstr "Kan de geselecteerde afbeelding niet tonen."
|
|||
#: code:addons/web/static/src/js/chrome.js:509
|
||||
#, python-format
|
||||
msgid "Database backed up successfully"
|
||||
msgstr "Database succesvol gebackupped"
|
||||
msgstr "Database back-up succesvol"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1442,7 +1441,7 @@ msgstr "Wijzig standaard"
|
|||
#: code:addons/web/static/src/xml/base.xml:171
|
||||
#, python-format
|
||||
msgid "Original database name:"
|
||||
msgstr "Originele Database naam:"
|
||||
msgstr "Originele database naam:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1473,7 +1472,7 @@ msgstr "Geavanceerd zoeken"
|
|||
#: code:addons/web/static/src/xml/base.xml:290
|
||||
#, python-format
|
||||
msgid "Confirm new master password:"
|
||||
msgstr "Bevestig nieuw master wachtwoord:"
|
||||
msgstr "Bevestig nieuw hoofdwachtwoord:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1811,7 +1810,7 @@ msgstr "Weergeven velden"
|
|||
#: code:addons/web/static/src/xml/base.xml:330
|
||||
#, python-format
|
||||
msgid "Confirm New Password:"
|
||||
msgstr "Bevestig nieuw wachtwoord"
|
||||
msgstr "Bevestig nieuw wachtwoord:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2243,7 +2242,7 @@ msgstr "Selecteer velden voor export"
|
|||
#: code:addons/web/static/src/xml/base.xml:286
|
||||
#, python-format
|
||||
msgid "New master password:"
|
||||
msgstr "Nieuw master wachtwoord:"
|
||||
msgstr "Nieuw hoofdwachtwoord:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2277,7 +2276,7 @@ msgstr "Geen inhoud gevonden voor veld '%s' bij '%s:%s'"
|
|||
#: code:addons/web/static/src/xml/base.xml:304
|
||||
#, python-format
|
||||
msgid "Database Management"
|
||||
msgstr "Database Beheer"
|
||||
msgstr "Database beheer"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2291,7 +2290,7 @@ msgstr "Afbeelding"
|
|||
#: code:addons/web/static/src/xml/base.xml:81
|
||||
#, python-format
|
||||
msgid "Manage Databases"
|
||||
msgstr "Beheer administraties"
|
||||
msgstr "Beheer databases"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2623,7 +2622,7 @@ msgstr "Scheidingsteken:"
|
|||
#: code:addons/web/static/src/xml/base.xml:300
|
||||
#, python-format
|
||||
msgid "Back to Login"
|
||||
msgstr "Terug naar aanmelding"
|
||||
msgstr "Terug naar login"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2013-01-07 15:44+0000\n"
|
||||
"Last-Translator: Niels Huylebroeck <Unknown>\n"
|
||||
"Language-Team: Dutch (Belgium) <nl_BE@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-12-22 07:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-08 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16402)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -103,7 +103,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Fout bij het uploaden"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -126,7 +126,7 @@ msgstr "Database back-uppen"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "%(view_type)s weergave"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -134,7 +134,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/dates.js:53
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid date"
|
||||
msgstr ""
|
||||
msgstr "'%s' is geen geldige datum"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -155,20 +155,20 @@ msgstr "ongeveer 1 minuut geleden"
|
|||
#: code:addons/web/static/src/xml/base.xml:1297
|
||||
#, python-format
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Bestand"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:826
|
||||
#, python-format
|
||||
msgid "You cannot leave any password empty."
|
||||
msgstr ""
|
||||
msgstr "U moet beide wachtwoord velden verplicht invullen."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:680
|
||||
#, python-format
|
||||
msgid "Invalid username or password"
|
||||
msgstr ""
|
||||
msgstr "Ongeldige gebruikersnaam of wachtwoord"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -220,7 +220,7 @@ msgstr "M2O-zoekvelden kunnen meerdere standaardwaarden momenteel niet aan"
|
|||
#: code:addons/web/static/src/js/view_form.js:1227
|
||||
#, python-format
|
||||
msgid "Widget type '%s' is not implemented"
|
||||
msgstr ""
|
||||
msgstr "Widget type '%s' is niet geïmplementeerd"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -270,7 +270,7 @@ msgstr "Nieuw wachtwoord:"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Bijlage:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -291,7 +291,7 @@ msgstr "Onbepaald"
|
|||
#: code:addons/web/static/src/js/view_form.js:4871
|
||||
#, python-format
|
||||
msgid "File Upload"
|
||||
msgstr ""
|
||||
msgstr "Bestand upload"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -404,7 +404,7 @@ msgstr ""
|
|||
#: code:addons/web/controllers/main.py:847
|
||||
#, python-format
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
msgstr "Talen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -553,7 +553,7 @@ msgstr "Teruggezet"
|
|||
#: code:addons/web/static/src/js/view_list.js:394
|
||||
#, python-format
|
||||
msgid "%d-%d of %d"
|
||||
msgstr ""
|
||||
msgstr "%d-%d van %d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -651,7 +651,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/view_list.js:8
|
||||
#, python-format
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
msgstr "Lijst"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -696,7 +696,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/view_form.js:1223
|
||||
#, python-format
|
||||
msgid "Field '%s' specified in view could not be found."
|
||||
msgstr ""
|
||||
msgstr "Veld '%s' in weergave kon niet worden gevonden."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -717,21 +717,21 @@ msgstr "Huidig wachtwoord:"
|
|||
#: code:addons/web/static/src/js/formats.js:113
|
||||
#, python-format
|
||||
msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
msgstr ""
|
||||
msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "The database has been duplicated."
|
||||
msgstr ""
|
||||
msgstr "De database is gekopieërd."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1625
|
||||
#, python-format
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Toepassen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -753,14 +753,14 @@ msgstr "Opslaan als"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:2317
|
||||
#, python-format
|
||||
msgid "E-mail error"
|
||||
msgstr ""
|
||||
msgstr "E-mail fout"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"PO-Revision-Date: 2012-12-30 20:11+0000\n"
|
||||
"Last-Translator: Rafał Perczyński <rafal@pery.com.pl>\n"
|
||||
"Language-Team: Polish <pl@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-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-31 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web
|
||||
|
@ -103,7 +103,7 @@ msgstr "Odmowa dostępu"
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Błąd uploadu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -271,7 +271,7 @@ msgstr "Nowe hasło:"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Załącznik:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -602,7 +602,7 @@ msgstr "Potwierdź nowe hasło"
|
|||
#: code:addons/web/static/src/xml/base.xml:1804
|
||||
#, python-format
|
||||
msgid "UTF-8"
|
||||
msgstr ""
|
||||
msgstr "UTF-8"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -754,7 +754,7 @@ msgstr "Zapisz jako"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1361,7 +1361,7 @@ msgstr "Hasła się nie zgadzają"
|
|||
#: code:addons/web/static/src/xml/base.xml:441
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Zmień dane Firmy"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1564,7 +1564,7 @@ msgstr "Nie mozna usunąć bazy !"
|
|||
#: code:addons/web/static/src/js/formats.js:227
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct integer"
|
||||
msgstr ""
|
||||
msgstr "'%s' nie jest poprawną wartością \"integer\""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1852,14 +1852,14 @@ msgstr "Domyślne:"
|
|||
#: code:addons/web/static/src/xml/base.xml:446
|
||||
#, python-format
|
||||
msgid "OpenERP"
|
||||
msgstr ""
|
||||
msgstr "OpenERP"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:8
|
||||
#, python-format
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
msgstr "Zatrzymaj"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2063,7 +2063,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:1752
|
||||
#, python-format
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
msgstr "OK"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 07:29+0000\n"
|
||||
"Last-Translator: Virgílio Oliveira <virgilio.oliveira@multibase.pt>\n"
|
||||
"PO-Revision-Date: 2013-01-15 10:10+0000\n"
|
||||
"Last-Translator: António Sequeira <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@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-12-23 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-16 05:53+0000\n"
|
||||
"X-Generator: Launchpad (build 16420)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -43,7 +43,7 @@ msgstr "Carregando...<br />Por favor, aguarde."
|
|||
#: code:addons/web/static/src/js/search.js:1832
|
||||
#, python-format
|
||||
msgid "%(field)s %(operator)s \"%(value)s\""
|
||||
msgstr ""
|
||||
msgstr "%(field)s %(operator)s \"%(value)s\""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -89,7 +89,7 @@ msgstr "Quer mesmo apagar a base de dados: %s?"
|
|||
#: code:addons/web/static/src/js/search.js:1398
|
||||
#, python-format
|
||||
msgid "Search %(field)s at: %(value)s"
|
||||
msgstr ""
|
||||
msgstr "Procurar %(field)s em: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -103,7 +103,7 @@ msgstr "Acesso negado"
|
|||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Erro de carregamento"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -126,7 +126,7 @@ msgstr "Fazer cópia de segurança da base de dados"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "Vista de %(view_type)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -192,7 +192,7 @@ msgstr "Selecionar"
|
|||
#: code:addons/web/static/src/js/chrome.js:549
|
||||
#, python-format
|
||||
msgid "Database restored successfully"
|
||||
msgstr ""
|
||||
msgstr "Base de dados restaurada com êxito"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -214,6 +214,8 @@ msgstr "Data da modificação mais recente:"
|
|||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr ""
|
||||
"Os campos de pesquisa do tipo \"muitos para vários\" não permitem - por "
|
||||
"enquanto -, lidar com diversos valores predefinidos."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -270,7 +272,7 @@ msgstr "Nova senha:"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Anexo:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -719,7 +721,7 @@ msgstr "Senha antiga"
|
|||
#: code:addons/web/static/src/js/formats.js:113
|
||||
#, python-format
|
||||
msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
msgstr ""
|
||||
msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -755,7 +757,7 @@ msgstr "Guardar como"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -855,7 +857,7 @@ msgstr "Acrescentar"
|
|||
#: code:addons/web/static/src/xml/base.xml:536
|
||||
#, python-format
|
||||
msgid "Toggle Form Layout Outline"
|
||||
msgstr ""
|
||||
msgstr "Alternar aspeto do formulário"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1024,7 +1026,7 @@ msgstr "Gravar lista de campos"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
msgstr "Iniciar"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1367,7 +1369,7 @@ msgstr "A confirmação não coincide com a senha"
|
|||
#: code:addons/web/static/src/xml/base.xml:441
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Editar dados da empresa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1866,7 +1868,7 @@ msgstr "OpenERP"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:8
|
||||
#, python-format
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
msgstr "Parar"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1936,6 +1938,8 @@ msgid ""
|
|||
"Grouping on field '%s' is not possible because that field does not appear in "
|
||||
"the list view."
|
||||
msgstr ""
|
||||
"Não é possível usar o campo '%s' para agrupamento porque este não aparece na "
|
||||
"vista de listagem."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2027,6 +2031,8 @@ msgid ""
|
|||
"The type of the field '%s' must be a many2many field with a relation to "
|
||||
"'ir.attachment' model."
|
||||
msgstr ""
|
||||
"O campo '%s' precisa de ser do tipo muitos para muitos com uma relação com o "
|
||||
"modelo 'ir.attachment'."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2089,7 +2095,7 @@ msgstr "Carregar dados de demonstração"
|
|||
#: code:addons/web/static/src/xml/base.xml:615
|
||||
#, python-format
|
||||
msgid "Created by :"
|
||||
msgstr ""
|
||||
msgstr "Criado por:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2184,7 +2190,7 @@ msgstr "Novo"
|
|||
#: code:addons/web/static/src/js/view_list.js:1767
|
||||
#, python-format
|
||||
msgid "Can't convert value %s to context"
|
||||
msgstr ""
|
||||
msgstr "Não é possível converter o valor %s dentro para contexto"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2265,7 +2271,7 @@ msgstr ""
|
|||
#: code:addons/web/controllers/main.py:1264
|
||||
#, python-format
|
||||
msgid "No content found for field '%s' on '%s:%s'"
|
||||
msgstr ""
|
||||
msgstr "Nenhum conteúdo encontrado para o campo '%s' em '%s:%s'"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2373,7 +2379,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/view_form.js:3805
|
||||
#, python-format
|
||||
msgid "The o2m record must be saved before an action can be used"
|
||||
msgstr ""
|
||||
msgstr "O registo o2m precisa ser gravado antes de ser usado por uma ação"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2415,7 +2421,7 @@ msgstr "Filtro"
|
|||
#: code:addons/web/static/src/xml/base.xml:950
|
||||
#, python-format
|
||||
msgid "Widget:"
|
||||
msgstr ""
|
||||
msgstr "Componente:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2471,7 +2477,7 @@ msgstr "Campo:"
|
|||
#: code:addons/web/static/src/xml/base.xml:620
|
||||
#, python-format
|
||||
msgid "Modified by :"
|
||||
msgstr ""
|
||||
msgstr "Modificado por:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,15 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 07:29+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\n"
|
||||
"PO-Revision-Date: 2013-02-26 09:39+0000\n"
|
||||
"Last-Translator: Rui Andrada <shingonoide@gmail.com>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@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-12-23 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -83,14 +82,14 @@ msgstr "Alterar Senha Super Admin"
|
|||
#: code:addons/web/static/src/js/chrome.js:491
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the database: %s ?"
|
||||
msgstr "Você realmente deseja excluir a base de dados: %s ?"
|
||||
msgstr "Você realmente que remover o banco de dados: %s ?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:1398
|
||||
#, python-format
|
||||
msgid "Search %(field)s at: %(value)s"
|
||||
msgstr "Procurar %(field)s em: %(value)s"
|
||||
msgstr "Buscar %(field)s por: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -120,14 +119,14 @@ msgstr "por volta de uma hora atrás"
|
|||
#: code:addons/web/static/src/xml/base.xml:216
|
||||
#, python-format
|
||||
msgid "Backup Database"
|
||||
msgstr "Cópia de segurança da base de dados"
|
||||
msgstr "Cópia de Segurança do Banco de Dados"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr "%(view_type)s view"
|
||||
msgstr "Visualização %(view_type)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -214,7 +213,7 @@ msgstr "Data da Última Modificação:"
|
|||
#: code:addons/web/static/src/js/search.js:1459
|
||||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr "Campos de pesquisa M2O não aceitão múltiplos valores default"
|
||||
msgstr "Campos de pesquisa M2O não aceitão múltiplos valores padrão"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -433,7 +432,7 @@ msgstr "Não foi possível restaurar a base de dados"
|
|||
#: code:addons/web/static/src/js/view_form.js:4851
|
||||
#, python-format
|
||||
msgid "File upload"
|
||||
msgstr "Arquivo carregado"
|
||||
msgstr "Upload de arquivos"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -532,7 +531,7 @@ msgstr "Condição:"
|
|||
#: code:addons/web/static/src/js/view_form.js:1692
|
||||
#, python-format
|
||||
msgid "Unsupported operator %s in domain %s"
|
||||
msgstr "Operador não suportado %s no domínio %s"
|
||||
msgstr "Operador %s não suportado no domínio %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -560,7 +559,7 @@ msgstr "%d-%d de %d"
|
|||
#: code:addons/web/static/src/js/view_form.js:2868
|
||||
#, python-format
|
||||
msgid "Create and Edit..."
|
||||
msgstr "Criar e editar..."
|
||||
msgstr "Criar e Editar..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1169,7 +1168,7 @@ msgstr "Fuso horário diferentes"
|
|||
#: code:addons/web/static/src/js/view_form.js:1646
|
||||
#, python-format
|
||||
msgid "Unknown operator %s in domain %s"
|
||||
msgstr "Operador desconhecido %s no domínio %s"
|
||||
msgstr "Operador %s desconhecido no domínio %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1183,7 +1182,7 @@ msgstr "%d / %d"
|
|||
#: code:addons/web/static/src/xml/base.xml:1782
|
||||
#, python-format
|
||||
msgid "2. Check your file format"
|
||||
msgstr "2. Verifique seu formato de arquivo"
|
||||
msgstr "2. Verifique o formato de seu arquivo"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1318,7 +1317,7 @@ msgstr "Você deve escolher pelo menos um registro."
|
|||
#: code:addons/web/static/src/js/coresetup.js:631
|
||||
#, python-format
|
||||
msgid "Don't leave yet,<br />it's still loading..."
|
||||
msgstr "Não deixe ainda, <br /> que ainda está carregando ..."
|
||||
msgstr "Não saia dai, <br /> que ainda está carregando ..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1332,7 +1331,7 @@ msgstr "Pesquisa Inválida"
|
|||
#: code:addons/web/static/src/js/view_list.js:980
|
||||
#, python-format
|
||||
msgid "Could not find id in dataset"
|
||||
msgstr "Não foi possível encontrar ID no conjunto de dados"
|
||||
msgstr "Não foi possível encontrar o ID no conjunto de dados"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1479,7 +1478,7 @@ msgstr "Confirme a Senha do Super Admin:"
|
|||
#: code:addons/web/static/src/js/coresetup.js:634
|
||||
#, python-format
|
||||
msgid "Maybe you should consider reloading the application by pressing F5..."
|
||||
msgstr "Considere recarregar a a aplicação pressionado F5 ..."
|
||||
msgstr "Tente recarregar a aplicação pressionado F5 ..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1585,7 +1584,7 @@ msgstr "Todos os usuários"
|
|||
#: code:addons/web/static/src/js/view_form.js:1654
|
||||
#, python-format
|
||||
msgid "Unknown field %s in domain %s"
|
||||
msgstr "Campo desconhecido %s no domínio %s"
|
||||
msgstr "Campo %s desconhecido no domínio %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1936,8 +1935,8 @@ msgid ""
|
|||
"Grouping on field '%s' is not possible because that field does not appear in "
|
||||
"the list view."
|
||||
msgstr ""
|
||||
"Agrupamento em campo '% s' não é possível porque o campo não aparece na "
|
||||
"visão de lista."
|
||||
"Agrupar por em campo '% s' não é possível porque o campo não aparece na "
|
||||
"visualização lista."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1987,7 +1986,7 @@ msgstr "Tipo:"
|
|||
#: code:addons/web/static/src/js/chrome.js:538
|
||||
#, python-format
|
||||
msgid "Incorrect super-administrator password"
|
||||
msgstr "Senha de Super-administrator incorreta"
|
||||
msgstr "Senha de Super Admin incorreta"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2274,7 +2273,7 @@ msgstr "Nenhum conteúdo encontrado para o campo '%s' em '%s:%s'"
|
|||
#: code:addons/web/static/src/xml/base.xml:304
|
||||
#, python-format
|
||||
msgid "Database Management"
|
||||
msgstr "Gerenciamento de base de dados"
|
||||
msgstr "Gerenciamento do banco de dados"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2346,7 +2345,7 @@ msgstr "Duplicar"
|
|||
#: code:addons/web/static/src/xml/base.xml:1391
|
||||
#, python-format
|
||||
msgid "Discard"
|
||||
msgstr "Descartar"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 07:29+0000\n"
|
||||
"Last-Translator: Fekete Mihai <mihai@erpsystems.ro>\n"
|
||||
"PO-Revision-Date: 2013-02-02 14:33+0000\n"
|
||||
"Last-Translator: Dorin <dhongu@gmail.com>\n"
|
||||
"Language-Team: Romanian <ro@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-12-23 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-03 05:29+0000\n"
|
||||
"X-Generator: Launchpad (build 16462)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2349,7 +2349,7 @@ msgstr "Copiaza"
|
|||
#: code:addons/web/static/src/xml/base.xml:1391
|
||||
#, python-format
|
||||
msgid "Discard"
|
||||
msgstr "Elimina"
|
||||
msgstr "Renunță"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 15:38+0000\n"
|
||||
"Last-Translator: Dusan Laznik <laznik@mentis.si>\n"
|
||||
"PO-Revision-Date: 2012-12-31 13:50+0000\n"
|
||||
"Last-Translator: Dusan Laznik (Mentis) <laznik@mentis.si>\n"
|
||||
"Language-Team: Slovenian <sl@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-12-23 05:09+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-01 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web
|
||||
|
@ -52,7 +52,7 @@ msgstr "%(field)s %(operator)s \"%(value)s\""
|
|||
#: code:addons/web/static/src/js/search.js:1943
|
||||
#, python-format
|
||||
msgid "less or equal than"
|
||||
msgstr "Manjše ali enako"
|
||||
msgstr "manjše ali enako"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -89,7 +89,7 @@ msgstr "Res želite brisati podatkovno zbirko: %s ?"
|
|||
#: code:addons/web/static/src/js/search.js:1398
|
||||
#, python-format
|
||||
msgid "Search %(field)s at: %(value)s"
|
||||
msgstr "Iskanje %(field)s at: %(value)s"
|
||||
msgstr "Iskanje %(field)s v: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -141,7 +141,7 @@ msgstr "'%s' ni veljaven datum"
|
|||
#: code:addons/web/static/src/xml/base.xml:1837
|
||||
#, python-format
|
||||
msgid "Here is a preview of the file we could not import:"
|
||||
msgstr "Tukaj je predogled datoteke, ki je nismo mogli uvozit"
|
||||
msgstr "Tukaj je predogled datoteke, ki je nismo mogli uvoziti"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -155,7 +155,7 @@ msgstr "približno pred minuto"
|
|||
#: code:addons/web/static/src/xml/base.xml:1297
|
||||
#, python-format
|
||||
msgid "File"
|
||||
msgstr "Datoteke"
|
||||
msgstr "Datoteka"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:826
|
||||
|
@ -213,7 +213,7 @@ msgstr "Zadnji datum spremembe:"
|
|||
#: code:addons/web/static/src/js/search.js:1459
|
||||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr "M2O iskalna polja trenutno ne podpirajo večih prevzetih vrednosti"
|
||||
msgstr "M2O iskalna polja trenutno ne podpirajo večih privzetih vrednosti"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -235,7 +235,7 @@ msgstr "Skupna raba z vsemi uporabniki"
|
|||
#: code:addons/web/static/src/js/view_form.js:321
|
||||
#, python-format
|
||||
msgid "Form"
|
||||
msgstr "Forma"
|
||||
msgstr "Obrazec"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -256,7 +256,7 @@ msgstr "'%s' ni pravilen čas"
|
|||
#: code:addons/web/static/src/js/search.js:1297
|
||||
#, python-format
|
||||
msgid "not a valid number"
|
||||
msgstr "ni prava številka"
|
||||
msgstr "ni pravilna številka"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -319,7 +319,7 @@ msgstr "Vrsta tipke:"
|
|||
#: code:addons/web/static/src/xml/base.xml:419
|
||||
#, python-format
|
||||
msgid "OpenERP SA Company"
|
||||
msgstr "podjetja OpenERP SA"
|
||||
msgstr "Podjetje OpenERP SA"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -418,7 +418,7 @@ msgstr "...Nalaganje v teku..."
|
|||
#: code:addons/web/static/src/xml/base.xml:1768
|
||||
#, python-format
|
||||
msgid "Import"
|
||||
msgstr "Uvozi"
|
||||
msgstr "Uvoz"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -482,7 +482,7 @@ msgstr "Nalaganje (%d)"
|
|||
#: code:addons/web/static/src/js/search.js:1114
|
||||
#, python-format
|
||||
msgid "GroupBy"
|
||||
msgstr "Združi po"
|
||||
msgstr "Združeno po"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -587,7 +587,7 @@ msgstr "ni"
|
|||
#: code:addons/web/static/src/xml/base.xml:550
|
||||
#, python-format
|
||||
msgid "Print Workflow"
|
||||
msgstr "Natisni delovni proces!"
|
||||
msgstr "Izpis delovnega procesa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -759,7 +759,7 @@ msgstr "00:00:00"
|
|||
#: code:addons/web/static/src/js/view_form.js:2317
|
||||
#, python-format
|
||||
msgid "E-mail error"
|
||||
msgstr "Napaka e-mail"
|
||||
msgstr "Napaka e-pošte"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -814,7 +814,7 @@ msgstr "Tehnični prevod"
|
|||
#: code:addons/web/static/src/xml/base.xml:1797
|
||||
#, python-format
|
||||
msgid "Delimiter:"
|
||||
msgstr "Razmejitelj:"
|
||||
msgstr "Ločilo:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -934,7 +934,7 @@ msgstr "Shrani"
|
|||
#: code:addons/web/static/src/xml/base.xml:352
|
||||
#, python-format
|
||||
msgid "More"
|
||||
msgstr "Dodatno"
|
||||
msgstr "Več"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1180,7 +1180,7 @@ msgstr "%d / %d"
|
|||
#: code:addons/web/static/src/xml/base.xml:1782
|
||||
#, python-format
|
||||
msgid "2. Check your file format"
|
||||
msgstr "2. Preveri format datoteke"
|
||||
msgstr "2. Preverite format datoteke"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1197,8 +1197,8 @@ msgid ""
|
|||
"Select a .CSV file to import. If you need a sample of file to import,\n"
|
||||
" you should use the export tool with the \"Import Compatible\" option."
|
||||
msgstr ""
|
||||
"Izberi datoteko .CSV za uvoz. Če potrebujete vzorec daoteke za uvoz,\n"
|
||||
" uporabite orodje izvoza z možnostjo \"Uvozi kompatibilno\"."
|
||||
"Izberite datoteko .CSV za uvoz. Če potrebujete vzorec daoteke za uvoz,\n"
|
||||
" uporabite orodje izvoza z možnostjo \"Prilagojeno za uvoz\"."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1263,7 +1263,7 @@ msgstr "Obnovi"
|
|||
#: code:addons/web/static/src/xml/base.xml:1677
|
||||
#, python-format
|
||||
msgid "Export Type:"
|
||||
msgstr "Tip izvoza:"
|
||||
msgstr "Vrsta izvoza:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1277,7 +1277,7 @@ msgstr "Odjava"
|
|||
#: code:addons/web/static/src/js/search.js:1090
|
||||
#, python-format
|
||||
msgid "Group by: %s"
|
||||
msgstr "Združi po: %s"
|
||||
msgstr "Združeno po: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1292,7 +1292,7 @@ msgstr "Ni podatkov."
|
|||
#: code:addons/web/static/src/xml/base.xml:1665
|
||||
#, python-format
|
||||
msgid "Export"
|
||||
msgstr "Izvozi"
|
||||
msgstr "Izvoz"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1421,7 +1421,7 @@ msgstr "Nobena podatkovna zbirka ni izbrana!"
|
|||
#: code:addons/web/static/src/js/formats.js:180
|
||||
#, python-format
|
||||
msgid "(%d records)"
|
||||
msgstr "(%d zapisa)"
|
||||
msgstr "(%d zapisov)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1466,7 +1466,7 @@ msgstr "Napredno iskanje"
|
|||
#: code:addons/web/static/src/xml/base.xml:290
|
||||
#, python-format
|
||||
msgid "Confirm new master password:"
|
||||
msgstr "Potrdi novo glavno geslo:"
|
||||
msgstr "Potrdite novo glavno geslo:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1585,7 +1585,7 @@ msgstr "Neznano polje %s v domeni %s"
|
|||
#: code:addons/web/static/src/js/views.js:1466
|
||||
#, python-format
|
||||
msgid "Node [%s] is not a JSONified XML node"
|
||||
msgstr "Node [%s] nije JSONified XML node"
|
||||
msgstr "Node [%s] ni JSONified XML node"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1607,7 +1607,7 @@ msgstr "Brisanje podatkovne zbirke"
|
|||
#: code:addons/web/static/src/xml/base.xml:445
|
||||
#, python-format
|
||||
msgid "Powered by"
|
||||
msgstr "Poganja ga"
|
||||
msgstr "Powered by"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1715,7 +1715,7 @@ msgstr "Nabor znakov:"
|
|||
#: code:addons/web/static/src/xml/base.xml:1808
|
||||
#, python-format
|
||||
msgid "Lines to skip"
|
||||
msgstr "Vrstice za preskočit"
|
||||
msgstr "Preskočene vrstice"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1779,7 +1779,7 @@ msgstr "Shrani kot:"
|
|||
#: code:addons/web/static/src/js/search.js:927
|
||||
#, python-format
|
||||
msgid "Filter on: %s"
|
||||
msgstr "Filtriraj po: %s"
|
||||
msgstr "Filter : %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1830,7 +1830,7 @@ msgstr "je"
|
|||
#: code:addons/web/static/src/js/data_export.js:6
|
||||
#, python-format
|
||||
msgid "Export Data"
|
||||
msgstr "Izvozi podatke"
|
||||
msgstr "Izvoz podatkov"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1868,7 +1868,7 @@ msgstr "Ustavi"
|
|||
#: code:addons/web/static/src/xml/base.xml:225
|
||||
#, python-format
|
||||
msgid "Database:"
|
||||
msgstr "Podatkovna baza"
|
||||
msgstr "Podatkovna zbirka:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1883,7 +1883,7 @@ msgstr "Nalaganje..."
|
|||
#: code:addons/web/static/src/xml/base.xml:1853
|
||||
#, python-format
|
||||
msgid "Name:"
|
||||
msgstr "Naziv:"
|
||||
msgstr "Ime:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2069,14 +2069,14 @@ msgstr "V redu"
|
|||
#: code:addons/web/static/src/js/views.js:1162
|
||||
#, python-format
|
||||
msgid "Uploading..."
|
||||
msgstr "Pošiljanje ..."
|
||||
msgstr "Nalaganje..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:125
|
||||
#, python-format
|
||||
msgid "Load Demonstration data:"
|
||||
msgstr "Naloži demonstracijske podatke:"
|
||||
msgstr "Naloži demo podatke:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2122,7 +2122,7 @@ msgstr "Opozorilo"
|
|||
#: code:addons/web/static/src/xml/base.xml:547
|
||||
#, python-format
|
||||
msgid "Edit SearchView"
|
||||
msgstr "Urejanje pogleda"
|
||||
msgstr "Urejanje iskalnega pogleda"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2157,7 +2157,7 @@ msgstr "Potrdi"
|
|||
#: code:addons/web/static/src/js/data_export.js:126
|
||||
#, python-format
|
||||
msgid "Please enter save field list name"
|
||||
msgstr "Prosimo, vnesite ime datoteke za varnostno kopiranje"
|
||||
msgstr "Vnesite ime seznama"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2186,7 +2186,7 @@ msgstr "Ni možno spremeniti vrednost %s v vsebino"
|
|||
#: code:addons/web/static/src/xml/base.xml:541
|
||||
#, python-format
|
||||
msgid "Fields View Get"
|
||||
msgstr "Polja pogled - opis"
|
||||
msgstr "Fields View Get"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2216,7 +2216,7 @@ msgstr "Gumb"
|
|||
#: code:addons/web/static/src/xml/base.xml:418
|
||||
#, python-format
|
||||
msgid "OpenERP is a trademark of the"
|
||||
msgstr "OpenERP je blagovna znamka"
|
||||
msgstr "OpenERP is a trademark of the"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2244,7 +2244,7 @@ msgstr "napačno"
|
|||
#: code:addons/web/static/src/xml/base.xml:404
|
||||
#, python-format
|
||||
msgid "About OpenERP"
|
||||
msgstr "O OpenERP-u"
|
||||
msgstr "About OpenERP"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2442,7 +2442,7 @@ msgstr "Uredi delovni proces"
|
|||
#: code:addons/web/static/src/js/views.js:1171
|
||||
#, python-format
|
||||
msgid "Do you really want to delete this attachment ?"
|
||||
msgstr "Res želite brisati ti prilogo?"
|
||||
msgstr "Res želite brisati to prilogo?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2565,14 +2565,14 @@ msgstr "Odstrani"
|
|||
#: code:addons/web/static/src/xml/base.xml:1062
|
||||
#, python-format
|
||||
msgid "Select date"
|
||||
msgstr "Izberi datum"
|
||||
msgstr "Izberite datum"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:1249
|
||||
#, python-format
|
||||
msgid "Search %(field)s for: %(value)s"
|
||||
msgstr "Išči %(field)s for: %(value)s"
|
||||
msgstr "Išči %(field)s v: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2600,7 +2600,7 @@ msgstr "GNU Affero General Public License"
|
|||
#: code:addons/web/static/src/xml/base.xml:1795
|
||||
#, python-format
|
||||
msgid "Separator:"
|
||||
msgstr "Ločitelj:"
|
||||
msgstr "Ločilo:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Ahmet Altınışık <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-15 20:45+0000\n"
|
||||
"Last-Translator: Hasan Yılmaz <iletisim@hasanyilmaz.net>\n"
|
||||
"Language-Team: Turkish <tr@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-12-22 07:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 05:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -59,7 +59,7 @@ msgstr "az ya da eşittir"
|
|||
#: code:addons/web/static/src/js/chrome.js:393
|
||||
#, python-format
|
||||
msgid "Please enter your previous password"
|
||||
msgstr ""
|
||||
msgstr "Lütfen önceki şifrenizi girin"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -82,28 +82,28 @@ msgstr "Ana şifreyi değiştir."
|
|||
#: code:addons/web/static/src/js/chrome.js:491
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the database: %s ?"
|
||||
msgstr ""
|
||||
msgstr "Gerçekten %s veritabanını SİLMEK istiyor musunuz?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:1398
|
||||
#, python-format
|
||||
msgid "Search %(field)s at: %(value)s"
|
||||
msgstr "Search %(field)s at: %(value)s"
|
||||
msgstr "Armama %(field)s at: %(value)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:537
|
||||
#, python-format
|
||||
msgid "Access Denied"
|
||||
msgstr ""
|
||||
msgstr "Erişim Reddedildi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:5183
|
||||
#, python-format
|
||||
msgid "Uploading error"
|
||||
msgstr ""
|
||||
msgstr "Yükleme hatası"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -126,7 +126,7 @@ msgstr "Veritabanı Yedekle"
|
|||
#: code:addons/web/static/src/js/views.js:463
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "%(view_type)s ekranı"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -134,14 +134,14 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/dates.js:53
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid date"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçerli bir tarih değil"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1837
|
||||
#, python-format
|
||||
msgid "Here is a preview of the file we could not import:"
|
||||
msgstr "İçeaktaramadığımız dosyanın önizlemesi:"
|
||||
msgstr "İçe-aktarılamıyan dosyanın önizlemesi:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -161,7 +161,7 @@ msgstr "Dosya"
|
|||
#: code:addons/web/controllers/main.py:826
|
||||
#, python-format
|
||||
msgid "You cannot leave any password empty."
|
||||
msgstr ""
|
||||
msgstr "Şifreleri boş bırkamazsınız."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -213,15 +213,14 @@ msgstr "Son Değiştirme tarihi:"
|
|||
#: code:addons/web/static/src/js/search.js:1459
|
||||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr ""
|
||||
"Çoktan teke arama alanları henüz çoklu öntanımlı değerleri desteklemiyor"
|
||||
msgstr "M2O arama alanları henüz çoklu öntanımlı değerleri desteklemiyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:1227
|
||||
#, python-format
|
||||
msgid "Widget type '%s' is not implemented"
|
||||
msgstr ""
|
||||
msgstr "'%s' widget tipi uygulanmamış"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -250,7 +249,7 @@ msgstr "(yazı yok)"
|
|||
#: code:addons/web/static/src/js/formats.js:282
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct time"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçersiz saat biçimi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -271,7 +270,7 @@ msgstr "Yeni Parola:"
|
|||
#: code:addons/web/static/src/xml/base.xml:610
|
||||
#, python-format
|
||||
msgid "Attachment :"
|
||||
msgstr ""
|
||||
msgstr "Ek :"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -313,7 +312,7 @@ msgstr "Özel Filtreler"
|
|||
#: code:addons/web/static/src/xml/base.xml:1336
|
||||
#, python-format
|
||||
msgid "Button Type:"
|
||||
msgstr "Buton Tipi:"
|
||||
msgstr "Buton Türü:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -327,7 +326,7 @@ msgstr "OpenERP SA Company"
|
|||
#: code:addons/web/static/src/js/search.js:1553
|
||||
#, python-format
|
||||
msgid "Custom Filter"
|
||||
msgstr "Özel Süzgeç"
|
||||
msgstr "Özel Filtre"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -356,7 +355,7 @@ msgstr "Parolayı Değiştir"
|
|||
#: code:addons/web/static/src/js/view_form.js:3411
|
||||
#, python-format
|
||||
msgid "View type '%s' is not supported in One2Many."
|
||||
msgstr ""
|
||||
msgstr "'%s' ekran (view) tipi one2many için desteklenmiyor."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -371,7 +370,7 @@ msgstr "İndir"
|
|||
#: code:addons/web/static/src/js/formats.js:266
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçerli bir tarih saat biçimi değil"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -385,7 +384,7 @@ msgstr "Grup"
|
|||
#: code:addons/web/static/src/xml/base.xml:927
|
||||
#, python-format
|
||||
msgid "Unhandled widget"
|
||||
msgstr "işlenmemiş parçacık"
|
||||
msgstr "İşlenmemiş parçacık"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -399,13 +398,13 @@ msgstr "Seçim:"
|
|||
#: code:addons/web/static/src/js/view_form.js:871
|
||||
#, python-format
|
||||
msgid "The following fields are invalid:"
|
||||
msgstr ""
|
||||
msgstr "Geçersiz alanlar:"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:847
|
||||
#, python-format
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
msgstr "Diller"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -426,7 +425,7 @@ msgstr "İçe aktar"
|
|||
#: code:addons/web/static/src/js/chrome.js:543
|
||||
#, python-format
|
||||
msgid "Could not restore the database"
|
||||
msgstr ""
|
||||
msgstr "Veritabanı geri yüklenemedi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -440,7 +439,7 @@ msgstr "Dosya yükle"
|
|||
#: code:addons/web/static/src/js/view_form.js:3804
|
||||
#, python-format
|
||||
msgid "Action Button"
|
||||
msgstr "Eylem Butonu"
|
||||
msgstr "İşlem Butonu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -483,7 +482,7 @@ msgstr "(%d) Yükleniyor"
|
|||
#: code:addons/web/static/src/js/search.js:1114
|
||||
#, python-format
|
||||
msgid "GroupBy"
|
||||
msgstr "Grupla"
|
||||
msgstr "Gruplaİle"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -525,7 +524,7 @@ msgstr "bir dakika önce"
|
|||
#: code:addons/web/static/src/xml/base.xml:851
|
||||
#, python-format
|
||||
msgid "Condition:"
|
||||
msgstr "Durum:"
|
||||
msgstr "Koşul:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -539,7 +538,7 @@ msgstr "Desteklenmeyen operatör %s alan adında %s"
|
|||
#: code:addons/web/static/src/js/formats.js:242
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct float"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçersiz bir float"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -553,21 +552,21 @@ msgstr "Onarıldı"
|
|||
#: code:addons/web/static/src/js/view_list.js:394
|
||||
#, python-format
|
||||
msgid "%d-%d of %d"
|
||||
msgstr ""
|
||||
msgstr "%d-%d / %d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:2868
|
||||
#, python-format
|
||||
msgid "Create and Edit..."
|
||||
msgstr "Oluştur ve düzenle..."
|
||||
msgstr "Oluştur ve Düzenle..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/pyeval.js:731
|
||||
#, python-format
|
||||
msgid "Unknown nonliteral type "
|
||||
msgstr ""
|
||||
msgstr "Bilinmeyen (nonliteral) tipi "
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -595,7 +594,7 @@ msgstr "İş Akışı'nı Yazdır"
|
|||
#: code:addons/web/static/src/js/chrome.js:396
|
||||
#, python-format
|
||||
msgid "Please confirm your new password"
|
||||
msgstr ""
|
||||
msgstr "Lütfen yeni şifrenizi onaylayın"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -616,7 +615,7 @@ msgstr "Daha ayrıntılı bilgi için burayı ziyaret edin"
|
|||
#: code:addons/web/static/src/xml/base.xml:1859
|
||||
#, python-format
|
||||
msgid "Add All Info..."
|
||||
msgstr "Bütün bilgiyi ekle..."
|
||||
msgstr "Bütün Bilgisini Ekle..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -644,7 +643,7 @@ msgstr "Model %s Alanları"
|
|||
#: code:addons/web/static/src/js/view_list.js:893
|
||||
#, python-format
|
||||
msgid "Setting 'id' attribute on existing record %s"
|
||||
msgstr ""
|
||||
msgstr "Geçerli kayıt %s nin 'id' özeliği ayarlanıyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -682,7 +681,7 @@ msgstr "Filitreyi Kaydet"
|
|||
#: code:addons/web/static/src/xml/base.xml:1344
|
||||
#, python-format
|
||||
msgid "Action ID:"
|
||||
msgstr "Eylem ID:"
|
||||
msgstr "İşelme ID:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -690,20 +689,21 @@ msgstr "Eylem ID:"
|
|||
#, python-format
|
||||
msgid "Your user's preference timezone does not match your browser timezone:"
|
||||
msgstr ""
|
||||
"Kullanıcınızın saat dilimi seçimi tarayıcınızın saat diliminden farklı:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:1223
|
||||
#, python-format
|
||||
msgid "Field '%s' specified in view could not be found."
|
||||
msgstr ""
|
||||
msgstr "Ekranda tanımlanan '%s' alanı bulunamıyor."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1756
|
||||
#, python-format
|
||||
msgid "Saved exports:"
|
||||
msgstr "Kaydedilmiş Dışa Aktarımlar:"
|
||||
msgstr "Kaydedilmiş Dış-Aktarımlar:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -724,7 +724,7 @@ msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
|||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "The database has been duplicated."
|
||||
msgstr ""
|
||||
msgstr "Veritabanı Kopyalandı."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -753,7 +753,7 @@ msgstr "Farklı Kaydet"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
|
||||
#, python-format
|
||||
msgid "00:00:00"
|
||||
msgstr ""
|
||||
msgstr "00:00:00"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -781,7 +781,7 @@ msgstr "Dosyanın başlık satırı varmı ?"
|
|||
#: code:addons/web/static/src/js/view_list.js:327
|
||||
#, python-format
|
||||
msgid "Unlimited"
|
||||
msgstr "Sınırsız"
|
||||
msgstr "Limitsiz"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -798,7 +798,7 @@ msgstr "Uyarı, kayıt değiştirildi, değişiklikleriniz kaybolacaklar."
|
|||
#: code:addons/web/static/src/js/view_form.js:2904
|
||||
#, python-format
|
||||
msgid "Search: "
|
||||
msgstr "Ara: "
|
||||
msgstr "Arama: "
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -819,7 +819,7 @@ msgstr "Sonlandırıcı:"
|
|||
#: code:addons/web/static/src/xml/base.xml:462
|
||||
#, python-format
|
||||
msgid "Browser's timezone"
|
||||
msgstr ""
|
||||
msgstr "Tarayıcınızın saat dilimi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -833,7 +833,7 @@ msgstr "Filtre adı"
|
|||
#: code:addons/web/static/src/xml/base.xml:1464
|
||||
#, python-format
|
||||
msgid "-- Actions --"
|
||||
msgstr "-- Eylemler --"
|
||||
msgstr "-- İşlemler --"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -885,7 +885,7 @@ msgstr "Tercihler"
|
|||
#: code:addons/web/static/src/js/view_form.js:436
|
||||
#, python-format
|
||||
msgid "Wrong on change format: %s"
|
||||
msgstr ""
|
||||
msgstr "Hatalı (on change) biçimi: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -900,14 +900,14 @@ msgstr "Veritabanını Sil"
|
|||
#: code:addons/web/static/src/xml/base.xml:466
|
||||
#, python-format
|
||||
msgid "Click here to change your user's timezone."
|
||||
msgstr ""
|
||||
msgstr "Saat diliminizi değiştirmek için için tıklayın."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:966
|
||||
#, python-format
|
||||
msgid "Modifiers:"
|
||||
msgstr "Düzenleyenler"
|
||||
msgstr "Değiştirenler:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -946,21 +946,21 @@ msgstr "Kullanıcı Adı"
|
|||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "Duplicating database"
|
||||
msgstr ""
|
||||
msgstr "Veritabanı Kopyalanıyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Password has been changed successfully"
|
||||
msgstr ""
|
||||
msgstr "Şifreniz değiştirildi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list_editable.js:788
|
||||
#, python-format
|
||||
msgid "The form's data can not be discarded"
|
||||
msgstr ""
|
||||
msgstr "Formdaki veriler iptal edilemiyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -974,7 +974,7 @@ msgstr "Hata Ayıklama Görünümü#"
|
|||
#: code:addons/web/static/src/xml/base.xml:77
|
||||
#, python-format
|
||||
msgid "Log in"
|
||||
msgstr "Giriş yap"
|
||||
msgstr "Giriş"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -995,6 +995,10 @@ msgid ""
|
|||
"\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
"Yerel değerlendirme hatası\n"
|
||||
"%s\n"
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1015,7 +1019,7 @@ msgstr "Alan listesini Kaydet"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
msgstr "Başlat"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1036,7 +1040,7 @@ msgstr "Oluşturma Tarihi:"
|
|||
#: code:addons/web/controllers/main.py:835
|
||||
#, python-format
|
||||
msgid "Error, password not changed !"
|
||||
msgstr ""
|
||||
msgstr "Hata, şifre değiştirilemedi !"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1058,14 +1062,14 @@ msgstr "/web/binary/upload_attachment"
|
|||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Changed Password"
|
||||
msgstr ""
|
||||
msgstr "Parola Değişti"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1431
|
||||
#, python-format
|
||||
msgid "Search"
|
||||
msgstr "Ara"
|
||||
msgstr "Arama"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1092,14 +1096,14 @@ msgstr "Yedekle"
|
|||
#: code:addons/web/static/src/js/dates.js:80
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid time"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçerli bir zaman biçimi değil"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/formats.js:274
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct date"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçerli bir tarih biçimi değil"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1153,7 +1157,7 @@ msgstr "Son Değiştiren:"
|
|||
#: code:addons/web/static/src/xml/base.xml:470
|
||||
#, python-format
|
||||
msgid "Timezone mismatch"
|
||||
msgstr ""
|
||||
msgstr "Saat dilimi uyumsuzluğu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1181,7 +1185,7 @@ msgstr "Dosya biçimini kontrol edin"
|
|||
#: code:addons/web/static/src/xml/base.xml:1718
|
||||
#, python-format
|
||||
msgid "Name"
|
||||
msgstr "İsim"
|
||||
msgstr "Adı"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1221,7 +1225,7 @@ msgstr "Gelişmiş Filtre Ekle"
|
|||
#: code:addons/web/controllers/main.py:828
|
||||
#, python-format
|
||||
msgid "The new password and its confirmation must be identical."
|
||||
msgstr ""
|
||||
msgstr "Yeni şifre ve şifre tekrarı aynı olmalı"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1236,7 +1240,7 @@ msgstr "Veritabanını Geri Yükle"
|
|||
#: code:addons/web/static/src/js/chrome.js:644
|
||||
#, python-format
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Kullanıcı Adı:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1272,14 +1276,14 @@ msgstr "Çıkış Yap"
|
|||
#: code:addons/web/static/src/js/search.js:1090
|
||||
#, python-format
|
||||
msgid "Group by: %s"
|
||||
msgstr "Grupla : %s"
|
||||
msgstr "Grupla ile : %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:153
|
||||
#, python-format
|
||||
msgid "No data provided."
|
||||
msgstr ""
|
||||
msgstr "Hiç veri sağlanmadı."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1350,14 +1354,14 @@ msgstr "%(page)d/%(page_count)d"
|
|||
#: code:addons/web/static/src/js/chrome.js:397
|
||||
#, python-format
|
||||
msgid "The confirmation does not match the password"
|
||||
msgstr ""
|
||||
msgstr "Şifre ve doğrulaması uyuşmuyor."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:441
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Şirket Bilgilerini düzenle"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1396,7 +1400,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:394
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1410,7 +1414,7 @@ msgstr ".CSV Dosyasından veri al"
|
|||
#: code:addons/web/static/src/js/chrome.js:644
|
||||
#, python-format
|
||||
msgid "No database selected !"
|
||||
msgstr ""
|
||||
msgstr "Veritabanı Seçilmedi !"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1424,7 +1428,7 @@ msgstr "(%d kayıt)"
|
|||
#: code:addons/web/static/src/xml/base.xml:970
|
||||
#, python-format
|
||||
msgid "Change default:"
|
||||
msgstr "Varsayılanı değiştir:"
|
||||
msgstr "Öntanılıyı değiştir:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1448,7 +1452,7 @@ msgstr "eşittir"
|
|||
#: code:addons/web/static/src/js/views.js:1500
|
||||
#, python-format
|
||||
msgid "Could not serialize XML"
|
||||
msgstr ""
|
||||
msgstr "XML serileştirilemedi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1553,14 +1557,14 @@ msgstr "Ağaç"
|
|||
#: code:addons/web/controllers/main.py:750
|
||||
#, python-format
|
||||
msgid "Could not drop database !"
|
||||
msgstr ""
|
||||
msgstr "Veritabanı Silinemedi !"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/formats.js:227
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct integer"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçerli bir tamsayı (interger) değil"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1581,7 +1585,7 @@ msgstr "Bilinmeyen alan %s alan adında %s"
|
|||
#: code:addons/web/static/src/js/views.js:1466
|
||||
#, python-format
|
||||
msgid "Node [%s] is not a JSONified XML node"
|
||||
msgstr ""
|
||||
msgstr "[%s] düğümü JSONlaştırılmış XML düğümü değil"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1595,7 +1599,7 @@ msgstr "Gelişmiş Arama..."
|
|||
#: code:addons/web/static/src/js/chrome.js:499
|
||||
#, python-format
|
||||
msgid "Dropping database"
|
||||
msgstr ""
|
||||
msgstr "Veritabanı Siliniyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1639,7 +1643,7 @@ msgstr "Boy:"
|
|||
#: code:addons/web/static/src/xml/base.xml:1824
|
||||
#, python-format
|
||||
msgid "--- Don't Import ---"
|
||||
msgstr "--- İçeri Alma ---"
|
||||
msgstr "--- İçeri Aktarma ---"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1660,7 +1664,7 @@ msgstr "%d yıl önce"
|
|||
#: code:addons/web/static/src/js/view_list.js:1040
|
||||
#, python-format
|
||||
msgid "Unknown m2m command %s"
|
||||
msgstr ""
|
||||
msgstr "Bilinmeyen m2m komutu %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1683,7 +1687,7 @@ msgstr "Yeni Veritaban adı:"
|
|||
#: code:addons/web/static/src/js/chrome.js:394
|
||||
#, python-format
|
||||
msgid "Please enter your new password"
|
||||
msgstr ""
|
||||
msgstr "Lütfen yeni parolanızı girin"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1711,7 +1715,7 @@ msgstr "Kodlama:"
|
|||
#: code:addons/web/static/src/xml/base.xml:1808
|
||||
#, python-format
|
||||
msgid "Lines to skip"
|
||||
msgstr "atlanacak satırlar"
|
||||
msgstr "Atlanacak satırlar"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1768,14 +1772,14 @@ msgstr "JS Testleri"
|
|||
#: code:addons/web/static/src/xml/base.xml:1750
|
||||
#, python-format
|
||||
msgid "Save as:"
|
||||
msgstr "Save as:"
|
||||
msgstr "Farklı kaydet:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/search.js:927
|
||||
#, python-format
|
||||
msgid "Filter on: %s"
|
||||
msgstr "Filterele: %s"
|
||||
msgstr "Filtrelede: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1797,7 +1801,7 @@ msgstr "Alanları Göster"
|
|||
#: code:addons/web/static/src/xml/base.xml:330
|
||||
#, python-format
|
||||
msgid "Confirm New Password:"
|
||||
msgstr ""
|
||||
msgstr "Yeni Parolayı Onaylayın:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1833,14 +1837,14 @@ msgstr "Veri Dışaaktar"
|
|||
#: code:addons/web/static/src/xml/base.xml:962
|
||||
#, python-format
|
||||
msgid "Domain:"
|
||||
msgstr "Alan:"
|
||||
msgstr "Domain:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:834
|
||||
#, python-format
|
||||
msgid "Default:"
|
||||
msgstr "Varsayılan:"
|
||||
msgstr "Öntanımlı:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1855,7 +1859,7 @@ msgstr "OpenERP"
|
|||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:8
|
||||
#, python-format
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
msgstr "Durdur"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1879,7 +1883,7 @@ msgstr "Yükleniyor ..."
|
|||
#: code:addons/web/static/src/xml/base.xml:1853
|
||||
#, python-format
|
||||
msgid "Name:"
|
||||
msgstr "İsim:"
|
||||
msgstr "Adı:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1893,7 +1897,7 @@ msgstr "Hakkında"
|
|||
#: code:addons/web/static/src/xml/base.xml:1431
|
||||
#, python-format
|
||||
msgid "Search Again"
|
||||
msgstr "Yeniden Ara"
|
||||
msgstr "Yeniden Arama"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1932,7 +1936,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/xml/base.xml:537
|
||||
#, python-format
|
||||
msgid "Set Defaults"
|
||||
msgstr "Varsayılanları Ayarla"
|
||||
msgstr "Öntanımlı Ayarla"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -1967,14 +1971,14 @@ msgstr "Filtre Adı:"
|
|||
#: code:addons/web/static/src/xml/base.xml:946
|
||||
#, python-format
|
||||
msgid "Type:"
|
||||
msgstr "Tip:"
|
||||
msgstr "Türü:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:538
|
||||
#, python-format
|
||||
msgid "Incorrect super-administrator password"
|
||||
msgstr ""
|
||||
msgstr "Geçersiz super-yönetici şifresi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2016,6 +2020,7 @@ msgid ""
|
|||
"The type of the field '%s' must be a many2many field with a relation to "
|
||||
"'ir.attachment' model."
|
||||
msgstr ""
|
||||
"'%s' alanı 'ir.attachment' modeline many2many ile bağlı bir tipte olmalı"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2037,7 +2042,7 @@ msgstr "Ekle: "
|
|||
#: code:addons/web/static/src/xml/base.xml:1858
|
||||
#, python-format
|
||||
msgid "Quick Add"
|
||||
msgstr "Hızlı ekle"
|
||||
msgstr "Hızlı Ekle"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2078,7 +2083,7 @@ msgstr "Örnek verileri yükle:"
|
|||
#: code:addons/web/static/src/xml/base.xml:615
|
||||
#, python-format
|
||||
msgid "Created by :"
|
||||
msgstr ""
|
||||
msgstr "Oluşturan:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2086,7 +2091,7 @@ msgstr ""
|
|||
#: code:addons/web/static/src/js/dates.js:26
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçersiz bir tarih saat değeri"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2166,14 +2171,14 @@ msgstr "\"%s\" İndir"
|
|||
#: code:addons/web/static/src/js/view_form.js:326
|
||||
#, python-format
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Yeni"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list.js:1767
|
||||
#, python-format
|
||||
msgid "Can't convert value %s to context"
|
||||
msgstr ""
|
||||
msgstr "%s değeri bağlama dönüştürülemiyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2246,13 +2251,13 @@ msgstr "OpenERP Hakkında"
|
|||
#: code:addons/web/static/src/js/formats.js:297
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct date, datetime nor time"
|
||||
msgstr ""
|
||||
msgstr "'%s' geçerli bir tarih, saat ya da tarih saat değeri değil"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:1264
|
||||
#, python-format
|
||||
msgid "No content found for field '%s' on '%s:%s'"
|
||||
msgstr ""
|
||||
msgstr "'%s' alanı için içerik '%s:%s' bulunamadı"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2280,7 +2285,7 @@ msgstr "Veritabanlarını Yönet"
|
|||
#: code:addons/web/static/src/js/pyeval.js:765
|
||||
#, python-format
|
||||
msgid "Evaluation Error"
|
||||
msgstr ""
|
||||
msgstr "Değerlendirme Hatası"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2313,7 +2318,7 @@ msgstr "Hayır"
|
|||
#: code:addons/web/static/src/js/formats.js:309
|
||||
#, python-format
|
||||
msgid "'%s' is not convertible to date, datetime nor time"
|
||||
msgstr ""
|
||||
msgstr "'%s' tarih, tarihsaat veya saat biçimine çevrilemiyor"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2373,14 +2378,14 @@ msgstr "Yedeklenmiş"
|
|||
#: code:addons/web/static/src/xml/base.xml:1610
|
||||
#, python-format
|
||||
msgid "Use by default"
|
||||
msgstr "Öntanımlı değer olarak kullan"
|
||||
msgstr "Öntanımlı kullan"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list.js:1348
|
||||
#, python-format
|
||||
msgid "%s (%d)"
|
||||
msgstr ""
|
||||
msgstr "%s (%d)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2408,7 +2413,7 @@ msgstr "Parçacık:"
|
|||
#: code:addons/web/static/src/xml/base.xml:548
|
||||
#, python-format
|
||||
msgid "Edit Action"
|
||||
msgstr "Eylemi Düzenle"
|
||||
msgstr "İşlemi Düzenle"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2422,7 +2427,7 @@ msgstr "ID:"
|
|||
#: code:addons/web/static/src/xml/base.xml:870
|
||||
#, python-format
|
||||
msgid "Only you"
|
||||
msgstr "sadece sen"
|
||||
msgstr "Sadece sen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2443,7 +2448,7 @@ msgstr "Gerçekten bu eki silmek istediğinizden emin misiniz?"
|
|||
#: code:addons/web/static/src/js/views.js:840
|
||||
#, python-format
|
||||
msgid "Technical Translation"
|
||||
msgstr ""
|
||||
msgstr "Terim Çevirileri"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2457,21 +2462,21 @@ msgstr "Alan:"
|
|||
#: code:addons/web/static/src/xml/base.xml:620
|
||||
#, python-format
|
||||
msgid "Modified by :"
|
||||
msgstr ""
|
||||
msgstr "Değiştiren :"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:499
|
||||
#, python-format
|
||||
msgid "The database %s has been dropped"
|
||||
msgstr ""
|
||||
msgstr "Veritabanu %s silindi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:460
|
||||
#, python-format
|
||||
msgid "User's timezone"
|
||||
msgstr ""
|
||||
msgstr "Kullanıcı saat-dilimi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2500,7 +2505,7 @@ msgstr "Özel:"
|
|||
#, python-format
|
||||
msgid ""
|
||||
"The old password you provided is incorrect, your password was not changed."
|
||||
msgstr ""
|
||||
msgstr "Eski şifrenizi yanlış girdiniz, şifreniz değiştirilemedi."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2528,7 +2533,7 @@ msgstr "Kaydet & Kapat"
|
|||
#: code:addons/web/static/src/js/view_form.js:2845
|
||||
#, python-format
|
||||
msgid "Search More..."
|
||||
msgstr "Daha fazla ara..."
|
||||
msgstr "Daha Fazla Ara..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
@ -2559,7 +2564,7 @@ msgstr "Kaldır"
|
|||
#: code:addons/web/static/src/xml/base.xml:1062
|
||||
#, python-format
|
||||
msgid "Select date"
|
||||
msgstr "Tarihi Seç"
|
||||
msgstr "Tarihi seç"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -18,6 +18,9 @@ _logger = logging.getLogger(__name__)
|
|||
class AuthenticationError(Exception):
|
||||
pass
|
||||
|
||||
class SessionExpiredException(Exception):
|
||||
pass
|
||||
|
||||
class Service(object):
|
||||
def __init__(self, session, service_name):
|
||||
self.session = session
|
||||
|
@ -82,7 +85,7 @@ class OpenERPSession(object):
|
|||
self.jsonp_requests = {} # FIXME use a LRU
|
||||
|
||||
def send(self, service_name, method, *args):
|
||||
code_string = "warning -- %s\n\n%s"
|
||||
code_string = u"warning -- %s\n\n%s"
|
||||
try:
|
||||
return openerp.netsvc.dispatch_rpc(service_name, method, args)
|
||||
except openerp.osv.osv.except_osv, e:
|
||||
|
@ -92,13 +95,13 @@ class OpenERPSession(object):
|
|||
except openerp.exceptions.AccessError, e:
|
||||
raise xmlrpclib.Fault(code_string % ("AccessError", e), '')
|
||||
except openerp.exceptions.AccessDenied, e:
|
||||
raise xmlrpclib.Fault('AccessDenied', str(e))
|
||||
raise xmlrpclib.Fault('AccessDenied', openerp.tools.ustr(e))
|
||||
except openerp.exceptions.DeferredException, e:
|
||||
formatted_info = "".join(traceback.format_exception(*e.traceback))
|
||||
raise xmlrpclib.Fault(openerp.tools.ustr(e.message), formatted_info)
|
||||
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
|
||||
except Exception, e:
|
||||
formatted_info = "".join(traceback.format_exception(*(sys.exc_info())))
|
||||
raise xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
|
||||
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
|
||||
|
||||
def proxy(self, service):
|
||||
return Service(self, service)
|
||||
|
@ -152,6 +155,8 @@ class OpenERPSession(object):
|
|||
:type model: str
|
||||
:rtype: a model object
|
||||
"""
|
||||
if self._db == False:
|
||||
raise SessionExpiredException("Session expired")
|
||||
|
||||
return Model(self, model)
|
||||
|
||||
|
|
|
@ -894,7 +894,7 @@
|
|||
|
||||
var $toolbar = editor.$toolbar,
|
||||
$group = $toolbar.children("div:last"),
|
||||
wid = $main.width();
|
||||
wid = /%/.test("" + options.width) ? options.width : $main.width();
|
||||
|
||||
// Resize the toolbar
|
||||
var hgt = $group.offset().top + $group.outerHeight() - $toolbar.offset().top + 1;
|
||||
|
|
|
@ -0,0 +1,195 @@
|
|||
Date.CultureInfo = {
|
||||
/* Culture Name */
|
||||
name: "am-ET",
|
||||
englishName: "Amharic (Ethiopia)",
|
||||
nativeName: "አምሃርኛ (ኢትዮጵያ)",
|
||||
|
||||
/* Day Name Strings */
|
||||
dayNames: ["እሁድ", "ሰኞ", "ማክሰኞ", "ረብዑ", "ሃሙስ", "ዓርብ", "ቅዳሜ"],
|
||||
abbreviatedDayNames: ["እሁድ", "ሰኞ", "ማክሰ", "ረብዑ", "ሃሙስ", "ዓርብ", "ቅዳሜ"],
|
||||
shortestDayNames: ["እሁ", "ሰኞ", "ማክ", "ረብ", "ሃሙ", "ዓር", "ቅዳ"],
|
||||
firstLetterDayNames: ["እ", "ሰ", "ማ", "ረ", "ሃ", "ዓ", "ቅ"],
|
||||
|
||||
/* Month Name Strings */
|
||||
monthNames: ["ጃንዋሪ", "ፌብሩዋሪ", "ማርች", "አፕሪል", "ሜይ", "ጁን", "ጁላይ", "ኦገስት", "ሴፕቴምበር", "ኦክቶበር", "ኖቬምበር", "ዲሴምበር"],
|
||||
abbreviatedMonthNames: ["ጃንዋ", "ፌብሩ", "ማርች", "አፕሪ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክቶ", "ኖቬም", "ዲሴም"],
|
||||
|
||||
/* AM/PM Designators */
|
||||
amDesignator: "ከቀኑ",
|
||||
pmDesignator: "ከለሊቱ",
|
||||
|
||||
firstDayOfWeek: 1,
|
||||
twoDigitYearMax: 2029,
|
||||
|
||||
/**
|
||||
* The dateElementOrder is based on the order of the
|
||||
* format specifiers in the formatPatterns.DatePattern.
|
||||
*
|
||||
* Example:
|
||||
<pre>
|
||||
shortDatePattern dateElementOrder
|
||||
------------------ ----------------
|
||||
"M/d/yyyy" "mdy"
|
||||
"dd/MM/yyyy" "dmy"
|
||||
"yyyy-MM-dd" "ymd"
|
||||
</pre>
|
||||
*
|
||||
* The correct dateElementOrder is required by the parser to
|
||||
* determine the expected order of the date elements in the
|
||||
* string being parsed.
|
||||
*/
|
||||
dateElementOrder: "dmy",
|
||||
|
||||
/* Standard date and time format patterns */
|
||||
formatPatterns: {
|
||||
shortDate: "dd/MM/yyyy",
|
||||
longDate: "dd MMMM yyyy",
|
||||
shortTime: "HH:mm",
|
||||
longTime: "HH:mm:ss",
|
||||
fullDateTime: "dd MMMM yyyy HH:mm:ss",
|
||||
sortableDateTime: "yyyy-MM-ddTHH:mm:ss",
|
||||
universalSortableDateTime: "yyyy-MM-dd HH:mm:ssZ",
|
||||
rfc1123: "ddd, dd MMM yyyy HH:mm:ss GMT",
|
||||
monthDay: "dd MMMM",
|
||||
yearMonth: "MMMM yyyy"
|
||||
},
|
||||
|
||||
/**
|
||||
* NOTE: If a string format is not parsing correctly, but
|
||||
* you would expect it parse, the problem likely lies below.
|
||||
*
|
||||
* The following regex patterns control most of the string matching
|
||||
* within the parser.
|
||||
*
|
||||
* The Month name and Day name patterns were automatically generated
|
||||
* and in general should be (mostly) correct.
|
||||
*
|
||||
* Beyond the month and day name patterns are natural language strings.
|
||||
* Example: "next", "today", "months"
|
||||
*
|
||||
* These natural language string may NOT be correct for this culture.
|
||||
* If they are not correct, please translate and edit this file
|
||||
* providing the correct regular expression pattern.
|
||||
*
|
||||
* If you modify this file, please post your revised CultureInfo file
|
||||
* to the Datejs Forum located at http://www.datejs.com/forums/.
|
||||
*
|
||||
* Please mark the subject of the post with [CultureInfo]. Example:
|
||||
* Subject: [CultureInfo] Translated "da-DK" Danish(Denmark)
|
||||
*
|
||||
* We will add the modified patterns to the master source files.
|
||||
*
|
||||
* As well, please review the list of "Future Strings" section below.
|
||||
*/
|
||||
regexPatterns: {
|
||||
jan: /^jan(uary)?/i,
|
||||
feb: /^feb(ruary)?/i,
|
||||
mar: /^mar(ch)?/i,
|
||||
apr: /^apr(il)?/i,
|
||||
may: /^may/i,
|
||||
jun: /^jun(e)?/i,
|
||||
jul: /^jul(y)?/i,
|
||||
aug: /^aug(ust)?/i,
|
||||
sep: /^sep(t(ember)?)?/i,
|
||||
oct: /^oct(ober)?/i,
|
||||
nov: /^nov(ember)?/i,
|
||||
dec: /^dec(ember)?/i,
|
||||
|
||||
sun: /^su(n(day)?)?/i,
|
||||
mon: /^mo(n(day)?)?/i,
|
||||
tue: /^tu(e(s(day)?)?)?/i,
|
||||
wed: /^we(d(nesday)?)?/i,
|
||||
thu: /^th(u(r(s(day)?)?)?)?/i,
|
||||
fri: /^fr(i(day)?)?/i,
|
||||
sat: /^sa(t(urday)?)?/i,
|
||||
|
||||
future: /^next/i,
|
||||
past: /^last|past|prev(ious)?/i,
|
||||
add: /^(\+|aft(er)?|from|hence)/i,
|
||||
subtract: /^(\-|bef(ore)?|ago)/i,
|
||||
|
||||
yesterday: /^yes(terday)?/i,
|
||||
today: /^t(od(ay)?)?/i,
|
||||
tomorrow: /^tom(orrow)?/i,
|
||||
now: /^n(ow)?/i,
|
||||
|
||||
millisecond: /^ms|milli(second)?s?/i,
|
||||
second: /^sec(ond)?s?/i,
|
||||
minute: /^mn|min(ute)?s?/i,
|
||||
hour: /^h(our)?s?/i,
|
||||
week: /^w(eek)?s?/i,
|
||||
month: /^m(onth)?s?/i,
|
||||
day: /^d(ay)?s?/i,
|
||||
year: /^y(ear)?s?/i,
|
||||
|
||||
shortMeridian: /^(a|p)/i,
|
||||
longMeridian: /^(a\.?m?\.?|p\.?m?\.?)/i,
|
||||
timezone: /^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i,
|
||||
ordinalSuffix: /^\s*(st|nd|rd|th)/i,
|
||||
timeContext: /^\s*(\:|a(?!u|p)|p)/i
|
||||
},
|
||||
|
||||
timezones: [{name:"UTC", offset:"-000"}, {name:"GMT", offset:"-000"}, {name:"EST", offset:"-0500"}, {name:"EDT", offset:"-0400"}, {name:"CST", offset:"-0600"}, {name:"CDT", offset:"-0500"}, {name:"MST", offset:"-0700"}, {name:"MDT", offset:"-0600"}, {name:"PST", offset:"-0800"}, {name:"PDT", offset:"-0700"}]
|
||||
};
|
||||
|
||||
/********************
|
||||
** Future Strings **
|
||||
********************
|
||||
*
|
||||
* The following list of strings may not be currently being used, but
|
||||
* may be incorporated into the Datejs library later.
|
||||
*
|
||||
* We would appreciate any help translating the strings below.
|
||||
*
|
||||
* If you modify this file, please post your revised CultureInfo file
|
||||
* to the Datejs Forum located at http://www.datejs.com/forums/.
|
||||
*
|
||||
* Please mark the subject of the post with [CultureInfo]. Example:
|
||||
* Subject: [CultureInfo] Translated "da-DK" Danish(Denmark)b
|
||||
*
|
||||
* English Name Translated
|
||||
* ------------------ -----------------
|
||||
* about about
|
||||
* ago ago
|
||||
* date date
|
||||
* time time
|
||||
* calendar calendar
|
||||
* show show
|
||||
* hourly hourly
|
||||
* daily daily
|
||||
* weekly weekly
|
||||
* bi-weekly bi-weekly
|
||||
* fortnight fortnight
|
||||
* monthly monthly
|
||||
* bi-monthly bi-monthly
|
||||
* quarter quarter
|
||||
* quarterly quarterly
|
||||
* yearly yearly
|
||||
* annual annual
|
||||
* annually annually
|
||||
* annum annum
|
||||
* again again
|
||||
* between between
|
||||
* after after
|
||||
* from now from now
|
||||
* repeat repeat
|
||||
* times times
|
||||
* per per
|
||||
* min (abbrev minute) min
|
||||
* morning morning
|
||||
* noon noon
|
||||
* night night
|
||||
* midnight midnight
|
||||
* mid-night mid-night
|
||||
* evening evening
|
||||
* final final
|
||||
* future future
|
||||
* spring spring
|
||||
* summer summer
|
||||
* fall fall
|
||||
* winter winter
|
||||
* end of end of
|
||||
* end end
|
||||
* long long
|
||||
* short short
|
||||
*/
|
|
@ -521,7 +521,7 @@ var py = {};
|
|||
}
|
||||
};
|
||||
py.PY_getAttr = function (o, attr_name) {
|
||||
return PY_ensurepy(o.__getattribute__(attr_name));
|
||||
return PY_ensurepy(o.__getattribute__(attr_name),attr_name);
|
||||
};
|
||||
py.PY_str = function (o) {
|
||||
var v = o.__str__();
|
||||
|
@ -998,7 +998,7 @@ var py = {};
|
|||
}
|
||||
var t = py.PY_call(py.tuple);
|
||||
for(var i=0; i<ar.length; ++i) {
|
||||
t._values.push(PY_ensurepy(ar[i]));
|
||||
t._values.push(PY_ensurepy(ar[i],i));
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
@ -1032,7 +1032,7 @@ var py = {};
|
|||
if (!d.hasOwnProperty(k)) { continue; }
|
||||
instance.__setitem__(
|
||||
py.str.fromJSON(k),
|
||||
PY_ensurepy(d[k]));
|
||||
PY_ensurepy(d[k],k));
|
||||
}
|
||||
return instance;
|
||||
},
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
}
|
||||
.openerp .zebra tbody tr:nth-child(odd) td {
|
||||
background-color: #f0f0fa;
|
||||
background-color: #f0f0fa;
|
||||
background-color: #efeff8;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
|
||||
background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
|
@ -90,7 +90,7 @@
|
|||
background-image: linear-gradient(to bottom, #f0f0fa, #eeeef6);
|
||||
}
|
||||
.openerp .zebra tbody tr:hover td {
|
||||
background-color: #eeeeee;
|
||||
background-color: #e6e6e6;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dedede));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dedede);
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dedede);
|
||||
|
@ -120,7 +120,7 @@
|
|||
padding: 3px 12px;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
background-color: #efefef;
|
||||
background-color: #e3e3e3;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
|
||||
background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
|
||||
background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
|
||||
|
@ -138,7 +138,7 @@
|
|||
outline: none;
|
||||
}
|
||||
.openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
|
||||
background-color: #f6f6f6;
|
||||
background-color: #ececec;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
|
||||
background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
|
||||
background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
|
||||
|
@ -151,7 +151,7 @@
|
|||
.openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus {
|
||||
border: 1px solid #80bfff;
|
||||
background-position: 0;
|
||||
background-color: #f6f6f6;
|
||||
background-color: #ececec;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
|
||||
background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
|
||||
background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
|
||||
|
@ -163,7 +163,7 @@
|
|||
box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
|
||||
}
|
||||
.openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active {
|
||||
background-color: #e3e3e3;
|
||||
background-color: #ececec;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
|
||||
background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
|
||||
background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
|
||||
|
@ -224,7 +224,7 @@
|
|||
-moz-border-radius: 2px 2px 0 0;
|
||||
-webkit-border-radius: 2px 2px 0 0;
|
||||
border-radius: 2px 2px 0 0;
|
||||
background-color: #fcfcfc;
|
||||
background-color: #ededed;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
|
||||
background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
|
||||
background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
|
||||
|
@ -307,7 +307,7 @@
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
text-shadow: 0 1px 1px #999999;
|
||||
background-color: #b41616;
|
||||
background-color: #8a0e0e;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
|
||||
background-image: -webkit-linear-gradient(top, #b41616, #600606);
|
||||
background-image: -moz-linear-gradient(top, #b41616, #600606);
|
||||
|
@ -379,7 +379,7 @@
|
|||
background: #dc5f59;
|
||||
}
|
||||
.openerp button.oe_highlight {
|
||||
background-color: #df3f3f;
|
||||
background-color: #c02c2c;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#df3f3f), to(#a21a1a));
|
||||
background-image: -webkit-linear-gradient(top, #df3f3f, #a21a1a);
|
||||
background-image: -moz-linear-gradient(top, #df3f3f, #a21a1a);
|
||||
|
@ -391,7 +391,7 @@
|
|||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
|
||||
}
|
||||
.openerp button.oe_highlight:hover {
|
||||
background-color: #e25858;
|
||||
background-color: #c63939;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e25858), to(#ab1b1b));
|
||||
background-image: -webkit-linear-gradient(top, #e25858, #ab1b1b);
|
||||
background-image: -moz-linear-gradient(top, #e25858, #ab1b1b);
|
||||
|
@ -400,7 +400,7 @@
|
|||
background-image: linear-gradient(to bottom, #e25858, #ab1b1b);
|
||||
}
|
||||
.openerp button.oe_highlight:active {
|
||||
background-color: #c52020;
|
||||
background-color: #cb2121;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#c52020), to(#d22323));
|
||||
background-image: -webkit-linear-gradient(top, #c52020, #d22323);
|
||||
background-image: -moz-linear-gradient(top, #c52020, #d22323);
|
||||
|
@ -417,7 +417,7 @@
|
|||
font-weight: bold;
|
||||
}
|
||||
.openerp .oe_form_dirty button.oe_highlight_on_dirty {
|
||||
background-color: #dc5f59;
|
||||
background-color: #c74a44;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dc5f59), to(#b33630));
|
||||
background-image: -webkit-linear-gradient(top, #dc5f59, #b33630);
|
||||
background-image: -moz-linear-gradient(top, #dc5f59, #b33630);
|
||||
|
@ -694,7 +694,7 @@
|
|||
padding: 2px 8px;
|
||||
}
|
||||
.openerp .oe_dropdown_menu > li:hover {
|
||||
background-color: #f0f0fa;
|
||||
background-color: #efeff8;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
|
||||
background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
|
@ -748,7 +748,7 @@
|
|||
width: 200px;
|
||||
}
|
||||
.openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment:hover {
|
||||
background-color: #f0f0fa;
|
||||
background-color: #efeff8;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
|
||||
background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
|
@ -846,7 +846,7 @@
|
|||
border: 1px solid #222222;
|
||||
color: white;
|
||||
margin: 0;
|
||||
background-color: #b92020;
|
||||
background-color: #8c1313;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
|
||||
background-image: -webkit-linear-gradient(top, #b92020, #600606);
|
||||
background-image: -moz-linear-gradient(top, #b92020, #600606);
|
||||
|
@ -903,7 +903,7 @@
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
text-shadow: 0 1px 1px #999999;
|
||||
background-color: #b41616;
|
||||
background-color: #8a0e0e;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
|
||||
background-image: -webkit-linear-gradient(top, #b41616, #600606);
|
||||
background-image: -moz-linear-gradient(top, #b41616, #600606);
|
||||
|
@ -1000,7 +1000,7 @@
|
|||
width: 100%;
|
||||
height: 32px;
|
||||
background-color: #414141;
|
||||
background-color: #646060;
|
||||
background-color: #454343;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626));
|
||||
background-image: -webkit-linear-gradient(top, #646060, #262626);
|
||||
background-image: -moz-linear-gradient(top, #646060, #262626);
|
||||
|
@ -1011,7 +1011,7 @@
|
|||
.openerp .oe_topbar .oe_topbar_anonymous_login {
|
||||
background-color: #dc5f59;
|
||||
color: #eeeeee;
|
||||
background-color: #fc8787;
|
||||
background-color: #be4343;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fc8787), to(maroon));
|
||||
background-image: -webkit-linear-gradient(top, #fc8787, maroon);
|
||||
background-image: -moz-linear-gradient(top, #fc8787, maroon);
|
||||
|
@ -1101,7 +1101,7 @@
|
|||
color: #eeeeee;
|
||||
}
|
||||
.openerp .oe_topbar .oe_dropdown_menu li:hover {
|
||||
background-color: #292929;
|
||||
background-color: #212121;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919));
|
||||
background-image: -webkit-linear-gradient(top, #292929, #191919);
|
||||
background-image: -moz-linear-gradient(top, #292929, #191919);
|
||||
|
@ -1242,8 +1242,6 @@
|
|||
.openerp .oe_secondary_submenu {
|
||||
padding: 2px 0 8px 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
.openerp .oe_secondary_submenu li {
|
||||
position: relative;
|
||||
|
@ -1274,6 +1272,13 @@
|
|||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.openerp .oe_secondary_submenu .oe_menu_text {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 85%;
|
||||
}
|
||||
.openerp .oe_secondary_submenu .oe_menu_counter {
|
||||
float: right;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
|
@ -1340,6 +1345,12 @@
|
|||
border-right: 4px solid transparent;
|
||||
border-top: 4px solid #4c4c4c;
|
||||
}
|
||||
.openerp .oe_secondary_submenu .oe_secondary_submenu {
|
||||
margin-left: -20px;
|
||||
}
|
||||
.openerp .oe_secondary_submenu .oe_secondary_submenu li {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.openerp .oe_about {
|
||||
background-color: white;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=);
|
||||
|
@ -1366,7 +1377,7 @@
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
text-shadow: 0 1px 1px #999999;
|
||||
background-color: #b41616;
|
||||
background-color: #8a0e0e;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
|
||||
background-image: -webkit-linear-gradient(top, #b41616, #600606);
|
||||
background-image: -moz-linear-gradient(top, #b41616, #600606);
|
||||
|
@ -1404,7 +1415,13 @@
|
|||
display: inline-block;
|
||||
overflow: hidden;
|
||||
}
|
||||
.openerp .oe_view_manager {
|
||||
display: table;
|
||||
height: inherit;
|
||||
width: 100%;
|
||||
}
|
||||
.openerp .oe_view_manager .oe_view_manager_body {
|
||||
display: table-row;
|
||||
height: inherit;
|
||||
}
|
||||
.openerp .oe_view_manager .oe_view_manager_view_kanban {
|
||||
|
@ -1583,7 +1600,7 @@
|
|||
}
|
||||
.openerp .oe_view_manager_current > .oe_view_manager_header {
|
||||
border-bottom: 1px solid #cacaca;
|
||||
background-color: #fcfcfc;
|
||||
background-color: #ededed;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
|
||||
background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
|
||||
background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
|
||||
|
@ -2044,7 +2061,7 @@
|
|||
background: none;
|
||||
}
|
||||
.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight {
|
||||
background-color: #efefef;
|
||||
background-color: #e3e3e3;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
|
||||
background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8);
|
||||
background-image: -moz-linear-gradient(top, #efefef, #d8d8d8);
|
||||
|
@ -2056,7 +2073,7 @@
|
|||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
|
||||
}
|
||||
.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:active {
|
||||
background-color: #e3e3e3;
|
||||
background-color: #ececec;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
|
||||
background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
|
||||
background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6);
|
||||
|
@ -2068,7 +2085,7 @@
|
|||
box-shadow: none;
|
||||
}
|
||||
.openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:hover {
|
||||
background-color: #f6f6f6;
|
||||
background-color: #ececec;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
|
||||
background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
|
||||
background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3);
|
||||
|
@ -2137,7 +2154,7 @@
|
|||
position: relative;
|
||||
border-bottom: 1px solid #cacaca;
|
||||
padding-left: 2px;
|
||||
background-color: #fcfcfc;
|
||||
background-color: #ededed;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
|
||||
background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
|
||||
background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
|
||||
|
@ -2572,7 +2589,7 @@
|
|||
list-style-type: none;
|
||||
margin: 0 -18px 0 0;
|
||||
padding: 0;
|
||||
background-color: #fcfcfc;
|
||||
background-color: #ededed;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
|
||||
background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
|
||||
background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
|
||||
|
@ -2632,7 +2649,7 @@
|
|||
transform: rotate(45deg);
|
||||
}
|
||||
.openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
|
||||
background-color: #729fcf;
|
||||
background-color: #5382b9;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
|
||||
background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
|
||||
background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
|
||||
|
@ -2655,7 +2672,7 @@
|
|||
cursor: pointer;
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li:hover {
|
||||
background-color: #e8e8e8;
|
||||
background-color: #d9d9d9;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
|
@ -2667,7 +2684,7 @@
|
|||
text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li:hover .arrow span {
|
||||
background-color: #e8e8e8;
|
||||
background-color: #d9d9d9;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
|
@ -2679,7 +2696,7 @@
|
|||
color: #7c7bad;
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li.oe_active:hover {
|
||||
background-color: #4c85c2;
|
||||
background-color: #3a699f;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
|
||||
background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
|
||||
background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
|
||||
|
@ -2835,7 +2852,7 @@
|
|||
padding: 1px 6px 3px;
|
||||
}
|
||||
.openerp .oe_list .oe_list_content .oe_group_header {
|
||||
background-color: #fcfcfc;
|
||||
background-color: #ededed;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
|
||||
background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
|
||||
background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
|
||||
|
@ -2872,8 +2889,8 @@
|
|||
position: relative;
|
||||
}
|
||||
.openerp .oe_list_content th.oe_sortable div:after {
|
||||
position: absolute;
|
||||
right: 6px;
|
||||
float: right;
|
||||
margin-right: 6px;
|
||||
content: "";
|
||||
margin-top: 7px;
|
||||
border-width: 0 4px 4px;
|
||||
|
@ -2932,7 +2949,7 @@
|
|||
}
|
||||
.openerp .oe_list_content > tbody > tr:nth-child(odd) {
|
||||
background-color: #f0f0fa;
|
||||
background-color: #f0f0fa;
|
||||
background-color: #efeff8;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6));
|
||||
background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6);
|
||||
|
@ -3078,7 +3095,6 @@
|
|||
}
|
||||
|
||||
.kitten-mode-activated {
|
||||
background-image: url(http://placekitten.com/g/1365/769);
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
}
|
||||
|
@ -3138,6 +3154,9 @@ div.ui-widget-overlay {
|
|||
.openerp_ie .oe_form_field_boolean input {
|
||||
background: white;
|
||||
}
|
||||
.openerp_ie .db_option_table .oe_form_field_selection {
|
||||
width: auto;
|
||||
}
|
||||
.openerp_ie input[type='checkbox'] {
|
||||
border: none;
|
||||
background: none;
|
||||
|
@ -3150,6 +3169,9 @@ div.ui-widget-overlay {
|
|||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.openerp_ie .oe_view_manager_view_kanban {
|
||||
display: table-cell;
|
||||
}
|
||||
.openerp_ie .oe_view_manager_buttons button.oe_write_full {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
|
@ -3212,6 +3234,9 @@ div.ui-widget-overlay {
|
|||
.openerp_ie .oe_topbar {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#646060', endColorstr='#262626');
|
||||
}
|
||||
.openerp_ie .ui-state-error, .openerp_ie .ui-widget-content .ui-state-error, .openerp_ie .ui-widget-header .ui-state-error {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.openerp_ie .oe_popup_form {
|
||||
width: 99% !important;
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ $sheet-padding: 16px
|
|||
@include box-shadow(none)
|
||||
|
||||
@mixin vertical-gradient($startColor: #555, $endColor: #333)
|
||||
background-color: $startColor
|
||||
background-color: mix($startColor, $endColor)
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from($startColor), to($endColor)) /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient(top, $startColor, $endColor) /* Chrome 10+, Saf5.1+, iOS 5+ */
|
||||
background-image: -moz-linear-gradient(top, $startColor, $endColor) /* FF3.6 */
|
||||
|
@ -1009,8 +1009,6 @@ $sheet-padding: 16px
|
|||
.oe_secondary_submenu
|
||||
padding: 2px 0 8px 0
|
||||
margin: 0
|
||||
width: 100%
|
||||
display: inline-block
|
||||
li
|
||||
position: relative
|
||||
margin: 0
|
||||
|
@ -1033,6 +1031,12 @@ $sheet-padding: 16px
|
|||
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
|
||||
@include radius(4px)
|
||||
@include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.2))
|
||||
.oe_menu_text
|
||||
white-space: nowrap
|
||||
overflow: hidden
|
||||
display: inline-block
|
||||
text-overflow: ellipsis
|
||||
max-width: 85%
|
||||
.oe_menu_counter
|
||||
float: right
|
||||
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
|
||||
|
@ -1080,6 +1084,10 @@ $sheet-padding: 16px
|
|||
border-left: 4px solid transparent
|
||||
border-right: 4px solid transparent
|
||||
border-top: 4px solid #4c4c4c
|
||||
.oe_secondary_submenu
|
||||
margin-left: -20px
|
||||
.oe_secondary_submenu li
|
||||
margin-left: 20px
|
||||
|
||||
// }}}
|
||||
// About openerp {{{
|
||||
|
@ -1129,7 +1137,11 @@ $sheet-padding: 16px
|
|||
// }}}
|
||||
// ViewManager common {{{
|
||||
.oe_view_manager
|
||||
display: table
|
||||
height: inherit
|
||||
width: 100%
|
||||
.oe_view_manager_body
|
||||
display: table-row
|
||||
height: inherit
|
||||
.oe_view_manager_view_kanban
|
||||
height: inherit
|
||||
|
@ -2271,8 +2283,8 @@ $sheet-padding: 16px
|
|||
th.oe_sortable div
|
||||
position: relative
|
||||
th.oe_sortable div:after
|
||||
position: absolute
|
||||
right: 6px
|
||||
float: right
|
||||
margin-right: 6px
|
||||
content: ""
|
||||
margin-top: 7px
|
||||
border-width: 0 4px 4px
|
||||
|
@ -2428,7 +2440,6 @@ $sheet-padding: 16px
|
|||
// }}}
|
||||
// Kitten Mode {{{
|
||||
.kitten-mode-activated
|
||||
background-image: url(http://placekitten.com/g/1365/769)
|
||||
background-size: cover
|
||||
background-attachment: fixed
|
||||
>*
|
||||
|
@ -2477,6 +2488,8 @@ div.ui-widget-overlay
|
|||
font-style: italic !important
|
||||
.oe_form_field_boolean input
|
||||
background: #fff
|
||||
.db_option_table .oe_form_field_selection
|
||||
width: auto
|
||||
input[type='checkbox']
|
||||
border: none
|
||||
background: none
|
||||
|
@ -2488,6 +2501,8 @@ div.ui-widget-overlay
|
|||
button.oe_highlight
|
||||
padding-top: 0
|
||||
padding-bottom: 0
|
||||
.oe_view_manager_view_kanban
|
||||
display: table-cell
|
||||
.oe_view_manager_buttons
|
||||
button.oe_write_full
|
||||
padding-top: 0
|
||||
|
@ -2538,6 +2553,8 @@ div.ui-widget-overlay
|
|||
line-height: 1.7em
|
||||
.oe_topbar
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#646060', endColorstr='#262626')
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false)
|
||||
.oe_popup_form
|
||||
width: 99% !important
|
||||
.oe_form_label
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
|
@ -42,6 +42,16 @@ instance.web.Notification = instance.web.Widget.extend({
|
|||
}
|
||||
});
|
||||
|
||||
instance.web.action_notify = function(element, action) {
|
||||
element.do_notify(action.params.title, action.params.text, action.params.sticky);
|
||||
};
|
||||
instance.web.client_actions.add("action_notify", "instance.web.action_notify");
|
||||
|
||||
instance.web.action_warn = function(element, action) {
|
||||
element.do_warn(action.params.title, action.params.text, action.params.sticky);
|
||||
};
|
||||
instance.web.client_actions.add("action_warn", "instance.web.action_warn");
|
||||
|
||||
/**
|
||||
* The very minimal function everything should call to create a dialog
|
||||
* in OpenERP Web Client.
|
||||
|
@ -237,6 +247,11 @@ instance.web.CrashManager = instance.web.Class.extend({
|
|||
if (!this.active) {
|
||||
return;
|
||||
}
|
||||
// yes, exception handling is shitty
|
||||
if (error.code === 300 && error.data && error.data.type == "client_exception" && error.data.debug.match("SessionExpiredException")) {
|
||||
this.show_warning({type: "Session Expired", data: { fault_code: "Your OpenERP session expired. Please refresh the current web page." }});
|
||||
return;
|
||||
}
|
||||
if (error.data.fault_code) {
|
||||
var split = ("" + error.data.fault_code).split('\n')[0].split(' -- ');
|
||||
if (split.length > 1) {
|
||||
|
@ -466,6 +481,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
|||
self.do_action("reload");
|
||||
},
|
||||
},
|
||||
_push_me: false,
|
||||
};
|
||||
self.do_action(client_action);
|
||||
});
|
||||
|
@ -607,6 +623,9 @@ instance.web.Login = instance.web.Widget.extend({
|
|||
if ($.deparam.querystring().db) {
|
||||
self.params.db = $.deparam.querystring().db;
|
||||
}
|
||||
if ($.param.fragment().token) {
|
||||
self.params.token = $.param.fragment().token;
|
||||
}
|
||||
// used by dbmanager.do_create via internal client action
|
||||
if (self.params.db && self.params.login && self.params.password) {
|
||||
d = self.do_login(self.params.db, self.params.login, self.params.password);
|
||||
|
@ -850,7 +869,7 @@ instance.web.Menu = instance.web.Widget.extend({
|
|||
this.needaction_data = data;
|
||||
_.each(this.needaction_data, function (item, menu_id) {
|
||||
var $item = self.$secondary_menus.find('a[data-menu="' + menu_id + '"]');
|
||||
$item.remove('oe_menu_counter');
|
||||
$item.find('.oe_menu_counter').remove();
|
||||
if (item.needaction_counter && item.needaction_counter > 0) {
|
||||
$item.append(QWeb.render("Menu.needaction_counter", { widget : item }));
|
||||
}
|
||||
|
@ -1013,20 +1032,15 @@ instance.web.UserMenu = instance.web.Widget.extend({
|
|||
if (!self.session.uid)
|
||||
return;
|
||||
var func = new instance.web.Model("res.users").get_func("read");
|
||||
return func(self.session.uid, ["name", "company_id"]).then(function(res) {
|
||||
return self.alive(func(self.session.uid, ["name", "company_id"])).then(function(res) {
|
||||
var topbar_name = res.name;
|
||||
if(instance.session.debug)
|
||||
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.$el.find('.oe_topbar_name').text(topbar_name);
|
||||
if(!instance.session.debug) {
|
||||
self.rpc("/web/database/get_list", {}).done( function(result) {
|
||||
if (result.length > 1) {
|
||||
topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db);
|
||||
}
|
||||
self.$el.find('.oe_topbar_name').text(topbar_name);
|
||||
});
|
||||
if (!instance.session.debug) {
|
||||
topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db);
|
||||
}
|
||||
var avatar_src = self.session.url('/web/binary/image', {model:'res.users', field: 'image_small', id: self.session.uid});
|
||||
$avatar.attr('src', avatar_src);
|
||||
|
@ -1034,6 +1048,9 @@ instance.web.UserMenu = instance.web.Widget.extend({
|
|||
};
|
||||
this.update_promise = this.update_promise.then(fct, fct);
|
||||
},
|
||||
on_menu_help: function() {
|
||||
window.open('http://help.openerp.com', '_blank');
|
||||
},
|
||||
on_menu_logout: function() {
|
||||
this.trigger('user_logout');
|
||||
},
|
||||
|
@ -1144,6 +1161,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
return $.when(this._super()).then(function() {
|
||||
if (jQuery.param !== undefined && jQuery.deparam(jQuery.param.querystring()).kitten !== undefined) {
|
||||
$("body").addClass("kitten-mode-activated");
|
||||
$("body").css("background-image", "url(" + instance.session.origin + "/web/static/src/img/back-enable.jpg" + ")");
|
||||
if ($.blockUI) {
|
||||
$.blockUI.defaults.message = '<img src="http://www.amigrave.com/kitten.gif">';
|
||||
}
|
||||
|
@ -1208,7 +1226,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
},
|
||||
logo_edit: function(ev) {
|
||||
var self = this;
|
||||
new instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"]).then(function(res) {
|
||||
new self.alive(instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"])).then(function(res) {
|
||||
self.rpc("/web/action/load", { action_id: "base.action_res_company_form" }).done(function(result) {
|
||||
result.res_id = res['company_id'][0];
|
||||
result.target = "new";
|
||||
|
@ -1229,7 +1247,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
},
|
||||
check_timezone: function() {
|
||||
var self = this;
|
||||
return new instance.web.Model('res.users').call('read', [[this.session.uid], ['tz_offset']]).then(function(result) {
|
||||
return self.alive(new instance.web.Model('res.users').call('read', [[this.session.uid], ['tz_offset']])).then(function(result) {
|
||||
var user_offset = result[0]['tz_offset'];
|
||||
var offset = -(new Date().getTimezoneOffset());
|
||||
// _.str.sprintf()'s zero front padding is buggy with signed decimals, so doing it manually
|
||||
|
@ -1305,8 +1323,9 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
},
|
||||
on_hashchange: function(event) {
|
||||
var self = this;
|
||||
var state = event.getState(true);
|
||||
if (!_.isEqual(this._current_state, state)) {
|
||||
var stringstate = event.getState(false);
|
||||
if (!_.isEqual(this._current_state, stringstate)) {
|
||||
var state = event.getState(true);
|
||||
if(!state.action && state.menu_id) {
|
||||
self.menu.has_been_loaded.done(function() {
|
||||
self.menu.do_reload().done(function() {
|
||||
|
@ -1318,13 +1337,13 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
this.action_manager.do_load_state(state, !!this._current_state);
|
||||
}
|
||||
}
|
||||
this._current_state = state;
|
||||
this._current_state = stringstate;
|
||||
},
|
||||
do_push_state: function(state) {
|
||||
this.set_title(state.title);
|
||||
delete state.title;
|
||||
var url = '#' + $.param(state);
|
||||
this._current_state = _.clone(state);
|
||||
this._current_state = $.deparam($.param(state), false); // stringify all values
|
||||
$.bbq.pushState(url);
|
||||
this.trigger('state_pushed', state);
|
||||
},
|
||||
|
@ -1334,9 +1353,10 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
.then(function (result) {
|
||||
return self.action_mutex.exec(function() {
|
||||
if (options.needaction) {
|
||||
result.context = new instance.web.CompoundContext(
|
||||
result.context,
|
||||
{search_default_message_unread: true});
|
||||
result.context = new instance.web.CompoundContext(result.context, {
|
||||
search_default_message_unread: true,
|
||||
search_disable_custom_filters: true,
|
||||
});
|
||||
}
|
||||
var completed = $.Deferred();
|
||||
$.when(self.action_manager.do_action(result, {
|
||||
|
@ -1357,13 +1377,9 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
});
|
||||
},
|
||||
set_content_full_screen: function(fullscreen) {
|
||||
if (fullscreen) {
|
||||
$(".oe_webclient", this.$el).addClass("oe_content_full_screen");
|
||||
$("body").css({'overflow-y':'hidden'});
|
||||
} else {
|
||||
$(".oe_webclient", this.$el).removeClass("oe_content_full_screen");
|
||||
$("body").css({'overflow-y':'scroll'});
|
||||
}
|
||||
$(document.body).css('overflow-y', fullscreen ? 'hidden' : 'scroll');
|
||||
this.$('.oe_webclient').toggleClass(
|
||||
'oe_content_full_screen', fullscreen);
|
||||
},
|
||||
has_uncommitted_changes: function() {
|
||||
var $e = $.Event('clear_uncommitted_changes');
|
||||
|
|
|
@ -228,6 +228,42 @@ instance.web.ParentedMixin = {
|
|||
isDestroyed : function() {
|
||||
return this.__parentedDestroyed;
|
||||
},
|
||||
/**
|
||||
Utility method to only execute asynchronous actions if the current
|
||||
object has not been destroyed.
|
||||
|
||||
@param {$.Deferred} promise The promise representing the asynchronous
|
||||
action.
|
||||
@param {bool} [reject=false] If true, the returned promise will be
|
||||
rejected with no arguments if the current
|
||||
object is destroyed. If false, the
|
||||
returned promise will never be resolved
|
||||
or rejected.
|
||||
@returns {$.Deferred} A promise that will mirror the given promise if
|
||||
everything goes fine but will either be rejected
|
||||
with no arguments or never resolved if the
|
||||
current object is destroyed.
|
||||
*/
|
||||
alive: function(promise, reject) {
|
||||
var def = $.Deferred();
|
||||
var self = this;
|
||||
promise.done(function() {
|
||||
if (! self.isDestroyed()) {
|
||||
if (! reject)
|
||||
def.resolve.apply(def, arguments);
|
||||
else
|
||||
def.reject();
|
||||
}
|
||||
}).fail(function() {
|
||||
if (! self.isDestroyed()) {
|
||||
if (! reject)
|
||||
def.reject.apply(def, arguments);
|
||||
else
|
||||
def.reject();
|
||||
}
|
||||
});
|
||||
return def.promise();
|
||||
},
|
||||
/**
|
||||
* Inform the object it should destroy itself, releasing any
|
||||
* resource it could have reserved.
|
||||
|
@ -495,16 +531,7 @@ instance.web.Controller = instance.web.Class.extend(instance.web.PropertiesMixin
|
|||
return false;
|
||||
},
|
||||
rpc: function(url, data, options) {
|
||||
var def = $.Deferred();
|
||||
var self = this;
|
||||
instance.session.rpc(url, data, options).done(function() {
|
||||
if (!self.isDestroyed())
|
||||
def.resolve.apply(def, arguments);
|
||||
}).fail(function() {
|
||||
if (!self.isDestroyed())
|
||||
def.reject.apply(def, arguments);
|
||||
});
|
||||
return def.promise();
|
||||
return this.alive(instance.session.rpc(url, data, options));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -860,8 +860,16 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
|
|||
}
|
||||
return completion.promise();
|
||||
},
|
||||
call_button: function (method, args) {
|
||||
var id = args[0][0], index;
|
||||
/**
|
||||
* Invalidates caching of a record in the dataset to ensure the next read
|
||||
* of that record will hit the server.
|
||||
*
|
||||
* Of use when an action is going to remote-alter a record which will then
|
||||
* need to be reloaded, e.g. action button.
|
||||
*
|
||||
* @param {Object} id record to remove from the BDS's cache
|
||||
*/
|
||||
evict_record: function (id) {
|
||||
for(var i=0, len=this.cache.length; i<len; ++i) {
|
||||
var record = this.cache[i];
|
||||
// if record we call the button upon is in the cache
|
||||
|
@ -871,8 +879,15 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
|
|||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
call_button: function (method, args) {
|
||||
this.evict_record(args[0][0]);
|
||||
return this._super(method, args);
|
||||
},
|
||||
exec_workflow: function (id, signal) {
|
||||
this.evict_record(id);
|
||||
return this._super(id, signal);
|
||||
},
|
||||
alter_ids: function(n_ids) {
|
||||
this._super(n_ids);
|
||||
this.trigger("dataset_changed", n_ids);
|
||||
|
|
|
@ -166,9 +166,13 @@ instance.web.format_value = function (value, descriptor, value_if_empty) {
|
|||
value = Math.abs(value);
|
||||
pattern = '-' + pattern;
|
||||
}
|
||||
return _.str.sprintf(pattern,
|
||||
Math.floor(value),
|
||||
Math.round((value % 1) * 60));
|
||||
var hour = Math.floor(value);
|
||||
var min = Math.round((value % 1) * 60);
|
||||
if (min == 60){
|
||||
min = 0;
|
||||
hour = hour + 1;
|
||||
}
|
||||
return _.str.sprintf(pattern, hour, min);
|
||||
case 'many2one':
|
||||
// name_get value format
|
||||
return value[1] ? value[1].split("\n")[0] : value[1];
|
||||
|
|
|
@ -689,15 +689,14 @@ openerp.web.pyeval = function (instance) {
|
|||
};
|
||||
|
||||
instance.web.pyeval.context = function () {
|
||||
return {
|
||||
uid: py.float.fromJSON(instance.session.uid),
|
||||
return _.extend({
|
||||
datetime: datetime,
|
||||
context_today: context_today,
|
||||
time: time,
|
||||
relativedelta: relativedelta,
|
||||
current_date: py.PY_call(
|
||||
time.strftime, [py.str.fromJSON('%Y-%m-%d')]),
|
||||
};
|
||||
}, instance.session.user_context);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -127,41 +127,26 @@ my.InputView = instance.web.Widget.extend({
|
|||
events: {
|
||||
focus: function () { this.trigger('focused', this); },
|
||||
blur: function () { this.$el.text(''); this.trigger('blurred', this); },
|
||||
keydown: 'onKeydown'
|
||||
keydown: 'onKeydown',
|
||||
paste: 'onPaste',
|
||||
},
|
||||
getSelection: function () {
|
||||
// get Text node
|
||||
var root = this.$el[0].childNodes[0];
|
||||
var root = this.el.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)
|
||||
return {start: 0, end: 0};
|
||||
}
|
||||
if (window.getSelection) {
|
||||
var domRange = window.getSelection().getRangeAt(0);
|
||||
assert(domRange.startContainer === root,
|
||||
"selection should be in the input view");
|
||||
assert(domRange.endContainer === root,
|
||||
"selection should be in the input view");
|
||||
return {
|
||||
start: domRange.startOffset,
|
||||
end: domRange.endOffset
|
||||
}
|
||||
} else if (document.selection) {
|
||||
var ieRange = document.selection.createRange();
|
||||
var rangeParent = ieRange.parentElement();
|
||||
assert(rangeParent === root,
|
||||
"selection should be in the input view");
|
||||
var offsetRange = document.body.createTextRange();
|
||||
offsetRange = offsetRange.moveToElementText(rangeParent);
|
||||
offsetRange.setEndPoint("EndToStart", ieRange);
|
||||
var start = offsetRange.text.length;
|
||||
return {
|
||||
start: start,
|
||||
end: start + ieRange.text.length
|
||||
}
|
||||
var range = window.getSelection().getRangeAt(0);
|
||||
assert(range.startContainer === root,
|
||||
"selection should be in the input view");
|
||||
assert(range.endContainer === root,
|
||||
"selection should be in the input view");
|
||||
return {
|
||||
start: range.startOffset,
|
||||
end: range.endOffset
|
||||
}
|
||||
throw new Error("Could not get caret position");
|
||||
},
|
||||
onKeydown: function (e) {
|
||||
var sel;
|
||||
|
@ -199,6 +184,50 @@ my.InputView = instance.web.Widget.extend({
|
|||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
setCursorAtEnd: function () {
|
||||
var sel = window.getSelection();
|
||||
sel.removeAllRanges();
|
||||
var range = document.createRange();
|
||||
// in theory, range.selectNodeContents should work here. In practice,
|
||||
// MSIE9 has issues from time to time, instead of selecting the inner
|
||||
// text node it would select the reference node instead (e.g. in demo
|
||||
// data, company news, copy across the "Company News" link + the title,
|
||||
// from about half the link to half the text, paste in search box then
|
||||
// hit the left arrow key, getSelection would blow up).
|
||||
//
|
||||
// Explicitly selecting only the inner text node (only child node at
|
||||
// this point, though maybe we should assert that) avoiids the issue
|
||||
range.selectNode(this.el.childNodes[0]);
|
||||
range.collapse(false);
|
||||
sel.addRange(range);
|
||||
},
|
||||
onPaste: function () {
|
||||
// In MSIE and Webkit, it is possible to get various representations of
|
||||
// the clipboard data at this point e.g.
|
||||
// window.clipboardData.getData('Text') and
|
||||
// event.clipboardData.getData('text/plain') to ensure we have a plain
|
||||
// text representation of the object (and probably ensure the object is
|
||||
// pastable as well, so nobody puts an image in the search view)
|
||||
// (nb: since it's not possible to alter the content of the clipboard
|
||||
// — at least in Webkit — to ensure only textual content is available,
|
||||
// using this would require 1. getting the text data; 2. manually
|
||||
// inserting the text data into the content; and 3. cancelling the
|
||||
// paste event)
|
||||
//
|
||||
// But Firefox doesn't support the clipboard API (as of FF18)
|
||||
// although it correctly triggers the paste event (Opera does not even
|
||||
// do that) => implement lowest-denominator system where onPaste
|
||||
// triggers a followup "cleanup" pass after the data has been pasted
|
||||
setTimeout(function () {
|
||||
// Read text content (ignore pasted HTML)
|
||||
var data = this.$el.text();
|
||||
// paste raw text back in
|
||||
this.$el.empty().text(data);
|
||||
// Set the cursor at the end of the text, so the cursor is not lost
|
||||
// in some kind of error-spawning limbo.
|
||||
this.setCursorAtEnd();
|
||||
}.bind(this), 0);
|
||||
}
|
||||
});
|
||||
my.FacetView = instance.web.Widget.extend({
|
||||
|
@ -305,9 +334,22 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
* @param dataset
|
||||
* @param view_id
|
||||
* @param defaults
|
||||
* @param hidden
|
||||
* @param {Object} [options]
|
||||
* @param {Boolean} [options.hidden=false] hide the search view
|
||||
* @param {Boolean} [options.disable_custom_filters=false] do not load custom filters from ir.filters
|
||||
*/
|
||||
init: function(parent, dataset, view_id, defaults, hidden) {
|
||||
init: function(parent, dataset, view_id, defaults, options) {
|
||||
// Backward compatibility - Can be removed when forward porting
|
||||
if (Object(options) !== options) {
|
||||
options = {
|
||||
hidden: !!options
|
||||
};
|
||||
}
|
||||
// End of Backward compatibility
|
||||
this.options = _.defaults(options || {}, {
|
||||
hidden: false,
|
||||
disable_custom_filters: false,
|
||||
});
|
||||
this._super(parent);
|
||||
this.dataset = dataset;
|
||||
this.model = dataset.model;
|
||||
|
@ -319,8 +361,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
this.inputs = [];
|
||||
this.controls = {};
|
||||
|
||||
this.hidden = !!hidden;
|
||||
this.headless = this.hidden && !this.has_defaults;
|
||||
this.headless = this.options.hidden && !this.has_defaults;
|
||||
|
||||
this.input_subviews = [];
|
||||
|
||||
|
@ -335,7 +376,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
.on('add change reset remove', this.proxy('do_search'))
|
||||
.on('add change reset remove', this.proxy('renderFacets'));
|
||||
|
||||
if (this.hidden) {
|
||||
if (this.options.hidden) {
|
||||
this.$el.hide();
|
||||
}
|
||||
if (this.headless) {
|
||||
|
@ -650,13 +691,13 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
// CustomFilters will be ready (and CustomFilters#filters will be
|
||||
// correctly filled) by the time this method executes.
|
||||
var custom_filters = this.custom_filters.filters;
|
||||
if (!_(custom_filters).isEmpty()) {
|
||||
if (!this.options.disable_custom_filters && !_(custom_filters).isEmpty()) {
|
||||
// Check for any is_default custom filter
|
||||
var personal_filter = _(custom_filters).find(function (filter) {
|
||||
return filter.user_id && filter.is_default;
|
||||
});
|
||||
if (personal_filter) {
|
||||
this.custom_filters.enable_filter(personal_filter, true);
|
||||
this.custom_filters.toggle_filter(personal_filter, true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -664,7 +705,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
return !filter.user_id && filter.is_default;
|
||||
});
|
||||
if (global_filter) {
|
||||
this.custom_filters.enable_filter(global_filter, true);
|
||||
this.custom_filters.toggle_filter(global_filter, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1432,12 +1473,15 @@ instance.web.search.ManyToOneField = instance.web.search.CharField.extend({
|
|||
},
|
||||
complete: function (needle) {
|
||||
var self = this;
|
||||
// TODO: context
|
||||
// FIXME: "concurrent" searches (multiple requests, mis-ordered responses)
|
||||
var context = instance.web.pyeval.eval(
|
||||
'contexts', [this.view.dataset.get_context()]);
|
||||
return this.model.call('name_search', [], {
|
||||
name: needle,
|
||||
args: instance.web.pyeval.eval(
|
||||
'domains', this.attrs.domain ? [this.attrs.domain] : [], context),
|
||||
limit: 8,
|
||||
context: {}
|
||||
context: context
|
||||
}).then(function (results) {
|
||||
if (_.isEmpty(results)) { return null; }
|
||||
return [{label: self.attrs.string}].concat(
|
||||
|
@ -1507,6 +1551,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
|||
})
|
||||
.on('reset', this.proxy('clear_selection'));
|
||||
this.$el.on('submit', 'form', this.proxy('save_current'));
|
||||
this.$el.on('click', 'input[type=checkbox]', function() {
|
||||
$(this).siblings('input[type=checkbox]').prop('checked', false);
|
||||
});
|
||||
this.$el.on('click', 'h4', function () {
|
||||
self.$el.toggleClass('oe_opened');
|
||||
});
|
||||
|
@ -1557,6 +1604,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
|||
get_groupby: function () { return [filter.context]; },
|
||||
get_domain: function () { return filter.domain; }
|
||||
},
|
||||
_id: filter['id'],
|
||||
is_custom_filter: true,
|
||||
values: [{label: filter.name, value: null}]
|
||||
};
|
||||
|
@ -1567,6 +1615,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
|||
append_filter: function (filter) {
|
||||
var self = this;
|
||||
var key = this.key_for(filter);
|
||||
var warning = _t("This filter is global and will be removed for everybody if you continue.");
|
||||
|
||||
var $filter;
|
||||
if (key in this.$filters) {
|
||||
|
@ -1584,6 +1633,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
|||
$('<a class="oe_searchview_custom_delete">x</a>')
|
||||
.click(function (e) {
|
||||
e.stopPropagation();
|
||||
if (!(filter.user_id || confirm(warning))) {
|
||||
return;
|
||||
}
|
||||
self.model.call('unlink', [id]).done(function () {
|
||||
$filter.remove();
|
||||
delete self.$filters[key];
|
||||
|
@ -1594,10 +1646,18 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
|||
}
|
||||
|
||||
$filter.unbind('click').click(function () {
|
||||
self.enable_filter(filter);
|
||||
self.toggle_filter(filter);
|
||||
});
|
||||
},
|
||||
enable_filter: function (filter, preventSearch) {
|
||||
toggle_filter: function (filter, preventSearch) {
|
||||
var current = this.view.query.find(function (facet) {
|
||||
return facet.get('_id') === filter.id;
|
||||
});
|
||||
if (current) {
|
||||
this.view.query.remove(current);
|
||||
this.$filters[this.key_for(filter)].removeClass('oe_selected');
|
||||
return;
|
||||
}
|
||||
this.view.query.reset([this.facet_for(filter)], {
|
||||
preventSearch: preventSearch || false});
|
||||
this.$filters[this.key_for(filter)].addClass('oe_selected');
|
||||
|
@ -1706,10 +1766,12 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
|
|||
});
|
||||
return $.when(
|
||||
this._super(),
|
||||
new instance.web.Model(this.view.model).call('fields_get').done(function(data) {
|
||||
self.fields = _.extend({
|
||||
id: { string: 'ID', type: 'id' }
|
||||
}, data);
|
||||
new instance.web.Model(this.view.model).call('fields_get', {
|
||||
context: this.view.dataset.context
|
||||
}).done(function(data) {
|
||||
self.fields = _.extend({
|
||||
id: { string: 'ID', type: 'id' }
|
||||
}, data);
|
||||
})).done(function () {
|
||||
self.append_proposition();
|
||||
});
|
||||
|
@ -1760,6 +1822,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
|
|||
template: 'SearchView.extended_search.proposition',
|
||||
events: {
|
||||
'change .searchview_extended_prop_field': 'changed',
|
||||
'change .searchview_extended_prop_op': 'operator_changed',
|
||||
'click .searchview_extended_delete_prop': function (e) {
|
||||
e.stopPropagation();
|
||||
this.getParent().remove_proposition(this);
|
||||
|
@ -1776,6 +1839,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
|
|||
this._super(parent);
|
||||
this.fields = _(fields).chain()
|
||||
.map(function(val, key) { return _.extend({}, val, {'name': key}); })
|
||||
.filter(function (field) { return !field.deprecated; })
|
||||
.sortBy(function(field) {return field.string;})
|
||||
.value();
|
||||
this.attrs = {_: _, fields: this.fields, selected: null};
|
||||
|
@ -1790,6 +1854,17 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
|
|||
this.select_field(_.detect(this.fields, function(x) {return x.name == nval;}));
|
||||
}
|
||||
},
|
||||
operator_changed: function (e) {
|
||||
var $value = this.$('.searchview_extended_prop_value');
|
||||
switch ($(e.target).val()) {
|
||||
case '∃':
|
||||
case '∄':
|
||||
$value.hide();
|
||||
break;
|
||||
default:
|
||||
$value.show();
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Selects the provided field object
|
||||
*
|
||||
|
@ -1818,7 +1893,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
|
|||
.text(String(operator.text))
|
||||
.appendTo(self.$('.searchview_extended_prop_op'));
|
||||
});
|
||||
var $value_loc = this.$('.searchview_extended_prop_value').empty();
|
||||
var $value_loc = this.$('.searchview_extended_prop_value').show().empty();
|
||||
this.value.appendTo($value_loc);
|
||||
|
||||
},
|
||||
|
@ -1826,19 +1901,12 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
|
|||
if ( this.attrs.selected == null)
|
||||
return null;
|
||||
var field = this.attrs.selected;
|
||||
var op = this.$('.searchview_extended_prop_op')[0];
|
||||
var operator = op.options[op.selectedIndex];
|
||||
var op_select = this.$('.searchview_extended_prop_op')[0];
|
||||
var operator = op_select.options[op_select.selectedIndex];
|
||||
|
||||
return {
|
||||
label: _.str.sprintf(_t('%(field)s %(operator)s "%(value)s"'), {
|
||||
field: field.string,
|
||||
// According to spec, HTMLOptionElement#label should return
|
||||
// HTMLOptionElement#text when not defined/empty, but it does
|
||||
// not in older Webkit (between Safari 5.1.5 and Chrome 17) and
|
||||
// Gecko (pre Firefox 7) browsers, so we need a manual fallback
|
||||
// for those
|
||||
operator: operator.label || operator.text,
|
||||
value: this.value}),
|
||||
value: [field.name, operator.value, this.value.get_value()]
|
||||
label: this.value.get_label(field, operator),
|
||||
value: this.value.get_domain(field, operator),
|
||||
};
|
||||
}
|
||||
});
|
||||
|
@ -1848,6 +1916,37 @@ instance.web.search.ExtendedSearchProposition.Field = instance.web.Widget.extend
|
|||
this._super(parent);
|
||||
this.field = field;
|
||||
},
|
||||
get_label: function (field, operator) {
|
||||
var format;
|
||||
switch (operator.value) {
|
||||
case '∃': case '∄': format = _t('%(field)s %(operator)s'); break;
|
||||
default: format = _t('%(field)s %(operator)s "%(value)s"'); break;
|
||||
}
|
||||
return this.format_label(format, field, operator);
|
||||
},
|
||||
format_label: function (format, field, operator) {
|
||||
return _.str.sprintf(format, {
|
||||
field: field.string,
|
||||
// According to spec, HTMLOptionElement#label should return
|
||||
// HTMLOptionElement#text when not defined/empty, but it does
|
||||
// not in older Webkit (between Safari 5.1.5 and Chrome 17) and
|
||||
// Gecko (pre Firefox 7) browsers, so we need a manual fallback
|
||||
// for those
|
||||
operator: operator.label || operator.text,
|
||||
value: this
|
||||
});
|
||||
},
|
||||
get_domain: function (field, operator) {
|
||||
switch (operator.value) {
|
||||
case '∃': return this.make_domain(field.name, '!=', false);
|
||||
case '∄': return this.make_domain(field.name, '=', false);
|
||||
default: return this.make_domain(
|
||||
field.name, operator.value, this.get_value());
|
||||
}
|
||||
},
|
||||
make_domain: function (field, operator, value) {
|
||||
return [field, operator, value];
|
||||
},
|
||||
/**
|
||||
* Returns a human-readable version of the value, in case the "logical"
|
||||
* and the "semantic" values of a field differ (as for selection fields,
|
||||
|
@ -1867,7 +1966,9 @@ instance.web.search.ExtendedSearchProposition.Char = instance.web.search.Extende
|
|||
{value: "ilike", text: _lt("contains")},
|
||||
{value: "not ilike", text: _lt("doesn't contain")},
|
||||
{value: "=", text: _lt("is equal to")},
|
||||
{value: "!=", text: _lt("is not equal to")}
|
||||
{value: "!=", text: _lt("is not equal to")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
get_value: function() {
|
||||
return this.$el.val();
|
||||
|
@ -1881,7 +1982,9 @@ instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.Ext
|
|||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
/**
|
||||
* Date widgets live in view_form which is not yet loaded when this is
|
||||
|
@ -1915,7 +2018,9 @@ instance.web.search.ExtendedSearchProposition.Integer = instance.web.search.Exte
|
|||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
toString: function () {
|
||||
return this.$el.val();
|
||||
|
@ -1940,7 +2045,9 @@ instance.web.search.ExtendedSearchProposition.Float = instance.web.search.Extend
|
|||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
{value: "<=", text: _lt("less or equal than")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
toString: function () {
|
||||
return this.$el.val();
|
||||
|
@ -1958,7 +2065,9 @@ instance.web.search.ExtendedSearchProposition.Selection = instance.web.search.Ex
|
|||
template: 'SearchView.extended_search.proposition.selection',
|
||||
operators: [
|
||||
{value: "=", text: _lt("is")},
|
||||
{value: "!=", text: _lt("is not")}
|
||||
{value: "!=", text: _lt("is not")},
|
||||
{value: "∃", text: _lt("is set")},
|
||||
{value: "∄", text: _lt("is not set")}
|
||||
],
|
||||
toString: function () {
|
||||
var select = this.$el[0];
|
||||
|
@ -1975,7 +2084,10 @@ instance.web.search.ExtendedSearchProposition.Boolean = instance.web.search.Exte
|
|||
{value: "=", text: _lt("is true")},
|
||||
{value: "!=", text: _lt("is false")}
|
||||
],
|
||||
toString: function () { return ''; },
|
||||
get_label: function (field, operator) {
|
||||
return this.format_label(
|
||||
_t('%(field)s %(operator)s'), field, operator);
|
||||
},
|
||||
get_value: function() {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -247,13 +247,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
|
||||
do_load_state: function(state, warm) {
|
||||
if (state.id && this.datarecord.id != state.id) {
|
||||
if (!this.dataset.get_id_index(state.id)) {
|
||||
if (this.dataset.get_id_index(state.id) === null) {
|
||||
this.dataset.ids.push(state.id);
|
||||
}
|
||||
this.dataset.select_id(state.id);
|
||||
if (warm) {
|
||||
this.do_show();
|
||||
}
|
||||
this.do_show({ reload: warm });
|
||||
}
|
||||
},
|
||||
/**
|
||||
|
@ -511,9 +509,13 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
var on_change = widget.node.attrs.on_change;
|
||||
if (on_change) {
|
||||
var change_spec = self.parse_on_change(on_change, widget);
|
||||
var id = [self.datarecord.id == null ? [] : [self.datarecord.id]];
|
||||
def = new instance.web.Model(self.dataset.model).call(
|
||||
change_spec.method, id.concat(change_spec.args));
|
||||
var ids = [];
|
||||
if (self.datarecord.id && !instance.web.BufferedDataSet.virtual_id_regex.test(self.datarecord.id)) {
|
||||
// In case of a o2m virtual id, we should pass an empty ids list
|
||||
ids.push(self.datarecord.id);
|
||||
}
|
||||
def = self.alive(new instance.web.Model(self.dataset.model).call(
|
||||
change_spec.method, [ids].concat(change_spec.args)));
|
||||
} else {
|
||||
def = $.when({});
|
||||
}
|
||||
|
@ -531,9 +533,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
var condition = fieldname + '=' + value_;
|
||||
|
||||
if (value_) {
|
||||
return new instance.web.Model('ir.values').call(
|
||||
return self.alive(new instance.web.Model('ir.values').call(
|
||||
'get_defaults', [self.model, condition]
|
||||
).then(function (results) {
|
||||
)).then(function (results) {
|
||||
if (!results.length) {
|
||||
return response;
|
||||
}
|
||||
|
@ -573,19 +575,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
]
|
||||
});
|
||||
}
|
||||
if (result.domain) {
|
||||
function edit_domain(node) {
|
||||
if (typeof node !== "object") {
|
||||
return;
|
||||
}
|
||||
var new_domain = result.domain[node.attrs.name];
|
||||
if (new_domain) {
|
||||
node.attrs.domain = new_domain;
|
||||
}
|
||||
_(node.children).each(edit_domain);
|
||||
}
|
||||
edit_domain(this.fields_view.arch);
|
||||
}
|
||||
|
||||
var fields = this.fields;
|
||||
_(result.domain).each(function (domain, fieldname) {
|
||||
var field = fields[fieldname];
|
||||
if (!field) { return; }
|
||||
field.node.attrs.domain = domain;
|
||||
});
|
||||
|
||||
return $.Deferred().resolve();
|
||||
} catch(e) {
|
||||
console.error(e);
|
||||
|
@ -842,11 +839,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
save_deferral = self.dataset.create(values).then(function(r) {
|
||||
return self.record_created(r, prepend_on_create);
|
||||
}, null);
|
||||
} else if (_.isEmpty(values) && ! self.force_dirty) {
|
||||
} else if (_.isEmpty(values)) {
|
||||
// Not dirty, noop save
|
||||
save_deferral = $.Deferred().resolve({}).promise();
|
||||
} else {
|
||||
self.force_dirty = false;
|
||||
// Write save
|
||||
save_deferral = self.dataset.write(self.datarecord.id, values, {}).then(function(r) {
|
||||
return self.record_saved(r);
|
||||
|
@ -1197,6 +1193,10 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
|
|||
$('button', doc).each(function() {
|
||||
$(this).attr('data-button-type', $(this).attr('type')).attr('type', 'button');
|
||||
});
|
||||
// IE's html parser is also a css parser. How convenient...
|
||||
$('board', doc).each(function() {
|
||||
$(this).attr('layout', $(this).attr('style'));
|
||||
});
|
||||
return $('<div class="oe_form"/>').append(instance.web.xml_to_str(doc));
|
||||
},
|
||||
render_to: function($target) {
|
||||
|
@ -1916,18 +1916,20 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
|
|||
modal: true,
|
||||
buttons: [
|
||||
{text: _t("Cancel"), click: function() {
|
||||
def.resolve();
|
||||
$(this).dialog("close");
|
||||
}
|
||||
},
|
||||
{text: _t("Ok"), click: function() {
|
||||
self.on_confirmed().done(function() {
|
||||
def.resolve();
|
||||
var self2 = this;
|
||||
self.on_confirmed().always(function() {
|
||||
$(self2).dialog("close");
|
||||
});
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
beforeClose: function() {
|
||||
def.resolve();
|
||||
},
|
||||
});
|
||||
return def.promise();
|
||||
} else {
|
||||
|
@ -1935,7 +1937,6 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
|
|||
}
|
||||
};
|
||||
if (!this.node.attrs.special) {
|
||||
this.view.force_dirty = true;
|
||||
return this.view.recursive_save().then(exec_action);
|
||||
} else {
|
||||
return exec_action();
|
||||
|
@ -2334,7 +2335,7 @@ instance.web.form.FieldUrl = instance.web.form.FieldChar.extend({
|
|||
this._super();
|
||||
} else {
|
||||
var tmp = this.get('value');
|
||||
var s = /(\w+):(.+)/.exec(tmp);
|
||||
var s = /(\w+):(.+)|^\.{0,2}\//.exec(tmp);
|
||||
if (!s) {
|
||||
tmp = "http://" + this.get('value');
|
||||
}
|
||||
|
@ -2383,6 +2384,7 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
|
|||
type_of_date: "datetime",
|
||||
events: {
|
||||
'change .oe_datepicker_master': 'change_datetime',
|
||||
'dragstart img.oe_datepicker_trigger': function () { return false; },
|
||||
},
|
||||
init: function(parent) {
|
||||
this._super(parent);
|
||||
|
@ -2402,6 +2404,11 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
|
|||
showButtonPanel: true,
|
||||
firstDay: Date.CultureInfo.firstDayOfWeek
|
||||
});
|
||||
// Some clicks in the datepicker dialog are not stopped by the
|
||||
// datepicker and "bubble through", unexpectedly triggering the bus's
|
||||
// click event. Prevent that.
|
||||
this.picker('widget').click(function (e) { e.stopPropagation(); });
|
||||
|
||||
this.$el.find('img.oe_datepicker_trigger').click(function() {
|
||||
if (self.get("effective_readonly") || self.picker('widget').is(':visible')) {
|
||||
self.$input.focus();
|
||||
|
@ -2964,7 +2971,9 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
case $.ui.keyCode.DOWN:
|
||||
e.stopPropagation();
|
||||
}
|
||||
}
|
||||
},
|
||||
'dragstart .oe_m2o_drop_down_button img': function () { return false; },
|
||||
'dragstart .oe_m2o_cm_button': function () { return false; }
|
||||
},
|
||||
init: function(field_manager, node) {
|
||||
this._super(field_manager, node);
|
||||
|
@ -3065,6 +3074,15 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Autocomplete close on dialog content scroll
|
||||
var close_autocomplete = _.debounce(function() {
|
||||
if (self.$input.autocomplete("widget").is(":visible")) {
|
||||
self.$input.autocomplete("close");
|
||||
}
|
||||
}, 50);
|
||||
this.$input.closest(".ui-dialog .ui-dialog-content").on('scroll', this, close_autocomplete);
|
||||
|
||||
self.ed_def = $.Deferred();
|
||||
self.uned_def = $.Deferred();
|
||||
var ed_delay = 200;
|
||||
|
@ -4457,6 +4475,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
|||
* options:
|
||||
* -readonly: only applicable when not in creation mode, default to false
|
||||
* - alternative_form_view
|
||||
* - view_id
|
||||
* - write_function
|
||||
* - read_function
|
||||
* - create_function
|
||||
|
@ -4523,7 +4542,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
|||
_.extend(options, {
|
||||
$buttons: this.$buttonpane,
|
||||
});
|
||||
this.view_form = new instance.web.FormView(this, this.dataset, false, options);
|
||||
this.view_form = new instance.web.FormView(this, this.dataset, this.options.view_id || false, options);
|
||||
if (this.options.alternative_form_view) {
|
||||
this.view_form.set_embedded_view(this.options.alternative_form_view);
|
||||
}
|
||||
|
@ -4552,6 +4571,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
|||
});
|
||||
var $cbutton = self.$buttonpane.find(".oe_abstractformpopup-form-close");
|
||||
$cbutton.click(function() {
|
||||
self.view_form.trigger('on_button_cancel');
|
||||
self.check_exit();
|
||||
});
|
||||
self.view_form.do_show();
|
||||
|
@ -4946,7 +4966,7 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({
|
|||
}
|
||||
this.$el.find('input').eq(0).val(show_value);
|
||||
} else {
|
||||
this.$el.find('a').show(!!this.get('value'));
|
||||
this.$el.find('a').toggle(!!this.get('value'));
|
||||
if (this.get('value')) {
|
||||
var show_value = _t("Download")
|
||||
if (this.view)
|
||||
|
@ -5223,8 +5243,20 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
|||
this.options.clickable = this.options.clickable || (this.node.attrs || {}).clickable || false;
|
||||
this.options.visible = this.options.visible || (this.node.attrs || {}).statusbar_visible || false;
|
||||
this.set({value: false});
|
||||
this.selection = [];
|
||||
this.set("selection", []);
|
||||
this.selection_dm = new instance.web.DropMisordered();
|
||||
},
|
||||
start: function() {
|
||||
this.field_manager.on("view_content_has_changed", this, this.calc_domain);
|
||||
this.calc_domain();
|
||||
this.on("change:value", this, this.get_selection);
|
||||
this.on("change:evaluated_selection_domain", this, this.get_selection);
|
||||
this.get_selection();
|
||||
this.on("change:selection", this, function() {
|
||||
this.selection = this.get("selection");
|
||||
this.render_value();
|
||||
});
|
||||
if (this.options.clickable) {
|
||||
this.$el.on('click','li',this.on_click_stage);
|
||||
}
|
||||
|
@ -5241,15 +5273,20 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
|||
},
|
||||
render_value: function() {
|
||||
var self = this;
|
||||
self.get_selection().done(function() {
|
||||
var content = QWeb.render("FieldStatus.content", {widget: self});
|
||||
self.$el.html(content);
|
||||
var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}");
|
||||
var color = colors[self.get('value')];
|
||||
if (color) {
|
||||
self.$("oe_active").css("color", color);
|
||||
}
|
||||
});
|
||||
var content = QWeb.render("FieldStatus.content", {widget: self});
|
||||
self.$el.html(content);
|
||||
var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}");
|
||||
var color = colors[self.get('value')];
|
||||
if (color) {
|
||||
self.$("oe_active").css("color", color);
|
||||
}
|
||||
},
|
||||
calc_domain: function() {
|
||||
var d = instance.web.pyeval.eval('domain', this.build_domain());
|
||||
domain = ['|', ['id', '=', this.get('value')]].concat(d);
|
||||
if (! _.isEqual(domain, this.get("evaluated_selection_domain"))) {
|
||||
this.set("evaluated_selection_domain", domain);
|
||||
}
|
||||
},
|
||||
/** Get the selection and render it
|
||||
* selection: [[identifier, value_to_display], ...]
|
||||
|
@ -5258,32 +5295,37 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
|||
*/
|
||||
get_selection: function() {
|
||||
var self = this;
|
||||
self.selection = [];
|
||||
if (this.field.type == "many2one") {
|
||||
var domain = [];
|
||||
if(!_.isEmpty(this.field.domain) || !_.isEmpty(this.node.attrs.domain)) {
|
||||
var d = instance.web.pyeval.eval('domain', self.build_domain());
|
||||
domain = ['|', ['id', '=', self.get('value')]].concat(d);
|
||||
}
|
||||
var ds = new instance.web.DataSetSearch(this, this.field.relation, self.build_context(), domain);
|
||||
return ds.read_slice(['name'], {}).then(function (records) {
|
||||
for(var i = 0; i < records.length; i++) {
|
||||
self.selection.push([records[i].id, records[i].name]);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// For field type selection filter values according to
|
||||
// statusbar_visible attribute of the field. For example:
|
||||
// statusbar_visible="draft,open".
|
||||
var selection = this.field.selection;
|
||||
for(var i=0; i < selection.length; i++) {
|
||||
var key = selection[i][0];
|
||||
if(key == this.get('value') || !this.options.visible || this.options.visible.indexOf(key) != -1) {
|
||||
this.selection.push(selection[i]);
|
||||
var selection = [];
|
||||
|
||||
var calculation = _.bind(function() {
|
||||
if (this.field.type == "many2one") {
|
||||
var domain = [];
|
||||
var ds = new instance.web.DataSetSearch(this, this.field.relation,
|
||||
self.build_context(), this.get("evaluated_selection_domain"));
|
||||
return ds.read_slice(['name'], {}).then(function (records) {
|
||||
for(var i = 0; i < records.length; i++) {
|
||||
selection.push([records[i].id, records[i].name]);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// For field type selection filter values according to
|
||||
// statusbar_visible attribute of the field. For example:
|
||||
// statusbar_visible="draft,open".
|
||||
var select = this.field.selection;
|
||||
for(var i=0; i < select.length; i++) {
|
||||
var key = select[i][0];
|
||||
if(key == this.get('value') || !this.options.visible || this.options.visible.indexOf(key) != -1) {
|
||||
selection.push(select[i]);
|
||||
}
|
||||
}
|
||||
return $.when();
|
||||
}
|
||||
return $.when();
|
||||
}
|
||||
}, this);
|
||||
this.selection_dm.add(calculation()).then(function () {
|
||||
if (! _.isEqual(selection, self.get("selection"))) {
|
||||
self.set("selection", selection);
|
||||
}
|
||||
});
|
||||
},
|
||||
on_click_stage: function (ev) {
|
||||
var self = this;
|
||||
|
@ -5327,16 +5369,16 @@ instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({
|
|||
this.set({"currency_info": null});
|
||||
return;
|
||||
}
|
||||
return this.ci_dm.add(new instance.web.Model("res.currency").query(["symbol", "position"])
|
||||
.filter([["id", "=", self.get("currency")]]).first()).then(function(res) {
|
||||
return this.ci_dm.add(self.alive(new instance.web.Model("res.currency").query(["symbol", "position"])
|
||||
.filter([["id", "=", self.get("currency")]]).first())).then(function(res) {
|
||||
self.set({"currency_info": res});
|
||||
});
|
||||
},
|
||||
parse_value: function(val, def) {
|
||||
return instance.web.parse_value(val, {type: "float"}, def);
|
||||
return instance.web.parse_value(val, {type: "float", digits: (this.node.attrs || {}).digits || this.field.digits}, def);
|
||||
},
|
||||
format_value: function(val, def) {
|
||||
return instance.web.format_value(val, {type: "float"}, def);
|
||||
return instance.web.format_value(val, {type: "float", digits: (this.node.attrs || {}).digits || this.field.digits}, def);
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
@ -321,9 +321,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
|||
.appendTo($this.empty())
|
||||
.click(function (e) {e.stopPropagation();})
|
||||
.append('<option value="80">80</option>' +
|
||||
'<option value="100">100</option>' +
|
||||
'<option value="200">200</option>' +
|
||||
'<option value="500">500</option>' +
|
||||
'<option value="2000">2000</option>' +
|
||||
'<option value="NaN">' + _t("Unlimited") + '</option>')
|
||||
.change(function () {
|
||||
var val = parseInt($select.val(), 10);
|
||||
|
@ -348,12 +348,27 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
|||
this.sidebar.add_toolbar(this.fields_view.toolbar);
|
||||
this.sidebar.$el.hide();
|
||||
}
|
||||
//Sort
|
||||
if(this.dataset._sort.length){
|
||||
if(this.dataset._sort[0].indexOf('-') == -1){
|
||||
this.$el.find('th[data-id=' + this.dataset._sort[0] + ']').addClass("sortdown");
|
||||
}else {
|
||||
this.$el.find('th[data-id=' + this.dataset._sort[0].split('-')[1] + ']').addClass("sortup");
|
||||
}
|
||||
}
|
||||
this.trigger('list_view_loaded', data, this.grouped);
|
||||
},
|
||||
sort_by_column: function (e) {
|
||||
e.stopPropagation();
|
||||
var $column = $(e.currentTarget);
|
||||
this.dataset.sort($column.data('id'));
|
||||
var col_name = $column.data('id')
|
||||
var field = this.fields_view.fields[col_name];
|
||||
// test if the field is a function field with store=false, since it's impossible
|
||||
// for the server to sort those fields we desactivate the feature
|
||||
if (field && field.store === false) {
|
||||
return false;
|
||||
}
|
||||
this.dataset.sort(col_name);
|
||||
if($column.hasClass("sortdown") || $column.hasClass("sortup")) {
|
||||
$column.toggleClass("sortup sortdown");
|
||||
} else {
|
||||
|
@ -1171,7 +1186,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
|||
}
|
||||
});
|
||||
instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.web.ListView.Groups# */{
|
||||
passtrough_events: 'action deleted row_link',
|
||||
passthrough_events: 'action deleted row_link',
|
||||
/**
|
||||
* Grouped display for the ListView. Handles basic DOM events and interacts
|
||||
* with the :js:class:`~DataGroup` bound to it.
|
||||
|
@ -1391,7 +1406,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
|
|||
// can have selections spanning multiple links
|
||||
var selection = self.get_selection();
|
||||
$this.trigger(e, [selection.ids, selection.records]);
|
||||
}).bind(this.passtrough_events, function (e) {
|
||||
}).bind(this.passthrough_events, function (e) {
|
||||
// additional positional parameters are provided to trigger as an
|
||||
// Array, following the event type or event object, but are
|
||||
// provided to the .bind event handler as *args.
|
||||
|
@ -2197,7 +2212,7 @@ instance.web.list.Binary = instance.web.list.Column.extend({
|
|||
if (value && value.substr(0, 10).indexOf(' ') == -1) {
|
||||
download_url = "data:application/octet-stream;base64," + value;
|
||||
} else {
|
||||
download_url = this.session.url('/web/binary/saveas', {model: options.model, field: this.id, id: options.id});
|
||||
download_url = instance.session.url('/web/binary/saveas', {model: options.model, field: this.id, id: options.id});
|
||||
if (this.filename) {
|
||||
download_url += '&filename_field=' + this.filename;
|
||||
}
|
||||
|
|
|
@ -132,6 +132,15 @@ openerp.web.list_editable = function (instance) {
|
|||
var self = this;
|
||||
// tree/@editable takes priority on everything else if present.
|
||||
var result = this._super(data, grouped);
|
||||
|
||||
// In case current editor was started previously, also has to run
|
||||
// when toggling from editable to non-editable in case form widgets
|
||||
// have setup global behaviors expecting themselves to exist
|
||||
// somehow.
|
||||
this.editor.destroy();
|
||||
// Editor is not restartable due to formview not being restartable
|
||||
this.editor = this.make_editor();
|
||||
|
||||
if (this.editable()) {
|
||||
this.$el.addClass('oe_list_editable');
|
||||
// FIXME: any hook available to ensure this is only done once?
|
||||
|
@ -143,10 +152,6 @@ openerp.web.list_editable = function (instance) {
|
|||
e.preventDefault();
|
||||
self.cancel_edition();
|
||||
});
|
||||
this.editor.destroy();
|
||||
// Editor is not restartable due to formview not being
|
||||
// restartable
|
||||
this.editor = this.make_editor();
|
||||
var editor_ready = this.editor.prependTo(this.$el)
|
||||
.done(this.proxy('setup_events'));
|
||||
|
||||
|
@ -795,7 +800,7 @@ openerp.web.list_editable = function (instance) {
|
|||
});
|
||||
|
||||
instance.web.ListView.Groups.include(/** @lends instance.web.ListView.Groups# */{
|
||||
passtrough_events: instance.web.ListView.Groups.prototype.passtrough_events + " edit saved",
|
||||
passthrough_events: instance.web.ListView.Groups.prototype.passthrough_events + " edit saved",
|
||||
get_row_for: function (record) {
|
||||
return _(this.children).chain()
|
||||
.invoke('get_row_for', record)
|
||||
|
|
|
@ -190,6 +190,18 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
});
|
||||
state = _.extend(params || {}, state);
|
||||
}
|
||||
if (this.inner_action.context) {
|
||||
var active_id = this.inner_action.context.active_id;
|
||||
if (active_id) {
|
||||
state["active_id"] = active_id;
|
||||
}
|
||||
var active_ids = this.inner_action.context.active_ids;
|
||||
if (active_ids && !(active_ids.length === 1 && active_ids[0] === active_id)) {
|
||||
// We don't push active_ids if it's a single element array containing the active_id
|
||||
// This makes the url shorter in most cases.
|
||||
state["active_ids"] = this.inner_action.context.active_ids.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!this.dialog) {
|
||||
this.getParent().do_push_state(state);
|
||||
|
@ -212,8 +224,22 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
} else {
|
||||
var run_action = (!this.inner_widget || !this.inner_widget.action) || this.inner_widget.action.id !== state.action;
|
||||
if (run_action) {
|
||||
var add_context = {};
|
||||
if (state.active_id) {
|
||||
add_context.active_id = state.active_id;
|
||||
}
|
||||
if (state.active_ids) {
|
||||
// The jQuery BBQ plugin does some parsing on values that are valid integers.
|
||||
// It means that if there's only one item, it will do parseInt() on it,
|
||||
// otherwise it will keep the comma seperated list as string.
|
||||
add_context.active_ids = state.active_ids.toString().split(',').map(function(id) {
|
||||
return parseInt(id, 10) || id;
|
||||
});
|
||||
} else if (state.active_id) {
|
||||
add_context.active_ids = [state.active_id];
|
||||
}
|
||||
this.null_action();
|
||||
action_loaded = this.do_action(state.action);
|
||||
action_loaded = this.do_action(state.action, { additional_context: add_context });
|
||||
$.when(action_loaded || null).done(function() {
|
||||
instance.webclient.menu.has_been_loaded.done(function() {
|
||||
if (self.inner_action && self.inner_action.id) {
|
||||
|
@ -249,12 +275,25 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* Execute an OpenERP action
|
||||
*
|
||||
* @param {Number|String|Object} Can be either an action id, a client action or an action descriptor.
|
||||
* @param {Object} [options]
|
||||
* @param {Boolean} [options.clear_breadcrumbs=false] Clear the breadcrumbs history list
|
||||
* @param {Function} [options.on_reverse_breadcrumb] Callback to be executed whenever an anterior breadcrumb item is clicked on.
|
||||
* @param {Function} [options.on_close] Callback to be executed when the dialog is closed (only relevant for target=new actions)
|
||||
* @param {Function} [options.action_menu_id] Manually set the menu id on the fly.
|
||||
* @param {Object} [options.additional_context] Additional context to be merged with the action's context.
|
||||
* @return {jQuery.Deferred} Action loaded
|
||||
*/
|
||||
do_action: function(action, options) {
|
||||
options = _.defaults(options || {}, {
|
||||
clear_breadcrumbs: false,
|
||||
on_reverse_breadcrumb: function() {},
|
||||
on_close: function() {},
|
||||
action_menu_id: null,
|
||||
additional_context: {},
|
||||
});
|
||||
if (action === false) {
|
||||
action = { type: 'ir.actions.act_window_close' };
|
||||
|
@ -269,9 +308,13 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
}
|
||||
|
||||
// Ensure context & domain are evaluated and can be manipulated/used
|
||||
if (action.context) {
|
||||
action.context = instance.web.pyeval.eval(
|
||||
'context', action.context);
|
||||
var ncontext = new instance.web.CompoundContext(options.additional_context, action.context || {});
|
||||
action.context = instance.web.pyeval.eval('context', ncontext);
|
||||
if (action.context.active_id || action.context.active_ids) {
|
||||
// Here we assume that when an `active_id` or `active_ids` is used
|
||||
// in the context, we are in a `related` action, so we disable the
|
||||
// searchview's default custom filters.
|
||||
action.context.search_disable_custom_filters = true;
|
||||
}
|
||||
if (action.domain) {
|
||||
action.domain = instance.web.pyeval.eval(
|
||||
|
@ -285,14 +328,15 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
var type = action.type.replace(/\./g,'_');
|
||||
var popup = action.target === 'new';
|
||||
var inline = action.target === 'inline' || action.target === 'inlineview';
|
||||
action.flags = _.extend({
|
||||
action.flags = _.defaults(action.flags || {}, {
|
||||
views_switcher : !popup && !inline,
|
||||
search_view : !popup && !inline,
|
||||
action_buttons : !popup && !inline,
|
||||
sidebar : !popup && !inline,
|
||||
pager : !popup && !inline,
|
||||
display_title : !popup
|
||||
}, action.flags || {});
|
||||
display_title : !popup,
|
||||
search_disable_custom_filters: action.context && action.context.search_disable_custom_filters
|
||||
});
|
||||
action.menu_id = options.action_menu_id;
|
||||
if (!(type in this)) {
|
||||
console.error("Action manager can't handle action of type " + action.type, action);
|
||||
|
@ -526,7 +570,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
}
|
||||
|
||||
if (this.searchview) {
|
||||
this.searchview[(view.controller.searchable === false || this.searchview.hidden) ? 'hide' : 'show']();
|
||||
this.searchview[(view.controller.searchable === false || this.searchview.options.hidden) ? 'hide' : 'show']();
|
||||
}
|
||||
|
||||
this.$el.find('.oe_view_manager_switch a').parent().removeClass('active');
|
||||
|
@ -538,7 +582,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.$el.find(".oe_view_manager_view_" + view_name + ":first");
|
||||
var container = self.$el.find("> .oe_view_manager_body > .oe_view_manager_view_" + view_name);
|
||||
if (view_name === view_type) {
|
||||
container.show();
|
||||
controller.do_show(view_options || {});
|
||||
|
@ -581,7 +625,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
controller.on('switch_mode', self, this.switch_mode);
|
||||
controller.on('previous_view', self, this.prev_view);
|
||||
|
||||
var container = this.$el.find(".oe_view_manager_view_" + view_type);
|
||||
var container = this.$el.find("> .oe_view_manager_body > .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);
|
||||
|
@ -596,6 +640,12 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
self.trigger("controller_inited",view_type,controller);
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @returns {Number|Boolean} the view id of the given type, false if not found
|
||||
*/
|
||||
get_view_id: function(view_type) {
|
||||
return this.views[view_type] && this.views[view_type].view_id || false;
|
||||
},
|
||||
set_title: function(title) {
|
||||
this.$el.find('.oe_view_title_text:first').text(title);
|
||||
},
|
||||
|
@ -684,7 +734,11 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
if (this.searchview) {
|
||||
this.searchview.destroy();
|
||||
}
|
||||
this.searchview = new instance.web.SearchView(this, this.dataset, view_id, search_defaults, this.flags.search_view === false);
|
||||
var options = {
|
||||
hidden: this.flags.search_view === false,
|
||||
disable_custom_filters: this.flags.search_disable_custom_filters,
|
||||
};
|
||||
this.searchview = new instance.web.SearchView(this, this.dataset, view_id, search_defaults, options);
|
||||
|
||||
this.searchview.on('search_data', self, this.do_searchview_search);
|
||||
return this.searchview.appendTo(this.$el.find(".oe_view_manager_view_search"));
|
||||
|
@ -948,10 +1002,11 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
|||
});
|
||||
},
|
||||
do_create_view: function(view_type) {
|
||||
var r = this._super.apply(this, arguments);
|
||||
var view = this.views[view_type].controller;
|
||||
view.set({ 'title': this.action.name });
|
||||
return r;
|
||||
var self = this;
|
||||
return this._super.apply(this, arguments).then(function() {
|
||||
var view = self.views[view_type].controller;
|
||||
view.set({ 'title': self.action.name });
|
||||
});
|
||||
},
|
||||
get_action_manager: function() {
|
||||
var cur = this;
|
||||
|
@ -1492,13 +1547,22 @@ instance.web.json_node_to_xml = function(node, human_readable, indent) {
|
|||
}
|
||||
};
|
||||
instance.web.xml_to_str = function(node) {
|
||||
var str = "";
|
||||
if (window.XMLSerializer) {
|
||||
return (new XMLSerializer()).serializeToString(node);
|
||||
str = (new XMLSerializer()).serializeToString(node);
|
||||
} else if (window.ActiveXObject) {
|
||||
return node.xml;
|
||||
str = node.xml;
|
||||
} else {
|
||||
throw new Error(_t("Could not serialize XML"));
|
||||
}
|
||||
// Browsers won't deal with self closing tags except br, hr, input, ...
|
||||
// http://stackoverflow.com/questions/97522/what-are-all-the-valid-self-closing-elements-in-xhtml-as-implemented-by-the-maj
|
||||
//
|
||||
// The following regex is a bit naive but it's ok for the xmlserializer output
|
||||
str = str.replace(/<([a-z]+)([^<>]*)\s*\/\s*>/g, function(match, tag, attrs) {
|
||||
return "<" + tag + attrs + "></" + tag + ">";
|
||||
});
|
||||
return str;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -119,7 +119,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><label for="db_name">New database name:</label></td>
|
||||
<td><input type="text" name="db_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_-]+$" autofocus="true"/></td>
|
||||
<td><input type="text" name="db_name" class="required" matches="^[a-zA-Z0-9][a-zA-Z0-9_-]+$" autofocus="true"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="demo_data">Load Demonstration data:</label></td>
|
||||
|
@ -385,7 +385,9 @@
|
|||
t-att-data-menu="menu.id"
|
||||
t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''"
|
||||
t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''">
|
||||
<t t-esc="menu.name"/>
|
||||
<span class="oe_menu_text">
|
||||
<t t-esc="menu.name"/>
|
||||
</span>
|
||||
</a>
|
||||
</t>
|
||||
|
||||
|
@ -401,8 +403,9 @@
|
|||
<img class="oe_topbar_avatar" t-att-data-default-src="_s + '/web/static/src/img/user_menu_avatar.png'"/>
|
||||
<span class="oe_topbar_name"/>
|
||||
<ul class="oe_dropdown_menu">
|
||||
<li><a href="#" data-menu="about">About OpenERP</a></li>
|
||||
<li><a href="#" data-menu="settings">Preferences</a></li>
|
||||
<li><a href="#" data-menu="about">About OpenERP</a></li>
|
||||
<li><a href="#" data-menu="help">Help</a></li>
|
||||
<li><a href="#" data-menu="logout">Log out</a></li>
|
||||
</ul>
|
||||
</span>
|
||||
|
@ -1297,7 +1300,7 @@
|
|||
<span class='oe_attach_label'>File</span>
|
||||
<t t-call="HiddenInputFile">
|
||||
<t t-set="fileupload_id" t-value="widget.fileupload_id"/>
|
||||
<t t-set="fileupload_action">/web/binary/upload_attachment</t>
|
||||
<t t-set="fileupload_action" t-translation="off">/web/binary/upload_attachment</t>
|
||||
<input type="hidden" name="model" t-att-value="widget.view.model"/>
|
||||
<input type="hidden" name="id" value="0"/>
|
||||
<input type="hidden" name="session_id" t-att-value="widget.session.session_id"/>
|
||||
|
@ -1412,8 +1415,6 @@
|
|||
this.removeAttr('t-if');
|
||||
</t>
|
||||
|
||||
<t t-jquery="tfoot > tr:last-child" t-operation="replace"/>
|
||||
|
||||
<t t-jquery="td.oe-actions">
|
||||
this.removeAttr('t-if');
|
||||
</t>
|
||||
|
|
|
@ -282,7 +282,7 @@ openerp.testing.section('eval.edc', {
|
|||
db: '3',
|
||||
login: user.login,
|
||||
uid: user.id,
|
||||
context: {
|
||||
user_context: {
|
||||
uid: user.id,
|
||||
lang: user.lang,
|
||||
tz: user.tz
|
||||
|
|
|
@ -68,6 +68,12 @@ openerp.testing.section('web-formats', {
|
|||
strictEqual(
|
||||
instance.web.format_value(-0.0085, {type:'float', widget:'float_time'}),
|
||||
'-00:01');
|
||||
strictEqual(
|
||||
instance.web.format_value(4.9999, {type:'float', widget:'float_time'}),
|
||||
'05:00');
|
||||
strictEqual(
|
||||
instance.web.format_value(-6.9999, {type:'float', widget:'float_time'}),
|
||||
'-07:00');
|
||||
});
|
||||
test("format_float", function (instance) {
|
||||
var fl = 12.1234;
|
||||
|
|
|
@ -318,6 +318,28 @@ openerp.testing.section('defaults', {
|
|||
"facet value should match provided default's selection");
|
||||
});
|
||||
});
|
||||
test("M2O default: value array", {asserts: 2}, function (instance, $s, mock) {
|
||||
var view = {inputs: []}, id = 5;
|
||||
var f = new instance.web.search.ManyToOneField(
|
||||
{attrs: {name: 'dummy', string: 'Dummy'}},
|
||||
{relation: 'dummy.model.name'},
|
||||
view);
|
||||
mock('dummy.model.name:name_get', function (args) {
|
||||
equal(args[0], id);
|
||||
return [[id, "DumDumDum"]];
|
||||
});
|
||||
return f.facet_for_defaults({dummy: [id]})
|
||||
.done(function (facet) {
|
||||
var model = facet;
|
||||
if (!(model instanceof instance.web.search.Facet)) {
|
||||
model = new instance.web.search.Facet(facet);
|
||||
}
|
||||
deepEqual(
|
||||
model.values.toJSON(),
|
||||
[{label: "DumDumDum", value: id}],
|
||||
"should support default as a singleton");
|
||||
});
|
||||
});
|
||||
test("M2O default: value", {asserts: 1}, function (instance, $s, mock) {
|
||||
var view = {inputs: []}, id = 4;
|
||||
var f = new instance.web.search.ManyToOneField(
|
||||
|
@ -330,6 +352,15 @@ openerp.testing.section('defaults', {
|
|||
ok(!facet, "an invalid m2o default should yield a non-facet");
|
||||
});
|
||||
});
|
||||
test("M2O default: values", {rpc: false}, function (instance) {
|
||||
var view = {inputs: []};
|
||||
var f = new instance.web.search.ManyToOneField(
|
||||
{attrs: {name: 'dummy', string: 'Dummy'}},
|
||||
{relation: 'dummy.model.name'},
|
||||
view);
|
||||
raises(function () { f.facet_for_defaults({dummy: [6, 7]}) },
|
||||
"should not accept multiple default values");
|
||||
})
|
||||
});
|
||||
openerp.testing.section('completions', {
|
||||
dependencies: ['web.search'],
|
||||
|
@ -526,7 +557,7 @@ openerp.testing.section('completions', {
|
|||
return [[42, "choice 1"], [43, "choice @"]];
|
||||
});
|
||||
|
||||
var view = {inputs: []};
|
||||
var view = {inputs: [], dataset: {get_context: function () {}}};
|
||||
var f = new instance.web.search.ManyToOneField(
|
||||
{attrs: {string: 'Dummy'}}, {relation: 'dummy.model'}, view);
|
||||
return f.complete("bob")
|
||||
|
@ -555,7 +586,7 @@ openerp.testing.section('completions', {
|
|||
strictEqual(kwargs.name, 'bob');
|
||||
return [];
|
||||
});
|
||||
var view = {inputs: []};
|
||||
var view = {inputs: [], dataset: {get_context: function () {}}};
|
||||
var f = new instance.web.search.ManyToOneField(
|
||||
{attrs: {string: 'Dummy'}}, {relation: 'dummy.model'}, view);
|
||||
return f.complete("bob")
|
||||
|
@ -563,6 +594,26 @@ openerp.testing.section('completions', {
|
|||
ok(!c, "no match should yield no completion");
|
||||
});
|
||||
});
|
||||
test("M2O filtered", {asserts: 2}, function (instance, $s, mock) {
|
||||
mock('dummy.model:name_search', function (args, kwargs) {
|
||||
deepEqual(args, [], "should have no positional arguments");
|
||||
deepEqual(kwargs, {
|
||||
name: 'bob',
|
||||
limit: 8,
|
||||
args: [['foo', '=', 'bar']],
|
||||
context: {flag: 1},
|
||||
}, "should use filtering domain");
|
||||
return [[42, "Match"]];
|
||||
});
|
||||
var view = {
|
||||
inputs: [],
|
||||
dataset: {get_context: function () { return {flag: 1}; }}
|
||||
};
|
||||
var f = new instance.web.search.ManyToOneField(
|
||||
{attrs: {string: 'Dummy', domain: '[["foo", "=", "bar"]]'}},
|
||||
{relation: 'dummy.model'}, view);
|
||||
return f.complete("bob");
|
||||
});
|
||||
});
|
||||
openerp.testing.section('search-serialization', {
|
||||
dependencies: ['web.search'],
|
||||
|
@ -1038,6 +1089,44 @@ openerp.testing.section('saved_filters', {
|
|||
"should not be checked anymore");
|
||||
});
|
||||
});
|
||||
test('toggling', {asserts: 2}, function (instance, $fix, mock) {
|
||||
var view = makeSearchView(instance);
|
||||
mock('ir.filters:get_filters', function () {
|
||||
return [{name: 'filter name', user_id: 42, id: 1}];
|
||||
});
|
||||
|
||||
return view.appendTo($fix)
|
||||
.done(function () {
|
||||
var $row = $fix.find('.oe_searchview_custom li:first').click();
|
||||
equal(view.query.length, 1, "should have one facet");
|
||||
$row.click();
|
||||
equal(view.query.length, 0, "should have removed facet");
|
||||
});
|
||||
});
|
||||
test('replacement', {asserts: 4}, function (instance, $fix, mock) {
|
||||
var view = makeSearchView(instance);
|
||||
mock('ir.filters:get_filters', function () {
|
||||
return [
|
||||
{name: 'f', user_id: 42, id: 1, context: {'private': 1}},
|
||||
{name: 'f', user_id: false, id: 2, context: {'private': 0}}
|
||||
];
|
||||
});
|
||||
return view.appendTo($fix)
|
||||
.done(function () {
|
||||
$fix.find('.oe_searchview_custom li:eq(0)').click();
|
||||
equal(view.query.length, 1, "should have one facet");
|
||||
deepEqual(
|
||||
view.query.at(0).get('field').get_context(),
|
||||
{'private': 1},
|
||||
"should have selected first filter");
|
||||
$fix.find('.oe_searchview_custom li:eq(1)').click();
|
||||
equal(view.query.length, 1, "should have one facet");
|
||||
deepEqual(
|
||||
view.query.at(0).get('field').get_context(),
|
||||
{'private': 0},
|
||||
"should have selected second filter");
|
||||
});
|
||||
});
|
||||
});
|
||||
openerp.testing.section('advanced', {
|
||||
dependencies: ['web.search'],
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Zdeněk Havlík <linuzh@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-12-28 11:43+0000\n"
|
||||
"Last-Translator: Jan Grmela <grmela@gmail.com>\n"
|
||||
"Language-Team: openerp-i18n-czech <openerp-i18n-czech@lists.launchpad.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
|
@ -23,49 +23,49 @@ msgstr ""
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:153
|
||||
#, python-format
|
||||
msgid "New event"
|
||||
msgstr ""
|
||||
msgstr "Nová událost"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:156
|
||||
#, python-format
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
msgstr "Podrobnosti"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:154
|
||||
#, python-format
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
msgstr "Uložit"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:101
|
||||
#, python-format
|
||||
msgid "Calendar view has a 'date_delay' type != float"
|
||||
msgstr ""
|
||||
msgstr "Pohled kalendáře má typ položky 'date_delay' != float"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:149
|
||||
#, python-format
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
msgstr "Dnes"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:151
|
||||
#, python-format
|
||||
msgid "Week"
|
||||
msgstr ""
|
||||
msgstr "Týden"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:163
|
||||
#, python-format
|
||||
msgid "Full day"
|
||||
msgstr ""
|
||||
msgstr "Celý den"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -73,14 +73,14 @@ msgstr ""
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:174
|
||||
#, python-format
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Popis"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:160
|
||||
#, python-format
|
||||
msgid "Event will be deleted permanently, are you sure?"
|
||||
msgstr ""
|
||||
msgstr "Událost bude trvale smazána, jste si jisti?"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -95,56 +95,56 @@ msgstr " "
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:173
|
||||
#, python-format
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
msgstr "Datum"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:470
|
||||
#, python-format
|
||||
msgid "Edit: "
|
||||
msgstr ""
|
||||
msgstr "Upravit: "
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:150
|
||||
#, python-format
|
||||
msgid "Day"
|
||||
msgstr ""
|
||||
msgstr "Den"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:157
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
msgstr "Upravit"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:169
|
||||
#, python-format
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
msgstr "Povoleno"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:166
|
||||
#, python-format
|
||||
msgid "Do you want to edit the whole set of repeated events?"
|
||||
msgstr ""
|
||||
msgstr "Chcete upravit celou skupinu opakujících se událostí?"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:82
|
||||
#, python-format
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtr"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:167
|
||||
#, python-format
|
||||
msgid "Repeat event"
|
||||
msgstr ""
|
||||
msgstr "Opakovat událost"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -152,56 +152,56 @@ msgstr ""
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:180
|
||||
#, python-format
|
||||
msgid "Agenda"
|
||||
msgstr ""
|
||||
msgstr "Agenda"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:162
|
||||
#, python-format
|
||||
msgid "Time period"
|
||||
msgstr ""
|
||||
msgstr "Časový interval"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:158
|
||||
#, python-format
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Smazat"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:152
|
||||
#, python-format
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Měsíc"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:168
|
||||
#, python-format
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
msgstr "Zakázáno"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:435
|
||||
#, python-format
|
||||
msgid "Create: "
|
||||
msgstr ""
|
||||
msgstr "Vytvořit: "
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:177
|
||||
#, python-format
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
msgstr "Rok"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:155
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Zrušit"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -215,4 +215,4 @@ msgstr "Kalendář"
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:93
|
||||
#, python-format
|
||||
msgid "Calendar view has not defined 'date_start' attribute."
|
||||
msgstr ""
|
||||
msgstr "Pohled kalendáře nemá definovaný atribut 'date_start'."
|
||||
|
|
|
@ -0,0 +1,217 @@
|
|||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-26 07:11+0000\n"
|
||||
"Last-Translator: Josh Kim <joshkkim@gmail.com>\n"
|
||||
"Language-Team: Korean <ko@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: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:153
|
||||
#, python-format
|
||||
msgid "New event"
|
||||
msgstr "신규 이벤트"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:156
|
||||
#, python-format
|
||||
msgid "Details"
|
||||
msgstr "상세 내용"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:154
|
||||
#, python-format
|
||||
msgid "Save"
|
||||
msgstr "저장"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:101
|
||||
#, python-format
|
||||
msgid "Calendar view has a 'date_delay' type != float"
|
||||
msgstr "달력 화면에 'date_delay'유형의 != 플로트가 있습니다"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:149
|
||||
#, python-format
|
||||
msgid "Today"
|
||||
msgstr "오늘"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:151
|
||||
#, python-format
|
||||
msgid "Week"
|
||||
msgstr "주"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:163
|
||||
#, python-format
|
||||
msgid "Full day"
|
||||
msgstr "하루 종일"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:161
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:174
|
||||
#, python-format
|
||||
msgid "Description"
|
||||
msgstr "설명"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:160
|
||||
#, python-format
|
||||
msgid "Event will be deleted permanently, are you sure?"
|
||||
msgstr "이벤트가 영구 삭제될 것입니다. 확실하십니까?"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/xml/web_calendar.xml:8
|
||||
#: code:addons/web_calendar/static/src/xml/web_calendar.xml:9
|
||||
#, python-format
|
||||
msgid " "
|
||||
msgstr " "
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:173
|
||||
#, python-format
|
||||
msgid "Date"
|
||||
msgstr "날짜"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:470
|
||||
#, python-format
|
||||
msgid "Edit: "
|
||||
msgstr "편집: "
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:150
|
||||
#, python-format
|
||||
msgid "Day"
|
||||
msgstr "일"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:157
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:169
|
||||
#, python-format
|
||||
msgid "Enabled"
|
||||
msgstr "활성화 됨"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:166
|
||||
#, python-format
|
||||
msgid "Do you want to edit the whole set of repeated events?"
|
||||
msgstr "반복 이벤트의 전체 세트를 편집하시겠습니까?"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:82
|
||||
#, python-format
|
||||
msgid "Filter"
|
||||
msgstr "필터"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:167
|
||||
#, python-format
|
||||
msgid "Repeat event"
|
||||
msgstr "이벤트 반복"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:172
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:180
|
||||
#, python-format
|
||||
msgid "Agenda"
|
||||
msgstr "의제"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:162
|
||||
#, python-format
|
||||
msgid "Time period"
|
||||
msgstr "시한"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:158
|
||||
#, python-format
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:152
|
||||
#, python-format
|
||||
msgid "Month"
|
||||
msgstr "월"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:168
|
||||
#, python-format
|
||||
msgid "Disabled"
|
||||
msgstr "비활성화 됨"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:435
|
||||
#, python-format
|
||||
msgid "Create: "
|
||||
msgstr "생성: "
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:177
|
||||
#, python-format
|
||||
msgid "Year"
|
||||
msgstr "년도"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:155
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:28
|
||||
#, python-format
|
||||
msgid "Calendar"
|
||||
msgstr "달력"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:93
|
||||
#, python-format
|
||||
msgid "Calendar view has not defined 'date_start' attribute."
|
||||
msgstr "달력 화면이 'date_start' 속성을 정의하지 않았습니다."
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"PO-Revision-Date: 2013-01-01 09:46+0000\n"
|
||||
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@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-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-02 05:26+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
|
@ -44,6 +44,8 @@ msgstr "Guardar"
|
|||
#, python-format
|
||||
msgid "Calendar view has a 'date_delay' type != float"
|
||||
msgstr ""
|
||||
"O campo 'date_delay' da vista de calendário tem um tipo diferente de um "
|
||||
"número fracional"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -129,7 +131,7 @@ msgstr "Activado"
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:166
|
||||
#, python-format
|
||||
msgid "Do you want to edit the whole set of repeated events?"
|
||||
msgstr ""
|
||||
msgstr "Quer editar o conjunto inteiro de eventos?"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -214,4 +216,4 @@ msgstr "Calendário"
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:93
|
||||
#, python-format
|
||||
msgid "Calendar view has not defined 'date_start' attribute."
|
||||
msgstr ""
|
||||
msgstr "A vista de calendário não tem definido o atributo 'date_start'."
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Dusan Laznik <laznik@mentis.si>\n"
|
||||
"PO-Revision-Date: 2012-12-31 13:56+0000\n"
|
||||
"Last-Translator: Dusan Laznik (Mentis) <laznik@mentis.si>\n"
|
||||
"Language-Team: Slovenian <sl@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-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-01 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
|
@ -43,7 +43,7 @@ msgstr "Shrani"
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:101
|
||||
#, python-format
|
||||
msgid "Calendar view has a 'date_delay' type != float"
|
||||
msgstr "Končni datum ni pravega tipa"
|
||||
msgstr "Datum ni pravega tipa"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
@ -115,7 +115,7 @@ msgstr "Dan"
|
|||
#: code:addons/web_calendar/static/src/js/calendar.js:157
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr "Uredi"
|
||||
msgstr "Urejanje"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
.openerp .oe_calendar .dhx_cal_select_menu .dhx_menu_icon.icon_edit {
|
||||
display: none;
|
||||
}
|
||||
.openerp .oe_calendar .dhx_cal_navline {
|
||||
.openerp .oe_calendar .dhx_cal_navline, .openerp .oe_calendar .dhx_cal_header {
|
||||
z-index: auto;
|
||||
}
|
||||
.openerp .oe_calendar.oe_cal_month .dhx_cal_data table tr td:last-child div.dhx_month_body {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
// Dhtmlx Scheduler css overrides
|
||||
.dhx_cal_select_menu .dhx_menu_icon.icon_edit
|
||||
display: none
|
||||
.dhx_cal_navline
|
||||
.dhx_cal_navline, .dhx_cal_header
|
||||
// dhtmlx sets the index to 3 (in glossy theme)
|
||||
// I didn't found the reason yet but it overlaps the
|
||||
// dropdown menus and I want to avoid a z-index war.
|
||||
|
|
|
@ -414,6 +414,20 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
|||
self.slow_create(event_id, event_obj);
|
||||
});
|
||||
},
|
||||
get_form_popup_infos: function() {
|
||||
var parent = this.getParent();
|
||||
var infos = {
|
||||
view_id: false,
|
||||
title: this.name,
|
||||
};
|
||||
if (parent instanceof instance.web.ViewManager) {
|
||||
infos.view_id = parent.get_view_id('form');
|
||||
if (parent instanceof instance.web.ViewManagerAction && parent.action && parent.action.name) {
|
||||
infos.title = parent.action.name;
|
||||
}
|
||||
}
|
||||
return infos;
|
||||
},
|
||||
slow_create: function(event_id, event_obj) {
|
||||
var self = this;
|
||||
if (this.current_mode() === 'month') {
|
||||
|
@ -431,9 +445,11 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
|||
});
|
||||
var something_saved = false;
|
||||
var pop = new instance.web.form.FormOpenPopup(this);
|
||||
var pop_infos = this.get_form_popup_infos();
|
||||
pop.show_element(this.dataset.model, null, this.dataset.get_context(defaults), {
|
||||
title: _t("Create: ") + ' ' + this.name,
|
||||
title: _.str.sprintf(_t("Create: %s"), pop_infos.title),
|
||||
disable_multiple_selection: true,
|
||||
view_id: pop_infos.view_id,
|
||||
});
|
||||
pop.on('closed', self, function() {
|
||||
if (!something_saved) {
|
||||
|
@ -465,9 +481,11 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
|||
});
|
||||
} else {
|
||||
var pop = new instance.web.form.FormOpenPopup(this);
|
||||
var pop_infos = this.get_form_popup_infos();
|
||||
var id_from_dataset = this.dataset.ids[index]; // dhtmlx scheduler loses id's type
|
||||
pop.show_element(this.dataset.model, id_from_dataset, this.dataset.get_context(), {
|
||||
title: _t("Edit: ") + this.name
|
||||
title: _.str.sprintf(_t("Edit: %s"), pop_infos.title),
|
||||
view_id: pop_infos.view_id,
|
||||
});
|
||||
pop.on('write_completed', self, function(){
|
||||
self.reload_event(id_from_dataset);
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
|
||||
"PO-Revision-Date: 2012-12-28 11:03+0000\n"
|
||||
"Last-Translator: Jan Grmela <grmela@gmail.com>\n"
|
||||
"Language-Team: openerp-i18n-czech <openerp-i18n-czech@lists.launchpad.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
|
@ -76,7 +76,7 @@ msgstr "Činnosti"
|
|||
#: code:addons/web_diagram/static/src/js/diagram.js:420
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr ""
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-26 07:09+0000\n"
|
||||
"Last-Translator: Josh Kim <joshkkim@gmail.com>\n"
|
||||
"Language-Team: Korean <ko@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: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:252
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:317
|
||||
#, python-format
|
||||
msgid "Open: "
|
||||
msgstr "열기: "
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:215
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Deleting this node cannot be undone.\n"
|
||||
"It will also delete all connected transitions.\n"
|
||||
"\n"
|
||||
"Are you sure ?"
|
||||
msgstr ""
|
||||
"해당 노드를 삭제하는 작업은 복구할 수 없습니다.\n"
|
||||
"또한 모든 연결된 전환을 삭제할 것입니다.\n"
|
||||
"\n"
|
||||
"확실하십니까?"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/xml/base_diagram.xml:13
|
||||
#, python-format
|
||||
msgid "New Node"
|
||||
msgstr "신규 노드"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:310
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:329
|
||||
#, python-format
|
||||
msgid "Transition"
|
||||
msgstr "전환"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:11
|
||||
#, python-format
|
||||
msgid "Diagram"
|
||||
msgstr "도표"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:244
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:278
|
||||
#, python-format
|
||||
msgid "Activity"
|
||||
msgstr "활동"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:420
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:283
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:335
|
||||
#, python-format
|
||||
msgid "Create:"
|
||||
msgstr "생성:"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:185
|
||||
#, python-format
|
||||
msgid "Are you sure?"
|
||||
msgstr "확실하십니까?"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:233
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Deleting this transition cannot be undone.\n"
|
||||
"\n"
|
||||
"Are you sure ?"
|
||||
msgstr ""
|
||||
"해당 전환을 삭제하는 작업은 복구할 수 없습니다.\n"
|
||||
"\n"
|
||||
"확실하십니까 ?"
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"PO-Revision-Date: 2012-12-30 20:03+0000\n"
|
||||
"Last-Translator: Rafał Perczyński <rafal@pery.com.pl>\n"
|
||||
"Language-Team: Polish <pl@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-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-31 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web_diagram
|
||||
|
@ -60,7 +60,7 @@ msgstr "Przejście"
|
|||
#: code:addons/web_diagram/static/src/js/diagram.js:11
|
||||
#, python-format
|
||||
msgid "Diagram"
|
||||
msgstr ""
|
||||
msgstr "Diagram"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
|
@ -75,7 +75,7 @@ msgstr "Aktywność"
|
|||
#: code:addons/web_diagram/static/src/js/diagram.js:420
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr ""
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-26 06:02+0000\n"
|
||||
"Last-Translator: Josh Kim <joshkkim@gmail.com>\n"
|
||||
"Language-Team: Korean <ko@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: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "생성"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "간트"
|
|
@ -24,8 +24,8 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
|||
var self = this;
|
||||
this.fields_view = fields_view_get;
|
||||
this.$el.addClass(this.fields_view.arch.attrs['class']);
|
||||
return new instance.web.Model(this.dataset.model)
|
||||
.call('fields_get').then(function (fields) {
|
||||
return self.alive(new instance.web.Model(this.dataset.model)
|
||||
.call('fields_get')).then(function (fields) {
|
||||
self.fields = fields;
|
||||
self.has_been_loaded.resolve();
|
||||
});
|
||||
|
@ -136,7 +136,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
|||
});
|
||||
return group;
|
||||
} else {
|
||||
var group = new GanttTaskInfo(_.uniqueId("gantt_project_task_"), group_name, task_start, duration, 100);
|
||||
var group = new GanttTaskInfo(_.uniqueId("gantt_project_task_"), group_name, task_start, duration || 1, 100);
|
||||
_.each(task_infos, function(el) {
|
||||
group.addChildTask(el.task_info);
|
||||
});
|
||||
|
@ -161,7 +161,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
|||
}
|
||||
var duration = (task_stop.getTime() - task_start.getTime()) / (1000 * 60 * 60);
|
||||
var id = _.uniqueId("gantt_task_");
|
||||
var task_info = new GanttTaskInfo(id, task_name, task_start, ((duration / 24) * 8), 100);
|
||||
var task_info = new GanttTaskInfo(id, task_name, task_start, ((duration / 24) * 8) || 1, 100);
|
||||
task_info.internal_task = task;
|
||||
task_ids[id] = task_info;
|
||||
return {task_info: task_info, task_start: task_start, task_stop: task_stop};
|
||||
|
@ -195,6 +195,8 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
|||
$(rendered).prependTo(td);
|
||||
$(".oe_gantt_button_create", this.$el).click(this.on_task_create);
|
||||
}
|
||||
// Fix for IE to display the content of gantt view.
|
||||
this.$el.find(".oe_gantt td:first > div, .oe_gantt td:eq(1) > div > div").css("overflow", "");
|
||||
},
|
||||
on_task_changed: function(task_obj) {
|
||||
var self = this;
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Zdeněk Havlík <linuzh@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-12-28 11:45+0000\n"
|
||||
"Last-Translator: Jan Grmela <grmela@gmail.com>\n"
|
||||
"Language-Team: Czech <cs@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-12-22 07:38+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web_graph
|
||||
|
@ -22,14 +22,14 @@ msgstr ""
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:12
|
||||
#, python-format
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
msgstr "Sloupce"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:33
|
||||
#, python-format
|
||||
msgid "Show Data"
|
||||
msgstr ""
|
||||
msgstr "Zobrazit data"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
@ -43,95 +43,95 @@ msgstr "Graf"
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:25
|
||||
#, python-format
|
||||
msgid "Inside"
|
||||
msgstr ""
|
||||
msgstr "Uvnitř"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:3
|
||||
#, python-format
|
||||
msgid "í"
|
||||
msgstr ""
|
||||
msgstr "í"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:11
|
||||
#, python-format
|
||||
msgid "Pie"
|
||||
msgstr ""
|
||||
msgstr "Koláčový graf"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:28
|
||||
#, python-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
msgstr "Akce"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:7
|
||||
#, python-format
|
||||
msgid "Graph Mode"
|
||||
msgstr ""
|
||||
msgstr "Režim grafu"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:18
|
||||
#, python-format
|
||||
msgid "Radar"
|
||||
msgstr ""
|
||||
msgstr "Radarový"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:34
|
||||
#, python-format
|
||||
msgid "Download as PNG"
|
||||
msgstr ""
|
||||
msgstr "Stáhnout jako PNG"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:26
|
||||
#, python-format
|
||||
msgid "Top"
|
||||
msgstr ""
|
||||
msgstr "Nahoře"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:24
|
||||
#, python-format
|
||||
msgid "Hidden"
|
||||
msgstr ""
|
||||
msgstr "Skrytý"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:3
|
||||
#, python-format
|
||||
msgid "Graph Options"
|
||||
msgstr ""
|
||||
msgstr "Možnosti grafu"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:14
|
||||
#, python-format
|
||||
msgid "Lines"
|
||||
msgstr ""
|
||||
msgstr "Čáry"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:20
|
||||
#, python-format
|
||||
msgid "Legend"
|
||||
msgstr ""
|
||||
msgstr "Legenda"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:32
|
||||
#, python-format
|
||||
msgid "Switch Axis"
|
||||
msgstr ""
|
||||
msgstr "Prohodit osy"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:15
|
||||
#, python-format
|
||||
msgid "Areas"
|
||||
msgstr ""
|
||||
msgstr "Oblasti"
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-26 06:05+0000\n"
|
||||
"Last-Translator: Josh Kim <joshkkim@gmail.com>\n"
|
||||
"Language-Team: Korean <ko@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: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:12
|
||||
#, python-format
|
||||
msgid "Bars"
|
||||
msgstr "막대"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:33
|
||||
#, python-format
|
||||
msgid "Show Data"
|
||||
msgstr "데이터 보기"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/js/graph.js:22
|
||||
#, python-format
|
||||
msgid "Graph"
|
||||
msgstr "그래프"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:25
|
||||
#, python-format
|
||||
msgid "Inside"
|
||||
msgstr "내부"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:3
|
||||
#, python-format
|
||||
msgid "í"
|
||||
msgstr "í"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:11
|
||||
#, python-format
|
||||
msgid "Pie"
|
||||
msgstr "파이"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:28
|
||||
#, python-format
|
||||
msgid "Actions"
|
||||
msgstr "액션"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:7
|
||||
#, python-format
|
||||
msgid "Graph Mode"
|
||||
msgstr "그래프 모드"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:18
|
||||
#, python-format
|
||||
msgid "Radar"
|
||||
msgstr "레이더"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:34
|
||||
#, python-format
|
||||
msgid "Download as PNG"
|
||||
msgstr "PNG 형식으로 다운로드"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:26
|
||||
#, python-format
|
||||
msgid "Top"
|
||||
msgstr "상단"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:24
|
||||
#, python-format
|
||||
msgid "Hidden"
|
||||
msgstr "숨겨짐"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:3
|
||||
#, python-format
|
||||
msgid "Graph Options"
|
||||
msgstr "그래프 옵션"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:14
|
||||
#, python-format
|
||||
msgid "Lines"
|
||||
msgstr "선"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:20
|
||||
#, python-format
|
||||
msgid "Legend"
|
||||
msgstr "범례"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:32
|
||||
#, python-format
|
||||
msgid "Switch Axis"
|
||||
msgstr "축 전환"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:15
|
||||
#, python-format
|
||||
msgid "Areas"
|
||||
msgstr "영역"
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Virgílio Oliveira <virgilio.oliveira@multibase.pt>\n"
|
||||
"PO-Revision-Date: 2012-12-31 09:05+0000\n"
|
||||
"Last-Translator: Andrei Talpa (multibase.pt) <andrei.talpa@multibase.pt>\n"
|
||||
"Language-Team: Portuguese <pt@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-12-22 07:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-01 05:19+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web_graph
|
||||
|
@ -29,7 +29,7 @@ msgstr "Barras"
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:33
|
||||
#, python-format
|
||||
msgid "Show Data"
|
||||
msgstr ""
|
||||
msgstr "Mostrar dados"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
@ -43,7 +43,7 @@ msgstr "Gráfico"
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:25
|
||||
#, python-format
|
||||
msgid "Inside"
|
||||
msgstr ""
|
||||
msgstr "Interior"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
@ -99,7 +99,7 @@ msgstr "Topo"
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:24
|
||||
#, python-format
|
||||
msgid "Hidden"
|
||||
msgstr ""
|
||||
msgstr "Escondido"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
@ -127,7 +127,7 @@ msgstr "Legenda"
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:32
|
||||
#, python-format
|
||||
msgid "Switch Axis"
|
||||
msgstr ""
|
||||
msgstr "Mudar eixo"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,15 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Luiz Fernando M.França <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-01-26 06:21+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@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-12-22 07:39+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-27 05:10+0000\n"
|
||||
"X-Generator: Launchpad (build 16451)\n"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
@ -85,7 +86,7 @@ msgstr "Radar"
|
|||
#: code:addons/web_graph/static/src/xml/web_graph.xml:34
|
||||
#, python-format
|
||||
msgid "Download as PNG"
|
||||
msgstr "Download um PNG"
|
||||
msgstr "Download como PNG"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
|
|
@ -246,7 +246,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
|||
var result = [];
|
||||
var ticks = {};
|
||||
|
||||
return obj.call("fields_view_get", [view_id, 'graph']).then(function(tmp) {
|
||||
return this.alive(obj.call("fields_view_get", [view_id, 'graph', context]).then(function(tmp) {
|
||||
view_get = tmp;
|
||||
fields = view_get['fields'];
|
||||
var toload = _.select(group_by, function(x) { return fields[x] === undefined });
|
||||
|
@ -368,7 +368,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
|||
'ticks': _.map(ticks, function(el, key) { return [el, key] })
|
||||
};
|
||||
return res;
|
||||
});
|
||||
}));
|
||||
},
|
||||
|
||||
// Render the graph and update menu styles
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
|
||||
"PO-Revision-Date: 2012-12-28 11:47+0000\n"
|
||||
"Last-Translator: Jan Grmela <grmela@gmail.com>\n"
|
||||
"Language-Team: openerp-i18n-czech <openerp-i18n-czech@lists.launchpad.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 07:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
|
@ -23,14 +23,14 @@ msgstr ""
|
|||
#: code:addons/web_kanban/static/src/js/kanban.js:704
|
||||
#, python-format
|
||||
msgid "Edit column"
|
||||
msgstr ""
|
||||
msgstr "Upravit sloupec"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:418
|
||||
#, python-format
|
||||
msgid "An error has occured while moving the record to this group."
|
||||
msgstr ""
|
||||
msgstr "Chyba při přesunu záznamu do této skupiny."
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -51,35 +51,35 @@ msgstr "Neurčeno"
|
|||
#: code:addons/web_kanban/static/src/js/kanban.js:723
|
||||
#, python-format
|
||||
msgid "Are you sure to remove this column ?"
|
||||
msgstr ""
|
||||
msgstr "Opravdu chcete odebrat tento sloupec?"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:42
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
msgstr "Upravit"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:190
|
||||
#, python-format
|
||||
msgid "Add column"
|
||||
msgstr ""
|
||||
msgstr "Přidat sloupec"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:1100
|
||||
#, python-format
|
||||
msgid "Create: "
|
||||
msgstr ""
|
||||
msgstr "Vytvořit: "
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:24
|
||||
#, python-format
|
||||
msgid "Add a new column"
|
||||
msgstr ""
|
||||
msgstr "Přidat nový sloupec"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -87,21 +87,21 @@ msgstr ""
|
|||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:40
|
||||
#, python-format
|
||||
msgid "Fold"
|
||||
msgstr ""
|
||||
msgstr "Sbalit"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91
|
||||
#, python-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "Přidat"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:35
|
||||
#, python-format
|
||||
msgid "Quick create"
|
||||
msgstr ""
|
||||
msgstr "Rychle vytvořit"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -115,7 +115,7 @@ msgstr "Opravdu jste si jisti, že chcete smazat tento záznam ?"
|
|||
#: code:addons/web_kanban/static/src/js/kanban.js:694
|
||||
#, python-format
|
||||
msgid "Unfold"
|
||||
msgstr ""
|
||||
msgstr "Rozbalit"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -129,7 +129,7 @@ msgstr "Ukázat více... ("
|
|||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:92
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Zrušit"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -144,18 +144,18 @@ msgstr "zbývajících)"
|
|||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91
|
||||
#, python-format
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "nebo"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:51
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:43
|
||||
#, python-format
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Smazat"
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-22 14:05+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
|
||||
"PO-Revision-Date: 2013-01-12 00:07+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\n"
|
||||
"Language-Team: Italian <it@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-12-23 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-13 05:27+0000\n"
|
||||
"X-Generator: Launchpad (build 16420)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -87,7 +87,7 @@ msgstr "Aggiungi una nuova colonna"
|
|||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:40
|
||||
#, python-format
|
||||
msgid "Fold"
|
||||
msgstr "Chiudi"
|
||||
msgstr "Restringi"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
|
|
@ -0,0 +1,160 @@
|
|||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-26 06:02+0000\n"
|
||||
"Last-Translator: Josh Kim <joshkkim@gmail.com>\n"
|
||||
"Language-Team: Korean <ko@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: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:704
|
||||
#, python-format
|
||||
msgid "Edit column"
|
||||
msgstr "열 편집"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:418
|
||||
#, python-format
|
||||
msgid "An error has occured while moving the record to this group."
|
||||
msgstr "기록을 해당 그룹으로 옮기는 동안 오류가 발생했습니다."
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:10
|
||||
#, python-format
|
||||
msgid "Kanban"
|
||||
msgstr "간판"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:557
|
||||
#, python-format
|
||||
msgid "Undefined"
|
||||
msgstr "정의되지 않음"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:723
|
||||
#, python-format
|
||||
msgid "Are you sure to remove this column ?"
|
||||
msgstr "정말로 해당 열을 제거하시겠습니다?"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:42
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:190
|
||||
#, python-format
|
||||
msgid "Add column"
|
||||
msgstr "열 추가"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:1100
|
||||
#, python-format
|
||||
msgid "Create: "
|
||||
msgstr "다음 생성: "
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:24
|
||||
#, python-format
|
||||
msgid "Add a new column"
|
||||
msgstr "열 추가"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:694
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:40
|
||||
#, python-format
|
||||
msgid "Fold"
|
||||
msgstr "접기"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91
|
||||
#, python-format
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:35
|
||||
#, python-format
|
||||
msgid "Quick create"
|
||||
msgstr "빠른 추가"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:936
|
||||
#, python-format
|
||||
msgid "Are you sure you want to delete this record ?"
|
||||
msgstr "정말로 다음 기록을 삭제하시겠습니까 ?"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:694
|
||||
#, python-format
|
||||
msgid "Unfold"
|
||||
msgstr "펼치기"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:73
|
||||
#, python-format
|
||||
msgid "Show more... ("
|
||||
msgstr "더 보기... ("
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:92
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:73
|
||||
#, python-format
|
||||
msgid "remaining)"
|
||||
msgstr "남음)"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:22
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91
|
||||
#, python-format
|
||||
msgid "or"
|
||||
msgstr "또는"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:51
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:43
|
||||
#, python-format
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
|
@ -8,14 +8,15 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Cristiano Korndörfer <codigo.aberto@dorfer.com.br>\n"
|
||||
"PO-Revision-Date: 2013-01-26 06:23+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@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-12-22 07:39+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-01-27 05:10+0000\n"
|
||||
"X-Generator: Launchpad (build 16451)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -93,7 +94,7 @@ msgstr "Dobrar"
|
|||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91
|
||||
#, python-format
|
||||
msgid "Add"
|
||||
msgstr "Incluir"
|
||||
msgstr "Adicionar"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -107,7 +108,7 @@ msgstr "Criar rapidamente"
|
|||
#: code:addons/web_kanban/static/src/js/kanban.js:936
|
||||
#, python-format
|
||||
msgid "Are you sure you want to delete this record ?"
|
||||
msgstr "Você tem certeza que quer deletar este registro ?"
|
||||
msgstr "Você tem certeza que quer excluir este registro ?"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Ahmet Altınışık <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-15 20:44+0000\n"
|
||||
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
|
||||
"Language-Team: Turkish <tr@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-12-22 07:39+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 05:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -29,7 +29,7 @@ msgstr "Sütunu düzenle"
|
|||
#: code:addons/web_kanban/static/src/js/kanban.js:418
|
||||
#, python-format
|
||||
msgid "An error has occured while moving the record to this group."
|
||||
msgstr ""
|
||||
msgstr "Kayıt bu gruba taşınırken bir hata oluştu."
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
@ -150,7 +150,7 @@ msgstr "veya"
|
|||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:51
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
}
|
||||
.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_dummy_cell {
|
||||
background: url(/web/static/src/img/form_sheetbg.png);
|
||||
width: 100%;
|
||||
}
|
||||
.openerp .oe_kanban_view .ui-sortable-placeholder {
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
|
@ -32,7 +33,7 @@
|
|||
clear: both;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_content {
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_content .oe_star_on, .openerp .oe_kanban_view .oe_kanban_content .oe_star_off {
|
||||
color: #cccccc;
|
||||
|
@ -77,13 +78,46 @@
|
|||
font-size: 13px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_group_title {
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
text-shadow: 0 1px 0 white;
|
||||
margin-right: 30px;
|
||||
width: 200px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_group_title > span {
|
||||
.openerp .oe_kanban_view .oe_kanban_group_title .oe_kanban_group_title_text {
|
||||
margin-right: 4px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_group_length {
|
||||
text-align: center;
|
||||
display: none;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_group_length .oe_tag {
|
||||
position: relative;
|
||||
top: +8px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_fold_column .oe_kanban_group_length {
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
right: -14px;
|
||||
float: right;
|
||||
display: block;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_header:hover .oe_kanban_group_length {
|
||||
display: none;
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_column, .openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_group_header {
|
||||
width: 185px;
|
||||
min-width: 185px;
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_column.oe_kanban_group_folded, .openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_group_header.oe_kanban_group_folded {
|
||||
width: auto;
|
||||
min-width: 30px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_group_header {
|
||||
vertical-align: top;
|
||||
|
@ -102,9 +136,6 @@
|
|||
border-left: 1px solid #f0f8f8;
|
||||
border-right: 1px solid #b9b9b9;
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_group_header {
|
||||
width: 1%;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_form .oe_kanban_column {
|
||||
padding: 0px;
|
||||
background: white;
|
||||
|
@ -119,7 +150,8 @@
|
|||
.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title, .openerp .oe_kanban_view .oe_kanban_group_folded.oe_kanban_column *, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_aggregates, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_add {
|
||||
display: none;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title_vertical {
|
||||
.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title_vertical,
|
||||
.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_length {
|
||||
display: block;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_group_folded .oe_dropdown_kanban {
|
||||
|
@ -141,7 +173,7 @@
|
|||
display: none;
|
||||
position: relative;
|
||||
opacity: 0.75;
|
||||
top: 20px;
|
||||
top: 26px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_add, .openerp .oe_kanban_view .oe_kanban_header .oe_dropdown_toggle {
|
||||
margin-left: 4px;
|
||||
|
@ -153,6 +185,7 @@
|
|||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_header .oe_dropdown_toggle {
|
||||
top: -2px;
|
||||
height: 14px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_card, .openerp .oe_kanban_view .oe_dropdown_toggle {
|
||||
cursor: pointer;
|
||||
|
@ -165,7 +198,7 @@
|
|||
margin: 4px 0;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_no_group .oe_kanban_quick_create {
|
||||
width: 200px;
|
||||
width: 185px;
|
||||
padding: 10px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_quick_create input {
|
||||
|
@ -432,6 +465,14 @@
|
|||
line-height: 12px;
|
||||
font-size: 22px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_footer_left .oe_tags {
|
||||
margin-right: 0;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_footer_left .oe_tags .oe_tag {
|
||||
display: inline-block;
|
||||
padding: 0 2px;
|
||||
line-height: 14px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_footer_left .oe_kanban_mail_new {
|
||||
line-height: 18px;
|
||||
background-color: #8a89ba;
|
||||
|
|
|
@ -53,6 +53,14 @@
|
|||
height: inherit
|
||||
&.oe_kanban_grouped .oe_kanban_dummy_cell
|
||||
background: url(/web/static/src/img/form_sheetbg.png)
|
||||
width: 100%
|
||||
.oe_kanban_group_length
|
||||
text-align: center
|
||||
display: none
|
||||
.oe_tag
|
||||
position: relative
|
||||
top: +8px
|
||||
font-weight: bold
|
||||
.ui-sortable-placeholder
|
||||
border: 1px solid rgba(0,0,0,0.1)
|
||||
visibility: visible !important
|
||||
|
@ -69,7 +77,7 @@
|
|||
.oe_kanban_clear
|
||||
clear: both
|
||||
.oe_kanban_content
|
||||
word-break: break-all
|
||||
word-wrap: break-word
|
||||
.oe_star_on, .oe_star_off
|
||||
color: #ccc
|
||||
text-shadow: 0 0 2px black
|
||||
|
@ -105,12 +113,32 @@
|
|||
font-weight: normal
|
||||
font-size: 13px
|
||||
.oe_kanban_group_title
|
||||
position: relative
|
||||
font-size: 16px
|
||||
font-weight: bold
|
||||
color: #333333
|
||||
text-shadow: 0 1px 0 white
|
||||
> span
|
||||
margin-right: 30px
|
||||
width: 200px
|
||||
.oe_kanban_group_title_text
|
||||
margin-right: 4px
|
||||
white-space: nowrap
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
.oe_fold_column
|
||||
.oe_kanban_group_length
|
||||
position: absolute
|
||||
top: -1px
|
||||
right: -14px
|
||||
float: right
|
||||
display: block
|
||||
&.oe_kanban_grouped
|
||||
.oe_kanban_column, .oe_kanban_group_header
|
||||
width: 185px
|
||||
min-width: 185px
|
||||
&.oe_kanban_group_folded
|
||||
width: auto
|
||||
min-width: 30px
|
||||
|
||||
.oe_kanban_column, .oe_kanban_group_header
|
||||
vertical-align: top
|
||||
|
@ -126,10 +154,6 @@
|
|||
background: #f0eeee
|
||||
border-left: 1px solid #f0f8f8
|
||||
border-right: 1px solid #b9b9b9
|
||||
&.oe_kanban_grouped
|
||||
.oe_kanban_group_header
|
||||
width: 1%
|
||||
|
||||
.oe_form
|
||||
.oe_kanban_column
|
||||
padding: 0px
|
||||
|
@ -143,7 +167,7 @@
|
|||
.oe_kanban_group_folded
|
||||
.oe_kanban_group_title, &.oe_kanban_column *, .oe_kanban_aggregates, .oe_kanban_add
|
||||
display: none
|
||||
.oe_kanban_group_title_vertical
|
||||
.oe_kanban_group_title_vertical, .oe_kanban_group_length
|
||||
display: block
|
||||
.oe_dropdown_kanban
|
||||
left: -5px
|
||||
|
@ -162,7 +186,7 @@
|
|||
display: none
|
||||
position: relative
|
||||
opacity: 0.75
|
||||
top: 20px
|
||||
top: 26px
|
||||
// }}}
|
||||
// KanbanQuickCreate {{{
|
||||
.oe_kanban_add, .oe_kanban_header .oe_dropdown_toggle
|
||||
|
@ -173,6 +197,7 @@
|
|||
top: -8px
|
||||
.oe_kanban_header .oe_dropdown_toggle
|
||||
top: -2px
|
||||
height: 14px;
|
||||
.oe_kanban_card, .oe_dropdown_toggle
|
||||
cursor: pointer
|
||||
display: inline-block
|
||||
|
@ -182,7 +207,7 @@
|
|||
.oe_kanban_quick_create_buttons
|
||||
margin: 4px 0
|
||||
.oe_kanban_no_group .oe_kanban_quick_create
|
||||
width: 200px
|
||||
width: 185px
|
||||
padding: 10px
|
||||
.oe_kanban_quick_create input
|
||||
@include box-sizing(border-box)
|
||||
|
@ -233,8 +258,9 @@
|
|||
.oe_kanban_title
|
||||
font-weight: bold
|
||||
margin: 2px 4px
|
||||
&.oe_kanban_grouped .oe_kanban_record
|
||||
margin-bottom: 4px
|
||||
&.oe_kanban_grouped
|
||||
.oe_kanban_record
|
||||
margin-bottom: 4px
|
||||
.oe_kanban_avatar_smallbox
|
||||
height: 40px
|
||||
width: 40px
|
||||
|
@ -381,6 +407,12 @@
|
|||
.oe_e
|
||||
line-height: 12px
|
||||
font-size: 22px
|
||||
.oe_tags
|
||||
margin-right: 0
|
||||
.oe_tag
|
||||
display: inline-block
|
||||
padding: 0 2px
|
||||
line-height: 14px
|
||||
.oe_kanban_mail_new
|
||||
line-height: 18px
|
||||
background-color: #8a89ba
|
||||
|
|
|
@ -134,7 +134,9 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
switch (node.tag) {
|
||||
case 'field':
|
||||
if (this.fields_view.fields[node.attrs.name].type === 'many2many') {
|
||||
this.many2manys.push(node.attrs.name);
|
||||
if (_.indexOf(this.many2manys, node.attrs.name) < 0) {
|
||||
this.many2manys.push(node.attrs.name);
|
||||
}
|
||||
node.tag = 'div';
|
||||
node.attrs['class'] = (node.attrs['class'] || '') + ' oe_form_field oe_tags';
|
||||
} else {
|
||||
|
@ -227,15 +229,15 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
this.search_domain = domain;
|
||||
this.search_context = context;
|
||||
this.search_group_by = group_by;
|
||||
$.when(this.has_been_loaded).done(function() {
|
||||
return $.when(this.has_been_loaded).then(function() {
|
||||
self.group_by = group_by.length ? group_by[0] : self.fields_view.arch.attrs.default_group_by;
|
||||
self.group_by_field = self.fields_view.fields[self.group_by] || {};
|
||||
self.grouped_by_m2o = (self.group_by_field.type === 'many2one');
|
||||
self.$buttons.find('.oe_alternative').toggle(self.grouped_by_m2o);
|
||||
self.$el.toggleClass('oe_kanban_grouped_by_m2o', self.grouped_by_m2o);
|
||||
var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(self.group_by);
|
||||
$.when(grouping).done(function(groups) {
|
||||
self.do_clear_groups();
|
||||
var grouping_fields = self.group_by ? [self.group_by].concat(_.keys(self.aggregates)) : undefined;
|
||||
var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(grouping_fields);
|
||||
return self.alive($.when(grouping)).done(function(groups) {
|
||||
if (groups) {
|
||||
self.do_process_groups(groups);
|
||||
} else {
|
||||
|
@ -248,6 +250,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
var self = this;
|
||||
this.$el.removeClass('oe_kanban_ungrouped').addClass('oe_kanban_grouped');
|
||||
this.add_group_mutex.exec(function() {
|
||||
self.do_clear_groups();
|
||||
self.dataset.ids = [];
|
||||
if (!groups.length) {
|
||||
self.no_result();
|
||||
|
@ -275,6 +278,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
this.$el.removeClass('oe_kanban_grouped').addClass('oe_kanban_ungrouped');
|
||||
this.add_group_mutex.exec(function() {
|
||||
var def = $.Deferred();
|
||||
self.do_clear_groups();
|
||||
self.dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit }).done(function(records) {
|
||||
var kgroup = new instance.web_kanban.KanbanGroup(self, records, null, self.dataset);
|
||||
self.do_add_groups([kgroup]).done(function() {
|
||||
|
@ -322,7 +326,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
},
|
||||
on_groups_started: function() {
|
||||
var self = this;
|
||||
this.compute_groups_width();
|
||||
if (this.group_by) {
|
||||
// Kanban cards drag'n'drop
|
||||
var $columns = this.$el.find('.oe_kanban_column .oe_kanban_column_cards');
|
||||
|
@ -420,27 +423,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
});
|
||||
}
|
||||
},
|
||||
compute_groups_width: function() {
|
||||
var unfolded = 0;
|
||||
var self = this;
|
||||
_.each(this.groups, function(group) {
|
||||
unfolded += group.state.folded ? 0 : 1;
|
||||
group.$el.children(':first').css('width', '');
|
||||
});
|
||||
_.each(this.groups, function(group) {
|
||||
if (!group.state.folded) {
|
||||
if (182*unfolded>=self.$el.width()) {
|
||||
group.$el.children(':first').css('width', "170px");
|
||||
} else if (262*unfolded<self.$el.width()) {
|
||||
group.$el.children(':first').css('width', "250px");
|
||||
} else {
|
||||
// -12 because of padding 6 between cards
|
||||
// -1 because of the border of the latest dummy column
|
||||
group.$el.children(':first').css('width', Math.floor((self.$el.width()-1)/unfolded)-12 + 'px');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
do_show: function() {
|
||||
if (this.$buttons) {
|
||||
|
@ -653,9 +635,10 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
|||
'limit': self.view.limit,
|
||||
'offset': self.dataset_offset += self.view.limit
|
||||
}).then(function(records) {
|
||||
self.view.dataset.ids = ids.concat(self.view.dataset.ids);
|
||||
self.view.dataset.ids = ids.concat(self.dataset.ids);
|
||||
self.do_add_records(records);
|
||||
self.compute_cards_auto_height();
|
||||
self.view.postprocess_m2m_tags();
|
||||
return records;
|
||||
});
|
||||
},
|
||||
|
@ -695,7 +678,6 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
|||
},
|
||||
do_action_toggle_fold: function() {
|
||||
this.do_toggle_fold();
|
||||
this.view.compute_groups_width();
|
||||
},
|
||||
do_action_edit: function() {
|
||||
var self = this;
|
||||
|
|
|
@ -34,30 +34,37 @@
|
|||
<t t-if="widget.view._is_quick_create_enabled()">
|
||||
<div class="oe_kanban_add oe_e" title="Quick create">]</div>
|
||||
</t>
|
||||
<div class="oe_dropdown_toggle oe_dropdown_kanban">
|
||||
<span class="oe_e">í</span>
|
||||
<ul class="oe_dropdown_menu oe_kanban_group_dropdown">
|
||||
<li><a data-action="toggle_fold" href="#">Fold</a></li>
|
||||
<t t-if="widget.view.grouped_by_m2o and widget.value">
|
||||
<li><a data-action="edit" href="#">Edit</a></li>
|
||||
<li><a data-action="delete" href="#">Delete</a></li>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="oe_fold_column">
|
||||
<div t-attf-class="oe_kanban_group_title #{widget.undefined_title ? 'oe_kanban_group_title_undefined' : ''}">
|
||||
<span><t t-esc="widget.title"/></span>
|
||||
<span class="oe_kanban_group_length oe_tag" style="position:relative; top:-2px;">
|
||||
<div class="oe_dropdown_toggle oe_dropdown_kanban">
|
||||
<div class="oe_kanban_group_length">
|
||||
<span class="oe_tag">
|
||||
<t t-if="widget.group.get('length') > 99"> 99+ </t><t t-if="widget.group.get('length') <= 99"> <t t-esc="widget.group.get('length')"/> </t>
|
||||
</span>
|
||||
</div>
|
||||
<span class="oe_e">í</span>
|
||||
<ul class="oe_dropdown_menu oe_kanban_group_dropdown">
|
||||
<li><a data-action="toggle_fold" href="#">Fold</a></li>
|
||||
<t t-if="widget.view.grouped_by_m2o and widget.value">
|
||||
<li><a data-action="edit" href="#">Edit</a></li>
|
||||
<li><a data-action="delete" href="#">Delete</a></li>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="oe_fold_column">
|
||||
<div t-attf-class="oe_kanban_group_title #{widget.undefined_title ? 'oe_kanban_group_title_undefined' : ''}">
|
||||
<div class="oe_kanban_group_length oe_tag">
|
||||
<t t-if="widget.group.get('length') > 99"> 99+ </t><t t-if="widget.group.get('length') <= 99"> <t t-esc="widget.group.get('length')"/> </t>
|
||||
</div>
|
||||
<div class="oe_kanban_group_title_text" t-att-title="widget.title"><t t-esc="widget.title"/></div>
|
||||
</div>
|
||||
<ul class="oe_kanban_aggregates">
|
||||
<li t-foreach="widget.aggregates" t-as="aggregate">
|
||||
<span><t t-esc="aggregate"/>:</span> <t t-esc="aggregate_value"/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<span t-if="widget.title" class="oe_kanban_group_title_vertical"><t t-esc="widget.title"/></span>
|
||||
<span t-if="widget.title" class="oe_kanban_group_title_vertical">
|
||||
<t t-esc="widget.title"/>
|
||||
</span>
|
||||
</div>
|
||||
</t>
|
||||
<t t-if="! widget.view.group_by && widget.view._is_quick_create_enabled()">
|
||||
|
|
|
@ -0,0 +1,184 @@
|
|||
# Czech translation for openerp-web
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-28 11:50+0000\n"
|
||||
"Last-Translator: Jan Grmela <grmela@gmail.com>\n"
|
||||
"Language-Team: Czech <cs@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-12-29 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:164
|
||||
#, python-format
|
||||
msgid "The following fields are invalid :"
|
||||
msgstr "Následující pole jsou neplatná:"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:63
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Vytvořit"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:986
|
||||
#, python-format
|
||||
msgid "New Field"
|
||||
msgstr "Nové pole"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:386
|
||||
#, python-format
|
||||
msgid "Do you really wants to create an inherited view here?"
|
||||
msgstr "Opravdu zde chcete vytvořit zděděný pohled?"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:396
|
||||
#, python-format
|
||||
msgid "Preview"
|
||||
msgstr "Náhled"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:183
|
||||
#, python-format
|
||||
msgid "Do you really want to remove this view?"
|
||||
msgstr "Opravdu chcete odstranit tento pohled?"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:90
|
||||
#, python-format
|
||||
msgid "Save"
|
||||
msgstr "Uložit"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:393
|
||||
#, python-format
|
||||
msgid "Select an element"
|
||||
msgstr "Vyberte prvek"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:828
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:954
|
||||
#, python-format
|
||||
msgid "Update"
|
||||
msgstr "Aktualizovat"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:263
|
||||
#, python-format
|
||||
msgid "Please select view in list :"
|
||||
msgstr "Prosím vyberte pohled ze seznamu:"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:37
|
||||
#, python-format
|
||||
msgid "Manage Views (%s)"
|
||||
msgstr "Spravovat pohledy (%s)"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:13
|
||||
#, python-format
|
||||
msgid "Manage Views"
|
||||
msgstr "Spravovat pohledy"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:825
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:951
|
||||
#, python-format
|
||||
msgid "Properties"
|
||||
msgstr "Vlastnosti"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:64
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr "Upravit"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:14
|
||||
#, python-format
|
||||
msgid "Could not find current view declaration"
|
||||
msgstr "Nelze nalézt definici aktuálního pohledu"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:382
|
||||
#, python-format
|
||||
msgid "Inherited View"
|
||||
msgstr "Zděděný pohled"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:65
|
||||
#, python-format
|
||||
msgid "Remove"
|
||||
msgstr "Odebrat"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:516
|
||||
#, python-format
|
||||
msgid "Do you really want to remove this node?"
|
||||
msgstr "Opravdu chcete odstranit tento uzel?"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:390
|
||||
#, python-format
|
||||
msgid "Can't Update View"
|
||||
msgstr "Nepodařilo se aktualizovat pohled"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:379
|
||||
#, python-format
|
||||
msgid "View Editor %d - %s"
|
||||
msgstr "Editor pohledů %d - %s"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:112
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:846
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:974
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:66
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:413
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:88
|
||||
#, python-format
|
||||
msgid "Create a view (%s)"
|
||||
msgstr "Vytvořit pohled (%s)"
|
|
@ -0,0 +1,184 @@
|
|||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-26 08:10+0000\n"
|
||||
"Last-Translator: Josh Kim <joshkkim@gmail.com>\n"
|
||||
"Language-Team: Korean <ko@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: 2013-02-27 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16506)\n"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:164
|
||||
#, python-format
|
||||
msgid "The following fields are invalid :"
|
||||
msgstr "다음 필드는 유효하지 않습니다 :"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:63
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "생성"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:986
|
||||
#, python-format
|
||||
msgid "New Field"
|
||||
msgstr "신규 필드"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:386
|
||||
#, python-format
|
||||
msgid "Do you really wants to create an inherited view here?"
|
||||
msgstr "정말로 여기에 전승된 화면을 생성하길 원하십니까?"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:396
|
||||
#, python-format
|
||||
msgid "Preview"
|
||||
msgstr "미리보기"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:183
|
||||
#, python-format
|
||||
msgid "Do you really want to remove this view?"
|
||||
msgstr "정말로 해당 화면을 제거하시겠습니까?"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:90
|
||||
#, python-format
|
||||
msgid "Save"
|
||||
msgstr "저장"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:393
|
||||
#, python-format
|
||||
msgid "Select an element"
|
||||
msgstr "요소 선택"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:828
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:954
|
||||
#, python-format
|
||||
msgid "Update"
|
||||
msgstr "업데이트"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:263
|
||||
#, python-format
|
||||
msgid "Please select view in list :"
|
||||
msgstr "목록에서 화면을 선택하세요 :"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:37
|
||||
#, python-format
|
||||
msgid "Manage Views (%s)"
|
||||
msgstr "화면 관리 (%s)"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:13
|
||||
#, python-format
|
||||
msgid "Manage Views"
|
||||
msgstr "화면 관리"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:825
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:951
|
||||
#, python-format
|
||||
msgid "Properties"
|
||||
msgstr "속성"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:64
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:14
|
||||
#, python-format
|
||||
msgid "Could not find current view declaration"
|
||||
msgstr "현재 화면 선언을 찾을 수 없음"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:382
|
||||
#, python-format
|
||||
msgid "Inherited View"
|
||||
msgstr "전승 화면"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:65
|
||||
#, python-format
|
||||
msgid "Remove"
|
||||
msgstr "제거"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:516
|
||||
#, python-format
|
||||
msgid "Do you really want to remove this node?"
|
||||
msgstr "정말로 이 노드를 삭제하시겠습니까?"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:390
|
||||
#, python-format
|
||||
msgid "Can't Update View"
|
||||
msgstr "화면을 업데이트 할 수 없음"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:379
|
||||
#, python-format
|
||||
msgid "View Editor %d - %s"
|
||||
msgstr "화면 편집기 %d - %s"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:112
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:846
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:974
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:66
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:413
|
||||
#, python-format
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:88
|
||||
#, python-format
|
||||
msgid "Create a view (%s)"
|
||||
msgstr "화면 생성 (%s)"
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
|
||||
"Last-Translator: Mustafa TÜRKER <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-15 20:44+0000\n"
|
||||
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
|
||||
"Language-Team: Turkish <tr@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-12-22 07:39+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 05:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
|
@ -150,7 +150,7 @@ msgstr "Bu düğümü(node) silmek istediğinize emin misiniz?"
|
|||
#: code:addons/web_view_editor/static/src/js/view_editor.js:390
|
||||
#, python-format
|
||||
msgid "Can't Update View"
|
||||
msgstr ""
|
||||
msgstr "Görünüm Güncellenemiyor"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
|
|
Loading…
Reference in New Issue