diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 651e5c42a97..9ac4877d3d4 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -527,6 +527,12 @@ class Home(http.Controller): @http.route('/', type='http', auth="none") def index(self, s_action=None, db=None, debug=False, **kw): + query = dict(urlparse.parse_qsl(request.httprequest.query_string, keep_blank_values=True)) + redirect = '/web' + '?' + urllib.urlencode(query) + return redirect_with_hash(redirect) + + @http.route('/web', type='http', auth="none") + def web_client(self, s_action=None, db=None, debug=False, **kw): debug = debug != False lst = http.db_list(True) @@ -860,11 +866,6 @@ class Session(http.Controller): return {'error': _('The old password you provided is incorrect, your password was not changed.'), 'title': _('Change Password')} return {'error': _('Error, password not changed !'), 'title': _('Change Password')} - @http.route('/web/session/sc_list', type='json', auth="user") - def sc_list(self): - return request.session.model('ir.ui.view_sc').get_sc( - request.session.uid, "ir.ui.menu", request.context) - @http.route('/web/session/get_lang_list', type='json', auth="none") def get_lang_list(self): try: @@ -1010,13 +1011,6 @@ class Menu(http.Controller): """ return request.session.model('ir.ui.menu').get_needaction_data(menu_ids, request.context) - @http.route('/web/menu/action', type='json', auth="user") - def action(self, menu_id): - # still used by web_shortcut - actions = load_actions_from_ir_values('action', 'tree_but_open', - [('ir.ui.menu', menu_id)], False) - return {"action": actions} - class DataSet(http.Controller): @http.route('/web/dataset/search_read', type='json', auth="user") @@ -1086,7 +1080,7 @@ class DataSet(http.Controller): return records if method.startswith('_'): - raise Exception("Access denied") + raise Exception("Access Denied: Underscore prefixed methods cannot be remotely called") return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) diff --git a/addons/web/http.py b/addons/web/http.py index c8fabafd594..d2d3a78cf06 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -177,6 +177,11 @@ class WebRequest(object): self.disable_db = True self.uid = None + @property + def debug(self): + return 'debug' in self.httprequest.args + + def auth_method_user(): request.uid = request.session.uid @@ -382,10 +387,10 @@ def jsonrequest(f): Use the ``route()`` decorator instead. """ f.combine = True - base = f.__name__ + base = f.__name__.lstrip('/') if f.__name__ == "index": base = "" - return route([base, os.path.join(base, "")], type="json", auth="user")(f) + return route([base, base + "/"], type="json", auth="none")(f) class HttpRequest(WebRequest): """ Regular GET/POST request @@ -460,10 +465,10 @@ def httprequest(f): Use the ``route()`` decorator instead. """ f.combine = True - base = f.__name__ + base = f.__name__.lstrip('/') if f.__name__ == "index": base = "" - return route([base, os.path.join(base, "")], type="http", auth="user")(f) + return route([base, base + "/"], type="http", auth="none")(f) #---------------------------------------------------------- # Local storage of requests @@ -496,16 +501,13 @@ class ControllerType(type): def __init__(cls, name, bases, attrs): super(ControllerType, cls).__init__(name, bases, attrs) - # create wrappers for old-style methods with req as first argument - cls._methods_wrapper = {} + # flag old-style methods with req as first argument for k, v in attrs.items(): if inspect.isfunction(v): spec = inspect.getargspec(v) first_arg = spec.args[1] if len(spec.args) >= 2 else None if first_arg in ["req", "request"]: - def build_new(nv): - return lambda self, *args, **kwargs: nv(self, request, *args, **kwargs) - cls._methods_wrapper[k] = build_new(v) + v._first_arg_is_req = True # store the controller in the controllers list name_class = ("%s.%s" % (cls.__module__, cls.__name__), cls) @@ -514,7 +516,6 @@ class ControllerType(type): return # we want to know all modules that have controllers module = class_path[2] - controllers_per_module.setdefault(module, []) # but we only store controllers directly inheriting from Controller if not "Controller" in globals() or not Controller in bases: return @@ -523,12 +524,6 @@ class ControllerType(type): class Controller(object): __metaclass__ = ControllerType - def get_wrapped_method(self, name): - if name in self.__class__._methods_wrapper: - return functools.partial(self.__class__._methods_wrapper[name], self) - else: - return getattr(self, name) - ############################# # OpenERP Sessions # ############################# @@ -865,8 +860,7 @@ class Root(object): self.addons = {} self.statics = {} - self.db_routers = {} - self.db_routers_lock = threading.Lock() + self.no_db_router = None self.load_addons() @@ -915,10 +909,7 @@ class Root(object): db = request.db if db: - updated = openerp.modules.registry.RegistryManager.check_registry_signaling(db) - if updated: - with self.db_routers_lock: - del self.db_routers[db] + openerp.modules.registry.RegistryManager.check_registry_signaling(db) with set_request(request): self.find_handler() @@ -991,8 +982,8 @@ class Root(object): cls = v[1] subclasses = cls.__subclasses__() - subclasses = [c for c in subclasses if c.__module__.split(".")[:2] == ["openerp", "addons"] and \ - cls.__module__.split(".")[2] in modules] + subclasses = [c for c in subclasses if c.__module__.startswith('openerp.addons.') and + c.__module__.split(".")[2] in modules] if subclasses: name = "%s (extended by %s)" % (cls.__name__, ', '.join(sub.__name__ for sub in subclasses)) cls = type(name, tuple(reversed(subclasses)), {}) @@ -1001,17 +992,15 @@ class Root(object): members = inspect.getmembers(o) for mk, mv in members: if inspect.ismethod(mv) and getattr(mv, 'exposed', False) and \ - nodb_only == (getattr(mv, "auth", None) == "none"): - function = (o.get_wrapped_method(mk), mv) + nodb_only == (getattr(mv, "auth", "none") == "none"): for url in mv.routes: if getattr(mv, "combine", False): - url = os.path.join(o._cp_path, url) + url = o._cp_path.rstrip('/') + '/' + url.lstrip('/') if url.endswith("/") and len(url) > 1: url = url[: -1] - routing_map.add(routing.Rule(url, endpoint=function)) + routing_map.add(routing.Rule(url, endpoint=mv)) - modules_set = set(controllers_per_module.keys()) - modules_set -= set("web") + modules_set = set(controllers_per_module.keys()) - set(['web']) # building all none methods gen(["web"] + sorted(modules_set), True) if not db: @@ -1020,22 +1009,26 @@ class Root(object): registry = openerp.modules.registry.RegistryManager.get(db) with registry.cursor() as cr: m = registry.get('ir.module.module') - ids = m.search(cr, openerp.SUPERUSER_ID, [('state','=','installed')]) + ids = m.search(cr, openerp.SUPERUSER_ID, [('state', '=', 'installed'), ('name', '!=', 'web')]) installed = set([x['name'] for x in m.read(cr, 1, ids, ['name'])]) modules_set = modules_set.intersection(set(installed)) modules = ["web"] + sorted(modules_set) # building all other methods - gen(["web"] + sorted(modules_set), False) + gen(modules, False) return routing_map def get_db_router(self, db): - with self.db_routers_lock: - router = self.db_routers.get(db) + if db is None: + router = self.no_db_router + else: + router = getattr(openerp.modules.registry.RegistryManager.get(db), "werkzeug_http_router", None) if not router: router = self._build_router(db) - with self.db_routers_lock: - self.db_routers[db] = router + if db is None: + self.no_db_router = router + else: + openerp.modules.registry.RegistryManager.get(db).werkzeug_http_router = router return router def find_handler(self): @@ -1044,17 +1037,18 @@ class Root(object): """ path = request.httprequest.path urls = self.get_db_router(request.db).bind("") - matched, arguments = urls.match(path) + func, arguments = urls.match(path) arguments = dict([(k, v) for k, v in arguments.items() if not k.startswith("_ignored_")]) - func, original = matched def nfunc(*args, **kwargs): kwargs.update(arguments) + if getattr(func, '_first_arg_is_req', False): + args = (request,) + args return func(*args, **kwargs) request.func = nfunc - request.auth_method = getattr(original, "auth", "user") - request.func_request_type = original.exposed + request.auth_method = getattr(func, "auth", "user") + request.func_request_type = func.exposed root = None diff --git a/addons/web/i18n/ar.po b/addons/web/i18n/ar.po index 65bbcd33781..d14cb5d71e0 100644 --- a/addons/web/i18n/ar.po +++ b/addons/web/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web @@ -36,7 +36,7 @@ msgstr "قبل %d دقيقة/دقائق" #: code:addons/web/static/src/js/coresetup.js:620 #, python-format msgid "Still loading...
Please be patient." -msgstr "" +msgstr "جار التحميل
برجاء الانتظار" #. module: web #. openerp-web @@ -110,7 +110,7 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:593 #, python-format msgid "about an hour ago" -msgstr "" +msgstr "منذ ساعة مضت" #. module: web #. openerp-web @@ -119,7 +119,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:234 #, python-format msgid "Backup Database" -msgstr "" +msgstr "نسخة قاعدة البيانات الاحتياطية" #. module: web #. openerp-web diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po index f291d6adfe4..e472ccb4169 100644 --- a/addons/web/i18n/bg.po +++ b/addons/web/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bn.po b/addons/web/i18n/bn.po index 00d840da9f5..a590ef5ce6f 100644 --- a/addons/web/i18n/bn.po +++ b/addons/web/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bs.po b/addons/web/i18n/bs.po index 649a3838e96..e7d3fe33f4f 100644 --- a/addons/web/i18n/bs.po +++ b/addons/web/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ca.po b/addons/web/i18n/ca.po index e8e7d947372..205aa498f3d 100644 --- a/addons/web/i18n/ca.po +++ b/addons/web/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po index 734ffdabcd7..71eeed2e204 100644 --- a/addons/web/i18n/cs.po +++ b/addons/web/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" "X-Poedit-Language: Czech\n" #. module: web diff --git a/addons/web/i18n/da.po b/addons/web/i18n/da.po index 53bbeca1ac5..10b48991673 100644 --- a/addons/web/i18n/da.po +++ b/addons/web/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/de.po b/addons/web/i18n/de.po index 80849a062f5..4192e5db42d 100644 --- a/addons/web/i18n/de.po +++ b/addons/web/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po index 228c6ddce90..4001bbdeedb 100644 --- a/addons/web/i18n/en_AU.po +++ b/addons/web/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_GB.po b/addons/web/i18n/en_GB.po index e927fddba18..e88dcb592cf 100644 --- a/addons/web/i18n/en_GB.po +++ b/addons/web/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web @@ -29,21 +29,21 @@ msgstr "Default language:" #: code:addons/web/static/src/js/coresetup.js:592 #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "%d minutes ago" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:620 #, python-format msgid "Still loading...
Please be patient." -msgstr "" +msgstr "Still loading...
Please be patient." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1999 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "less than or equal to" #: code:addons/web/static/src/js/chrome.js:410 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Please enter your previous password" #. module: web #. openerp-web @@ -75,28 +75,28 @@ msgstr "Master password:" #: code:addons/web/static/src/xml/base.xml:292 #, python-format msgid "Change Master Password" -msgstr "" +msgstr "Change Master Password" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:513 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "" +msgstr "Do you really want to delete the database: %s ?" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1502 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "" +msgstr "Search %(field)s at: %(value)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:559 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Access Denied" #. module: web #. openerp-web @@ -110,7 +110,7 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:593 #, python-format msgid "about an hour ago" -msgstr "" +msgstr "about an hour ago" #. module: web #. openerp-web @@ -119,14 +119,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:234 #, python-format msgid "Backup Database" -msgstr "" +msgstr "Backup Database" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:518 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "%(view_type)s view" #. module: web #. openerp-web @@ -134,7 +134,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "'%s' is not a valid date" #. module: web #. openerp-web @@ -148,7 +148,7 @@ msgstr "Here is a preview of the file we could not import:" #: code:addons/web/static/src/js/coresetup.js:591 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "about a minute ago" #. module: web #. openerp-web @@ -161,7 +161,7 @@ msgstr "" #: code:addons/web/controllers/main.py:869 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "You cannot leave any password empty." #. module: web #. openerp-web @@ -213,14 +213,14 @@ msgstr "Last Modification Date:" #: code:addons/web/static/src/js/search.js:1566 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "" +msgstr "M2O search fields do not currently handle multiple default values" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1241 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "Widget type '%s' is not implemented" #. module: web #. openerp-web @@ -249,7 +249,7 @@ msgstr "(no string)" #: code:addons/web/static/src/js/formats.js:286 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' is not a correct time" #. module: web #. openerp-web @@ -270,7 +270,7 @@ msgstr "New Password:" #: code:addons/web/static/src/xml/base.xml:632 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Attachment :" #. module: web #. openerp-web @@ -298,7 +298,7 @@ msgstr "File Upload" #: code:addons/web/static/src/js/coresetup.js:597 #, python-format msgid "about a month ago" -msgstr "" +msgstr "about a month ago" #. module: web #. openerp-web @@ -959,7 +959,7 @@ msgstr "" #: code:addons/web/static/src/js/view_list_editable.js:793 #, python-format msgid "The form's data can not be discarded" -msgstr "" +msgstr "The form's data can not be discarded" #. module: web #. openerp-web diff --git a/addons/web/i18n/es.po b/addons/web/i18n/es.po index aa9a5efc7cd..963e418810d 100644 --- a/addons/web/i18n/es.po +++ b/addons/web/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_CL.po b/addons/web/i18n/es_CL.po index 5feb88437f9..131219d8cc9 100644 --- a/addons/web/i18n/es_CL.po +++ b/addons/web/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_CR.po b/addons/web/i18n/es_CR.po index 2fb37c8fd6b..a5f6ba209d9 100644 --- a/addons/web/i18n/es_CR.po +++ b/addons/web/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" "Language: es\n" #. module: web diff --git a/addons/web/i18n/es_DO.po b/addons/web/i18n/es_DO.po index f6b97acb10d..15c81f7b627 100644 --- a/addons/web/i18n/es_DO.po +++ b/addons/web/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po index d14d816b4c6..362004da28f 100644 --- a/addons/web/i18n/es_EC.po +++ b/addons/web/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_MX.po b/addons/web/i18n/es_MX.po index 66a41b0bbf2..3977317eb62 100644 --- a/addons/web/i18n/es_MX.po +++ b/addons/web/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po index 614f8a89760..40999f2fd97 100644 --- a/addons/web/i18n/et.po +++ b/addons/web/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/eu.po b/addons/web/i18n/eu.po index faf89c4f547..d8db9dacf82 100644 --- a/addons/web/i18n/eu.po +++ b/addons/web/i18n/eu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fa.po b/addons/web/i18n/fa.po index 98c0a3ebda1..fd79b47dd88 100644 --- a/addons/web/i18n/fa.po +++ b/addons/web/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po index b840446b5f1..d443e4b2d24 100644 --- a/addons/web/i18n/fi.po +++ b/addons/web/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr.po b/addons/web/i18n/fr.po index 575f142faf1..51faf2a482f 100644 --- a/addons/web/i18n/fr.po +++ b/addons/web/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr_CA.po b/addons/web/i18n/fr_CA.po index 81a3636fa0f..c7208b6abae 100644 --- a/addons/web/i18n/fr_CA.po +++ b/addons/web/i18n/fr_CA.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/gl.po b/addons/web/i18n/gl.po index aa4c8da7b4f..666f980f78b 100644 --- a/addons/web/i18n/gl.po +++ b/addons/web/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/gu.po b/addons/web/i18n/gu.po index 5eab79d4048..5092f5ffaa5 100644 --- a/addons/web/i18n/gu.po +++ b/addons/web/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hi.po b/addons/web/i18n/hi.po index 21ac7d61967..b629c298ae8 100644 --- a/addons/web/i18n/hi.po +++ b/addons/web/i18n/hi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hr.po b/addons/web/i18n/hr.po index cfc545c15bb..9d6183c45fa 100644 --- a/addons/web/i18n/hr.po +++ b/addons/web/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po index 1218445a11f..b3450746ab5 100644 --- a/addons/web/i18n/hu.po +++ b/addons/web/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/id.po b/addons/web/i18n/id.po index 354b41f8d6c..e70960939fe 100644 --- a/addons/web/i18n/id.po +++ b/addons/web/i18n/id.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po index dd8a9d6b7ab..f276140ff4e 100644 --- a/addons/web/i18n/it.po +++ b/addons/web/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po index 2110c81e7b6..cd0f4c6d9ca 100644 --- a/addons/web/i18n/ja.po +++ b/addons/web/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ka.po b/addons/web/i18n/ka.po index 83f877b3dec..bd84fece68e 100644 --- a/addons/web/i18n/ka.po +++ b/addons/web/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ko.po b/addons/web/i18n/ko.po index c9f4bfc90c2..103fe5a5f97 100644 --- a/addons/web/i18n/ko.po +++ b/addons/web/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lo.po b/addons/web/i18n/lo.po index f5e5076c49c..58546c13cdd 100644 --- a/addons/web/i18n/lo.po +++ b/addons/web/i18n/lo.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lt.po b/addons/web/i18n/lt.po index 0bb44ab1311..31b3738c837 100644 --- a/addons/web/i18n/lt.po +++ b/addons/web/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lv.po b/addons/web/i18n/lv.po index 19e07517ef3..eee0b7816ed 100644 --- a/addons/web/i18n/lv.po +++ b/addons/web/i18n/lv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/mk.po b/addons/web/i18n/mk.po index 1a4b2f87bbe..4cd92634cf3 100644 --- a/addons/web/i18n/mk.po +++ b/addons/web/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/mn.po b/addons/web/i18n/mn.po index 45f41087030..65f623684ce 100644 --- a/addons/web/i18n/mn.po +++ b/addons/web/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po index 4accf6de92b..9a0496b2e2f 100644 --- a/addons/web/i18n/nb.po +++ b/addons/web/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web @@ -29,7 +29,7 @@ msgstr "Standardspråk:" #: code:addons/web/static/src/js/coresetup.js:592 #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "%d minutter siden" #. module: web #. openerp-web @@ -75,7 +75,7 @@ msgstr "Hovedpassord" #: code:addons/web/static/src/xml/base.xml:292 #, python-format msgid "Change Master Password" -msgstr "" +msgstr "Endre hovedpassord" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po index dc1e2c65f1e..4f473bb0af2 100644 --- a/addons/web/i18n/nl.po +++ b/addons/web/i18n/nl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl_BE.po b/addons/web/i18n/nl_BE.po index bbd40e6668d..6c3cf6fdac5 100644 --- a/addons/web/i18n/nl_BE.po +++ b/addons/web/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pl.po b/addons/web/i18n/pl.po index 60d37d8b42a..9bb77bba817 100644 --- a/addons/web/i18n/pl.po +++ b/addons/web/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt.po b/addons/web/i18n/pt.po index a79ef048c3b..7557f419228 100644 --- a/addons/web/i18n/pt.po +++ b/addons/web/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po index 8c235d0e77c..5b403ad0a7b 100644 --- a/addons/web/i18n/pt_BR.po +++ b/addons/web/i18n/pt_BR.po @@ -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-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web @@ -214,7 +214,7 @@ msgstr "Data da Última Modificação:" #: code:addons/web/static/src/js/search.js:1566 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "Campos de pesquisa M2O não aceitão múltiplos valores padrão" +msgstr "Campos de pesquisa M2O não aceitam múltiplos valores padrão" #. module: web #. openerp-web @@ -264,7 +264,7 @@ msgstr "não é um número válido" #: code:addons/web/static/src/xml/base.xml:343 #, python-format msgid "New Password:" -msgstr "Nova Senha" +msgstr "Nova Senha:" #. module: web #. openerp-web @@ -412,7 +412,7 @@ msgstr "Idiomas" #: code:addons/web/static/src/xml/base.xml:1298 #, python-format msgid "...Upload in progress..." -msgstr "... Upload em progresso ..." +msgstr "... Upload em andamento ..." #. module: web #. openerp-web @@ -483,7 +483,7 @@ msgstr "Carregando (%d)" #: code:addons/web/static/src/js/search.js:1216 #, python-format msgid "GroupBy" -msgstr "AgruparPor" +msgstr "Agrupar por" #. module: web #. openerp-web @@ -890,7 +890,7 @@ msgstr "Preferências" #: code:addons/web/static/src/js/view_form.js:435 #, python-format msgid "Wrong on change format: %s" -msgstr "Formato invalido para on change: %s" +msgstr "Formato inválido para on change: %s" #. module: web #. openerp-web @@ -1412,7 +1412,7 @@ msgstr "99+" #: code:addons/web/static/src/xml/base.xml:1795 #, python-format msgid "1. Import a .CSV file" -msgstr "Importar um arquivo CSV." +msgstr "Importar um arquivo .CSV" #. module: web #. openerp-web @@ -1934,7 +1934,7 @@ msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." msgstr "" -"Agrupar por em campo '% s' não é possível porque o campo não aparece na " +"Agrupar por no campo '% s' não é possível porque o campo não aparece na " "visualização lista." #. module: web @@ -2344,7 +2344,7 @@ msgstr "Duplicar" #: code:addons/web/static/src/xml/base.xml:1419 #, python-format msgid "Discard" -msgstr "Desistir" +msgstr "Descartar" #. module: web #. openerp-web @@ -2435,7 +2435,7 @@ msgstr "ID:" #: code:addons/web/static/src/xml/base.xml:892 #, python-format msgid "Only you" -msgstr "Apenas eu" +msgstr "Somente eu" #. module: web #. openerp-web @@ -2588,7 +2588,7 @@ msgstr "Procurar %(field)s por: %(value)s" #: code:addons/web/static/src/xml/base.xml:1305 #, python-format msgid "Delete this file" -msgstr "Apagar esse arquivo" +msgstr "Excluir este arquivo" #. module: web #. openerp-web diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po index 3f2cffc6ac3..f39c73d87aa 100644 --- a/addons/web/i18n/ro.po +++ b/addons/web/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ru.po b/addons/web/i18n/ru.po index 13c91a530ee..73d1084f83d 100644 --- a/addons/web/i18n/ru.po +++ b/addons/web/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sk.po b/addons/web/i18n/sk.po index 83cbc765b9d..11edb68d438 100644 --- a/addons/web/i18n/sk.po +++ b/addons/web/i18n/sk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sl.po b/addons/web/i18n/sl.po index 22277901d2d..a597d6eacb5 100644 --- a/addons/web/i18n/sl.po +++ b/addons/web/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sq.po b/addons/web/i18n/sq.po index 4d0c8368035..fefe78ddc61 100644 --- a/addons/web/i18n/sq.po +++ b/addons/web/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:38+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:55+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sr@latin.po b/addons/web/i18n/sr@latin.po index bb1820e5e8e..c56f39b28f4 100644 --- a/addons/web/i18n/sr@latin.po +++ b/addons/web/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sv.po b/addons/web/i18n/sv.po index 47469fce2cc..74dd4599fa5 100644 --- a/addons/web/i18n/sv.po +++ b/addons/web/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web @@ -29,14 +29,14 @@ msgstr "Förvalt språk:" #: code:addons/web/static/src/js/coresetup.js:592 #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "%d minuter sedan" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:620 #, python-format msgid "Still loading...
Please be patient." -msgstr "" +msgstr "Laddar fortfarande...
Ha tålamod." #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "mindre eller lika med" #: code:addons/web/static/src/js/chrome.js:410 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Ange ditt tidigare lösenord" #. module: web #. openerp-web @@ -75,14 +75,14 @@ msgstr "Huvudlösenord" #: code:addons/web/static/src/xml/base.xml:292 #, python-format msgid "Change Master Password" -msgstr "" +msgstr "Ändra huvudlösenordet" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:513 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "" +msgstr "Vill du verkligen ta bort databasen: %s?" #. module: web #. openerp-web @@ -96,7 +96,7 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:559 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Åtkomst nekad" #. module: web #. openerp-web @@ -110,7 +110,7 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:593 #, python-format msgid "about an hour ago" -msgstr "" +msgstr "ungefär en timme sedan" #. module: web #. openerp-web @@ -119,7 +119,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:234 #, python-format msgid "Backup Database" -msgstr "" +msgstr "Säkerhetskopiera databasen" #. module: web #. openerp-web @@ -134,7 +134,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "\"%s\" är inte ett giltigt datum" #. module: web #. openerp-web @@ -148,7 +148,7 @@ msgstr "Här är en förhandsgranskning av filen vi inte kunder importera:" #: code:addons/web/static/src/js/coresetup.js:591 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "ungefär en minut sedan" #. module: web #. openerp-web @@ -161,7 +161,7 @@ msgstr "" #: code:addons/web/controllers/main.py:869 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "Du kan inte ange ett tomt lösenord" #. module: web #. openerp-web @@ -213,14 +213,14 @@ msgstr "Senaste ändringsdatum:" #: code:addons/web/static/src/js/search.js:1566 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "" +msgstr "M2O sökfält kan just nu inte hantera multipla standardvärden" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1241 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "Widgettypen '%s' är inte implementerad" #. module: web #. openerp-web @@ -249,7 +249,7 @@ msgstr "(ingen sträng)" #: code:addons/web/static/src/js/formats.js:286 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' är inte en korrekt tid" #. module: web #. openerp-web @@ -270,7 +270,7 @@ msgstr "Nytt lösenord:" #: code:addons/web/static/src/xml/base.xml:632 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Bilaga:" #. module: web #. openerp-web @@ -298,7 +298,7 @@ msgstr "Filuppladdning" #: code:addons/web/static/src/js/coresetup.js:597 #, python-format msgid "about a month ago" -msgstr "" +msgstr "ungefär en månad sedan" #. module: web #. openerp-web @@ -370,7 +370,7 @@ msgstr "Hämta" #: code:addons/web/static/src/js/formats.js:270 #, python-format msgid "'%s' is not a correct datetime" -msgstr "" +msgstr "'%s' är inte korrekt datum/tid" #. module: web #. openerp-web @@ -398,20 +398,20 @@ msgstr "Val:" #: code:addons/web/static/src/js/view_form.js:881 #, python-format msgid "The following fields are invalid:" -msgstr "" +msgstr "Följande fält är inte giltiga:" #. module: web #: code:addons/web/controllers/main.py:890 #, python-format msgid "Languages" -msgstr "" +msgstr "Språk" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1298 #, python-format msgid "...Upload in progress..." -msgstr "" +msgstr "...Uppladdning pågår..." #. module: web #. openerp-web @@ -425,14 +425,14 @@ msgstr "Importera" #: code:addons/web/static/src/js/chrome.js:565 #, python-format msgid "Could not restore the database" -msgstr "" +msgstr "Kunde inte återskapa databasen" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4982 #, python-format msgid "File upload" -msgstr "" +msgstr "Filuppladdning" #. module: web #. openerp-web @@ -468,7 +468,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:435 #, python-format msgid "Activate the developer mode" -msgstr "" +msgstr "Aktivera utvecklarmod" #. module: web #. openerp-web @@ -489,7 +489,7 @@ msgstr "" #: code:addons/web/static/src/js/view_list.js:699 #, python-format msgid "You must select at least one record." -msgstr "" +msgstr "Du måste välja åtminstone en post" #. module: web #. openerp-web @@ -517,7 +517,7 @@ msgstr "Relation:" #: code:addons/web/static/src/js/coresetup.js:590 #, python-format msgid "less than a minute ago" -msgstr "" +msgstr "mindre än en minute sedan" #. module: web #. openerp-web @@ -559,7 +559,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:2955 #, python-format msgid "Create and Edit..." -msgstr "" +msgstr "Skapa och redigera..." #. module: web #. openerp-web @@ -587,14 +587,14 @@ msgstr "är inte" #: code:addons/web/static/src/xml/base.xml:572 #, python-format msgid "Print Workflow" -msgstr "" +msgstr "Skriv ut arbetsflöde" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:413 #, python-format msgid "Please confirm your new password" -msgstr "" +msgstr "Var god konfirmera ditt nya lösenord" #. module: web #. openerp-web @@ -615,7 +615,7 @@ msgstr "För mer information besök" #: code:addons/web/static/src/xml/base.xml:1880 #, python-format msgid "Add All Info..." -msgstr "" +msgstr "Lägg till all info..." #. module: web #. openerp-web @@ -688,7 +688,7 @@ msgstr "Aktivitets ID:" #: code:addons/web/static/src/xml/base.xml:479 #, python-format msgid "Your user's preference timezone does not match your browser timezone:" -msgstr "" +msgstr "Ditt kontos inställda tidszon stämmer ej med webbläsarens tidszon." #. module: web #. openerp-web @@ -730,7 +730,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1643 #, python-format msgid "Apply" -msgstr "" +msgstr "Verkställ" #. module: web #. openerp-web @@ -766,7 +766,7 @@ msgstr "E-postfel" #: code:addons/web/static/src/js/coresetup.js:595 #, python-format msgid "a day ago" -msgstr "" +msgstr "en dag sedan" #. module: web #. openerp-web @@ -959,7 +959,7 @@ msgstr "" #: code:addons/web/static/src/js/view_list_editable.js:793 #, python-format msgid "The form's data can not be discarded" -msgstr "" +msgstr "Formulärdata kan inte tas bort" #. module: web #. openerp-web @@ -1056,7 +1056,7 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:585 #, python-format msgid "Changed Password" -msgstr "" +msgstr "Ändrade lösenord" #. module: web #. openerp-web diff --git a/addons/web/i18n/th.po b/addons/web/i18n/th.po index f56c84526f1..98bc630be4b 100644 --- a/addons/web/i18n/th.po +++ b/addons/web/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/tr.po b/addons/web/i18n/tr.po index 2ca387292be..93598e42c75 100644 --- a/addons/web/i18n/tr.po +++ b/addons/web/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po index 8fd40ec6581..3cb75052c4d 100644 --- a/addons/web/i18n/uk.po +++ b/addons/web/i18n/uk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/vi.po b/addons/web/i18n/vi.po index 09e1c688cd4..2c85d55d305 100644 --- a/addons/web/i18n/vi.po +++ b/addons/web/i18n/vi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po index 2448925ae85..dc66e59541e 100644 --- a/addons/web/i18n/zh_CN.po +++ b/addons/web/i18n/zh_CN.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_TW.po b/addons/web/i18n/zh_TW.po index 651fd1bd0e0..6d3a0a577c5 100644 --- a/addons/web/i18n/zh_TW.po +++ b/addons/web/i18n/zh_TW.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-10-08 05:56+0000\n" +"X-Generator: Launchpad (build 16799)\n" #. module: web #. openerp-web diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 97bbb2b207c..51c3fd30f3c 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -2741,6 +2741,7 @@ } .openerp ul.oe_form_status .oe_folded ul, .openerp ul.oe_form_status_clickable .oe_folded ul { position: absolute; + z-index: 1000; border-top: 1px solid #cacaca; float: none; top: 30px; @@ -3211,9 +3212,6 @@ } @-moz-document url-prefix() { - .openerp .oe_view_manager .oe_view_manager_switch li { - line-height: 21px; - } .openerp .oe_searchview .oe_searchview_search { top: -1px; } diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index e41a182407d..a0231387e7f 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -2179,6 +2179,7 @@ $sheet-padding: 16px padding-bottom: 8px ul position: absolute + z-index: 1000 border-top: 1px solid #cacaca float: none top: 30px @@ -2532,8 +2533,6 @@ $sheet-padding: 16px // }}} @-moz-document url-prefix() .openerp - .oe_view_manager .oe_view_manager_switch li - line-height: 21px .oe_searchview .oe_searchview_search top: -1px .oe_form_field_many2one .oe_m2o_cm_button diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 11a2e58ae5b..09694bb0c38 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -534,7 +534,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ 'login': 'admin', 'password': form_obj['create_admin_pwd'], 'login_successful': function() { - var url = '/?db=' + form_obj['db_name']; + var url = '/web?db=' + form_obj['db_name']; if (self.session.debug) { url += '&debug'; } diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 324896112cc..c096dd884ad 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -5629,6 +5629,131 @@ instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({ }, }); +/* + This type of field display a list of checkboxes. It works only with m2ms. This field will display one checkbox for each + record existing in the model targeted by the relation, according to the given domain if one is specified. Checked records + will be added to the relation. +*/ +instance.web.form.FieldMany2ManyCheckBoxes = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, { + className: "oe_form_many2many_checkboxes", + init: function() { + this._super.apply(this, arguments); + this.set("value", {}); + this.set("records", []); + this.field_manager.on("view_content_has_changed", this, function() { + var domain = new openerp.web.CompoundDomain(this.build_domain()).eval(); + if (! _.isEqual(domain, this.get("domain"))) { + this.set("domain", domain); + } + }); + this.records_orderer = new instance.web.DropMisordered(); + }, + initialize_field: function() { + instance.web.form.ReinitializeFieldMixin.initialize_field.call(this) + this.on("change:domain", this, this.query_records); + this.set("domain", new openerp.web.CompoundDomain(this.build_domain()).eval()); + this.on("change:records", this, this.render_value); + }, + query_records: function() { + var self = this; + var model = new openerp.Model(openerp.session, this.field.relation); + this.records_orderer.add(model.call("search", [this.get("domain")], {"context": this.build_context()}).then(function(record_ids) { + return model.call("name_get", [record_ids] , {"context": self.build_context()}); + })).then(function(res) { + self.set("records", res); + }); + }, + render_value: function() { + this.$().html(QWeb.render("FieldMany2ManyCheckBoxes", {widget: this, selected: this.get("value")})); + var inputs = this.$("input"); + inputs.change(_.bind(this.from_dom, this)); + if (this.get("effective_readonly")) + inputs.attr("disabled", "true"); + }, + from_dom: function() { + var new_value = {}; + this.$("input").each(function() { + var elem = $(this); + new_value[elem.data("record-id")] = elem.attr("checked") ? true : undefined; + }); + if (! _.isEqual(new_value, this.get("value"))) + this.internal_set_value(new_value); + }, + set_value: function(value) { + value = value || []; + if (value.length >= 1 && value[0] instanceof Array) { + value = value[0][2]; + } + var formatted = {}; + _.each(value, function(el) { + formatted[JSON.stringify(el)] = true; + }); + this._super(formatted); + }, + get_value: function() { + var value = _.filter(_.keys(this.get("value")), function(el) { + return this.get("value")[el]; + }, this); + value = _.map(value, function(el) { + return JSON.parse(el); + }); + return [commands.replace_with(value)]; + }, +}); + +/** + This field can be applied on many2many and one2many. It is a read-only field that will display a single link whose name is + "