[MERGE]Trunk.
bzr revid: vme@tinyerp.com-20130514120256-0xob1bgm77zrsp27 bzr revid: vme@tinyerp.com-20130523051407-vyl5oy2ubm1on2r3
This commit is contained in:
@@ -13,6 +13,7 @@ This module provides the core of the OpenERP Web Client.
|
||||
'auto_install': True,
|
||||
'post_load': 'wsgi_postload',
|
||||
'js' : [
|
||||
"static/src/fixbind.js",
|
||||
"static/lib/datejs/globalization/en-US.js",
|
||||
"static/lib/datejs/core.js",
|
||||
"static/lib/datejs/parser.js",
|
||||
@@ -76,6 +77,7 @@ This module provides the core of the OpenERP Web Client.
|
||||
"static/test/class.js",
|
||||
"static/test/registry.js",
|
||||
"static/test/form.js",
|
||||
"static/test/data.js",
|
||||
"static/test/list-utils.js",
|
||||
"static/test/formats.js",
|
||||
"static/test/rpc.js",
|
||||
|
||||
@@ -643,6 +643,18 @@ class WebClient(openerpweb.Controller):
|
||||
|
||||
content, checksum = concat_files((f[0] for f in files), reader)
|
||||
|
||||
# move up all @import and @charset rules to the top
|
||||
matches = []
|
||||
def push(matchobj):
|
||||
matches.append(matchobj.group(0))
|
||||
return ''
|
||||
|
||||
content = re.sub(re.compile("(@charset.+;$)", re.M), push, content)
|
||||
content = re.sub(re.compile("(@import.+;$)", re.M), push, content)
|
||||
|
||||
matches.append(content)
|
||||
content = '\n'.join(matches)
|
||||
|
||||
return make_conditional(
|
||||
req, req.make_response(content, [('Content-Type', 'text/css')]),
|
||||
last_modified, checksum)
|
||||
@@ -1363,19 +1375,30 @@ class Binary(openerpweb.Controller):
|
||||
elif dbname is None:
|
||||
dbname = db_monodb(req)
|
||||
|
||||
if uid is None:
|
||||
if not uid:
|
||||
uid = openerp.SUPERUSER_ID
|
||||
|
||||
if not dbname:
|
||||
image_data = self.placeholder(req, 'logo.png')
|
||||
else:
|
||||
registry = openerp.modules.registry.RegistryManager.get(dbname)
|
||||
with registry.cursor() as cr:
|
||||
user = registry.get('res.users').browse(cr, uid, uid)
|
||||
if user.company_id.logo_web:
|
||||
image_data = user.company_id.logo_web.decode('base64')
|
||||
else:
|
||||
image_data = self.placeholder(req, 'nologo.png')
|
||||
try:
|
||||
# create an empty registry
|
||||
registry = openerp.modules.registry.Registry(dbname.lower())
|
||||
with registry.cursor() as cr:
|
||||
cr.execute("""SELECT c.logo_web
|
||||
FROM res_users u
|
||||
LEFT JOIN res_company c
|
||||
ON c.id = u.company_id
|
||||
WHERE u.id = %s
|
||||
""", (uid,))
|
||||
row = cr.fetchone()
|
||||
if row and row[0]:
|
||||
image_data = str(row[0]).decode('base64')
|
||||
else:
|
||||
image_data = self.placeholder(req, 'nologo.png')
|
||||
except Exception:
|
||||
image_data = self.placeholder(req, 'logo.png')
|
||||
|
||||
headers = [
|
||||
('Content-Type', 'image/png'),
|
||||
('Content-Length', len(image_data)),
|
||||
@@ -1420,7 +1443,7 @@ class Action(openerpweb.Controller):
|
||||
else:
|
||||
return False
|
||||
|
||||
class Export(View):
|
||||
class Export(openerpweb.Controller):
|
||||
_cp_path = "/web/export"
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
@@ -1561,7 +1584,7 @@ class Export(View):
|
||||
(prefix + '/' + k, prefix_string + '/' + v)
|
||||
for k, v in self.fields_info(req, model, export_fields).iteritems())
|
||||
|
||||
#noinspection PyPropertyDefinition
|
||||
class ExportFormat(object):
|
||||
@property
|
||||
def content_type(self):
|
||||
""" Provides the format's content type """
|
||||
@@ -1609,7 +1632,7 @@ class Export(View):
|
||||
('Content-Type', self.content_type)],
|
||||
cookies={'fileToken': int(token)})
|
||||
|
||||
class CSVExport(Export):
|
||||
class CSVExport(ExportFormat, http.Controller):
|
||||
_cp_path = '/web/export/csv'
|
||||
fmt = {'tag': 'csv', 'label': 'CSV'}
|
||||
|
||||
@@ -1644,7 +1667,7 @@ class CSVExport(Export):
|
||||
fp.close()
|
||||
return data
|
||||
|
||||
class ExcelExport(Export):
|
||||
class ExcelExport(ExportFormat, http.Controller):
|
||||
_cp_path = '/web/export/xls'
|
||||
fmt = {
|
||||
'tag': 'xls',
|
||||
@@ -1683,7 +1706,7 @@ class ExcelExport(Export):
|
||||
fp.close()
|
||||
return data
|
||||
|
||||
class Reports(View):
|
||||
class Reports(openerpweb.Controller):
|
||||
_cp_path = "/web/report"
|
||||
POLLING_DELAY = 0.25
|
||||
TYPES_MAPPING = {
|
||||
|
||||
+34
-8
@@ -19,6 +19,7 @@ import time
|
||||
import traceback
|
||||
import urlparse
|
||||
import uuid
|
||||
import errno
|
||||
|
||||
import babel.core
|
||||
import simplejson
|
||||
@@ -200,7 +201,7 @@ class JsonRequest(WebRequest):
|
||||
_logger.debug("--> %s.%s\n%s", method.im_class.__name__, method.__name__, pprint.pformat(self.jsonrequest))
|
||||
response['id'] = self.jsonrequest.get('id')
|
||||
response["result"] = method(self, **self.params)
|
||||
except session.AuthenticationError:
|
||||
except session.AuthenticationError, e:
|
||||
se = serialize_exception(e)
|
||||
error = {
|
||||
'code': 100,
|
||||
@@ -354,17 +355,31 @@ def httprequest(f):
|
||||
addons_module = {}
|
||||
addons_manifest = {}
|
||||
controllers_class = []
|
||||
controllers_class_path = {}
|
||||
controllers_object = {}
|
||||
controllers_object_path = {}
|
||||
controllers_path = {}
|
||||
|
||||
class ControllerType(type):
|
||||
def __init__(cls, name, bases, attrs):
|
||||
super(ControllerType, cls).__init__(name, bases, attrs)
|
||||
controllers_class.append(("%s.%s" % (cls.__module__, cls.__name__), cls))
|
||||
name_class = ("%s.%s" % (cls.__module__, cls.__name__), cls)
|
||||
controllers_class.append(name_class)
|
||||
path = attrs.get('_cp_path')
|
||||
if path not in controllers_class_path:
|
||||
controllers_class_path[path] = name_class
|
||||
|
||||
class Controller(object):
|
||||
__metaclass__ = ControllerType
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
subclasses = [c for c in cls.__subclasses__() if c._cp_path == cls._cp_path]
|
||||
if subclasses:
|
||||
name = "%s (extended by %s)" % (cls.__name__, ', '.join(sub.__name__ for sub in subclasses))
|
||||
cls = type(name, tuple(reversed(subclasses)), {})
|
||||
|
||||
return object.__new__(cls)
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Session context manager
|
||||
#----------------------------------------------------------
|
||||
@@ -476,8 +491,15 @@ def session_path():
|
||||
except Exception:
|
||||
username = "unknown"
|
||||
path = os.path.join(tempfile.gettempdir(), "oe-sessions-" + username)
|
||||
if not os.path.exists(path):
|
||||
try:
|
||||
os.mkdir(path, 0700)
|
||||
except OSError as exc:
|
||||
if exc.errno == errno.EEXIST:
|
||||
# directory exists: ensure it has the correct permissions
|
||||
# this will fail if the directory is not owned by the current user
|
||||
os.chmod(path, 0700)
|
||||
else:
|
||||
raise
|
||||
return path
|
||||
|
||||
class Root(object):
|
||||
@@ -541,7 +563,7 @@ class Root(object):
|
||||
controllers and configure them. """
|
||||
|
||||
for addons_path in openerp.modules.module.ad_paths:
|
||||
for module in sorted(os.listdir(addons_path)):
|
||||
for module in sorted(os.listdir(str(addons_path))):
|
||||
if module not in addons_module:
|
||||
manifest_path = os.path.join(addons_path, module, '__openerp__.py')
|
||||
path_static = os.path.join(addons_path, module, 'static')
|
||||
@@ -557,10 +579,11 @@ class Root(object):
|
||||
addons_manifest[module] = manifest
|
||||
self.statics['/%s/static' % module] = path_static
|
||||
|
||||
for k, v in controllers_class:
|
||||
if k not in controllers_object:
|
||||
o = v()
|
||||
controllers_object[k] = o
|
||||
for k, v in controllers_class_path.items():
|
||||
if k not in controllers_object_path and hasattr(v[1], '_cp_path'):
|
||||
o = v[1]()
|
||||
controllers_object[v[0]] = o
|
||||
controllers_object_path[k] = o
|
||||
if hasattr(o, '_cp_path'):
|
||||
controllers_path[o._cp_path] = o
|
||||
|
||||
@@ -591,6 +614,9 @@ class Root(object):
|
||||
elif exposed == 'http':
|
||||
_logger.debug("Dispatch http to %s %s %s", ps, c, method_name)
|
||||
return lambda request: HttpRequest(request).dispatch(method)
|
||||
if method_name != "index":
|
||||
method_name = "index"
|
||||
continue
|
||||
ps, _slash, method_name = ps.rpartition('/')
|
||||
if not ps and method_name:
|
||||
ps = '/'
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
"Language: es\n"
|
||||
|
||||
#. module: web
|
||||
|
||||
@@ -9,13 +9,13 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 19:48+0000\n"
|
||||
"Last-Translator: Jose Ernesto Mendez <tecnologia@obsdr.com>\n"
|
||||
"Last-Translator: Open Business Solutions, SRL. <tecnologia@obsdr.com>\n"
|
||||
"Language-Team: Spanish (Dominican Republic) <es_DO@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-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+21
-21
@@ -14,22 +14,22 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:133
|
||||
#, python-format
|
||||
msgid "Default language:"
|
||||
msgstr "Vaikimisi keel"
|
||||
msgstr "Vaikimisi keel:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:588
|
||||
#, python-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d minuti eest"
|
||||
msgstr "%d minutit tagasi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -75,7 +75,7 @@ msgstr "Ülemsalasõna"
|
||||
#: code:addons/web/static/src/xml/base.xml:274
|
||||
#, python-format
|
||||
msgid "Change Master Password"
|
||||
msgstr "Ülemsalasõna Muutmine"
|
||||
msgstr "Muuda ülemsalasõna"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -126,7 +126,7 @@ msgstr "Andmebaasi Varundamine"
|
||||
#: code:addons/web/static/src/js/views.js:507
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "%(view_type)s vaade"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -141,7 +141,7 @@ msgstr "%s ei ole kehtiv kuupäev"
|
||||
#: code:addons/web/static/src/xml/base.xml:1835
|
||||
#, python-format
|
||||
msgid "Here is a preview of the file we could not import:"
|
||||
msgstr ""
|
||||
msgstr "Siin on ülevaade failist mida me ei saa importida:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -213,14 +213,14 @@ msgstr "Viimase muudatuse kuupäev:"
|
||||
#: code:addons/web/static/src/js/search.js:1558
|
||||
#, python-format
|
||||
msgid "M2O search fields do not currently handle multiple default values"
|
||||
msgstr ""
|
||||
msgstr "M2O otsing väljad ei saa hetkel hakkama mitme vaikeväärtused"
|
||||
|
||||
#. 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 "Vidina tüüp '% s' ei ole rakendatud"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -249,7 +249,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/formats.js:286
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct time"
|
||||
msgstr ""
|
||||
msgstr "'% s' ei ole õige aeg"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -277,7 +277,7 @@ msgstr "Manus:"
|
||||
#: code:addons/web/static/src/xml/base.xml:1689
|
||||
#, python-format
|
||||
msgid "Fields to export"
|
||||
msgstr ""
|
||||
msgstr "Väljad eksportimiseks"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -305,7 +305,7 @@ msgstr "umbes kuu eest"
|
||||
#: code:addons/web/static/src/xml/base.xml:1598
|
||||
#, python-format
|
||||
msgid "Custom Filters"
|
||||
msgstr ""
|
||||
msgstr "Kohandatud Filtrid"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -355,7 +355,7 @@ msgstr "Muuda Salasõna"
|
||||
#: code:addons/web/static/src/js/view_form.js:3445
|
||||
#, python-format
|
||||
msgid "View type '%s' is not supported in One2Many."
|
||||
msgstr ""
|
||||
msgstr "Vaate tüüp '% s' ei ole toetatud One2Manys."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -363,7 +363,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_list.js:2209
|
||||
#, python-format
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
msgstr "Lae alla"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -384,7 +384,7 @@ msgstr "Grupp"
|
||||
#: code:addons/web/static/src/xml/base.xml:930
|
||||
#, python-format
|
||||
msgid "Unhandled widget"
|
||||
msgstr ""
|
||||
msgstr "Töötlemata vidin"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -418,7 +418,7 @@ msgstr "...Toimub üleslaadimine..."
|
||||
#: code:addons/web/static/src/xml/base.xml:1766
|
||||
#, python-format
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
msgstr "Impordi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -439,7 +439,7 @@ msgstr "Faili üleslaadimine"
|
||||
#: code:addons/web/static/src/js/view_form.js:3838
|
||||
#, python-format
|
||||
msgid "Action Button"
|
||||
msgstr ""
|
||||
msgstr "Tegevus Nupp"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -503,7 +503,7 @@ msgstr "Vaata Logi (perm_read)"
|
||||
#: code:addons/web/static/src/js/view_form.js:1057
|
||||
#, python-format
|
||||
msgid "Set Default"
|
||||
msgstr ""
|
||||
msgstr "Määra vaikimisi"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -573,7 +573,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:2359
|
||||
#, python-format
|
||||
msgid "Resource error"
|
||||
msgstr ""
|
||||
msgstr "Ressurss vigane"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -587,7 +587,7 @@ msgstr "ei ole"
|
||||
#: code:addons/web/static/src/xml/base.xml:553
|
||||
#, python-format
|
||||
msgid "Print Workflow"
|
||||
msgstr ""
|
||||
msgstr "Trüki Töövoog"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -835,7 +835,7 @@ msgstr "Filtri nimi"
|
||||
#: code:addons/web/static/src/xml/base.xml:1471
|
||||
#, python-format
|
||||
msgid "-- Actions --"
|
||||
msgstr ""
|
||||
msgstr "-- Toimingud --"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2052,7 +2052,7 @@ msgstr "Nopea lisäys"
|
||||
#: code:addons/web/static/src/xml/base.xml:1803
|
||||
#, python-format
|
||||
msgid "Latin 1"
|
||||
msgstr ""
|
||||
msgstr "Latin 1-merkistö"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2368,6 +2368,7 @@ msgstr "Virheellinen arvo kentälle %(fieldname)s: [%(value)s] is %(message)s"
|
||||
#, python-format
|
||||
msgid "The o2m record must be saved before an action can be used"
|
||||
msgstr ""
|
||||
"One to many yksikkö pitää tallentaa ennen kuin toimenpide voidaan suorittaa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2596,7 +2597,7 @@ msgstr "Luo tietokanta"
|
||||
#: code:addons/web/static/src/xml/base.xml:423
|
||||
#, python-format
|
||||
msgid "GNU Affero General Public License"
|
||||
msgstr ""
|
||||
msgstr "GNU Affero General Public Licence"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+13
-12
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -291,7 +291,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:4908
|
||||
#, python-format
|
||||
msgid "File Upload"
|
||||
msgstr ""
|
||||
msgstr "Téléversement de fichier"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -319,7 +319,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:422
|
||||
#, python-format
|
||||
msgid "OpenERP SA Company"
|
||||
msgstr ""
|
||||
msgstr "la compagnie OpenERP SA"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -411,7 +411,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:1279
|
||||
#, python-format
|
||||
msgid "...Upload in progress..."
|
||||
msgstr ""
|
||||
msgstr "…Téléversement en cours…"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -432,7 +432,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:4888
|
||||
#, python-format
|
||||
msgid "File upload"
|
||||
msgstr ""
|
||||
msgstr "Téléversement de fichier"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -587,7 +587,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:553
|
||||
#, python-format
|
||||
msgid "Print Workflow"
|
||||
msgstr ""
|
||||
msgstr "Imprimer le flux de travail"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -864,6 +864,7 @@ msgstr ""
|
||||
#, python-format
|
||||
msgid "Can't send email to invalid e-mail address"
|
||||
msgstr ""
|
||||
"Impossible d'envoyer un courriel à une adresse electronique incorrecte"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1352,7 +1353,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:444
|
||||
#, python-format
|
||||
msgid "Edit Company data"
|
||||
msgstr ""
|
||||
msgstr "Modifier les données de la compagnie"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1611,7 +1612,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:4908
|
||||
#, python-format
|
||||
msgid "There was a problem while uploading your file"
|
||||
msgstr ""
|
||||
msgstr "Il y a eu un problème lors du téléversement du fichier"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1865,7 +1866,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:1249
|
||||
#, python-format
|
||||
msgid "Uploading ..."
|
||||
msgstr ""
|
||||
msgstr "Téléversement…"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2053,7 +2054,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/views.js:1217
|
||||
#, python-format
|
||||
msgid "Uploading..."
|
||||
msgstr ""
|
||||
msgstr "Téléversement en cours..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2418,7 +2419,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:552
|
||||
#, python-format
|
||||
msgid "Edit Workflow"
|
||||
msgstr ""
|
||||
msgstr "Modifier le flux de travail"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2765,9 +2765,6 @@ msgstr "Filtros"
|
||||
#~ msgid "Could not find current view declaration"
|
||||
#~ msgstr "Non se pudo atopar a declaración da vista actual"
|
||||
|
||||
#~ msgid "Customize"
|
||||
#~ msgstr "Persoalizar"
|
||||
|
||||
#~ msgid "Reports"
|
||||
#~ msgstr "Informes"
|
||||
|
||||
@@ -2858,3 +2855,6 @@ msgstr "Filtros"
|
||||
|
||||
#~ msgid "Activate the developper mode"
|
||||
#~ msgstr "Activar modo de desenvolvedor"
|
||||
|
||||
#~ msgid "Customize"
|
||||
#~ msgstr "Personalizar"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+196
-184
File diff suppressed because it is too large
Load Diff
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+17
-17
@@ -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-11-26 12:19+0000\n"
|
||||
"PO-Revision-Date: 2013-04-23 12:42+0000\n"
|
||||
"Last-Translator: Els Van Vossel (Agaplan) <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: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -59,7 +59,7 @@ msgstr "is kleiner dan of gelijk aan"
|
||||
#: code:addons/web/static/src/js/chrome.js:408
|
||||
#, python-format
|
||||
msgid "Please enter your previous password"
|
||||
msgstr ""
|
||||
msgstr "Geef uw vorige wachtwoord in"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -82,7 +82,7 @@ msgstr "Hoofdwachtwoord wijzigen"
|
||||
#: code:addons/web/static/src/js/chrome.js:507
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the database: %s ?"
|
||||
msgstr ""
|
||||
msgstr "Weet u zeker dat u de database %s wilt verwijderen?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -96,7 +96,7 @@ msgstr "%(field)s zoeken op: %(value)s"
|
||||
#: code:addons/web/static/src/js/chrome.js:553
|
||||
#, python-format
|
||||
msgid "Access Denied"
|
||||
msgstr ""
|
||||
msgstr "Geen toegang"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -249,7 +249,7 @@ msgstr "(geen string)"
|
||||
#: code:addons/web/static/src/js/formats.js:286
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct time"
|
||||
msgstr ""
|
||||
msgstr "'%s' is geen geldige tijd"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -355,7 +355,7 @@ msgstr "Wachtwoord wijzigen"
|
||||
#: code:addons/web/static/src/js/view_form.js:3445
|
||||
#, python-format
|
||||
msgid "View type '%s' is not supported in One2Many."
|
||||
msgstr ""
|
||||
msgstr "Weergavetype '%s' wordt niet ondersteund in One2Many."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -370,7 +370,7 @@ msgstr "Downloaden"
|
||||
#: code:addons/web/static/src/js/formats.js:270
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' is geen geldige datum/tijd"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -398,7 +398,7 @@ msgstr "Selectie:"
|
||||
#: code:addons/web/static/src/js/view_form.js:867
|
||||
#, python-format
|
||||
msgid "The following fields are invalid:"
|
||||
msgstr ""
|
||||
msgstr "De volgende velden zijn ongeldig:"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:843
|
||||
@@ -425,7 +425,7 @@ msgstr "Importeren"
|
||||
#: code:addons/web/static/src/js/chrome.js:559
|
||||
#, python-format
|
||||
msgid "Could not restore the database"
|
||||
msgstr ""
|
||||
msgstr "Kan de database niet herstellen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -539,7 +539,7 @@ msgstr "Niet ondersteunde operator %s in domein %s"
|
||||
#: code:addons/web/static/src/js/formats.js:246
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct float"
|
||||
msgstr ""
|
||||
msgstr "'%s' is geen correcte float"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -567,7 +567,7 @@ msgstr "Maken en bewerken..."
|
||||
#: code:addons/web/static/src/js/pyeval.js:730
|
||||
#, python-format
|
||||
msgid "Unknown nonliteral type "
|
||||
msgstr ""
|
||||
msgstr "Onbekend nonliteral type "
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -595,7 +595,7 @@ msgstr "Workflow afdrukken"
|
||||
#: code:addons/web/static/src/js/chrome.js:411
|
||||
#, python-format
|
||||
msgid "Please confirm your new password"
|
||||
msgstr ""
|
||||
msgstr "Bevestig uw nieuwe wachtwoord"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -616,7 +616,7 @@ msgstr "Bezoek voor meer informatie"
|
||||
#: code:addons/web/static/src/xml/base.xml:1857
|
||||
#, python-format
|
||||
msgid "Add All Info..."
|
||||
msgstr ""
|
||||
msgstr "Alle info toevoegen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -637,14 +637,14 @@ msgstr "Bij wijzigen:"
|
||||
#: code:addons/web/static/src/js/views.js:919
|
||||
#, python-format
|
||||
msgid "Model %s fields"
|
||||
msgstr ""
|
||||
msgstr "Model %s velden"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list.js:908
|
||||
#, python-format
|
||||
msgid "Setting 'id' attribute on existing record %s"
|
||||
msgstr ""
|
||||
msgstr "'id'-attribuut instellen voor bestaand record %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+32
-32
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -43,7 +43,7 @@ msgstr "Trwa pobieranie...<br />Bądź cierpliwy."
|
||||
#: code:addons/web/static/src/js/search.js:1991
|
||||
#, python-format
|
||||
msgid "%(field)s %(operator)s \"%(value)s\""
|
||||
msgstr ""
|
||||
msgstr "%(field)s %(operator)s \"%(value)s\""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -126,7 +126,7 @@ msgstr "Kopia zapasowa bazy danych"
|
||||
#: code:addons/web/static/src/js/views.js:507
|
||||
#, python-format
|
||||
msgid "%(view_type)s view"
|
||||
msgstr ""
|
||||
msgstr "Widok %(view_type)s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -243,7 +243,7 @@ msgstr "Formularz"
|
||||
#: code:addons/web/static/src/xml/base.xml:1333
|
||||
#, python-format
|
||||
msgid "(no string)"
|
||||
msgstr ""
|
||||
msgstr "(no string)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -320,7 +320,7 @@ msgstr "Typ przycisku:"
|
||||
#: code:addons/web/static/src/xml/base.xml:422
|
||||
#, python-format
|
||||
msgid "OpenERP SA Company"
|
||||
msgstr ""
|
||||
msgstr "OpenERP SA Company"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -497,7 +497,7 @@ msgstr "Musisz wybrać co najmniej jeden rekord."
|
||||
#: code:addons/web/static/src/xml/base.xml:538
|
||||
#, python-format
|
||||
msgid "View Log (perm_read)"
|
||||
msgstr ""
|
||||
msgstr "Widok Log (perm_read)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -553,7 +553,7 @@ msgstr "Odtworzone"
|
||||
#: code:addons/web/static/src/js/view_list.js:409
|
||||
#, python-format
|
||||
msgid "%d-%d of %d"
|
||||
msgstr ""
|
||||
msgstr "%d-%d of %d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -718,7 +718,7 @@ msgstr "Poprzednie hasło:"
|
||||
#: code:addons/web/static/src/js/formats.js:113
|
||||
#, python-format
|
||||
msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
msgstr ""
|
||||
msgstr "Bajty,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -861,7 +861,7 @@ msgstr "Przełącz układ formularza"
|
||||
#: code:addons/web/static/src/xml/base.xml:424
|
||||
#, python-format
|
||||
msgid "OpenERP.com"
|
||||
msgstr ""
|
||||
msgstr "OpenERP.com"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -971,7 +971,7 @@ msgstr "Dane formularza nie mogą być usunięte"
|
||||
#: code:addons/web/static/src/xml/base.xml:536
|
||||
#, python-format
|
||||
msgid "Debug View#"
|
||||
msgstr ""
|
||||
msgstr "Widok debugowania#"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1019,14 +1019,14 @@ msgstr "Zapisz listę pól"
|
||||
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
|
||||
#, python-format
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
msgstr "Start"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/views.js:877
|
||||
#, python-format
|
||||
msgid "View Log (%s)"
|
||||
msgstr ""
|
||||
msgstr "Widok Log (%s)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1054,7 +1054,7 @@ msgstr "Wybrany plik przekracza maksymalny rozmiar %s."
|
||||
#: code:addons/web/static/src/xml/base.xml:635
|
||||
#, python-format
|
||||
msgid "/web/binary/upload_attachment"
|
||||
msgstr ""
|
||||
msgstr "/web/binary/upload_attachment"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1109,7 +1109,7 @@ msgstr "'%s' nie jest poprawną datą"
|
||||
#: code:addons/web/static/src/xml/base.xml:936
|
||||
#, python-format
|
||||
msgid "(nolabel)"
|
||||
msgstr ""
|
||||
msgstr "(nolabel)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1170,7 +1170,7 @@ msgstr "Nieznany operator %s w domenie %s"
|
||||
#: code:addons/web/static/src/js/view_form.js:426
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr ""
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1246,7 +1246,7 @@ msgstr "Logowanie"
|
||||
#: code:addons/web/static/src/xml/base.xml:423
|
||||
#, python-format
|
||||
msgid "Licenced under the terms of"
|
||||
msgstr ""
|
||||
msgstr "Licencjonowane na zasadach"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1346,7 +1346,7 @@ msgstr "Metoda:"
|
||||
#: code:addons/web/static/src/js/view_list.js:1454
|
||||
#, python-format
|
||||
msgid "%(page)d/%(page_count)d"
|
||||
msgstr ""
|
||||
msgstr "%(page)d/%(page_count)d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1399,7 +1399,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:396
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1606,7 +1606,7 @@ msgstr "Usuwanie bazy"
|
||||
#: code:addons/web/static/src/xml/base.xml:448
|
||||
#, python-format
|
||||
msgid "Powered by"
|
||||
msgstr ""
|
||||
msgstr "Zasilane przez"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1628,7 +1628,7 @@ msgstr "Pojawił się problem przy wysyłaniu pliku"
|
||||
#: code:addons/web/static/src/xml/base.xml:561
|
||||
#, python-format
|
||||
msgid "XML ID:"
|
||||
msgstr ""
|
||||
msgstr "XML ID:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1721,7 +1721,7 @@ msgstr "Linie do pominięcia"
|
||||
#: code:addons/web/static/src/js/view_form.js:2883
|
||||
#, python-format
|
||||
msgid "Create \"<strong>%s</strong>\""
|
||||
msgstr ""
|
||||
msgstr "Utwórz \"<strong>%s</strong>\""
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1735,7 +1735,7 @@ msgstr "Wprowadź pola do zapisu w pliku eksportu..."
|
||||
#: code:addons/web/static/src/xml/base.xml:421
|
||||
#, python-format
|
||||
msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved."
|
||||
msgstr ""
|
||||
msgstr "Copyright © 2004-DZISIAJ OpenERP SA. All Rights Reserved."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1764,7 +1764,7 @@ msgstr "Import się nie udał z powodu:"
|
||||
#: code:addons/web/static/src/xml/base.xml:542
|
||||
#, python-format
|
||||
msgid "JS Tests"
|
||||
msgstr ""
|
||||
msgstr "Testy JS"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2049,7 +2049,7 @@ msgstr "Szybkie dodawanie"
|
||||
#: code:addons/web/static/src/xml/base.xml:1803
|
||||
#, python-format
|
||||
msgid "Latin 1"
|
||||
msgstr ""
|
||||
msgstr "Latin 1"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2083,7 +2083,7 @@ msgstr "Pobierz dane demonstracyjne:"
|
||||
#: code:addons/web/static/src/xml/base.xml:618
|
||||
#, python-format
|
||||
msgid "Created by :"
|
||||
msgstr ""
|
||||
msgstr "Utworzone przez:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2216,7 +2216,7 @@ msgstr "Przycisk"
|
||||
#: code:addons/web/static/src/xml/base.xml:421
|
||||
#, python-format
|
||||
msgid "OpenERP is a trademark of the"
|
||||
msgstr ""
|
||||
msgstr "OpenERP jest znakiem handlowym"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2385,7 +2385,7 @@ msgstr "Stosuj domyślnie"
|
||||
#: code:addons/web/static/src/js/view_list.js:1363
|
||||
#, python-format
|
||||
msgid "%s (%d)"
|
||||
msgstr ""
|
||||
msgstr "%s (%d)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2420,7 +2420,7 @@ msgstr "Edytuj czynność"
|
||||
#: code:addons/web/static/src/xml/base.xml:558
|
||||
#, python-format
|
||||
msgid "ID:"
|
||||
msgstr ""
|
||||
msgstr "ID:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2448,7 +2448,7 @@ msgstr "Na pewno chcesz usunąć ten załącznik?"
|
||||
#: code:addons/web/static/src/js/views.js:894
|
||||
#, python-format
|
||||
msgid "Technical Translation"
|
||||
msgstr ""
|
||||
msgstr "Tłumaczenie techniczne"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2462,7 +2462,7 @@ msgstr "Pole:"
|
||||
#: code:addons/web/static/src/xml/base.xml:623
|
||||
#, python-format
|
||||
msgid "Modified by :"
|
||||
msgstr ""
|
||||
msgstr "Zmodyfikowane przez:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2594,7 +2594,7 @@ msgstr "Utwórz bazę danych"
|
||||
#: code:addons/web/static/src/xml/base.xml:423
|
||||
#, python-format
|
||||
msgid "GNU Affero General Public License"
|
||||
msgstr ""
|
||||
msgstr "GNU Affero General Public License"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -15,8 +15,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -469,7 +469,7 @@ msgstr "Faceți o pauză de cafea,<br /> pentru că se încarcă..."
|
||||
#: code:addons/web/static/src/xml/base.xml:416
|
||||
#, python-format
|
||||
msgid "Activate the developer mode"
|
||||
msgstr "Activeaza modulul programare"
|
||||
msgstr "Activează modulul programare"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -544,6 +544,29 @@
|
||||
background: #7c7bad;
|
||||
color: #eeeeee;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_horizontal {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_horizontal label {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
height: 16px;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_vertical label {
|
||||
margin-left: 4px;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_form_required .oe_radio_input {
|
||||
border: 2px solid transparent;
|
||||
display: inline-block;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
vertical-align: bottom;
|
||||
border-radius: 10px;
|
||||
margin: 1px 0;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_form_required.oe_form_invalid .oe_radio_input {
|
||||
border-color: red;
|
||||
}
|
||||
.openerp .oe_tags {
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
@@ -1269,7 +1292,7 @@
|
||||
color: white;
|
||||
padding: 2px 4px;
|
||||
margin: 1px 6px 0 0;
|
||||
border: 1px solid lightGray;
|
||||
border: 1px solid lightgrey;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
@@ -1301,7 +1324,7 @@
|
||||
transform: scale(1.1);
|
||||
}
|
||||
.openerp .oe_secondary_submenu .oe_active {
|
||||
border-top: 1px solid lightGray;
|
||||
border-top: 1px solid lightgrey;
|
||||
border-bottom: 1px solid #dedede;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 -1px 3px rgba(40, 40, 40, 0.2);
|
||||
@@ -1706,6 +1729,7 @@
|
||||
font-size: 1px;
|
||||
letter-spacing: -1px;
|
||||
color: transparent;
|
||||
text-shadow: none;
|
||||
font-weight: normal;
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
@@ -1841,12 +1865,12 @@
|
||||
margin: 0;
|
||||
}
|
||||
.openerp .oe_searchview .oe_searchview_drawer h3 {
|
||||
margin: 8px 4px 4px 12px;
|
||||
margin: 8px 4px 4px 0px;
|
||||
color: #7c7bad;
|
||||
font-size: 13px;
|
||||
}
|
||||
.openerp .oe_searchview .oe_searchview_drawer h4, .openerp .oe_searchview .oe_searchview_drawer h4 * {
|
||||
margin: 0;
|
||||
margin: 0 0 0 2px;
|
||||
cursor: pointer;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
@@ -1923,6 +1947,12 @@
|
||||
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom {
|
||||
padding: 0 8px 8px 8px;
|
||||
}
|
||||
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom div {
|
||||
padding: 0;
|
||||
}
|
||||
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom div h4 {
|
||||
margin: 0;
|
||||
}
|
||||
.openerp .oe_searchview .oe_searchview_drawer .oe_searchview_custom form {
|
||||
display: none;
|
||||
}
|
||||
@@ -2164,6 +2194,7 @@
|
||||
}
|
||||
.openerp .oe_form header {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
border-bottom: 1px solid #cacaca;
|
||||
padding-left: 2px;
|
||||
background-color: #ededed;
|
||||
@@ -2289,7 +2320,7 @@
|
||||
}
|
||||
.openerp .oe_form .oe_form_label_help[for] span, .openerp .oe_form .oe_form_label[for] span {
|
||||
font-size: 80%;
|
||||
color: darkGreen;
|
||||
color: darkgreen;
|
||||
vertical-align: top;
|
||||
position: relative;
|
||||
top: -4px;
|
||||
@@ -2315,30 +2346,6 @@
|
||||
display: inline-block;
|
||||
min-width: 70px;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_horizontal {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_form_required .oe_radio_input {
|
||||
border: 1px solid transparent;
|
||||
display: inline-block;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
vertical-align: bottom;
|
||||
border-radius: 10px;
|
||||
margin: 1px 0;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_form_required.oe_form_invalid .oe_radio_input {
|
||||
border-color: red;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_horizontal label,
|
||||
.openerp .oe_form_field_radio.oe_horizontal div {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
height: 16px;
|
||||
}
|
||||
.openerp .oe_form_field_radio.oe_vertical label {
|
||||
margin-left: 4px;
|
||||
}
|
||||
.openerp .oe_form_field_progressbar.ui-progressbar {
|
||||
height: 22px;
|
||||
font-size: 10px;
|
||||
@@ -2499,10 +2506,10 @@
|
||||
width: 7em;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_form .oe_form_field_date input {
|
||||
width: 7.5em;
|
||||
width: 100px;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_form .oe_form_field_datetime input {
|
||||
width: 11.5em;
|
||||
width: 150px;
|
||||
}
|
||||
.openerp .oe_hidden_input_file {
|
||||
position: relative;
|
||||
@@ -2662,20 +2669,20 @@
|
||||
background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
|
||||
background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
|
||||
}
|
||||
.openerp ul.oe_form_status li:first-child .label, .openerp ul.oe_form_status_clickable li:first-child .label {
|
||||
.openerp ul.oe_form_status li:first-child > .label, .openerp ul.oe_form_status_clickable li:first-child > .label {
|
||||
border-left: 1px solid #cacaca;
|
||||
padding-left: 14px;
|
||||
}
|
||||
.openerp ul.oe_form_status li:last-child, .openerp ul.oe_form_status_clickable li:last-child {
|
||||
border-right: 1px solid #cacaca;
|
||||
}
|
||||
.openerp ul.oe_form_status li:last-child .label, .openerp ul.oe_form_status_clickable li:last-child .label {
|
||||
.openerp ul.oe_form_status li:last-child > .label, .openerp ul.oe_form_status_clickable li:last-child > .label {
|
||||
padding-right: 14px;
|
||||
}
|
||||
.openerp ul.oe_form_status li:last-child .arrow, .openerp ul.oe_form_status_clickable li:last-child .arrow {
|
||||
.openerp ul.oe_form_status li:last-child > .arrow, .openerp ul.oe_form_status_clickable li:last-child > .arrow {
|
||||
display: none;
|
||||
}
|
||||
.openerp ul.oe_form_status li .label, .openerp ul.oe_form_status_clickable li .label {
|
||||
.openerp ul.oe_form_status li > .label, .openerp ul.oe_form_status_clickable li > .label {
|
||||
color: #4c4c4c;
|
||||
text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
|
||||
padding: 7px;
|
||||
@@ -2684,14 +2691,14 @@
|
||||
margin: 0;
|
||||
position: relative;
|
||||
}
|
||||
.openerp ul.oe_form_status li .arrow, .openerp ul.oe_form_status_clickable li .arrow {
|
||||
.openerp ul.oe_form_status li > .arrow, .openerp ul.oe_form_status_clickable li > .arrow {
|
||||
width: 17px;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
overflow: hidden;
|
||||
margin-left: -5px;
|
||||
}
|
||||
.openerp ul.oe_form_status li .arrow span, .openerp ul.oe_form_status_clickable li .arrow span {
|
||||
.openerp ul.oe_form_status li > .arrow span, .openerp ul.oe_form_status_clickable li > .arrow span {
|
||||
position: relative;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
@@ -2713,6 +2720,32 @@
|
||||
-o-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.openerp ul.oe_form_status .oe_folded .label, .openerp ul.oe_form_status_clickable .oe_folded .label {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
.openerp ul.oe_form_status .oe_folded ul, .openerp ul.oe_form_status_clickable .oe_folded ul {
|
||||
position: absolute;
|
||||
border-top: 1px solid #cacaca;
|
||||
float: none;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
display: none;
|
||||
}
|
||||
.openerp ul.oe_form_status .oe_folded ul li, .openerp ul.oe_form_status_clickable .oe_folded ul li {
|
||||
margin: 0;
|
||||
border-left: 1px solid #cacaca;
|
||||
display: block;
|
||||
}
|
||||
.openerp ul.oe_form_status .oe_folded ul li.label, .openerp ul.oe_form_status_clickable .oe_folded ul li.label {
|
||||
border: 0;
|
||||
padding-left: 24px;
|
||||
}
|
||||
.openerp ul.oe_form_status .oe_folded ul li:last-child, .openerp ul.oe_form_status_clickable .oe_folded ul li:last-child {
|
||||
border-bottom: 1px solid #cacaca;
|
||||
}
|
||||
.openerp ul.oe_form_status .oe_folded:hover ul, .openerp ul.oe_form_status_clickable .oe_folded:hover ul {
|
||||
display: block;
|
||||
}
|
||||
.openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
|
||||
background-color: #5382b9;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
|
||||
@@ -2722,14 +2755,14 @@
|
||||
background-image: -o-linear-gradient(top, #729fcf, #3465a4);
|
||||
background-image: linear-gradient(to bottom, #729fcf, #3465a4);
|
||||
}
|
||||
.openerp ul.oe_form_status li.oe_active .arrow span, .openerp ul.oe_form_status_clickable li.oe_active .arrow span {
|
||||
.openerp ul.oe_form_status li.oe_active > .arrow span, .openerp ul.oe_form_status_clickable li.oe_active > .arrow span {
|
||||
background-color: #3465a4;
|
||||
background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
|
||||
background: -o-linear-gradient(135deg, #729fcf, #3465a4);
|
||||
background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4));
|
||||
background: -ms-linear-gradient(top, #729fcf, #3465a4);
|
||||
}
|
||||
.openerp ul.oe_form_status li.oe_active .label, .openerp ul.oe_form_status_clickable li.oe_active .label {
|
||||
.openerp ul.oe_form_status li.oe_active > .label, .openerp ul.oe_form_status_clickable li.oe_active > .label {
|
||||
color: white;
|
||||
text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4;
|
||||
}
|
||||
@@ -2745,10 +2778,10 @@
|
||||
background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li:hover .label {
|
||||
.openerp ul.oe_form_status_clickable li:hover > .label {
|
||||
text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li:hover .arrow span {
|
||||
.openerp ul.oe_form_status_clickable li:hover > .arrow span {
|
||||
background-color: #d9d9d9;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
@@ -2757,7 +2790,7 @@
|
||||
background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
|
||||
background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li .label {
|
||||
.openerp ul.oe_form_status_clickable li > .label {
|
||||
color: #7c7bad;
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li.oe_active:hover {
|
||||
@@ -2769,10 +2802,10 @@
|
||||
background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
|
||||
background-image: linear-gradient(to bottom, #4c85c2, #284d7d);
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li.oe_active:hover .label {
|
||||
.openerp ul.oe_form_status_clickable li.oe_active:hover > .label {
|
||||
text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4;
|
||||
}
|
||||
.openerp ul.oe_form_status_clickable li.oe_active:hover .arrow span {
|
||||
.openerp ul.oe_form_status_clickable li.oe_active:hover > .arrow span {
|
||||
background-color: #284d7d;
|
||||
background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
|
||||
background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
|
||||
@@ -3049,6 +3082,7 @@
|
||||
font-size: 1px;
|
||||
letter-spacing: -1px;
|
||||
color: transparent;
|
||||
text-shadow: none;
|
||||
font-weight: normal;
|
||||
margin-right: 7px;
|
||||
}
|
||||
@@ -3184,6 +3218,7 @@
|
||||
.kitten-mode-activated > * {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.loading-kitten {
|
||||
-moz-border-radius: 15px;
|
||||
-webkit-border-radius: 15px;
|
||||
@@ -3246,6 +3281,9 @@ div.ui-widget-overlay {
|
||||
color: #afafb6 !important;
|
||||
font-style: italic !important;
|
||||
}
|
||||
.openerp_ie .oe_form_binary_file {
|
||||
width: 80px;
|
||||
}
|
||||
.openerp_ie .oe_form_field_boolean input {
|
||||
background: white;
|
||||
}
|
||||
@@ -3346,11 +3384,11 @@ div.ui-widget-overlay {
|
||||
overflow: hidden;
|
||||
border-right: 1px solid #cacaca;
|
||||
}
|
||||
.openerp_ie ul.oe_form_status li:last-child .label, .openerp_ie ul.oe_form_status_clickable li:last-child .label {
|
||||
.openerp_ie ul.oe_form_status li:last-child > .label, .openerp_ie ul.oe_form_status_clickable li:last-child > .label {
|
||||
padding-right: 14px;
|
||||
border-right: none;
|
||||
}
|
||||
.openerp_ie ul.oe_form_status li:last-child .arrow, .openerp_ie ul.oe_form_status_clickable li:last-child .arrow {
|
||||
.openerp_ie ul.oe_form_status li:last-child > .arrow, .openerp_ie ul.oe_form_status_clickable li:last-child > .arrow {
|
||||
display: inline-block;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
@@ -3358,17 +3396,17 @@ div.ui-widget-overlay {
|
||||
width: 0;
|
||||
border-right: none;
|
||||
}
|
||||
.openerp_ie ul.oe_form_status .label, .openerp_ie ul.oe_form_status_clickable .label {
|
||||
.openerp_ie ul.oe_form_status li > .label, .openerp_ie ul.oe_form_status_clickable li > .label {
|
||||
border-bottom: 1px solid #cacaca;
|
||||
background: transparent;
|
||||
}
|
||||
.openerp_ie ul.oe_form_status .arrow span, .openerp_ie ul.oe_form_status_clickable .arrow span {
|
||||
.openerp_ie ul.oe_form_status li > .arrow span, .openerp_ie ul.oe_form_status_clickable li > .arrow span {
|
||||
background-color: #fefefe !important;
|
||||
}
|
||||
.openerp_ie ul.oe_form_status li.oe_active .label, .openerp_ie ul.oe_form_status_clickable li.oe_active .label {
|
||||
.openerp_ie ul.oe_form_status li.oe_active > .label, .openerp_ie ul.oe_form_status_clickable li.oe_active > .label {
|
||||
border-bottom: 1px solid #729fcf;
|
||||
}
|
||||
.openerp_ie ul.oe_form_status li.oe_active .arrow span, .openerp_ie ul.oe_form_status_clickable li.oe_active .arrow span {
|
||||
.openerp_ie ul.oe_form_status li.oe_active > .arrow span, .openerp_ie ul.oe_form_status_clickable li.oe_active > .arrow span {
|
||||
background-color: #729fcf !important;
|
||||
}
|
||||
.openerp_ie .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
|
||||
|
||||
@@ -123,6 +123,7 @@ $sheet-padding: 16px
|
||||
font-size: 1px
|
||||
letter-spacing: -1px
|
||||
color: transparent
|
||||
text-shadow: none
|
||||
font-weight: normal
|
||||
&:before
|
||||
font: 21px "mnmliconsRegular"
|
||||
@@ -133,6 +134,7 @@ $sheet-padding: 16px
|
||||
font-size: 1px
|
||||
letter-spacing: -1px
|
||||
color: transparent
|
||||
text-shadow: none
|
||||
font-weight: normal
|
||||
&:before
|
||||
font: $size "entypoRegular"
|
||||
@@ -1483,11 +1485,11 @@ $sheet-padding: 16px
|
||||
border-top: none
|
||||
margin: 0
|
||||
h3
|
||||
margin: 8px 4px 4px 12px
|
||||
margin: 8px 4px 4px 0px
|
||||
color: $section-title-color
|
||||
font-size: 13px
|
||||
h4, h4 *
|
||||
margin: 0
|
||||
margin: 0 0 0 2px
|
||||
cursor: pointer
|
||||
font-weight: normal
|
||||
display: inline-block
|
||||
@@ -1543,6 +1545,10 @@ $sheet-padding: 16px
|
||||
margin: 0 0 8px 0
|
||||
.oe_searchview_custom
|
||||
padding: 0 8px 8px 8px
|
||||
div
|
||||
padding: 0
|
||||
h4
|
||||
margin: 0
|
||||
form
|
||||
display: none
|
||||
li
|
||||
@@ -1733,6 +1739,7 @@ $sheet-padding: 16px
|
||||
// FormView.header {{{
|
||||
.oe_form header
|
||||
position: relative
|
||||
z-index: 1
|
||||
border-bottom: 1px solid #cacaca
|
||||
padding-left: 2px
|
||||
@include vertical-gradient(#fcfcfc, #dedede)
|
||||
@@ -1981,9 +1988,9 @@ $sheet-padding: 16px
|
||||
.oe_form_field_float input
|
||||
width: 7em
|
||||
.oe_form_field_date input
|
||||
width: 7.5em
|
||||
width: 100px
|
||||
.oe_form_field_datetime input
|
||||
width: 11.5em
|
||||
width: 150px
|
||||
// }}}
|
||||
// FormView.fields_binary {{{
|
||||
/* http://www.quirksmode.org/dom/inputfile.html
|
||||
@@ -2120,16 +2127,16 @@ $sheet-padding: 16px
|
||||
margin: 0 -18px 0 0
|
||||
padding: 0
|
||||
@include vertical-gradient(#fcfcfc, #dedede)
|
||||
&:first-child .label
|
||||
&:first-child > .label
|
||||
border-left: 1px solid #cacaca
|
||||
padding-left: 14px
|
||||
&:last-child
|
||||
border-right: 1px solid #cacaca
|
||||
.label
|
||||
> .label
|
||||
padding-right: 14px
|
||||
.arrow
|
||||
> .arrow
|
||||
display: none
|
||||
.label
|
||||
> .label
|
||||
color: #4c4c4c
|
||||
text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede
|
||||
padding: 7px
|
||||
@@ -2137,7 +2144,7 @@ $sheet-padding: 16px
|
||||
padding-left: 24px
|
||||
margin: 0
|
||||
position: relative
|
||||
.arrow
|
||||
> .arrow
|
||||
width: 17px
|
||||
display: inline-block
|
||||
vertical-align: top
|
||||
@@ -2154,11 +2161,32 @@ $sheet-padding: 16px
|
||||
@include skew-gradient(#fcfcfc, #dedede)
|
||||
@include radius(3px)
|
||||
@include transform(rotate(45deg))
|
||||
.oe_folded
|
||||
.label
|
||||
padding-bottom: 8px
|
||||
ul
|
||||
position: absolute
|
||||
border-top: 1px solid #cacaca
|
||||
float: none
|
||||
top: 30px
|
||||
right: 0
|
||||
display: none
|
||||
li
|
||||
margin: 0
|
||||
border-left: 1px solid #cacaca
|
||||
display: block
|
||||
li.label
|
||||
border: 0
|
||||
padding-left: 24px
|
||||
li:last-child
|
||||
border-bottom: 1px solid #cacaca
|
||||
&:hover ul
|
||||
display: block
|
||||
li.oe_active
|
||||
@include vertical-gradient(#729fcf, #3465a4)
|
||||
.arrow span
|
||||
> .arrow span
|
||||
@include skew-gradient(#729fcf, #3465a4)
|
||||
.label
|
||||
> .label
|
||||
color: white
|
||||
text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4
|
||||
ul.oe_form_status_clickable
|
||||
@@ -2166,18 +2194,18 @@ $sheet-padding: 16px
|
||||
cursor: pointer
|
||||
&:hover
|
||||
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
|
||||
.label
|
||||
> .label
|
||||
text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
|
||||
.arrow span
|
||||
> .arrow span
|
||||
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
|
||||
.label
|
||||
> .label
|
||||
color: $link-color
|
||||
li.oe_active
|
||||
&:hover
|
||||
@include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
|
||||
.label
|
||||
> .label
|
||||
text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
|
||||
.arrow span
|
||||
> .arrow span
|
||||
@include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
|
||||
// }}}
|
||||
// FormView.one2many {{{
|
||||
@@ -2560,6 +2588,8 @@ div.ui-widget-overlay
|
||||
.placeholder
|
||||
color: $tag-border !important
|
||||
font-style: italic !important
|
||||
.oe_form_binary_file
|
||||
width: 80px
|
||||
.oe_form_field_boolean input
|
||||
background: #fff
|
||||
.db_option_table .oe_form_field_selection
|
||||
@@ -2640,26 +2670,26 @@ div.ui-widget-overlay
|
||||
&:last-child
|
||||
overflow: hidden
|
||||
border-right: 1px solid #cacaca
|
||||
.label
|
||||
> .label
|
||||
padding-right: 14px
|
||||
border-right: none
|
||||
.arrow
|
||||
> .arrow
|
||||
display: inline-block
|
||||
opacity: 0
|
||||
filter: alpha(opacity = 0)
|
||||
border: none
|
||||
width: 0
|
||||
border-right: none
|
||||
.label
|
||||
border-bottom: 1px solid #cacaca
|
||||
background: transparent
|
||||
.arrow
|
||||
span
|
||||
background-color: #fefefe !important
|
||||
> .label
|
||||
border-bottom: 1px solid #cacaca
|
||||
background: transparent
|
||||
> .arrow
|
||||
span
|
||||
background-color: #fefefe !important
|
||||
li.oe_active
|
||||
.label
|
||||
> .label
|
||||
border-bottom: 1px solid #729fcf
|
||||
.arrow span
|
||||
> .arrow span
|
||||
background-color: #729fcf !important
|
||||
|
||||
// jquery ui for ie
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// Fix old versions of Webkit (such as ones used on iOS < 6 or PhantomJS <= 1.7)
|
||||
// which does not have Function.prototype.bind function
|
||||
|
||||
// Use moz polyfill:
|
||||
// https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind#Compatibility
|
||||
if (!Function.prototype.bind) {
|
||||
Function.prototype.bind = function (oThis) {
|
||||
if (typeof this !== "function") {
|
||||
// closest thing possible to the ECMAScript 5 internal IsCallable function
|
||||
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
|
||||
}
|
||||
|
||||
var aArgs = Array.prototype.slice.call(arguments, 1),
|
||||
fToBind = this,
|
||||
fNOP = function () {},
|
||||
fBound = function () {
|
||||
return fToBind.apply(this instanceof fNOP && oThis
|
||||
? this
|
||||
: oThis,
|
||||
aArgs.concat(Array.prototype.slice.call(arguments)));
|
||||
};
|
||||
|
||||
fNOP.prototype = this.prototype;
|
||||
fBound.prototype = new fNOP();
|
||||
|
||||
return fBound;
|
||||
};
|
||||
}
|
||||
@@ -251,9 +251,9 @@ instance.web.CrashManager = instance.web.Class.extend({
|
||||
if (handler) {
|
||||
new (handler)(this, error).display();
|
||||
return;
|
||||
};
|
||||
}
|
||||
if (error.data.name === "openerp.addons.web.session SessionExpiredException") {
|
||||
this.show_warning({type: "Session Expired", data: { message: "Your OpenERP session expired. Please refresh the current web page." }});
|
||||
this.show_warning({type: "Session Expired", data: { message: _t("Your OpenERP session expired. Please refresh the current web page.") }});
|
||||
return;
|
||||
}
|
||||
if (error.data.exception_type === "except_osv" || error.data.exception_type === "warning"
|
||||
@@ -530,16 +530,11 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
||||
'login': 'admin',
|
||||
'password': form_obj['create_admin_pwd'],
|
||||
'login_successful': function() {
|
||||
var action = {
|
||||
type: "ir.actions.client",
|
||||
tag: 'reload',
|
||||
params: {
|
||||
url_search : {
|
||||
db: form_obj['db_name'],
|
||||
},
|
||||
}
|
||||
};
|
||||
self.do_action(action);
|
||||
var url = '/?db=' + form_obj['db_name'];
|
||||
if (self.session.debug) {
|
||||
url += '&debug';
|
||||
}
|
||||
instance.web.redirect(url);
|
||||
},
|
||||
},
|
||||
_push_me: false,
|
||||
|
||||
@@ -112,24 +112,27 @@ instance.web.Query = instance.web.Class.extend({
|
||||
* @returns {jQuery.Deferred<Array<openerp.web.QueryGroup>> | null}
|
||||
*/
|
||||
group_by: function (grouping) {
|
||||
if (grouping === undefined) {
|
||||
return null;
|
||||
var ctx = instance.web.pyeval.eval(
|
||||
'context', this._model.context(this._context));
|
||||
|
||||
// undefined passed in explicitly (!)
|
||||
if (_.isUndefined(grouping)) {
|
||||
grouping = [];
|
||||
}
|
||||
|
||||
if (!(grouping instanceof Array)) {
|
||||
grouping = _.toArray(arguments);
|
||||
}
|
||||
if (_.isEmpty(grouping)) { return null; }
|
||||
if (_.isEmpty(grouping) && !ctx['group_by_no_leaf']) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var self = this;
|
||||
|
||||
var ctx = instance.web.pyeval.eval(
|
||||
'context', this._model.context(this._context));
|
||||
return this._model.call('read_group', {
|
||||
groupby: grouping,
|
||||
fields: _.uniq(grouping.concat(this._fields || [])),
|
||||
domain: this._model.domain(this._filter),
|
||||
context: this._model.context(this._context),
|
||||
context: ctx,
|
||||
offset: this._offset,
|
||||
limit: this._limit,
|
||||
orderby: instance.web.serialize_sort(this._order_by) || false
|
||||
@@ -325,7 +328,7 @@ instance.web.Model = instance.web.Class.extend({
|
||||
* Fetches the model's domain, combined with the provided domain if any
|
||||
*
|
||||
* @param {Array} [domain] to combine with the model's internal domain
|
||||
* @returns The model's internal domain, or the AND-ed union of the model's internal domain and the provided domain
|
||||
* @returns {instance.web.CompoundDomain} The model's internal domain, or the AND-ed union of the model's internal domain and the provided domain
|
||||
*/
|
||||
domain: function (domain) {
|
||||
if (!domain) { return this._domain; }
|
||||
@@ -337,7 +340,7 @@ instance.web.Model = instance.web.Class.extend({
|
||||
* combined with the provided context if any
|
||||
*
|
||||
* @param {Object} [context] to combine with the model's internal context
|
||||
* @returns The union of the user's context and the model's internal context, as well as the provided context if any. In that order.
|
||||
* @returns {instance.web.CompoundContext} The union of the user's context and the model's internal context, as well as the provided context if any. In that order.
|
||||
*/
|
||||
context: function (context) {
|
||||
return new instance.web.CompoundContext(
|
||||
@@ -604,6 +607,9 @@ instance.web.DataSet = instance.web.Class.extend(instance.web.PropertiesMixin,
|
||||
alter_ids: function(n_ids) {
|
||||
this.ids = n_ids;
|
||||
},
|
||||
remove_ids: function (ids) {
|
||||
this.alter_ids(_(this.ids).difference(ids));
|
||||
},
|
||||
/**
|
||||
* Resequence records.
|
||||
*
|
||||
@@ -701,22 +707,28 @@ instance.web.DataSetSearch = instance.web.DataSet.extend({
|
||||
get_domain: function (other_domain) {
|
||||
this._model.domain(other_domain);
|
||||
},
|
||||
alter_ids: function (ids) {
|
||||
this._super(ids);
|
||||
if (this.index !== null && this.index >= this.ids.length) {
|
||||
this.index = this.ids.length > 0 ? this.ids.length - 1 : 0;
|
||||
}
|
||||
},
|
||||
remove_ids: function (ids) {
|
||||
var before = this.ids.length;
|
||||
this._super(ids);
|
||||
if (this._length) {
|
||||
this._length -= (before - this.ids.length);
|
||||
}
|
||||
},
|
||||
unlink: function(ids, callback, error_callback) {
|
||||
var self = this;
|
||||
return this._super(ids).done(function(result) {
|
||||
self.ids = _(self.ids).difference(ids);
|
||||
if (self._length) {
|
||||
self._length -= 1;
|
||||
}
|
||||
if (self.index !== null) {
|
||||
self.index = self.index <= self.ids.length - 1 ?
|
||||
self.index : (self.ids.length > 0 ? self.ids.length -1 : 0);
|
||||
}
|
||||
self.remove_ids( ids);
|
||||
self.trigger("dataset_changed", ids, callback, error_callback);
|
||||
});
|
||||
},
|
||||
size: function () {
|
||||
if (this._length !== undefined) {
|
||||
if (this._length != null) {
|
||||
return this._length;
|
||||
}
|
||||
return this._super();
|
||||
|
||||
@@ -314,4 +314,34 @@ instance.web.auto_date_to_str = function(value, type) {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* performs a half up rounding with arbitrary precision, correcting for float loss of precision
|
||||
* See the corresponding float_round() in server/tools/float_utils.py for more info
|
||||
* @param {Number} the value to be rounded
|
||||
* @param {Number} a non zero precision parameter. eg: 0.01 rounds to two digits.
|
||||
*/
|
||||
instance.web.round_precision = function(value, precision){
|
||||
if(!value){
|
||||
return 0;
|
||||
}else if(!precision){
|
||||
throw new Error('round_precision(...): Cannot round value: '+value+' with a precision of zero (or undefined)');
|
||||
}
|
||||
var normalized_value = value / precision;
|
||||
var epsilon_magnitude = Math.log(Math.abs(normalized_value))/Math.log(2);
|
||||
var epsilon = Math.pow(2, epsilon_magnitude - 53);
|
||||
normalized_value += normalized_value >= 0 ? epsilon : -epsilon;
|
||||
var rounded_value = Math.round(normalized_value);
|
||||
return rounded_value * precision;
|
||||
};
|
||||
|
||||
/**
|
||||
* performs a half up rounding with a fixed amount of decimals, correcting for float loss of precision
|
||||
* See the corresponding float_round() in server/tools/float_utils.py for more info
|
||||
* @param {Number} the value to be rounded
|
||||
* @param {Number} the number of decimals. eg: round_decimals(3.141592,2) -> 3.14
|
||||
*/
|
||||
instance.web.round_decimals = function(value, decimals){
|
||||
return instance.web.round_precision(value, Math.pow(10,-decimals));
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -326,7 +326,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
||||
}
|
||||
},
|
||||
'autocompleteopen': function () {
|
||||
this.$el.autocomplete('widget').css('z-index', 3);
|
||||
this.$el.autocomplete('widget').css('z-index', 1004);
|
||||
},
|
||||
},
|
||||
/**
|
||||
@@ -1039,7 +1039,9 @@ instance.web.search.FilterGroup = instance.web.search.Input.extend(/** @lends in
|
||||
facet.values.each(function (v) {
|
||||
var i = _(self.filters).indexOf(v.get('value'));
|
||||
if (i === -1) { return; }
|
||||
$filters.eq(i).addClass('oe_selected');
|
||||
$filters.filter(function () {
|
||||
return Number($(this).data('index')) === i;
|
||||
}).addClass('oe_selected');
|
||||
});
|
||||
},
|
||||
/**
|
||||
@@ -1129,7 +1131,7 @@ instance.web.search.FilterGroup = instance.web.search.Input.extend(/** @lends in
|
||||
});
|
||||
},
|
||||
toggle_filter: function (e) {
|
||||
this.toggle(this.filters[$(e.target).index()]);
|
||||
this.toggle(this.filters[Number($(e.target).data('index'))]);
|
||||
},
|
||||
toggle: function (filter) {
|
||||
this.view.query.toggle(this.make_facet([this.make_value(filter)]));
|
||||
@@ -1337,20 +1339,22 @@ instance.web.search.CharField = instance.web.search.Field.extend( /** @lends ins
|
||||
}
|
||||
});
|
||||
instance.web.search.NumberField = instance.web.search.Field.extend(/** @lends instance.web.search.NumberField# */{
|
||||
value_from: function () {
|
||||
if (!this.$el.val()) {
|
||||
return null;
|
||||
}
|
||||
var val = this.parse(this.$el.val()),
|
||||
check = Number(this.$el.val());
|
||||
if (isNaN(val) || val !== check) {
|
||||
this.$el.addClass('error');
|
||||
throw new instance.web.search.Invalid(
|
||||
this.attrs.name, this.$el.val(), this.error_message);
|
||||
}
|
||||
this.$el.removeClass('error');
|
||||
return val;
|
||||
}
|
||||
complete: function (value) {
|
||||
var val = this.parse(value);
|
||||
if (isNaN(val)) { return $.when(); }
|
||||
var label = _.str.sprintf(
|
||||
_t("Search %(field)s for: %(value)s"), {
|
||||
field: '<em>' + this.attrs.string + '</em>',
|
||||
value: '<strong>' + _.str.escapeHTML(value) + '</strong>'});
|
||||
return $.when([{
|
||||
label: label,
|
||||
facet: {
|
||||
category: this.attrs.string,
|
||||
field: this,
|
||||
values: [{label: value, value: val}]
|
||||
}
|
||||
}]);
|
||||
},
|
||||
});
|
||||
/**
|
||||
* @class
|
||||
|
||||
@@ -176,9 +176,9 @@ openerp.testing = {};
|
||||
});
|
||||
|
||||
QUnit.module(testing.current_module + '.' + name, {_oe: options});
|
||||
body(testing.case);
|
||||
body(testing['case']);
|
||||
};
|
||||
testing.case = function (name, options, callback) {
|
||||
testing['case'] = function (name, options, callback) {
|
||||
if (_.isFunction(options)) {
|
||||
callback = options;
|
||||
options = {};
|
||||
|
||||
@@ -765,7 +765,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
this.has_been_loaded.done(function() {
|
||||
if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
|
||||
self.dataset.unlink([self.datarecord.id]).done(function() {
|
||||
self.execute_pager_action('next');
|
||||
if (self.dataset.size()) {
|
||||
self.execute_pager_action('next');
|
||||
} else {
|
||||
self.do_action('history_back');
|
||||
}
|
||||
def.resolve();
|
||||
});
|
||||
} else {
|
||||
@@ -802,6 +806,8 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
if (save_obj.error)
|
||||
return $.Deferred().reject();
|
||||
return $.when.apply($, save_obj.ret);
|
||||
}).done(function() {
|
||||
self.$el.removeClass('oe_form_dirty');
|
||||
});
|
||||
},
|
||||
_process_save: function(save_obj) {
|
||||
@@ -1021,7 +1027,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
return value;
|
||||
}
|
||||
var fields = _.chain(this.fields)
|
||||
.map(function (field, name) {
|
||||
.map(function (field) {
|
||||
var value = field.get_value();
|
||||
// ignore fields which are empty, invisible, readonly, o2m
|
||||
// or m2m
|
||||
@@ -1036,7 +1042,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
}
|
||||
|
||||
return {
|
||||
name: name,
|
||||
name: field.name,
|
||||
string: field.string,
|
||||
value: value,
|
||||
displayed: display(field, value),
|
||||
@@ -1047,10 +1053,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
.value();
|
||||
var conditions = _.chain(self.fields)
|
||||
.filter(function (field) { return field.field.change_default; })
|
||||
.map(function (field, name) {
|
||||
.map(function (field) {
|
||||
var value = field.get_value();
|
||||
return {
|
||||
name: name,
|
||||
name: field.name,
|
||||
string: field.string,
|
||||
value: value,
|
||||
displayed: display(field, value),
|
||||
@@ -1444,6 +1450,9 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
|
||||
$(this).children().each(function() {
|
||||
var $td = $(this),
|
||||
$child = $td.children(':first');
|
||||
if ($child.attr('cell-class')) {
|
||||
$td.addClass($child.attr('cell-class'));
|
||||
}
|
||||
switch ($child[0].tagName.toLowerCase()) {
|
||||
case 'separator':
|
||||
break;
|
||||
@@ -1520,7 +1529,7 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
|
||||
if (! page.__ic)
|
||||
return;
|
||||
page.__ic.on("change:effective_invisible", null, function() {
|
||||
if (!page.__ic.get('effective_invisible')) {
|
||||
if (!page.__ic.get('effective_invisible') && page.autofocus) {
|
||||
$new_notebook.tabs('select', i);
|
||||
return;
|
||||
}
|
||||
@@ -2126,7 +2135,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
|
||||
value without triggering a re-rendering.
|
||||
*/
|
||||
internal_set_value: function(value_) {
|
||||
var tmp = this.no_render;
|
||||
var tmp = this.no_rerender;
|
||||
this.no_rerender = true;
|
||||
this.set({'value': value_});
|
||||
this.no_rerender = tmp;
|
||||
@@ -2296,7 +2305,8 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we
|
||||
return this.get('value') === '' || this._super();
|
||||
},
|
||||
focus: function() {
|
||||
this.$('input:first')[0].focus();
|
||||
var input = this.$('input:first')[0];
|
||||
return input ? input.focus() : false;
|
||||
},
|
||||
set_dimensions: function (height, width) {
|
||||
this._super(height, width);
|
||||
@@ -2393,7 +2403,8 @@ instance.web.form.FieldFloat = instance.web.form.FieldChar.extend({
|
||||
this._super.apply(this, [value_]);
|
||||
},
|
||||
focus: function () {
|
||||
this.$('input:first').select();
|
||||
var $input = this.$('input:first');
|
||||
return $input.length ? $input.select() : false;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2413,6 +2424,42 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
|
||||
this.$input = this.$el.find('input.oe_datepicker_master');
|
||||
this.$input_picker = this.$el.find('input.oe_datepicker_container');
|
||||
|
||||
$.datepicker.setDefaults({
|
||||
clearText: _t('Clear'),
|
||||
clearStatus: _t('Erase the current date'),
|
||||
closeText: _t('Done'),
|
||||
closeStatus: _t('Close without change'),
|
||||
prevText: _t('<Prev'),
|
||||
prevStatus: _t('Show the previous month'),
|
||||
nextText: _t('Next>'),
|
||||
nextStatus: _t('Show the next month'),
|
||||
currentText: _t('Today'),
|
||||
currentStatus: _t('Show the current month'),
|
||||
monthNames: Date.CultureInfo.monthNames,
|
||||
monthNamesShort: Date.CultureInfo.abbreviatedMonthNames,
|
||||
monthStatus: _t('Show a different month'),
|
||||
yearStatus: _t('Show a different year'),
|
||||
weekHeader: _t('Wk'),
|
||||
weekStatus: _t('Week of the year'),
|
||||
dayNames: Date.CultureInfo.dayNames,
|
||||
dayNamesShort: Date.CultureInfo.abbreviatedDayNames,
|
||||
dayNamesMin: Date.CultureInfo.shortestDayNames,
|
||||
dayStatus: _t('Set DD as first week day'),
|
||||
dateStatus: _t('Select D, M d'),
|
||||
firstDay: Date.CultureInfo.firstDayOfWeek,
|
||||
initStatus: _t('Select a date'),
|
||||
isRTL: false
|
||||
});
|
||||
$.timepicker.setDefaults({
|
||||
timeOnlyTitle: _t('Choose Time'),
|
||||
timeText: _t('Time'),
|
||||
hourText: _t('Hour'),
|
||||
minuteText: _t('Minute'),
|
||||
secondText: _t('Second'),
|
||||
currentText: _t('Now'),
|
||||
closeText: _t('Done')
|
||||
});
|
||||
|
||||
this.picker({
|
||||
onClose: this.on_picker_select,
|
||||
onSelect: this.on_picker_select,
|
||||
@@ -2539,9 +2586,8 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc
|
||||
return this.get('value') === '' || this._super();
|
||||
},
|
||||
focus: function() {
|
||||
if (this.datewidget && this.datewidget.$input) {
|
||||
this.datewidget.$input[0].focus();
|
||||
}
|
||||
var input = this.datewidget && this.datewidget.$input[0];
|
||||
return input ? input.focus() : false;
|
||||
},
|
||||
set_dimensions: function (height, width) {
|
||||
this._super(height, width);
|
||||
@@ -2622,9 +2668,8 @@ instance.web.form.FieldText = instance.web.form.AbstractField.extend(instance.we
|
||||
return this.get('value') === '' || this._super();
|
||||
},
|
||||
focus: function($el) {
|
||||
if (!this.get("effective_readonly") && this.$textarea) {
|
||||
this.$textarea[0].focus();
|
||||
}
|
||||
var input = !this.get("effective_readonly") && this.$textarea && this.$textarea[0];
|
||||
return input ? input.focus() : false;
|
||||
},
|
||||
set_dimensions: function (height, width) {
|
||||
this._super(height, width);
|
||||
@@ -2707,7 +2752,8 @@ instance.web.form.FieldBoolean = instance.web.form.AbstractField.extend({
|
||||
this.$checkbox[0].checked = this.get('value');
|
||||
},
|
||||
focus: function() {
|
||||
this.$checkbox[0].focus();
|
||||
var input = this.$checkbox && this.$checkbox[0];
|
||||
return input ? input.focus() : false;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2793,7 +2839,8 @@ instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instan
|
||||
}
|
||||
},
|
||||
focus: function() {
|
||||
this.$('select:first')[0].focus();
|
||||
var input = this.$('select:first')[0];
|
||||
return input ? input.focus() : false;
|
||||
},
|
||||
set_dimensions: function (height, width) {
|
||||
this._super(height, width);
|
||||
@@ -3336,7 +3383,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
||||
}
|
||||
if (! no_recurse) {
|
||||
var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context());
|
||||
dataset.name_get([self.get("value")]).done(function(data) {
|
||||
this.alive(dataset.name_get([self.get("value")])).done(function(data) {
|
||||
self.display_value["" + self.get("value")] = data[0][1];
|
||||
self.render_value(true);
|
||||
});
|
||||
@@ -3401,9 +3448,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
||||
return ! this.get("value");
|
||||
},
|
||||
focus: function () {
|
||||
if (!this.get('effective_readonly')) {
|
||||
this.$input && this.$input[0].focus();
|
||||
}
|
||||
var input = !this.get('effective_readonly') && this.$input && this.$input[0];
|
||||
return input ? input.focus() : false;
|
||||
},
|
||||
_quick_create: function() {
|
||||
this.no_ed = true;
|
||||
@@ -4263,7 +4309,8 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
|
||||
this.set({'value': _.uniq(this.get('value').concat([id]))});
|
||||
},
|
||||
focus: function () {
|
||||
this.$text[0].focus();
|
||||
var input = this.$text && this.$text[0];
|
||||
return input ? input.focus() : false;
|
||||
},
|
||||
set_dimensions: function (height, width) {
|
||||
this._super(height, width);
|
||||
@@ -5356,14 +5403,14 @@ 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 = {'unfolded': [], 'folded': []};
|
||||
this.set("selection", {'unfolded': [], 'folded': []});
|
||||
this.selection_dm = new instance.web.DropMisordered();
|
||||
this.dataset = new instance.web.DataSetStatic(this, this.field.relation, this.build_context());
|
||||
},
|
||||
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.on("change:selection", this, function() {
|
||||
this.selection = this.get("selection");
|
||||
@@ -5371,7 +5418,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||
});
|
||||
this.get_selection();
|
||||
if (this.options.clickable) {
|
||||
this.$el.on('click','li',this.on_click_stage);
|
||||
this.$el.on('click','li:not(.oe_folded)',this.on_click_stage);
|
||||
}
|
||||
if (this.$el.parent().is('header')) {
|
||||
this.$el.after('<div class="oe_clear"/>');
|
||||
@@ -5386,17 +5433,20 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||
},
|
||||
render_value: function() {
|
||||
var self = this;
|
||||
var content = QWeb.render("FieldStatus.content", {widget: self});
|
||||
var content = QWeb.render("FieldStatus.content", {
|
||||
'widget': self,
|
||||
'value_folded': _.find(self.selection.folded, function(i){return i[0] === self.get('value')})
|
||||
});
|
||||
self.$el.html(content);
|
||||
},
|
||||
calc_domain: function() {
|
||||
var d = instance.web.pyeval.eval('domain', this.build_domain());
|
||||
var domain = []; //if there is no domain defined, fetch all the records
|
||||
|
||||
|
||||
if (d.length) {
|
||||
domain = ['|',['id', '=', this.get('value')]].concat(d);
|
||||
}
|
||||
|
||||
|
||||
if (! _.isEqual(domain, this.get("evaluated_selection_domain"))) {
|
||||
this.set("evaluated_selection_domain", domain);
|
||||
}
|
||||
@@ -5408,17 +5458,27 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||
*/
|
||||
get_selection: function() {
|
||||
var self = this;
|
||||
var selection = [];
|
||||
var selection_unfolded = [];
|
||||
var selection_folded = [];
|
||||
|
||||
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]);
|
||||
}
|
||||
return self.get_distant_fields().then(function(fields) {
|
||||
return new instance.web.DataSetSearch(self, self.field.relation, self.build_context(), self.get("evaluated_selection_domain"))
|
||||
.read_slice(fields.fold ? ['fold'] : ['id'], {}).then(function (records) {
|
||||
|
||||
var ids = _.map(records, function (val) {return val.id});
|
||||
return self.dataset.name_get(ids).then(function (records_name) {
|
||||
_.each(records, function (record) {
|
||||
var name = _.find(records_name, function (val) {return val[0] == record.id;})[1];
|
||||
if (record.fold && record.id != self.get('value')) {
|
||||
selection_folded.push([record.id, name]);
|
||||
} else {
|
||||
selection_unfolded.push([record.id, name]);
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// For field type selection filter values according to
|
||||
@@ -5428,18 +5488,29 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||
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]);
|
||||
selection_unfolded.push(select[i]);
|
||||
}
|
||||
}
|
||||
return $.when();
|
||||
}
|
||||
}, this);
|
||||
this.selection_dm.add(calculation()).then(function () {
|
||||
var selection = {'unfolded': selection_unfolded, 'folded': selection_folded};
|
||||
if (! _.isEqual(selection, self.get("selection"))) {
|
||||
self.set("selection", selection);
|
||||
}
|
||||
});
|
||||
},
|
||||
get_distant_fields: function() {
|
||||
var self = this;
|
||||
if (this.distant_fields) {
|
||||
return $.when(this.distant_fields);
|
||||
}
|
||||
return new instance.web.Model(self.field.relation).call("fields_get", [["fold"]]).then(function(fields) {
|
||||
self.distant_fields = fields;
|
||||
return fields;
|
||||
})
|
||||
},
|
||||
on_click_stage: function (ev) {
|
||||
var self = this;
|
||||
var $li = $(ev.currentTarget);
|
||||
|
||||
@@ -578,7 +578,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
||||
this.no_leaf = !!context['group_by_no_leaf'];
|
||||
this.grouped = !!group_by;
|
||||
|
||||
return this.load_view(context).then(
|
||||
return this.alive(this.load_view(context)).then(
|
||||
this.proxy('reload_content'));
|
||||
},
|
||||
/**
|
||||
@@ -895,8 +895,9 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
||||
|
||||
this.record_callbacks = {
|
||||
'remove': function (event, record) {
|
||||
var $row = self.$current.children(
|
||||
'[data-id=' + record.get('id') + ']');
|
||||
var id = record.get('id');
|
||||
self.dataset.remove_ids([id])
|
||||
var $row = self.$current.children('[data-id=' + id + ']');
|
||||
var index = $row.data('index');
|
||||
$row.remove();
|
||||
},
|
||||
|
||||
@@ -241,6 +241,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||
} else if (state.active_id) {
|
||||
add_context.active_ids = [state.active_id];
|
||||
}
|
||||
add_context.params = state;
|
||||
this.null_action();
|
||||
action_loaded = this.do_action(state.action, { additional_context: add_context });
|
||||
$.when(action_loaded || null).done(function() {
|
||||
@@ -1004,7 +1005,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
||||
switch_mode: function (view_type, no_store, options) {
|
||||
var self = this;
|
||||
|
||||
return $.when(this._super.apply(this, arguments)).done(function () {
|
||||
return this.alive($.when(this._super.apply(this, arguments))).done(function () {
|
||||
var controller = self.views[self.active_view].controller;
|
||||
self.$el.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
|
||||
view: controller,
|
||||
|
||||
@@ -650,7 +650,7 @@
|
||||
<li t-if="section.name == 'files'" class="oe_sidebar_add_attachment">
|
||||
<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.dataset and widget.dataset.model"/>
|
||||
<input type="hidden" name="id" t-att-value="widget.model_id"/>
|
||||
<input type="hidden" name="session_id" t-att-value="widget.session.session_id"/>
|
||||
@@ -1218,13 +1218,25 @@
|
||||
<ul t-att-class="'oe_form_field_status ' + (widget.options.clickable ? 'oe_form_status_clickable' : 'oe_form_status')" t-att-style="widget.node.attrs.style"/>
|
||||
</t>
|
||||
<t t-name="FieldStatus.content">
|
||||
<t t-foreach="widget.selection" t-as="i">
|
||||
<t t-foreach="widget.selection.unfolded" t-as="i">
|
||||
<li t-att-class="i[0] === widget.get('value') ? 'oe_active' : ''" t-att-data-id="i[0]">
|
||||
<span class="label"><t t-esc="i[1]"/></span>
|
||||
<!-- are you mit ? -->
|
||||
<span class="arrow"><span></span></span>
|
||||
</li>
|
||||
</t>
|
||||
<t t-if="widget.selection.folded.length">
|
||||
<li t-att-class="value_folded ? 'oe_active oe_folded' : 'oe_folded'">
|
||||
<span class="label"> ... </span>
|
||||
<ul>
|
||||
<t t-foreach="widget.selection.folded" t-as="i">
|
||||
<li t-att-class="i[0] === widget.get('value') ? 'oe_active' : ''" t-att-data-id="i[0]">
|
||||
<span class="label"><t t-esc="i[1]"/></span>
|
||||
</li>
|
||||
</t>
|
||||
</ul>
|
||||
</li>
|
||||
</t>
|
||||
</t>
|
||||
<t t-name="FieldBinaryImage">
|
||||
<span class="oe_form_field oe_form_field_image" t-att-style="widget.node.attrs.style">
|
||||
@@ -1552,8 +1564,9 @@
|
||||
<t t-esc="attrs.string"/>
|
||||
</button>
|
||||
<ul t-name="SearchView.filters">
|
||||
<li t-foreach="widget.filters" t-as="filter" t-if="filter.visible()"
|
||||
t-att-title="filter.attrs.string ? filter.attrs.help : undefined">
|
||||
<li t-foreach="widget.filters" t-as="filter" t-if="!filter.visible || filter.visible()"
|
||||
t-att-title="filter.attrs.string ? filter.attrs.help : undefined"
|
||||
t-att-data-index="filter_index">
|
||||
<t t-esc="filter.attrs.string or filter.attrs.help or filter.attrs.name or 'Ω'"/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
openerp.testing.section('data.model.group_by', {
|
||||
rpc: 'mock',
|
||||
dependencies: ['web.data'],
|
||||
}, function (test) {
|
||||
var group_result = [{
|
||||
bar: 3, bar_count: 5, __context: {}, __domain: [['bar', '=', 3]],
|
||||
}, {
|
||||
bar: 5, bar_count: 3, __context: {}, __domain: [['bar', '=', 5]],
|
||||
}, {
|
||||
bar: 8, bar_count: 0, __context: {}, __domain: [['bar', '=', 8]],
|
||||
}];
|
||||
test('basic', {asserts: 7}, function (instance, $fix, mock) {
|
||||
var m = new instance.web.Model('foo');
|
||||
mock('foo:read_group', function (args, kwargs) {
|
||||
deepEqual(kwargs.fields, ['bar'],
|
||||
"should read grouping field");
|
||||
deepEqual(kwargs.groupby, ['bar'],
|
||||
"should have single grouping field");
|
||||
return group_result;
|
||||
});
|
||||
mock('/web/dataset/search_read', function (args) {
|
||||
deepEqual(args.params.domain, [['bar', '=', 3]],
|
||||
"should have domain matching that of group_by result");
|
||||
return {records: [
|
||||
{bar: 3, id: 1},
|
||||
{bar: 3, id: 2},
|
||||
{bar: 3, id: 4},
|
||||
{bar: 3, id: 8},
|
||||
{bar: 3, id: 16}
|
||||
], length: 5};
|
||||
});
|
||||
|
||||
return m.query().group_by('bar')
|
||||
.then(function (groups) {
|
||||
ok(groups, "should have data");
|
||||
equal(groups.length, 3, "should have three results");
|
||||
var first = groups[0];
|
||||
ok(first.attributes.has_children, "should have children");
|
||||
return first.query().all();
|
||||
}).done(function (first) {
|
||||
equal(first.length, 5, "should have 5 records")
|
||||
});
|
||||
});
|
||||
test('noleaf', {asserts: 5}, function (instance, $fix, mock) {
|
||||
var m = new instance.web.Model('foo', {group_by_no_leaf: true});
|
||||
mock('foo:read_group', function (args, kwargs) {
|
||||
deepEqual(kwargs.fields, ['bar'],
|
||||
"should read grouping field");
|
||||
deepEqual(kwargs.groupby, ['bar'],
|
||||
"should have single grouping field");
|
||||
|
||||
return group_result;
|
||||
});
|
||||
return m.query().group_by('bar')
|
||||
.then(function (groups) {
|
||||
ok(groups, "should have data");
|
||||
equal(groups.length, 3, "should have three results");
|
||||
ok(!groups[0].attributes.has_children,
|
||||
"should not have children because no_leaf");
|
||||
})
|
||||
});
|
||||
test('nogroup', {rpc: false}, function (instance, $f, mock) {
|
||||
var m = new instance.web.Model('foo');
|
||||
strictEqual(m.query().group_by(), null, "should not group");
|
||||
});
|
||||
test('empty.noleaf', {asserts: 1}, function (instance, $f, mock) {
|
||||
var m = new instance.web.Model('foo', {group_by_no_leaf: true});
|
||||
mock('foo:read_group', function (args, kwargs) {
|
||||
return [{__context: [], __domain: []}];
|
||||
});
|
||||
return m.query().group_by().done(function (groups) {
|
||||
strictEqual(groups.length, 1,
|
||||
"should generate a single fake-ish group");
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -614,6 +614,59 @@ openerp.testing.section('search.completions', {
|
||||
{relation: 'dummy.model'}, view);
|
||||
return f.complete("bob");
|
||||
});
|
||||
test('Integer: invalid', {asserts: 1}, function (instance) {
|
||||
var view = {inputs: []};
|
||||
var f = new instance.web.search.IntegerField(
|
||||
{attrs: {string: "Dummy"}}, {}, view);
|
||||
return f.complete("qux")
|
||||
.done(function (completions) {
|
||||
ok(!completions, "non-number => no completion");
|
||||
});
|
||||
});
|
||||
test('Integer: non-zero', {asserts: 5}, function (instance) {
|
||||
var view = {inputs: []};
|
||||
var f = new instance.web.search.IntegerField(
|
||||
{attrs: {string: "Dummy"}}, {}, view);
|
||||
return f.complete("-2")
|
||||
.done(function (completions) {
|
||||
equal(completions.length, 1, "number fields provide 1 completion only");
|
||||
var facet = new instance.web.search.Facet(completions[0].facet);
|
||||
equal(facet.get('category'), f.attrs.string);
|
||||
equal(facet.get('field'), f);
|
||||
var value = facet.values.at(0);
|
||||
equal(value.get('label'), "-2");
|
||||
equal(value.get('value'), -2);
|
||||
});
|
||||
});
|
||||
test('Integer: zero', {asserts: 3}, function (instance) {
|
||||
var view = {inputs: []};
|
||||
var f = new instance.web.search.IntegerField(
|
||||
{attrs: {string: "Dummy"}}, {}, view);
|
||||
return f.complete("0")
|
||||
.done(function (completions) {
|
||||
equal(completions.length, 1, "number fields provide 1 completion only");
|
||||
var facet = new instance.web.search.Facet(completions[0].facet);
|
||||
var value = facet.values.at(0);
|
||||
equal(value.get('label'), "0");
|
||||
equal(value.get('value'), 0);
|
||||
});
|
||||
});
|
||||
test('Float: non-zero', {asserts: 5}, function (instance) {
|
||||
var view = {inputs: []};
|
||||
var f = new instance.web.search.FloatField(
|
||||
{attrs: {string: "Dummy"}}, {}, view);
|
||||
return f.complete("42.37")
|
||||
.done(function (completions) {
|
||||
equal(completions.length, 1, "float fields provide 1 completion only");
|
||||
var facet = new instance.web.search.Facet(completions[0].facet);
|
||||
equal(facet.get('category'), f.attrs.string);
|
||||
equal(facet.get('field'), f);
|
||||
var value = facet.values.at(0);
|
||||
equal(value.get('label'), "42.37");
|
||||
equal(value.get('value'), 42.37);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
openerp.testing.section('search.serialization', {
|
||||
dependencies: ['web.search'],
|
||||
@@ -1361,7 +1414,7 @@ openerp.testing.section('search.invisible', {
|
||||
}, ['<search>',
|
||||
'<field name="field0"/>',
|
||||
'<field name="field1" modifiers="{"invisible": true}"/>',
|
||||
'</search>'].join());
|
||||
'</search>'].join(''));
|
||||
return view.appendTo($fix)
|
||||
.then(function () {
|
||||
var done = $.Deferred();
|
||||
@@ -1380,7 +1433,7 @@ openerp.testing.section('search.invisible', {
|
||||
'<search>',
|
||||
'<filter string="filter 0"/>',
|
||||
'<filter string="filter 1" modifiers="{"invisible": true}"/>',
|
||||
'</search>'].join());
|
||||
'</search>'].join(''));
|
||||
return view.appendTo($fix)
|
||||
.then(function () {
|
||||
var $fs = $fix.find('.oe_searchview_filters ul');
|
||||
@@ -1400,6 +1453,26 @@ openerp.testing.section('search.invisible', {
|
||||
return done;
|
||||
});
|
||||
});
|
||||
test('invisible-previous-sibling', {asserts: 3}, function (instance, $fix, mock) {
|
||||
var view = makeView(instance, mock, {}, [
|
||||
'<search>',
|
||||
'<filter string="filter 0" context="{"test": 0}"/>',
|
||||
'<filter string="filter 1" modifiers="{"invisible": true}" context="{"test": 1}"/>',
|
||||
'<filter string="filter 2" modifiers="{"invisible": true}" context="{"test": 2}"/>',
|
||||
'<filter string="filter 3" context="{"test": 3}"/>',
|
||||
'</search>'].join(''));
|
||||
return view.appendTo($fix)
|
||||
.done(function () {
|
||||
// Select filter 3
|
||||
$fix.find('.oe_searchview_filters ul li:contains("filter 3")').click();
|
||||
equal(view.query.length, 1, "should have selected a filter");
|
||||
var facet = view.query.at(0);
|
||||
strictEqual(facet.values.at(0).get('label'), "filter 3",
|
||||
"should have correctly labelled the facet");
|
||||
deepEqual(view.build_search_data().contexts, [{test: 3}],
|
||||
"should have built correct context");
|
||||
});
|
||||
});
|
||||
// Invisible filter groups should not appear in the drawer
|
||||
// Group invisibility should be inherited by children
|
||||
test('group-invisibility', {asserts: 6}, function (instance, $fix, mock) {
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: web_calendar
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -15,8 +15,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
"Language: es\n"
|
||||
|
||||
#. module: web_calendar
|
||||
|
||||
@@ -9,13 +9,13 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 20:00+0000\n"
|
||||
"Last-Translator: Jose Ernesto Mendez <tecnologia@obsdr.com>\n"
|
||||
"Last-Translator: Open Business Solutions, SRL. <tecnologia@obsdr.com>\n"
|
||||
"Language-Team: Spanish (Dominican Republic) <es_DO@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-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -43,7 +43,7 @@ msgstr "Tallenna"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:101
|
||||
#, python-format
|
||||
msgid "Calendar view has a 'date_delay' type != float"
|
||||
msgstr ""
|
||||
msgstr "Kalenterinäkymässä 'date_delay' tyyppi pitää olla liukuluku"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -165,21 +165,21 @@ msgstr "Aikajakso"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:158
|
||||
#, python-format
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Poista"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:152
|
||||
#, python-format
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Kuukausi"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:168
|
||||
#, python-format
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
msgstr "Ei käytössä"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -193,14 +193,14 @@ msgstr ""
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:177
|
||||
#, python-format
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
msgstr "Vuosi"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:155
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Peruuta"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -214,7 +214,7 @@ msgstr "kalenteri"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:93
|
||||
#, python-format
|
||||
msgid "Calendar view has not defined 'date_start' attribute."
|
||||
msgstr ""
|
||||
msgstr "Kalenterinäkymään ei ole määritelty aloituspäivää 'date_start'."
|
||||
|
||||
#~ msgid "Navigator"
|
||||
#~ msgstr "Navigaattori"
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16564)\n"
|
||||
"X-Launchpad-Export-Date: 2013-05-10 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16598)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user